Inspiration

Since the theme was retro, the first thing that came to our minds was arcade games and games like Pacman. We chose to do an escape game and based it in a mental asylum because we wanted a psychological mystery theme to help the player immerse themselves into the storyline. Most of these retro games are pixelated so we knew that we wanted to create pixelated assets which invoke nostalgia.

What it does

The game follows a player (Brian) who lost his memories and he has to use the clues to bring them back and escape the mental asylum. The player can move and interact with objects by bumping into them. Some of them are decoys while others bring him closer to the truth. All codes clues are computer science related and are mostly easy as they involve decoding binary and hexadecimal.

How we built it

We used Java Swing to build the 2D game and we used Piskel to create our assets.

Challenges we ran into

We couldn't find a lot of resources on object interaction in 2D Java games. Most of the resources were only for picking up objects but we wanted to receive clues from interacting with objects. We also encountered a conflict with deciding how to interact with objects. We thought we could use mouse clicking for this but then the player would stay stationary while we click on objects, defeating the purpose of the player's animation. We prioritised an enjoyable experience for the player so we backtracked to overcome these challenges even if it took longer.

Accomplishments that we're proud of

Considering that it was our first hackathon and a teammate had to drop out unexpectedly, the two of us are really proud of how we worked on different tasks and the challenges we faced together. First, we both took turns in creating sprites and writing the code. We fixed a variety of bugs together such as object placement. We commented out the tile drawing method and realised the objects were not drawn onto the map. This indicated that the problem was in the object drawing method. Finally, we grew our confidence in debugging especially when it involved dependencies between classes.

What we learned

We learned the mechanism of a 2D game and the creation of sprites and player animation. We learnt how to apply our skills of object-oriented programming for event handling, collision detection and object interaction.

What's next for Escape game

We had a lot of ambitious ideas for the escape game but couldn't implement some of them. One of the ideas we had was a flickering lamp that we would have to decode using morse code, which we would like to incorporate in the future. Currently, it only uses one map so we would like to implement a world and camera to make the game more immersive and challenging. We would also like to include machine learning in the project to decide when hints can be given to the player if they've been stuck for a while.

Built With

Share this project:

Updates

Submission history