Cataclysm-dda: "Snake" handheld game has different pixel velocities for N/S and E/W

Created on 22 Feb 2020  路  9Comments  路  Source: CleverRaven/Cataclysm-DDA

Describe the bug

The implementation of S N A K E for the handheld game uses the same velocity for moving north/south and east/west in characters per second. However, because the font spacing and alignment mean that one move N/S is significantly longer pixel distance than moving E/W, moving N/S is much faster than moving E/W in pixels per second, leading to a distracting game experience and making the mini-game hard to play.

Steps To Reproduce

Get a handheld game system. Play S N A K E. Note that moving N/S appears to be faster than moving E/W.

Expected behavior

Speed should be constant in on-screen distance (pixels per second), not in characters per second.

Screenshots

image

This screenshot illustrates why this issue occurs -- the N/S distance is maybe 50% longer per character than E/W.

Versions and configuration

  • OS: Windows

    • OS Version: 10.0 1903

  • Game Version: 0.D-12430-g142295b [64-bit]
  • Graphics Version: Tiles
  • Mods loaded: [
    Dark Days Ahead [dda],
    Disable NPC Needs [no_npc_food],
    Beta National Guard Camp [national_guard_camp],
    More Locations [more_locations],
    Fuji's More Buildings [FujiStruct],
    More City Locations [cityside],
    Urban Development [Urban_Development],
    No Fungal Monsters [No_Fungi]
    ]
Info / User Interface Other Quality of Life

Most helpful comment

The speed difference is real, not just subjective. With an 8x16 font, the on-screen snake velocity in pixels is twice as fast in the Y direction. To see what I mean, try to draw a "square" with your snake, by turning 90 degrees every 1 second (or some other interval you can tap your foot to). If you have a rectangular font, the snake will draw a rectangle, not a square.

I agree with @jkraybill that the X/Y difference makes the game harder to play than it should be. Yeah, that part is subjective, but every time you turn a corner, you have to adjust your whole sense of timing.

Switching the whole in-game font to a square one is kind of overkill to make Snake more playable. It seems like there ought to be a way for the snake game to adapt to the configured font size to make it more intuitive.

All 9 comments

I don't get what's the concern is. Speed is in milliseconds waiting for input. It is direction agnostic.

@ZhilkinSerg when you play the game, the effective velocity of your snake when going N/S is markedly higher than when going E/W. It makes the game difficult to play and doesn't feel like a "normal" implementation of snake.

Obviously this is a very minor concern - the game is playable after all - but one solution would be that each unit of animation in the game is a square with no padding around it. Using ASCII characters with line padding means that the game is using very rectangular units of animation, which makes the gameplay feel weird.

If it bugs you, maybe try a square font, like cootuecursessquare?
http://dffd.bay12games.com/file.php?id=1854

It sounds subjective.

The speed difference is real, not just subjective. With an 8x16 font, the on-screen snake velocity in pixels is twice as fast in the Y direction. To see what I mean, try to draw a "square" with your snake, by turning 90 degrees every 1 second (or some other interval you can tap your foot to). If you have a rectangular font, the snake will draw a rectangle, not a square.

I agree with @jkraybill that the X/Y difference makes the game harder to play than it should be. Yeah, that part is subjective, but every time you turn a corner, you have to adjust your whole sense of timing.

Switching the whole in-game font to a square one is kind of overkill to make Snake more playable. It seems like there ought to be a way for the snake game to adapt to the configured font size to make it more intuitive.

I agree that this is not a major issue, but I do love the game of snake and as currently implemented it is difficult to play at a high level.

Adjusting the animation rate to match the dimensions of the current font (plus line spacing) would be better than how it works now, but I suspect it would be harder than it sounds to do this, and it wouldn't fix the issue that snake games should use a square grid.

If this were to be solved, it would probably need snake to use a square font or pixel graphics for the game animation regardless of the player-selected font. That's also possibly harder than it sounds.

It would be great if the mini-games had some Easter egg or even minor quest line for achieving high scores, and if that were to be the case, I'd bump the priority of this issue, otherwise, this issue is not much more than just an annoyance for experienced snake players :)

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not \'bump\' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

This issue has been automatically closed due to lack of activity. This does not mean that we do not value the issue. Feel free to request that it be re-opened if you are going to actively work on it

This is not anything we can meaningfully address, whether the current behavior or an adjusted rate for horizontal vs vertical movement is better is subjective, and we're not adding options for minigames.

Was this page helpful?
0 / 5 - 0 ratings