Skip to content

SallyPY/Escape

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Escape

Introduction

A room escape game is what it sounds like: a game where a user must get out of a locked room, usually through solving a progression of puzzles. This is a good example.

My game is a simple Java room escape game using Eclipse, and it acts as the final assignment for my Fall 2014 Intro to Computer Science class.

Development relied on the Swing GUI. Gimp 2 was used to create the graphics.

Below is an image of one of the walls.

alt tag


Running the zip file with Eclipse

  1. Download and unzip the file.
  2. In Eclipse, File->Import->General->Import Existing Projects Into Workspace. Browse for my file in the root directory section. You might have to change the JRE System Library to one compatible with mine. I used JavaSE 1.8.
  3. Do this by right-clicking the Escape folder, Properties ->Libraries
  4. Remove the current library by selecting it and clicking Remove Library. Add a compatible library.
  5. On the main toolbar, Run.

Walkthrough*

1st wall:

  • Collect bowl from under the couch.
  • Click on the couch cushion. Collect the circular key.

2nd wall

  • Place circular key into the safe.
  • Note the flowers and the order of colors.

3rd wall

  • Collect the crowbar.
  • Click on the lever/switch. Go around the walls. Note where the red light hits.
  • Fill the bowl with water.

4th wall

  • Use the crowbar on the area where the red light hit to reveal a hole.
  • Use the colors of the flowers from wall 2 to get the right combination of colors on this wall: pink, purple, purple. Pick up the seeds.
  • Place the bowl with water into the hole.
  • Place the seeds into the hole.
  • Retrieve the key.
  • Go to wall 1 and use the key on the door.

*These instructions don’t have an exact order, but especially towards the end you can’t complete steps without doing others first.


Limitations

I couldn’t incorporate all the features I wanted due to limitations in my programming ability and time. These include zooming in on a specific wall or item being able to view a selected item up close, and having more complex, realistic puzzles.

Regarding my limitation on puzzles, I don’t think the way I structured my flower puzzle was well-done. I had a hard time figuring out a way to check if all the right flowers were clicked, and there seems to be a lot of code for such a small part of the game.

The most difficult part was handling the classes in the image package. The ImageSpacePanel, ImageLabel, and ImagePanel classes allowed for the collection of items around the room and the interaction between the inventory and wall. However, the code for this is convoluted and not as straightforward/readable as I feel it should be. And with this code, I couldn’t find a clean way to click on a collected item and view it up close.


Conclusion

Overall, I'm proud of my game. Although the drawings aren’t ready for mass distribution, I enjoyed creating them and surprisingly like them aesthetically. The sound effects add to the room escape atmosphere, and I’m satisfied with how I handled mouse clicks based on where they occurred. However, there definitely needs improvement. In the future, I'll come back and make my code more readable as well as fix inconsistencies with naming conventions.


Notes on Progress

The code is at the hands of a beginner and a new user to GitHub, so there will be problems on the way.


11/15
Having issues navigating GitHub. I will need to do more research. There is trouble with committing, branching, syncing, etc.

11/22
Removed metadata folder with a .gitignore file.

12/1
Got a lot done over Thanksgiving break. You can actually win the game!

12/4
Had a problem with exporting images into a JAR file. Finally fixed. Now for sound effects.

12/6-12/8
Sound added.

12/29
I think this is the end. It has been a good run.

1/2
Added HTML to README for readability.

About

Final Programming Assignment

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages