Decided on the theme of the game, which will be a western style quick draw shooter. Created Unity project and then created initial singleton classes that will be used to manage game states and transitions. I added a system that loads and fades to a new scene complete with raycast blocking. Also started working on a menu.
Started learning pixel art (very hard!) and working on a background for the menu. Created some UI elements such as buttons as well as creating basic animations for them. It is taking a lot more time than I originally though it would to create art assets, I have tried finding royalty/copyright free art in the same theme but had no luck.
I found some royalty/copyright free music that is perfect for the theme of my game. I am working on an introductory animation that is in time with the music however have found it difficult to sync animations and sound effects. I also tried making another background for a game scene.
After having many problems getting the audio/animations to sync I have finally managed it. I added some more simple animations for a main menu ‘how to’ screen. I prototyped a first level but decided to create better pixel art assets using feedback from peers, and by feedback I mean constructive criticism, and by constructive criticism I mean criticism.
I have started on the main gameplay mechanic of the game, since the game is essentially an autoscroller I’m spending a lot more time than I thought I would be trying to lay out the game states along with the game timings.
I created and detailed the first level, some of the art needed fixing up but with suggestions and some guidance from better artists I managed to get a workable level. I fixed music bugs, the game states are becoming more fleshed out, and I am able to start the main game. It doesn’t actually fully play and needs some bug fixing but its progress.
I added more functionality to the main game loop however am still having difficulty with timings and state interactions. It seems I am gluing this whole game together with callbacks and delegates. Started working on a system that would allow levels to be stitched together quicker with random enemy placements and a debug UI.
I added a difficulty system that uses geometric progression in order to slowly decrease the time the player gets based on factors such as enemy count. Also added in timer functionality. Completed work on the ‘level creator’, the debug view is very barebones but gets the job done.
Finished most of the functionality for the main game loop, now a round can be played. Replaced all current Unity text with Text Mesh Pro text. Added another level and whilst doing it realised there are major flaws in the debug view of the level editor script so I fixed that and finalised the level.
Added in an end of round card and a proper score calculation system. Some simple animations were also required for the round end card. Too much time was spent trying to figure stuff out in the animator when I could have done it faster in code.
Added extra UI to the game and end of round score card. Added some extra timings here and there to make the game seem more polished. Added a final level to the game. It would have been nice to have more than 3 levels however since the game is only a prototype it’s a good amount for now. Added a round counter to the game UI and fit it into the difficulty/timer calculation.
I added in adverts that when watched allow the player to revive themselves after death, however this can only be used once per game so that it cannot be abused. I spent some time going though a polishing areas that I thought needed it, for example animations, UI placement, timing, adding comments where appropriate, etc.