Date | Duration | Description |
16/6/2023 – 28/7/2023 | 12 days | The project I had been working on was a client game titled “Definitely Not Doodle Jump.” The idea was to use the same mechanics from the official game, Doodle Jump, and recreate it with GameMaker. |
The Goal
My goal for this project would be to mimic the game, Doodle Jump, as close as I could, with my level of expertise. This consists of creating similar mechanics such as movement, physics, animations, point/score systems, etc.
Development Process
I began my project on the 16th of June (2023) and wondered how I could begin the project. I decided that the best way to start the game development was to create it in separate parts:
- Sprites
- Objects
- Map
- Mechanics
- Platform mechanics
- Graphics/textures
My game would preferably be targeted towards players with beginner level experience, since the control mechanics were not difficult to learn, and Doodle Jump is already quite a well-known game. Since I did not have much knowledge with this game making app, I figured that if I just try my best to make a game that could mimic Doodle Jump as close as possible, I would be satisfied with my work.
I wanted to get this client game finished as soon as possible, so for the sprites I just created plain squares with distinct colours to help differentiate their properties. After making the main sprites: spr_player, spr_wall, spr_brokenwall, I then moved onto the next step, which was making objects for the sprites.
(First version – Green: spr_wall, Light green: spr_player, Brown: spr_brokenwall.)
Once the main objects had been created, I now had to set the layout for the map. Since the game was not built for a “static” playstyle, I needed to change the width and height of the map. Throughout the whole project I resized the map multiple times, but finally I decided that 500 x 3000 (width x height) was a decent size for the game.
After that I needed to insert the objects into the map and spread it all around evenly. During this process I also decided to make another important object called obj_boostwall. This object lets players trigger a “boost-jump” if they land on it.
Once the map layout was set to some level of satisfaction, I moved on to the next stage of the game development, which was the creation of the mechanics. I had a list of things that needed to be fixed/set up, to make the game feel more like Doodle Jump:
- Automatic jumping
- Gravity/speed
- Camera placement
Since I had little to no experience with GameMaker I had a lot of help from Rob with the mechanics. After Rob implemented the basic code for the gravity/speed and automatic jumping, I tweaked a few parts to mimic the movement in Doodle Jump. I also realised that the official game had the ability for the player to wrap around the map, so I made sure to get that mechanic placed in the room properties.
(During this time of the project the client game had been finished but I still chose to pursue this project.)
Rob used his Gamemaker skills to make the camera follow the player, which let me keep track of the character’s movements. We had two more mechanic stages to complete, so it seemed like a clever idea continue from that point. The mechanics that needed to be implemented were:
- If a player hit/triggered the obj_brokenwall, the object would fall out of the map.
- Landing on platforms without falling through (except for obj_brokenwall).
- Activating the obj_boostwall for a boost-jump.
Once again, Rob came to the rescue and did his thing. However, we did come across a few problems in some parts of the game and had to produce solutions to evade them.
Problems | Solutions |
Players could accidentally trigger boost by passing through the object – even if landing on another platform | The way we fixed this issue was by changing the room speed and eliminating the activation from other sides excepting the top. |
Players could not trigger platforms and they got stuck inside the platform. | When players landed on the platform the collision was at 0 and that meant the player would stick onto the platform. We decided that if the collision was not 100% colliding but still close the player could still bounce. |
Of course, it did take a while for all these mechanics to be set up, so when Rob left to help another student, I took the time to start working on the graphics of the game.
(Final version: spr_player, spr_wall, spr_brokenwall.)
Finally, I finished the project on July 28 (2023). All the mechanics had been taken care of and the graphics were decent enough to present. I was happy that I could make this game which had a lot of similarities to Doodle Jump, which was my main goal in the beginning.
Conclusion
Well, I had not fully completed my initial goals for the game development, such as implementing a sound or scoring system – which would have been my next step.
In hindsight I should have set up the graphics/textures after adding the sound/score mechanics and I think that that is exactly what I will do if I continue to work on this project.
Technical Test Report
- technical testing – does the game work?
Yes.
- user testing – is the game engaging and effective?
Yes and it is quite simple to understand.