Though it felt like an instant, a week has already passed. I spent my evenings banging rocks together, and a spark emerged. Roll the tapes!
This is not the most riveting game of all time, so I tried to combine all of the game’s features (and bugs) into a single segment instead of making you watch a full playthrough. If you’re curious, you can check out the code here. What I got done:
- Basic breakout gameplay, knocking a ball around with a paddle
- Multi-hit blocks, walls
- Moving blocks
- Velocity transfer from moving objects to the ball
I wanted to try a slightly different formula, so instead of bouncing the ball at different angles based on where it hit the paddle I made the paddle give some of its velocity to the ball. I think using paddle movement to ‘aim’ the ball is a neat idea, but it’s a little odd in practice. I’m not sure if I’ll keep the idea or try something else next time.
The game itself has a couple of physics bugs as well. Both of them are totally fixable, I know why they’re happening. Unfortunately, I simply ran out of time at the end and didn’t get a chance to resolve them.
To sum up my thoughts about DFGame after this: It’s handy, but needs more time in the oven.
The main drawback of DFGame is that as a C API it’s pretty wordy. There are ways to improve this, and most of them involve adding more ‘shortcuts’ for common stuff to the API. The final game was ~800LoC, which isn’t bad, but I think I could cut a quarter of that just with helper functions and refactoring. Since DFGame is my project, that means that any future project using it will have to account for framework development time as well.