Our October half-term course at the d.@rt centre saw our group of young coders all build amazing platformers in the style of some of our favourite games, such as Super Mario and Sonic the Hedgehog. The children customised everything from character selection to level design, showcasing their boundless imagination and creativity, all while learning concepts applicable to various programming languages and applications.
After the introductions (in which we learned everyone’s names and their favourite games), we opened Stencyl and set about creating a new game. Having imported their choice of game assets from our wide range of options, the children began designing the very first level of their games.
Once this first level had all of the essential elements, including a floor and walls at either end, it was time to select a main character to guide through the game. Again, there were numerous options to choose from, and a wide range of heroes were selected, including a pug, a fish, and a moustached man who bore a striking resemblance to our favourite Italian plumber!
Now that everyone had selected their main character and placed him into their first level, it was time to get coding! We started with a simple block of code which moved our character right or left, corresponding with whichever key was held down on the keyboard, and then moved on to the controls allowing our character to jump in the air when the up button was pressed.
By the end of day one all of the games were beginning to take shape, with multiple levels and a controllable main character to guide through them.
Having gained a day’s valuable experience in exploring the Stencyl program, we were ready to move onto some more in-depth coding concepts, adding some more advanced features to our games.
One of the most vital aspects within a platformer game is giving our main character a set number of lives, which give a limited number of chances to navigate each level. This was set up using conditional logic to trigger a ‘game over’ screen if the player falls foul of the various traps within the game and runs out of lives.
With a ‘lives’ system in place, it was time to introduce these objects and enemies which could cause our player to die and lose a life. We started with objects such as spikes, which would become active if the player hit them in a certain way, before moving on to our ‘baddies’, introducing some antagonists to our games. These enemy characters could move and turn independently and, though they would defeat our main character if they hit them, they could be defeated by jumping on their heads.
Day 3 saw us add some more advanced features to our levels and characters, as well as adding some more structure to our games.
We started by coding an introduction screen, displaying text which explained the controls and objective of the game, and also added game over screens, showing either a success or failure outcome depending on whether the player was successful in reaching the end of the game.
Now that the games had some structure, we programmed objects such as coins, which could be collected and added to a score displayed on the screen, with the chosen rewards varying from stars to dog treats and even, in one case, swiss rolls! We also coded bullets which were fire-able at the click of a button; helpful for defeating especially tricky enemies.
We dedicated much of the final day of our course to one of the most important aspects of programming: bug fixing. As everyone’s game was close to being finalised and ready to send home, we undertook some testing to ensure that everything was working as planned and that every child was happy with their game.
We did have time for a few new blocks of code, notably adding a ‘boss’ enemy to the last level of our games. These bosses had multiple lives and therefore would require more attacks to defeat them and reach the end of the game.
With all of the games finalised, we exported and published the project files, which were then emailed home to be played, shared and further customised in Stencyl using the knowledge gained over the course of the week.
The afternoon also presented the opportunity for the children to play an original Sega Mega Drive, first released in 1988, and compare their now finished platformers to a classic of the genre, Sonic the Hedgehog.
As we reached the end of our course, each child was presented with a certificate, recognising the incredible games that they had created over the week. Each game showcased the creativity and individuality of its creator and was testament to the skills that they had developed during the course.