Travel is a story-based action platformer game. You, the player, have used a portal to return to your home planet after a mission. However, you’ve ended up on the wrong planet. Your portal has broken, and the pieces have scattered across the land and sky. You must find all the portal fragments to get the portal back up and running.

The player will explore a large map to find these fragments, and will run into various enemies along the way. Each enemy has different traits and poses differing levels of threat. Defeat the enemies that stand on your path to success!

Evaluation

The end product of this project was almost exactly what I had in mind originally, just with not quite as much polish as I’d hoped for. The story, map size, player and enemies came out as good if not better than what I’d hoped and planned for.

I learned a lot from making this game. Most of this is GameMaker Studio 2 knowledge. Not only did I learn of far more possibilities, but I also developed my coding skills tremendously. This was largely through various tutorials online and reading ideas and then trying to implement them through trial and error (and reading the GameMaker manual a lot). I’m very happy with all the skills I’ve learned, and I’m sure they’ll help me develop better games in the future, should I so desire.

Regarding my initial intentions, there weren’t any features that I planned to implement that were negatively changed. There were, however, many that were developed better than intended. These include: Enemies having different states (idle, wandering, alert and attack) was not my original plan, but something I discovered the possibility of during development which greatly improved the game. A few extra objects like bounce pads, ladders, and interactable signs were not originally planned for but were added because I thought they were necessary and added to the game experience.

Some significant challenges I faced when developing the game were:

  • Coding enemy states
    • This was an awesome idea I found online that I didn’t think of initially. When I went to add it to the game, the programming was harder than I thought to implement. It took a lot of trial and error, logical thinking and understanding to make this mechanic work as it should.
  • Object collisions
    • I had many issues with object collisions throughout the course of this project. Player collisions were initially a little scuffed until I tweaked the collision masks of the sprites which solved my issues.
    • Enemy collisions proved difficult many times. After adding states to the enemies, this proceeded to break their horizontal collisions entirely. I had to redo a lot of my collision code to integrate properly with the scripts I had created for the enemy states. Since the state script movement calculation code happened at a later time than the collision checks, the collisions were ignored when moving. This was solved by modifying the collision code I had and moving it to happen within the scripts as the movement is being calculated.

If I had more time to work on this project, I would add all of the stretch goals I didn’t add that I had listed in my design brief. These were:

  • Giving the player an ability or two besides the gun
  • Adding items around the map that the player can collect to regenerate health or potentially unlock some special abilities
  • Limiting gun ammunition and having ammo refills around the map
  • Limiting the sprint function (make it rechargeable)
  • Ability to pause the game

I would also polish the game further, by adding more sound and visual effects. There was one outstanding bug that caused enemies to occasionally stop being able to move anymore or float in the air. I’d fix this if I had more time, as it was quite a confusing issue that I couldn’t work out how to fix.

If I was to start this project again, I would focus on adding all of the core game mechanics I had listed in my design brief before focusing on visual effects and polishing which isn’t necessary until later in development. This is just better practice, however, it didn’t particularly end out negatively affecting me during the time I had working on my game design project.

Although I watched many different tutorials and read many different GameMaker articles and forums, I’d like to acknowledge Shaun Spaulding for his many tutorials I used to help me code features and FriendlyCosmonaut’s Object States video in particular.

Sprites were found through online sites like itch.io.

Leave a Reply