Hello everyone!



In the course of 24 livestreams, we development a game from scratch, going from having absolutely nothing to having a game released on Steam!

In these 24 livestreams (a total of 81 hours of development), there is a LOT of good information for you, so I decided to organize it and list the main topics discussed throughout the development.

Kind of a step by step of what we did to develop the entire game.

Hopefully it can help you and point you in the right direction!





Steps taken to create the game:


Episode 1:
Planning what to make
Making a "Hello World" to test
Win32 Entry point
Opening a Window
First version of the Software Renderer
Input
Timings


Episode 2:
First gameplay prototype
Start organizing the code
Simple AABB collision
Full sweep collision (ball vs blocks)


Episode 3:
Gameplay experimentation
Structure to add new levels and change rules


Episode 4:
Finish the game code refactoring
Add several game mechanics


Episode 5:
Adding the original game design idea
Designing some levels to start iterating
Implementing a Random Number Generator algorithm


Episode 6:
Created Logging system
Fixed bugs
Making the game more robust and solid


Episode 7:
Game Feel (animations, ball trails, player feedback)



Episode 8:
Full Particle System
More animations
Improving the Controls
Bug fixing


Episode 9:
Engine robustness pass
Drawing rotated rectangles


Episode 10:
Drawing bitmaps
Subpixel accuracy
Drawing floats
Unique random seeds
Visual Effects


Episode 11:
Sound System
Playing a Square Wave
Reading .Wav files
Audio mixer (panning, pitch shifting)


Episode 12:
Fixed audio bugs
Multithreaded Programming: Job System
Started to make things run asynchronously


Episode 13:
Implemented a Main Menu
Implemented a Save System
Started implementing the Sound Effects
Fixing more bugs


Episode 14:
Added lots of sounds
Tweak the game's feel
Improved the existing systems


Episode 15:
Major visual and experience improvements
Game HUD
Draw Text support


Episode 16:
Bug solving
Created a Profiler
Analyzed the data and discussed optimization possibilities
Optimized the game (5x faster!): Hit the 4k at 60fps target


Episode 17:
Solidified the player's movement and animations
More frame-rate independent
Game sleep (fixed frame-rate)
General sound and gameplay improvements


Episode 18:
Designed and implemented a new Level
Improved existing systems to support what we wanted to do
Game design iteration


Episode 19:
Redid the entire collision system (Shippable version)
Camera system
Screenshake


Episode 20:
Wrapping up the gameplay
Fine-tuning the levels
Implemented animated level transitions


Episode 21:
Asset System
Package File spec
Cooker/Packager Tool
Ogg Reader
Async Asset loading and decompressing


Episode 22:
Final polish
Small tweaks and bug-fixing
Adding a config file (parsing, reading and changing data)
Exposed Mouse sensitivity to players
Exposed Windowed mode to players
Starter audio refactoring to make it shippable


Episode 23:
Finishing the game!
Some hardcode assembly debugging
Nice restructuring of the Audio Mixer (robust and thread-safe)
Final gameplay tweaks, improvements and polish


Episode 24:
Releasing the game on Steam!
Relax, Celebrate
Plan for what's next (this project and other projects)


That's it!


I hope you enjoy it!

Let me know if you have any questions! :D

Watch all the livestrems:
https://www.youtube.com/playlist?...L7Ej6SUky1357r-Lqf_nogZWHssXP-hvH