Much of the past two weeks was spent fixing bugs in the existing code, which can be frustrating as I lose any sense of progression while going back over earlier mistakes. I'm finding ‘vector’s to be at the center of a large percentage of these bugs and I'm not entirely convinced they are always cleanly destroyed when they go out of scope. I'd prefer to destroy them manually, but this isn't an option in C++ apparently.
Still, I've added a very basic start menu screen, a end game credit page, and 3x lives to the player character (although I'm yet to offer any visual recognition of this on screen), the game simply returns to the start menu once you have died three times, or once you have completed the first level.
The big news has been a collaboration with JRski who has provided the in-game music. He weighed in with a perfect original score that both plays to the space age futuristic setting while complimenting the retro arcade feel of Parallax Zoom!!
It's great to have some external input in the game, and I'm looking forward to addition soundFX and music as we move forward.
Speaking of collaboration, I'm still hoping someone with an artistic bent be willing to contribute some graphics - my attempts to date at background graphics have been particularly poor, and the game would get a huge lift if an artist were to rework them. I'm happy to offer a profit share for collaboration, but temper this offer with the knowledge that this very small scale first project is not likely to generate many sales. Still I'm determined to produce a playable fun game that will be released on Itch.io / Steam by June 2023 at the latest - and with the games small scale, providing the background art is also a very small commitment.
Moving forward I'll be giving the enemies some AI / attack patterns and variability, adding a time limit (I intend this game to be played against the clock), defining the player assets that need to be defended, and working in some boss encounters and multiple game levels. So plenty to do.
Playable Prototype available: https://www.gamedev.net/projects/4262-parallax-zoom/
Okay, I need to put my hands up and walk away from my previous comment questioning ‘vector’s surviving beyond their scope.
I was clearly wrong.
I had an issue (still present in the version of Parallax Zoom that's currently downloadable on gamedev.net) where when the game restarted, the player character would resume from the player location on death from the previous game. I couldn't understand this as my main function only holds the Window class (SDL2 libraries) and every class, class member variable, and function variable capable of storing the player location had gone out of scope when player lives = 0, and before the program goes back to the main() loop.
Turns out that I had created a static variable in the background graphic (map) builder function that had cause to occasionally sync with the player characters x-coordinate and was therefore persistent even when the function was out of scope (my bad).
Beware the static variable.