I've had a little bit of a roller coaster few weeks, I would recommend anyone feeling life taking them and rushing them to try and find a minute for yourself, take a breath and slowly exhale.
Having had my moment I set about keeping myself distracted, this meant returning to my home game engine, and it has to be remember that is an engine the 3D game you've seen me making my demos from is just one game which happens to be using it.
And I decided that's a fairly weak argument it's an engine, with the one game, so I set about a new game.....
METEORS!
Yes, inspired by a well known game from yesteryear.
I started by fixing a couple of quickly appearing bugs in my "Start New Project" feature, then a bug in my logger at engine close down - which only appeared with an empty project.
I spent a little time updating the 2D (SDL2) based renderer to suppose a basic form of Vector Graphics.
Game play implementation then followed my rough sketch for game play design:
- Instant player spawn
- Player Vector Ship Shape
- Player Rotation
- Player Thrust
- Player Speed Limit
- Player Speed decay rate
- Fire Control
- Thrust Control
- Rotate Control
- Movement System
- Anything with a direction
- If Speed > zero move per frame amount
- If wrapped - wrap to screen else out of bounds (despawn)
- Bullets
- Pre-allocate pool of bullets to use
- Spawn on Player Fire
- Set non-wrapped
- Meteor Spawn
- Randomize the shape per game
- Spawn when less than a given number
- Randomize rotation
- Randomize direction
- Set Wrapped so they cross the boundary
- Collision System (2D Physics)
- Convex & Concave polygon point test
- Test Meteors with player ship - explode/kill player
- Test bullets to each meteor - not great right now, single threaded test (score)
- Destruction System
- Made shapes marked to "explode" separate their vectors and "animate"
This gave me first playable.
I later expanded the ImGui items I'm using to expose the control weights of the player ship, added the thruster effect and finally made bullets be consumed by a collision so they would not double tap.
Bullets here are not wrapping around the screen.
Once I'm done with my learning exercise with this project it is very likely I'll release the executable.
No comments:
Post a Comment