Devlog 2: Postmortem


Successes

I successfully made 3 complete levels and a final boss at the end. Each level has a results screen that calculates the player's current score and time elapsed. I was able to design a playable character with unique abilities such as a grapple hook, wall jumping, and melee attacks. Players are able to attack enemies, take multiple pathways throughout the level and challenge themselves with precise platforming and correct use of abilities for the best score and time. The final boss level takes everything that layers learned to do in previous levels and accumulated them here all together in order to beat the boss. I also successfully added 2 cutscenes in the game as well. Even though a save system and a level selector was not present in the HTML browser version, I was still able to successfully implement it into the Windows version. 


Challenges

Designing abilities for the pirate became difficult to implement. The grapple hook had a lot of a technicalities involving where the player can click on the screen to summon a hook , how long it can extend, if it can lower the player down or bring them up, and if it can swing them across a platform. This produces some bugs where sometimes the player can click anywhere and it will always summon a grapple hook. When the grapple hook was in use, sometimes it was in a fixed, or static state where the hook would not propel the player in any direction.  There was also a bug where grappling onto the hook would throw you out of the camera's perspective. Some issues also arose with the melee attacks using the pirate's sword. It was difficult to determine the hitbox that the enemies should have whenever the play attacks them. This would cause enemies to either be hard to hit because the hitbox would have a very specific range or the complete opposite, where the enemies would be easy to hit regardless of how far the player is from the enemy because the hitbox has a wider range. Nonetheless, finding a balance with the hitbox was a challenge. Additionally, there were also some collision errors that became a constant problem with the player's wall jump. The player's sprite was constantly stuck to the wall once a wall jump was performed. Part of the issue was that the collision code had to be constantly updated if a new game mechanic for the player was added that involved interacting with the ground or wall because any specific rules set for that new ability may have conflicted with the wall jump's preset rules for collision. Luckily, this was solved by having interactable objects have separate collision code. 

There were difficulties when trying to implement a save system and a level selector. Initially, the current position of the player in the level would be saved if you exit the level. So if you pressed "Continue" on the main menu, the player will spawn at the specific part of the level they left off. This was added because I recognized that most games have the functionality of having your progress saved wherever you were in the level for convenience especially if you did not feel like replaying a certain part of the level over again. But since a level selector was added, loading different levels always misplaced the position of the player even though the current position of the player was saved by the save system. There was a potential solution to create a save file for the level selector individually so that the system would also consider the files saved by the selector as well, however it required more hardcoding than initially anticipated. Nonetheless, because you could still save the levels that were unlocked to the level selection menu so that players don't lose all their progress, you can still choose whatever level you want to play without having to start from the first level. This enabled me to believe that deleting the function of saving the player's current position in the level wasn't a huge loss since they can still use the level selection menu to jump between levels and save progress. Additionally, adding the save system and level selection menu was not possible for the browser version of this game. Researching more about it, there would have to be a lot of configurations made within GameMaker Studio for the game not to break easily as it would be too dependent on the specific browser that the game is running on, or when put on the background if players open other tabs. This produces bugs or errors that I may not catch and could result in corrupted save files if every kind of specific browser and the possibility of other tabs is not accounted for. Since the save files could be corrupted due to this issue, players will not be able to properly save their game. The level selection menu has the same mechanic as the save system as it requires loading a file that contains a list of completed levels which is why this feature could not be added in either. Despite having to sacrifice the save system and level selection menu, it was still made available in the Windows executable version. If players want to simply give the game a quick demo, they can play the browser version. However, if they enjoy and like what they see in the browser version, they can download the Windows version to experience the full package.


What I Learned

Having ambitious ideas is always a good thing but sometimes it can allow you to over-anticipate the course of your game's development. For example, I originally was going to have different environmental areas that the player would access based on the pirate's treasure map. As seen in the game, the first area is a jungle/forest. Next, I was planning on doing a desert, city or ice land. I had everything mapped out but the levels for the jungle area had lackluster length and content. There was also an opportunity to add more game mechanics instead of adding new areas to explore. So I had to make a decision: newer areas or game mechanics? I chose game mechanics because I realized that my platformer game is geared towards an action-packed experience rather than visuals. Therefore, it would be less important to implement different environmental aesthetics instead of just focusing on the gameplay itself. As a result, I was able to implement the grappling hook and wall jump. 

I also realized that significant amount of time is well worth spent on testing and debugging the game rather than adding new features. I had a concept to add more attack options such as additional combos, an air attack, and harder phases of the final boss at the end. However at the same time, I was experiencing bugs and errors with the grapple hook and wall jump that I already designed. Despite this, I still implemented the concept ideas I mentioned above but they also resulted in a buggy mess. While they were cool concepts, I ended up scrapping those concepts and stuck with the grapple hook and wall jump mechanic. I knew that if I kept those concepts, the game would be unfinished and the gameplay would be full of bugs that makes it hard to play. This is turn helped me perfect the grapple hook and wall jump mechanic so that whenever they were used there were no collision errors that caused players to be stuck in a wall, ground or frozen in place whenever these abilities were used.


Possible Future Revisions 

Since the premise of the game is finding the pirate's treasure, I think adding a treasure map as the basis for accessing new areas in the game would be a good addition. Players could look on the map and access secret areas, find special items or secret bosses. This would also be the main of players accessing entirely new areas. There could be a ship mini-game that players have to undergo in order to travel to the next area. In the initial cutscene of the game, the pirate is seen leaving her ship and heading to the forest which is why I thought incorporating the ship into the game would be a great addition. Speaking of new areas, I think that adding different environmental areas like an ice or lava world, a city, desert and any other environment with drastic changes would add to the scavenger hunt adventure that I want my game to give off. 

I also believe that adding more attack options is necessary. Different directions to swing the sword, aerial attacks with the sword, combining the grapple hook mechanic with some attack options that players could unlock later in the game. I also believe that having powerups as options would be crucial as well. Powerups that give temporary ability or stat increases such as  increased attack or defense percentages, invincibility, running super fast for a short amount of time, etc. More variety of enemies as well since I only currently have two types of skeleton enemies: one with an axe, and one without. Another type of skeleton enemy could shoot bones at the player or make duplicates of themselves. 

Lastly, since I have a level complete screen after each level is finished detailing the score and time stamp. I was thinking that there could be challenges such as timed missions where players have to complete a level under a certain time, enemy missions where players have to defeat a certain amount of enemies without getting hit, etc. Additionally, I also had the idea of adding more cutscenes into the game besides the initial two that I have to give more context to the player.

Files

Windows 38 MB
Jul 12, 2022

Get A Pirate's Lost Treasure

Leave a comment

Log in with itch.io to leave a comment.