Scribble Shoot - Development
Hello! It has been a while! As I am finishing up my new game Scribble Shoot, I thought I would tell you a bit about the development process it took to get the final result. This game was to be inspired by the arcade game Asteroids. Before brainstorming any ideas of how to approach the game, I researched a little bit about the games objectives and main functions. So the idea is, your ship has to shoot all of the flying asteroids to gain points. To shoot your player aims with their mouse. And you must avoid the asteroids from touching you, otherwise you will loose lives. I began thinking about ways I could put my own spin onto the game, whether that be changing an element or adding an element. In the mean time, I wanted to get the basic functions of Asteroids made in my game, which didn’t take too long as we had been given an in depth guide to create this.
For the make of my game, I really wanted to focus more on the mechanics and learning new skills of gdevelop rather than the presentation of the game. Some of these skills learnt were: object, scene, and global variables, modifying text, deleting/spawning certain objects at intervals, adding and subtracting from different variables depending on actions, etc. So the first thing I wanted to incorporate was a mechanic where the ship (player) was able to move around on the screen. My personal preference for movement mechanics are the WASD keys so I decided to use those. I also wanted to add a speed boost to the movement as an excitement feature, using Lshift to drive that.
When designing what game I would make, I read chapter 10 where Fullerton says, “Sometimes a combination of rules creates an imbalance. Sometimes it is a combination of objects, or even a “super” object that unbalances play. Other times it can be a combination of actions that provide an optimal strategy for players who know the trick. Whatever it is, these types of imbalances can ruin gameplay. You will need to identify them and either fix the rules that create the problem, change the values of the objects, or create new rules that mitigate the optimal strategies.” I had to make sure to consider what elements I would add that would not take away from the gameplay.
Idea 1: At this stage I had thought about an idea in which would give a certain objective to the player, besides the ‘get the most points you can’. I had thought about having an object that moved slowly up a straight course and your objective was to protect it. So you would have to move alongside it protecting both yourself and the object from getting hit by asteroids(enemy). These asteroids would come at an angle that would directly hit the object, so the player would have to shoot it before it reached as the object made its way through the course. I believe that these changes to the classic game asteroids would not take away from the gameplay itself but enhance the already existing game, applying what Fullerton had previously mentioned.
Idea 2: Another idea I had was to have the objective of collecting and delivering an item. They would spawn at a timed rate and your job was to pick it up and return it to its designated spot. Perhaps there could be different objects and they all had their specific home. Whilst out trying to complete the objective, asteroids would spawn and you would have to avoid them by shooting them, gaining additional points. But if you shoot and hit an asteroid, or an object, or yourself, you would lose lives. Similar to idea number 1, I think this version of asteriods would not overwhelm or unbalance the gameplay but would become more entertaining with the unique take on a classic, supporting Fullertons text.
I decided to got with this second idea as it would include the most ‘coding’ out of the two.
I knew a lot of different variables would have to be included in my game so it would be playable in the way i envisioned, so I started making my way through the trial and error phase of getting everything to work. I had to create a few scene variables - coincollected (boolean to record whether player had object), and coincount (total number of coins to collect). I also had a friend show me how to use object variables, so i incorporated a lives variable in the text to display how many lives left. For the points system, I wanted to be able to display the total points at the end of game (in a different scene) with the potential of adding more points throughout different levels. For that reason i created a global variable to control that. From there I had to link up all the variables to different actions that would occur throughout the game, such as: collisions with bullet, asteroid, coin, container, and movement and spawn rate coin, deleting coins etc. This process took a long time as it was something I didn’t have much knowledge on, but in the end i did have a functional game. Though the difficulty of the game was coming from the asteroids, I wanted to push it a bit further by adding walls around the border of the screen. This was so that everything would now bounce off the walls rather than slip off screen after they spawned. This meant that players would have to be extra cautious of where they shot as it could rebound and hit something you were avoiding.
I then had to create different scenes such as the start screen, if you lost all your lives, or if you passed the game. This was pretty straight forward and was able to complete that pretty quickly. As this first level objective was to only collect one type of coin, I wanted to create a new level where players had to collect 3 different objects and return them to their designated containers. Most was pretty much copy and paste from level one however I struggled with understand how to spawn different objects depending on whether their containers were already full and to stop spawning once they were full. I ended up having a friend walk me through it before completed the core mechanics of my game.
Once I had finished my two levels, varying in objectives, I play-tested them making slight adjustments like fire rate of bullet, and spawn rate of asteroids, etc. I was very happy with my game concept and execution, and was now ready to start adding the aesthetics (my favourite part). Because this game is light heart and almost childlike in terms of having a straightforward task, I wanted to stick with that vibe by having the art style very loose and a bit messy looking. I thought having sketches with a crumbled lined paper background was very fitting, with mobile game ‘Doodle Jump’ in mind when visualising it. I replaced all objects, like the coin in the first level, with different coloured shapes and drew containers with that shape and colour on the front.
Shapes art style:
Container:
I wanted something comedic with my player, continuing with the theme, so I decided to have my stick figure man hold a bazooka.
I did have to adjust all of the hitboxes as they varied in shapes and sizes. The player needed its edit points adjusted as the controls weren't functioning correctly with the shape of my character.
Upcoming post with final results and feedback from players.
Gdev Code:
Fullerton, Tracy. Game Design Workshop : A Playcentric Approach to Creating Innovative Games, Fourth Edition, CRC Press LLC, 2018. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/qut/detail.action?docID=5477698.















