Home Repo

John Horton

Projects from John Horton's Beginner to C++ Game Programming book

Project Date: Late 2023 - Current

Timber

This is Timber, the first project in the book, it is based-on Timberman developed by Digital Melody. It is an incredibly fun addictive casual game where you need to chop trees and avoid branches while making sure you have enough time!

The project works through beginner C++ concepts such as loops, conditional statements, using classes and calling functions as well as covering setting up SFML and its basics such as creating a window and basic game loop with events. At the end of the project there are some suggestions for improvements such as only updating the text when needed instead of each frame, more environment design, HUD visibility etc.

I implemented my own changes to the code while following along with the project such as using classes for the bee and clouds, as well as making manager classes for loading textures and audio into memory and being able to access them using an unordered map.

Pong

The second John Horton project walks us through how to make a Pong clone, Pong is a lesser known title made by a small and unheard of company known as “Atari”, Pong is a 2D table tennis like game where 2 players control opposing paddles and have to score the ball on the oppositions side, it repeats like this till the end of time or maybe an integer overflow.

Being serious now, I elected to not follow the book too closely on this project as I wanted my version to better reflect the original Pong plus the idea of the paddles moving horizontally doesn’t sit well with my brain.

There isn’t a lot more to say about this clone of a monolith of gaming history, I hope its faithful to the original and I will return at the end of all these projects to do my final improvements/additions, in pong’s case that will be in the form of powerups.

*The bit about it being a lesser known game by a small company was a joke, just putting this here to help my less sarcastically able*

Screenshots

Timber Screenshots

(Left) InGame with DebugUI, (Right) Game Over

Pong Screenshots