Skip to content
noooway edited this page May 21, 2017 · 56 revisions

Current Goals

  1. Finish Chapter 3.
  2. Start to advertise to receive feedback on Ch1 and Ch2.
  3. Update graphics and sound: team up with/commission artist and sound effects guy.
  4. Start writing appendices.
  5. Fix language: find native speaker to help with proofreading.

Ideas

  1. Appendices:
    A-1: Modules Using Environment
    B-1: Intro to Classes
    B-2: Rewrite 2-08 using classes
    C-1: Continuous collision detection
    D-1: Collision detection library: BUMP
    E-1: ECS? (Rewrite 2-08 in ECS style)?
    F-1: [done] Levels as strings (https://love2d.org/forums/viewtopic.php?f=14&t=83240&start=50#p211310)
    F-2: Tiled

  2. OOP implementation:
    Add some corrections to class constructor idiom ( suggested in https://love2d.org/forums/viewtopic.php?f=14&t=83240 ) Alternatively:
    Replace the current raw Lua approach with an external class library.
    Take a look at different libraries, choose one.

  3. Split 1-02 in two parts; for one of the first parts, it's too long right now. new 1-02: define tables for game objects, function for draw and update, and display small array of bricks new 1-03: bricks in rectangular pattern, walls.

Propagating changes:

  1. Remove ball from switch_to_next_level (probably, starting from 1-05; done for ch3)
  2. 1-03+: ipairs in collisions.
  3. local small_shift_to_prevent_overlap = 0.1 in check_rectangles_overlap (starting from ch1)
  4. 1-03+: change the overlap detection and shift calculation algorithm: https://love2d.org/forums/viewtopic.php?f=14&t=83240&p=211307#p211254 ; (#2 is also related to collisions) ( mostly done; merge and update the wiki; Figs. in 1.3 and 1.4; grep 'collisions' in others )
  5. get rid of temporary tables during overlap detection ( https://love2d.org/forums/viewtopic.php?f=14&t=83240&p=211307#p211254 )
  6. Use local functions in modules (since 2-01 at least).
  7. 3-01+: ball sphere_rebound instead of rotate_speed
  8. 3-02+: change ball.update: if stuck: follow, else: pos = pos + speed * dt
  9. 3-05+: predefine quads for different sizes of the platform.
  10. Preload platform quads instead of using new.quad each time it's size is changed.
  11. 3-06+: change ball.launch_from_platform and ball.platform_rebound
  12. 3-07+: ipairs in ball.update and ball.draw

    Home
    Acknowledgements
    Todo

Chapter 1: Prototype

  1. The Ball, The Brick, The Platform
  2. Game Objects as Lua Tables
  3. Bricks and Walls
  4. Detecting Collisions
  5. Resolving Collisions
  6. Levels

    Appendix A: Storing Levels as Strings
    Appendix B: Optimized Collision Detection (draft)

Chapter 2: General Code Structure

  1. Splitting Code into Several Files
  2. Loading Levels from Files
  3. Straightforward Gamestates
  4. Advanced Gamestates
  5. Basic Tiles
  6. Different Brick Types
  7. Basic Sound
  8. 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

  1. Improved Ball Rebounds
  2. Ball Launch From Platform (Two Objects Moving Together)
  3. Mouse Controls
  4. Spawning Bonuses
  5. Bonus Effects
  6. Glue Bonus
  7. Add New Ball Bonus
  8. Life and Next Level Bonuses
  9. Random Bonuses
  10. Menu Buttons
  11. Wall Tiles
  12. Side Panel
  13. Score
  14. Fonts
  15. More Sounds
  16. Final Screen
  17. Packaging

    Appendix D: GUI Layouts
    Appendix E: Love-release and Love.js

Beyond Programming:

  1. Game Design
  2. Minimal Marketing (draft)
  3. Finding a Team (draft)

Archive

Clone this wiki locally