I have been studying Harvard’s CS50’s Introduction to Game Development course on EDX, and as part of this I have to submit a game I’ve created as my final project. This series covers my progress while completing this project.
- Game Dev Blog #0
- Game Dev Blog #1: “Final Project” Approach
- Game Dev Blog #2: “Final Project” Prototyping
- Game Dev Blog #3: Prototyping continued
- Game Dev Blog #4: Clinging on for life
- Game Dev Blog #5: Prototyping almost complete
- Game Dev Blog #6: Prototyping to Production
- Game Dev Blog #7: Animations!
- Game Dev Blog #8: Sound!
- Game Dev Blog #9: More component libraries!
- Game Dev Blog #10: Enemies and backgrounds
- Game Dev Blog #11: The Pareto Principle
- Game Dev Blog #12: Game and course complete!
Last week I said I was pretty much done with the prototyping in terms of the version of this game that I plan to submit for my course. The additional features (and any extra prototyping) would wait till after that was done. My plan was to implement the jump from ledge functionality and then move onto making the thing look like a game.
Except that isn’t what ended up happening, at all.
It’s been a few days since I last touched the code, due to family events and catching up on other things, so today has been the first time I’ve opened the project. I’ve got about 7 days left before my preferred deadline at this point, and I really need to get moving on adding graphics, sound, animations, finishing the start screen with options, and so on.
Three Achievements:
- Tested diagonal tiles: I have been thinking about what the game would look like if some tiles had nicer diagonal tiles that resulted in sloping roofs and floors, so I thought I’d test out how that would look. It looks good, and I think it will eventually come back, but with the addition of the new tile shapes, meant I would also need to create new collision detection, because AABB collision detecting won’t work for those. I wasn’t prepared to do that work right now, so I’ve basically wasted a load of time writing something to see how it would look that I am not actually going to use yet.
- Bug fix: One issue I have is getting my game to work in full screen mode when using Push to manage the resolution. I think I have an issue with making Push work with the gamera library right now, but I knew from the CS50G Mario project that I could use a basic camera that would do the job, so I’ve swapped it out for that. It works, but for the final version I will probably try Stalker-X instead of gamera, for reasons that will become clearer in the “things I learned” section.
- Added Sky: Because I had nothing to show for the time I’d spent today (until I fixed the fullscreen bug) I decided to make the game have a blue sky background above ground. It looks a little better, but this should have been part of the polishing.
Two Things I Learned:
- I should probably have spent more time on the graphics first. The point of prototyping is to work on the areas you have least knowledge of. I know I can code, I am confident I can put the code together. What I’m NOT confident about is making graphics, and it’s not looking like I will be able to find a spritesheet from OpenGameArt, so I am now learning how to use Aseprite myself using YouTube tutorials in order to make my main character.
- How to do better Camera Management. I saw a YouTube video from GMTK on making good 2D camera movement, which I’ve put down as a future improvement after my course submission. It made me realise that the camera should probably do more than just pin the player to the centre of the screen (unless on the edges of the game world), so with that in mind I intend to come back and apply some improvements based on that video, like offsetting the camera so the player can see more of what’s ahead, framing, damping, and so on. Funnily enough, I’ve since discovered Stalker X, as a possible alternative to Gamera, which apparently does some of this stuff out of the box, so that may end up being the solution to my camera issues in the end, otherwise I’ll end up coding it manually.
One Thing Coming Up:
- I’m now out of Prototyping and into Production mode. I read an article recently where John Romero says he doesn’t like Prototypes, “No prototypes. Just make the game. Polish as you go.” – I am fast running out of time, it’s time to just make the game.

No responses yet