A New Game Written in D
Vladimir Panteleev
thecybershadow.lists at gmail.com
Wed May 18 17:15:44 UTC 2022
On Tuesday, 17 May 2022 at 16:36:34 UTC, Kenny Shields wrote:
> This isn't an open-source project, but I wanted to post this
> here for anyone who might be interested in seeing D used for
> cross-platform game development. Any questions/comments about
> the implementation and design of the game/engine are welcome.
Cool game! I got to stage 19. I had no problems with the Linux
port, except the occasional crash when generating maps that was
already mentioned.
Some feedback about the game:
- The engine handles 144Hz screens correctly and changes in frame
rate, well done.
- You can make collision less frustrating by making the player
slide along the edge of the obstacle partially in the direction
they're facing. The easiest way to do this is that, when a
collision happens, instead of preventing movement in the player's
direction, you allow it to happen, but then as long as the player
and the obstacle intersects, the obstacle pushes the player out,
away from its center. Doing this in the same frame will make it
seem like the player is sliding along the side of the obstacle.
- This game could be almost categorized as a twin-stick shooter,
though it's not quite so due to only being able to move forward
in the direction you're aiming. I'm not sure what this constraint
adds but it does seem very unusual.
- I didn't try all combinations of craftables, but there is
almost no reason to build a regular turret instead of the tesla
coil. The tesla coil has a higher DPS/$, never misses, and does
not have friendly fire.
- Oddly, sprinting energy does not recover when standing still
but holding Shift.
- "Game seed" seems to affect only the generation of the map
layout, but not of pickups or your initial position; perhaps
calling it "map seed" would be more accurate.
- Choosing to play on a larger map seems to be strictly
disadvantageous, as pickups are more rare due to being more
spread out.
More information about the Digitalmars-d-announce
mailing list