What if Breakout was the only arcade game people could make? An open-source game, written entirely on a live stream.
Hello everyone!
[img]{STEAM_CLAN_IMAGE}/35693360/f7b835af7354a9f14c86827cd84cefa167eff295.gif[/img]
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!
[previewyoutube=sRN-mXLInLY;full]https://www.youtube.com/watch?v=sRN-mXLInLY[/previewyoutube]
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?list=PL7Ej6SUky1357r-Lqf_nogZWHssXP-hvH