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