Commit Graph

50 Commits

Author SHA1 Message Date
cdo cb0d7e67f1 Handle wrapping in physics_separation() 2025-10-18 17:43:22 +01:00
cdo 93ba6f4a04 Refactor into more modular architecture 2025-10-18 17:43:22 +01:00
cdo 26b9e1da94 Make aspect global 2025-10-18 17:43:22 +01:00
cdo 5604675ca6 Add pausing 2025-10-18 17:43:22 +01:00
cdo 07616120d3 Add score 2025-10-18 17:43:22 +01:00
cdo 4da5437715 Add levelling 2025-10-18 17:43:22 +01:00
cdo 2078eb07da Only display "clear" message for a short time 2025-10-18 17:43:22 +01:00
cdo 1f2fd1ce0e Don't spawn small asteroids 2025-10-18 17:43:22 +01:00
cdo 8cbe1b0431 Add huge asteroids 2025-10-18 17:43:22 +01:00
cdo 79ac5a489d Add "clear" text when all asteroids destroyed 2025-10-18 17:43:22 +01:00
cdo 88f49dab91 Create text module for displaying messages 2025-10-18 17:43:22 +01:00
cdo d6ec24ae5d Add restart and handle quitting with callback 2025-10-18 17:43:22 +01:00
cdo 10be5ec391 Add game over message 2025-10-18 17:43:22 +01:00
cdo 7ed120899c Track asteroid count 2025-10-18 17:43:22 +01:00
cdo bd6161505c Add shooting recoil 2025-10-18 17:43:22 +01:00
cdo b964c277a7 Add renderer function to clear rectangle 2025-10-18 17:43:22 +01:00
cdo 450fdd8afe Tweak some parameters 2025-10-18 17:43:22 +01:00
cdo fe3c615517 Wrap all entities and shapes 2025-10-18 17:43:22 +01:00
cdo 8d13b862c5 Replace big asteroids with smaller ones when shot 2025-10-18 17:43:22 +01:00
cdo a1f289ef9d Prevent asteroids from spawning overlapped 2025-10-18 17:43:22 +01:00
cdo 4ce86ec405 Increase min distance asteroids spawn at 2025-10-18 17:43:22 +01:00
cdo e9cb65534c Implement asteroid bouncing 2025-10-18 17:43:22 +01:00
cdo 1b3bc21026 Rename collision_radius to just radius 2025-10-18 17:43:22 +01:00
cdo 64b7fc60fc Handle collisions 2025-10-18 17:43:22 +01:00
cdo 1053d61fda Implement collision detection 2025-10-18 17:43:22 +01:00
cdo 9ed14e07e5 Add collision info to entities 2025-10-18 17:43:22 +01:00
cdo da6a56b0b5 Refactor asteroid generation 2025-10-18 17:43:22 +01:00
cdo 0b4f014b33 Add more vector operations 2025-10-18 17:43:22 +01:00
cdo 1907d00782 Add asteroids 2025-10-18 17:43:22 +01:00
cdo 79dc3c1256 Move all input handling into input module 2025-10-18 17:43:22 +01:00
cdo f992dd3d39 Create RNG module 2025-10-18 17:43:22 +01:00
cdo c1f339484b Factor game logic into own module 2025-10-18 17:43:22 +01:00
cdo cbe0d42c3c Increase max shapes and entities 2025-10-18 17:43:22 +01:00
cdo 7aa582f04b Allow display wrapping to be specified per shape 2025-10-18 17:43:22 +01:00
cdo 5da6b00fc8 Add shooting 2025-10-18 17:43:22 +01:00
cdo 10b675618f Add random jitter to fire 2025-10-18 17:43:22 +01:00
cdo b4b46623da Move ship vertices so origin is closer to visual centre 2025-10-18 17:43:22 +01:00
cdo ce0636aea6 Refactor to seperate shapes and physics 2025-10-18 17:43:22 +01:00
cdo 66e9dcbf8e Rename MAX_VERTS_PER_DRAW to MAX_VERTS 2025-10-18 17:43:22 +01:00
cdo 7d6be1eb14 Grab input device to stop key events reaching terminal 2025-10-18 17:43:22 +01:00
cdo ed09a335d4 Add fire when thrust is active 2025-10-18 17:43:22 +01:00
cdo e4a7c2e665 Use warning flags in build script 2025-10-18 17:43:22 +01:00
cdo 7db0c66920 Add control / update logic 2025-10-18 17:43:22 +01:00
cdo 770f7a569c Fix wrapping 2025-10-18 17:43:22 +01:00
cdo 0deaf4435c Implement simple line drawing 2025-10-18 17:43:22 +01:00
cdo fad9a8935f Create separate input module 2025-10-18 17:43:22 +01:00
cdo d975f5ed42 Create separate renderer and framebuffer modules 2025-10-18 17:43:22 +01:00
cdo 72d73c2889 Set up input handling 2025-10-18 17:43:22 +01:00
cdo 9b72a63810 Implement back-buffering 2025-10-18 17:43:22 +01:00
cdo 9f1cb46a3b Set up drawing to framebuffer 2025-10-18 17:43:22 +01:00