-
Notifications
You must be signed in to change notification settings - Fork 17
Archive
Initial version of the first two chapters of the tutorial.
Classes are introduced early on, HardonCollider (HC) is used for collision detection and hump.gamestate for the gamestates. After some discussion I've become convinced that classes should be postponed for later chapters or avoided altogether in such a simple game. HC is overkill and should be replaced either with Bump or with manually written collision detection.
The latest commit where the code for this version is accessible is c5d74506af9d4e5b1f8023470f7c98b9cff9fdbe.
Chpater 1: Maintainable Code
- The Ball, The Brick, The Platform
- Splitting Code into Several Files
- Classes
- Other Bricks and The Walls (Container Classes)
- Detecting Collisions
- Resolving Collisions
- Loading Level From External File
- Changing Levels
- Basic Gamestates: Game and Menu
- More Gamestates: Gamepaused and Gamefinished
- Basic Tiles
- Different Brick Types
- Basic Sound
- Game Over
Feedback is crucial to improve the tutorial!
Let me know if you have any questions, critique, suggestions or just any other ideas.
Chapter 1: Prototype
- The Ball, The Brick, The Platform
- Game Objects as Lua Tables
- Bricks and Walls
- Detecting Collisions
- Resolving Collisions
- Levels
Appendix A: Storing Levels as Strings
Appendix B: Optimized Collision Detection (draft)
Chapter 2: General Code Structure
- Splitting Code into Several Files
- Loading Levels from Files
- Straightforward Gamestates
- Advanced Gamestates
- Basic Tiles
- Different Brick Types
- Basic Sound
- Game Over
Appendix C: Stricter Modules (draft)
Appendix D-1: Intro to Classes (draft)
Appendix D-2: Chapter 2 Using Classes.
Chapter 3 (deprecated): Details
- Improved Ball Rebounds
- Ball Launch From Platform (Two Objects Moving Together)
- Mouse Controls
- Spawning Bonuses
- Bonus Effects
- Glue Bonus
- Add New Ball Bonus
- Life and Next Level Bonuses
- Random Bonuses
- Menu Buttons
- Wall Tiles
- Side Panel
- Score
- Fonts
- More Sounds
- Final Screen
- Packaging
Appendix D: GUI Layouts
Appendix E: Love-release and Love.js
Beyond Programming: