Commit Graph

  • c6b5788bae Changed start level back to 1 (accidentally left in with previous commit) master Joe 2018-04-09 17:36:33 +01:00
  • 45f6759baf Added support for WASD controls as well as arrow keys Joe 2018-04-09 17:34:30 +01:00
  • a0a70d69ed Changed paddle speed Joe Adams 2018-01-12 10:44:04 +00:00
  • ee23f2756a GLU case typo Joe 2018-01-12 10:26:34 +00:00
  • 7f39731cb7 Fixed some includes, syntax, increased frame rate Joe 2018-01-12 10:25:01 +00:00
  • 51c9eae76f Updated makefile for Linux Joe Adams 2018-01-12 08:59:46 +00:00
  • bed7e9a8c1 Added game end logic check, made sure bricks are working Joe 2018-01-12 08:48:38 +00:00
  • 6be9da289c Added a sticky paddle flag on death and new level, spacebar to (re)start game, ESC to exit, combined brick layouts (levels) into one function Joe 2018-01-12 04:24:35 +00:00
  • bf52ead7cc Started to split sections of the program into their own header / source files Joe 2018-01-12 01:32:31 +00:00
  • f29f78e634 Added second brick initialisation function, added 'stickToPaddle' flag to allow the ball to be aimed after it is reset Joe 2018-01-12 00:34:16 +00:00
  • daa48a0e6d Added text rendering using SDL_TTF, level counter, game over message, and if statement to stop the game updating once the game is over Joe Adams 2018-01-11 14:14:58 +00:00
  • 8082423e0c Forgot to add font to repo Joe 2018-01-11 12:18:54 +00:00
  • c2f215f555 Updated makefile Joe Adams 2018-01-11 11:55:54 +00:00
  • 0d5153ea57 Added playerLives variable that is updated when the ball is reset, and used SDL_Image to load bitmaps of heart icons and function to visually represent the lives SDL Surface to GL Texture code in loadTextures function used from http://www.sdltutorials.com/sdl-tip-sdl-surface-to-opengl-texture Joe 2018-01-11 11:49:34 +00:00
  • a8898fe13a Merged Scoring_and_Text into master Joe Adams 2018-01-11 09:38:04 +00:00
  • a155ce320f Implemented a scoring system, added SDL_ttf addon in order to render text. Attempted rendering some test text (surface->GL texture->drawing quad), but was unsuccessful. May or may not remove in favour of spritemaps in the future Joe 2018-01-11 09:29:28 +00:00
  • d274b674e5 Added 'clean' to makefile to make removing binaries before commits easier and fixed logic error in breakout.c Joe Adams 2018-01-10 12:30:45 +00:00
  • 841efab5eb Updated makefile to compile on Linux (math wasn't linked) Joe Adams 2018-01-10 12:12:09 +00:00
  • 589b989b36 Fixed collision detection (game-breaking bug) Fixed an issue with the ball occasionally clipping through the paddle/bricks or bouncing from a position inside the paddle/bricks This should never happen, as the ball should be updated to move in a different direction if the ball is clipping in the next frame This was being caused by a rounding error in the vertexWithinQuad function, where adding the compared volumes introduced a small imprecision and meant the test volume and original volume were not always exactly equal Cast the two areas as integers when comparing, such that only a discrepancy > 1px would be considered a collision (perfect since we are ultimately rendering bitmaps). Could also be solved by adding a percentage margin of error or increasing precision (both more costly) Joe 2018-01-09 18:36:05 +00:00
  • a40944d189 Added collision detection for bricks as well as a parameter to track whether a brick has been destroyed. Fixed an issue where the ball's position on the next frame did not incorporate tickrate compensation (mismatch between predicted next value and actual). Added 'substeps' (iterations of main function that do not draw to screen, to allow for more precise calculation of movement by performing the calculations more frequently) and SDL_Delay to reduce FPS if it exceeds a given value (to prevent very high CPU usage with 1000+fps where not at all necessary) Joe 2018-01-07 15:41:35 +00:00
  • d233f15f34 Added in a coordinate struct (containing x and y), created function for testing whether given vertex is within a quad (coordinate array) by calculation of volume. Added in bricks and a chunk of code to populate some bricks in a grid Joe 2018-01-05 13:35:40 +00:00
  • 2e61b6b9e4 Testing some code for storing brick information in mutli-dimensional arrays as leaf nodes in a tree. This approach is chosen with a view to introducting space partitioning for collision detection at a later date Joe 2017-12-15 17:00:07 +00:00
  • a3017b0774 Added radius compensation to collision detection with paddle, within updateBall function Joe Adams 2017-12-14 10:05:58 +00:00
  • 96b2380036 Changed colours to neutral, added check to updateBall() to prevent ball 'colliding' with the area beneath the paddle when not in contact with the paddle Joe Adams 2017-12-13 15:27:55 +00:00
  • 862973e4c2 File added: Alternative colour schemes Joe 2017-12-13 10:17:39 +00:00
  • 7c66002c7a Rewritten to use structs for ball and paddle variables, thereby grouping everything together and keeping the functions simple/easy to read Joe 2017-12-13 10:12:21 +00:00
  • 00a089f6f9 Applied tickrate to updateBall function and introduced updatePaddle function (also using tickrate) to keep timing consistent across platforms/launch scenarios - not yet tested on Linux Joe 2017-12-13 09:03:35 +00:00
  • c2bb045d5e Fixed issue with function definition mismatch. Created a basic timer; starting work on issue #1 Joe Adams 2017-12-11 11:37:17 +00:00
  • f08b0d5b75 Added some comments and changed X velocity post paddle-collision to be proportional to the relative position of the ball and paddle Joe 2017-12-10 20:39:34 +00:00
  • 54b9eb14f0 Modified paddle to move in non-integer steps, created a ball with a function for updating based off of position relative to walls and paddle plus function to draw the ball Joe 2017-12-10 20:24:28 +00:00
  • 2f7a81dd9f Re-wrote to use OpenGL (based off glboilerplate/glboilerplate.c), modified window size and colour scheme to match the design doc. Implemented colour struct and background drawing function Joe 2017-12-10 19:44:04 +00:00
  • ca55281463 Added a compiler condition so we can play on Windows too Joe 2017-12-10 17:55:35 +00:00
  • 5af07e88f0 Started to create GL boilerplate Joe Adams 2017-12-08 14:05:37 +00:00
  • 86611c5bee Added pongy code Joe Adams 2017-12-07 17:13:16 +00:00
  • 134d5c87a1 Fixed that typo again Joe Adams 2017-12-07 14:37:12 +00:00
  • 8b2c58b1c8 Fixed a typo and swapped a few perrors for fprintfs Joe Adams 2017-12-07 14:33:49 +00:00
  • c36c56373b Edited readme Joe Adams 2017-12-07 14:28:29 +00:00
  • 27be4c3fcb Edited readme Joe Adams 2017-12-07 14:23:35 +00:00
  • 1ff74704cd Edited readme Joe Adams 2017-12-07 14:21:49 +00:00
  • 36ae4ef06f Edited readme Joe Adams 2017-12-07 14:20:54 +00:00
  • 74b15c7b7b Edited readme Joe Adams 2017-12-07 14:20:11 +00:00
  • 70ff7e3386 Initial commit Adams Joseph 2017-12-07 14:15:17 +00:00