Thank you for trying out Perilous Peregrination (referred to as PP from this point onwards)! PP was created for the TINS competition (
http://www.student.wau.nl/~martijni/tins). The goal basically was to create a game which met the strange rules in 72 hours.
PP and most of its resources are
completely written from scratch - I originally re-used the highscore manipulation code, but ended up rewriting it all anyway. PP is a puzzle game, which requires fast thinking and actions. The game can be completed by ordinary means, but if you want to get some real points.. read more in the gameplay section. :)
Anyway, I hope you like the game. I sure had fun doing it. :)
Thanks to neoblaze for the NES font! The samples used in the music modules were found from the internet and are assumed to be public domain.
You are allowed to:
- compile new versions out of the game, improve the game, etc. for personal use
- play and enjoy the game ;)
If you make any improvements or ports, please let me know! :)
You are not allowed:
- to re-release PP under a different name
- claim to be its author
- make any profit out of it
- include or display it on any medium meant for public consumption/which is accessible by the public without my permission
If you are porting etc and would like to host it on your site, contact me first. I'll most surely grant permission. :)
If you are on Windows, you can find a pre-compiled executable from the
bin-directory. If you are on another platform, you must first compile the source - see the compiling section. If you get an error about a missing DLL when starting the game, download and execute this file (
http://www.allegro.cc/files/4.0.3/allegro-enduser-4.0.3-win32.exe). It will automatically place the DLL in the right place, so you don't have to worry about anything.
The bin-directory contains the game's datafiles, so copy/move them too if you move the game/compile it. They should be placed in the same directory as the executable.
Tips:
- You can change the game behavior by compiling it with other settings. See the compiling section.
- If you don't want to see the intro (and the ending) ever again, you can delete intro.dat. Deleting this file will remove both intro & ending from the game.
- If you are not using music, you can delete music.dat. Deleting this file will remove music from the game (compiling without music is highly suggestable in this situation as well).
- If you want to reset the highscores, you can delete hiscore.dat.
- You can also delete system.dat, but that doesn't do you much good.
The source directory already contains a batch file for compiling on Windows (called
compile.bat). It assumes you want music, and requires Dumb. If you don't want music or can't use Dumb, comment the pp_MUSIC (more about this coming right up) out and use the batch file called
nomusic.bat.
The bin-directory also contains the game's datafiles, so copy/move them too if you move the game/compile it. They should be placed in the same directory as the executable.
However, the header file named as
compflag.h contains some defines, which you can (un)comment to compile a different version of the game. The Windows binary in the
bin-directory is compiled with the following defaults. This game should compile on most x86-platforms with little to no modification. To compile the game, you will need a C compiler and the latest stable version of the Allegro library (
http://alleg.sf.net).
The flag descriptions are:
pp_MUSIC (defined as default)
This compiles a music-enabled version of the game, but it requires the Dumb library. You can get it from
http://dumb.sf.net.
pp_SHOWFPS (undefined as default)
This flag will enable FPS display on the window titlebar. Note that if pp_GHETTOBOOST is enabled, this will shows LPS (logic updates per second) at some points (numbers going over millions).
pp_MOUSE (defined as default)
Enables mouse support in the menu UI.
pp_GHETTOBOOST (defined as default)
Enables a different screen update method, which might boost operation on slower machines.
pp_SCREEN_WIDTH (default 640)
pp_SCREEN_HEIGHT (default 480)
These two should not be changed - my original intention was to make the game freely scalable, but due to time constraints changing these from the defaults will only break the visuals.
pp_GFX_DRIVER (default GFX_DIRECTX_WIN)
You can change to either a full-screen driver or a non-Windows graphics driver.
pp_MAX_PARTICLES (default 20000)
Maximum number of particles allowed. It has little effect though, the particles usually die before the limit can be reached anyway.
You can change the active button by pressing the ARROWS (up/down or left/right depending on the menu orientation), and trigger the button by pressing ENTER.
You can also use the mouse in the menus as well, but clicking LMB (left mouse button) will trigger the active item
no matter whether it's on it or not.
New game
Plays the intro and starts a new game. The intro will be played only once each time you run PP, and you can skip it any time by pressing ESC. If you missed some text or want to fast forward, you can use the arrows LEFT (rewind) and RIGHT (fast forward).
Hall Of Fame
See high scores (if the level is marked as three hearts, that means that the game was completed).
Replay Intro
Replays the intro (available after you have started the game once).
Exit game
Self-explanatorily exits the game after confirming it.
These controls apply when you are in the game (you see a board with holes).
CONTROLS (BRIEF)
1-9 - Set the active row element
BACKSPACE - Remove the previous element and move backward one step
ENTER - Try out the combination
ESC - Pause
CONTROLS (ELABORATE)

Your job is to build a combination of elements in
the column marked by number 2, and with the right combination you will complete the level. You can set the elements with
keys from
1 to 9 - the corresponding element from
the palette marked by number 1 will be placed on the current highlighted (white) position and the next item will be highlighted. The combination is built starting from the upper slot. This screenshot only displays four elements - nine is the maximum. For example, pressing
5 in this situation would do nothing, but pressing
4 instead would place the fourth element (purple I) from the palette on the highlighted slot.
If you make a mistake or for some other reason want to remove the elements you've already placed, press
BACKSPACE.
When you have filled the combination in
the column marked by number 2, and the EXE button is highlighted, press
ENTER to try it out. It will be moved into the history, and it will be colorcoded with rules described in the gameplay section.
If you want to pause or exit the game, press
ESC to open the in-game menu. More about it below.
PAUSE (IN-GAME MENU)
This menu will be available by pressing
ESC, which will also effectively pause your game. The behavior is the same as with the main menu.
Resume game
Resumes the current game.
Exit game
Exits the current game and returns to main menu after confirming it.
First read the in-game controls section! Now we get to the fun part. How is this game played?

You are supposed to create a combination of elements (three in this situation) so that you can complete a level. A column represents one combination. You build the combination in the right-most row (coloured dark yellow) and the execute it. It will then be moved into the history (
numbered as 1), which is every column left from the building column. There you will be able to see your previous combinations and what was wrong with them. Those colours on the outer circle of the slot determine whether the element was correct or not. The colour coding is as follows:
- GREEN - Correct element for completing the level
- YELLOW - Almost correct element for completing the level (off by one element in the palette either left or right)
- RED - Correct element for creating jelly
- BLUE - Almost correct element for creating jelly (off by one element in the palette either left or right)
- BLACK - A complete miss, not even close to either of the combinations
Let's take the leftmost column from the history as an example. Ok, the first element (blue O) is correct because its' status is green. The next two (brown Cu and gray Al) are off by one though because their statuses are yellow, so that means that the correct element for the second slot would be either blue O or gray Al, and for the third slot brown Cu or pink I. As we look at the whole history, we see that gray Al in the 2nd slot is green and brown Cu in the 3rd slot is green. The correct level completion combination would then be OAlCu (starting from the top - blue O gray Al brown Cu). The amount of rows and elements available will go up once you advance in the game.
Then how do you get points? You will get points for the remaining time when completing a level, plus a bonus of
5000.
There are two combinations you can build though. The first one will complete the level, but the second one creates jelly. Creating jelly is what gives you the Big Points(tm). Just going on completing the levels gives you points too, but the jelly combination gives you a whopping
50000 points all by itself (granted that you complete the level you made it in). It is harder to build though, but it gives you a new level of difficulty if you want that. When you have created jelly, it will be displayed as the two green blobs in your HUD (
numbered as 2). Why is building jelly harder then?
As you can see from the picture on the 2nd column from the left, blue O was denoted as being close to jelly building element. The only element next to it in the palette is brown Cu though, but its' status colour is not displayed as red, even though it was later used on the same row. This is because the level completing combination colouring
overrides the jelly creation combination. The correct jelly creating element for slot 2 would be brown Cu, but the red status colour is overridden by the yellow colour from the level completion combination. Another good thing to keep in mind if you're going for the jellies is that the elements in the two combinations (level complete & jelly) are never in the same slots - if the "level" combination element for the first slot is blue O as it is in the picture, then the "jelly" combination's element in the first slot can't be blue O.
Creating jelly requires fast mind and actions, but the rewards are worth it.