I initially began work on this project around mid-November 2017, when I was looking for a way to explore game development on a more low-level programming language, specifically C++. While I’d previously followed some tutorials on the language, such as “Learn C++ in 21 days” by Jesse Liberty, and making a handful of games using the Ncurses library, I’d never previously looked into making a game using a window/graphics library in C++.
I had an idea for a project which I had spent a week or so researching. I looked at various different graphical libraries that were recommended by the C++ game dev community, and ultimately stumbled upon SFML. Upon weighing up the various options, I quickly realised that this would be the best option considering the scope of the program I was looking to make. I quickly got to work making prototypes and digging through the documentation and various Youtube tutorials. One great resource that I found useful when starting out was that of a small channel called CodingMadeEasy, with one series of videos specifically, detailing the various components that make up SFML.
The idea that I kept coming back to was a call back to one of the very first games that I’d ever played as a child – and something that I had now come to look back on fondly, with a great deal of nostalgia. Back then, all I had to introduce me to gaming was a SNES on loan from a family friend and a handful of games. However, despite appearing rather meagre initially, there was one game that my dad and I kept coming back to, again and again… Pilotwings:
I decided to recreate one of the sections from the game, and promptly got to work cherry picking some of the more memorable aspects from the original which I thought to be within a realistic scope. The one idea that I kept coming back to was the skydiving minigame, in which the player has to navigate through the sky while rapidly descending in order to pass through each of the coloured rings on the way down.
[Below is one addition that I made to the game more recently, along with the final project: ]
One of the final improvements I made came in the form of visual feedback for whenever the player successfully passed through one of the rings. I had the idea of a particle effect dispersing as the player passed through the ring in question, but realising this idea took much longer to implement than initially intended, I had to resume the creation of it when I had returned from volunteering in Kenya for 2 months. Upon my return, I engaged in a handful of Unity projects, before returning to C++ & SFML and finally attempted the idea. Overall I think it came out quite nicely, however, if not paying attention, I do feel that the effect could be missed due to it not being too impactful. I aim to correct this later on by replacing the sf::Vertex-s objects with sf::CircleShape-s instead. As development continues, I intend for the particles to spread out, taking the place of the ring before it, to give the impression that the ring itself was breaking up upon the player passing through it.
Overall, I am satisfied with the project’s progress, especially given that it was only ever meant to be a passion project for myself and little more than a proof of concept when it came to putting my C++ knowledge into practice.