Playing the Game - ErikaRedmark/monkey-shines-java-port GitHub Wiki

To those unfamiliar with Monkey Shines, it is a basic platformer, focused on exploration. The goal is to find all the red keys in a world and then leave via the exit door, collecting as much fruit as possible for score. Worlds are more similar to Castlevania or Metroid than things like Mario: The world is composed of many 'screens', and moving between screens moves between sections of the world. Your character, Bonzo, depending on the design of a level may be travelling and backtracking quite a lot through these sections. The game requires a good sense of direction and some strategy in how you choose to go through a level, as there are many possible paths you can take, and which order they are done in can affect how quickly you can get through the level, or how much score you can accumulate before completing it, or some combination of the above.

The game is not forgiving: the most common foes will kill Bonzo on contact. Few (only bees in the original worlds) will just harm his health. There is no way to actually take out an enemy. Avoiding them is the only option.

Collecting all the red keys in a level opens the exit door somewhere; it's up to you to find it. Finishing a level tallies a high score and allows you to enter your name.

Collecting all the blue keys in a level opens up a bonus door. Once again, you are required to find it yourself. Entering a bonus door takes you to a mostly harmless area with lots of fruit.

Tip: It may help to press the 'Help' button on the main menu. It currently uses the help screen from the original game but is still accurate for this port and can describe game-play specific things pretty quickly.

Finding a level to play

All the original levels from the classic game have been ported as of version 0.3.1. Listed below are the levels and if they have been playtested for beatability (if you beat one of the others let me know!). Access them from the World Selection screen in the game (click the 'Play' button on the main menu)

  1. Spooked (Monkey Shines/src/resources/worlds/Spooked): This is the first level of the original game. It has a haunted theme and is one of the easier levels of the game. Been playtested to be beatable

  2. In The Swing(Monkey Shines/src/resources/worlds/In The Swing): This was the last level of the original game, although it's probably second in terms of difficulty. It has also been playtested to be beatable.

  3. Spaced Out: A space themed level taking place on the Moon most likely. Probably one of the most challenging levels in the game. Playtested to be beatable, although the bonus level accessibility is unknown.

  4. About The House: A house level with a moderate difficulty all around, and a majour difficulty spike in a few areas. Playtested to be beatable, including the bonus level.

  5. In The Drink: A water themed level (no water physics!) with a similar difficulty as About The House, but a smaller world. Playtested to be beatable.

  6. Debug World (extra/debug_worlds/DebugWorld): This is a testing ground for certain game mechanics, and has evolved and been evolving as the first level made with ongoing development. It is mainly intended for playtesting and does not offer a challenge. This is what would be considered an 'addon world' since it isn't part of the 5 main worlds in the game, so must be accessed by clicking 'Other' on the World Selection screen and selecting the .world file manually.

Finally, there are a few addon worlds in the .zip downloaded from the 'releases' tab. Additionally, the addon worlds can be found in the 'extras' folder on source control.

  1. Phil's Mac World: The winner of the original Fantasoft level design contest back in the days of the original game. This is a Mac OS themed level (pre Mac OS 9), and is incredibly difficult. Due to pixel-perfect collision algorithms, many of the sprites, being rectangular and boxy, are more difficult to jump over and avoid than in other worlds. Has not been proven to be beatable in the new engine yet.

  2. Cory's Storm Keep: A gloomy themed level with a castle and lots of rain. This level layout is slightly modified from the original due to engine differences. Note that the bonus door on this world is not optional. Has been playtested to be beatable.

Ending a level

A level ends when you either get to the exit door, lose your lives, or press the 'escape' key.

Making a level to play

The provided level editor can be used to create worlds. It is currently fully feature complete. A full documentation can be found at Making a Custom World.

Work in Progress / Contact

Please give any feedback to me, Erika Redmark, at [email protected], and feel free to open up issues on the github page if you notice anything odd.

Original Game Fun Glitch (Windows)

There is a glitch in the original windows version of this game, at least on Windows 7 64 bit running under Windows 95 compatibility mode. Any input, even when no focus in on the game, is sent to the game. It is possible to open this newer port of the game at the same time as the original, set window focus to the port, load up in both games two identical levels, and play the port. Input is also sent to the original, causing both to play at once. One will discover they do go out of sync. This port runs at a slightly different speed and uses a custom black-box reverse engineered version of the engine, so it may never play completely parallel. It is nevertheless a pretty neat trick though to see some of the differences in the two engines.

More information

In the 'nostalgia' folder is a .pdf form of the original level editor documentation from Philip Roy. Whilst most of the information is not applicable to the port (resource packs and the .world file take the place of ResEdit information) it is an interesting and good read to get acquainted with some of the game concepts.