spryjinx 3D =========== BETA version - 0.97 copyright 2000 (see bottom notice) concept/game engine by jason m. heim (email: jase@bucketweb.com) (url: http://www.spryjinx.com) (also: http://www.bucketweb.com) level editor "sprymaps" by john petreshock (downloads separately) (email: jpetres@ibm.net) JGMOD library by jefferey guan used to add music (url: http://www.geocities.com/siliconvalley/vista/8890) this file last updated september 23, 2000 NOTE: the simplicity of this game would make it easy to shanghai the concept, and knowing that there are much better programmers than me out there, i know someone could write a better version. all i ask is for some credit, and perhaps the opportunity to test/help with your version! UPDATES from 0.96 (brace yourself, there are MANY): - SIX new powerups, explanations are below (BIG thanks to 'aguy' at freegames.org for some of these ideas and pushing this change) - completely new menu system - your configuration is saved now on exit (level, players, etc.) - the 'sprycfg.exe' config program is gone, you can change resolution and keyboard config within the game - a 'lava pit' has been added to the gameboard, which makes it MUCH easier to tell when the blocks will drop off - "the spryjinx theme song" now plays in the background - when you get annoyed with the theme song, you can turn it down or off with the new volume controls in the menus - the cpu opponent now comes in four flavors with varying levels of difficulty (wimpy, normal, greedy, smart) - the powerups and extra lives are double-sized in the scoreboard to make them easier to see - you can now choose resolutions of 800x600 and 1024x768 (NOTE: these are pushing the envelope on my K6-2, so unless you have a faster computer i don't recommend trying them) - new levels (a level editor called 'sprymaps' is available separately) - after a player dies, his next life is given a free 'magnet' powerup that will allow him to get out of a 'trapped' situation that wasn't his fault (this will probably be very well received ;) - players can now hop to a moving block's destination so that they can arrive at the same time as the block (improves mobility) - when the game is over, the animation is different (the gameboard gets swallowed up except for the block the winner stands on) - a credits & thank-you screen - various other bug fixes, including removing the bug where player 2 could jump off the board (thanks to those of you who reported it) STILL MISSING: - joystick support - network support (anyone...? anyone...?) UPDATES from 0.95 (for historical value): - added an in-game demo to show how the game plays. simply wait at the menu screen for 10 seconds, the demo will automatically start using the level and characters that you select. - a nice new logo replaces the simple "SPRYJINX" at the menu screen. - the new row of blocks floats into the board in a 'star' pattern (very cool). description of files in package: ================================== spryjinx.exe - the main game executable readme.txt - this file dat/ - directory, holds game boards wav/ - directory, holds .wav files for sound players/ - directory, holds player images and sounds cfg/ - directory, holds the configuration file sprycfg.exe - configuration program, sets up resolution and keys the story: ========== the game is very simple in concept. does anyone out there remember an old atari 2600 game called 'quick step'? probably not, at least i haven't met anyone other than my brother who does. spryjinx is the result of what started as an attempt to bring back what i consider a classic. then i got 'creative' and made it my own by adding a lot of my ideas to it. it also has similarities to 'q-bert' which you may or may not remember. this game is just about as simple, but adds the fun of head-to-head play. you can play against a computer opponent, but i find the game most addictive against another player. menu screens: ============ these are COMPLETELY new but much more intuitive to use. the player 1 keys control the menu, which is by default the arrow keys. basically, up and down will change the menu selection, and left, right, or 'enter' will modify or select the highlighted item. the 'esc' key will go back one menu or exit the game. START MENU: - one player - right/enter to play a one-player game - two player - right/enter to play a two-player game - configure - right/enter to go to the configuration menus - quit - right/enter to quit the game SELECT LEVEL: - up and down will pick a level. the top level is *random*, and if chosen will generate a new level every time. - left will go back to the START MENU - right will go to the SELECT PLAYERS screen SELECT PLAYERS: - up and down will choose player 1's character - if you picked a one-player game, the computer will toggle his choice - if you picked a two-player game, player 2's up/down keys select his character - right will START THE GAME - left will go back to the SELECT LEVEL screen CONFIGURE: - more - left will go back to the START MENU, right will go to the SOUND AND MUSIC screen (unless sound initialization failed) - cpu difficulty - left will make the cpu easier, right will make him harder and smarter (one-player only) - resolution - left will make the resolution smaller but make the game run faster. right will make the resolution bigger but the game will run more slowly. you MUST restart the game after making your selection before it will take effect (sorry!) - keyboard setup - right will go to the SETUP KEYBOARD screen - reset scores - right will set the scores to 0 SETUP KEYBOARD: - the arrow keys will change the key selection. 'enter' will blank the current selection out, and the next keypress will take its place - press 'esc' to get out of the menu. - NOTE: if you change player 1's keys, you will have to use the new keys to navigate the menu. the number pad does not work, i don't know why yet. if your keyboard setup gets FUBAR, you may have to reinstall, so please be careful.... SOUND AND MUSIC: - more - left will go back to the CONFIGURE screen, right will go to the START MENU screen - sfx volume - left will turn the sound effects down, right turns them up - toggle sound - left turns sound effects off, right turns them on - music volume - left will turn the music down, right turns it up - toggle music - left turns music off, right turns it on how to play: ============ spryjinx is a head-to-head game. there are two ways to win: 1 - score the most points. 2 - kill your opponent 3 times. the game is set on a grid of small platforms. there are two players, one on each top corner to start. when the game begins, the platforms begin scrolling downwards. when a row of reaches the bottom its platforms are destroyed. a new row will float in the top of the screen to replace them. LESSON 1 - stay alive the players must hop from platform to platform to avoid being destroyed along with the bottom row. if a player is standing on a platform when it is destroyed, the player will die and a new player will jump out to replace him (if there are any lives left). there will be gaps in the grid where you won't be able to jump. always be looking ahead so that you don't get stranded with no way to continue upwards! MOVEMENT KEYS (default): player 1: UP = up DOWN = down LEFT = left RIGHT = right player 2: w = up s = down a = left d = right NOTE: the left player is player 1, but uses the keys on the right. if this bugs you, use the menus to change it. - use the Esc key to pause/exit a game early - in a one-player game both control sets will control player 1 joysticks are not currently supported in 3d spryjinx. the keys do not need to be 'tapped' to move multiple times in the same direction. you can hold the key down, it's easier LESSON 2 - coloring the grid when a player hops onto a platform, it will change to his color. if both players are on the same platform, it will be neutral-colored until one hops off of it. whoever leaves the platform last will leave the platform in his color. there is an exception: a 'painted' platform cannot have its color changed. painted platforms are bright white, while regular neutral platforms are grey. painted platforms that are neutral also have no number on them, and every level starts and ends with five rows of these. LESSON 3 - scoring points most platforms have numbers on them. this is how many points the platform is worth. when a pad is destroyed, the points will go to the player who colored it. i.e. if it is green, the green player gets the points. if it is blue, the blue player gets the points. if it is neutral, no one gets the points. simple! some platforms have a little devil face. these are 'posessed', or as i like to call them, 'crazy eights'. they are worth 8 points, but also move around in free space. some platforms have a question mark. these are random values, revealed when you hop on them. LESSON 4 - get powerups for additional abilities a green/blue paint bucket: this is a little grey can with a 'p' on it. it will give you the ability to make a platform 'painted' in your color. while you have this powerup any pad you color will be brighter, and will remain your color until it is destroyed. a lightning bolt: this will make you twice as fast as you normally are for a short time. a glue bottle: this little white bottle with a 'g' on it will breifly give you the ability to glue the other player to a pad if you catch him. he will be stuck for a while struggling in a puddle of the stuff, leaving you free to roam around changing many pads to your color. a bomb: you can destroy a set of blocks with this. every block you hop off of will begin shaking. when the bomb powerup runs out, all the blocks you left will fall off, killing any player that stands on them. points are tallied as well. a magnet: this powerup will allow you to move a platform into a vacant place on the grid. for instance if you are trapped with no way to get to higher ground, you can use this to carry a platform across a gap to safety. NEW: first of all, players now get a free magnet after they are 'reborn'. this allows them to get out of a 'trapped' situation that the computer placed them in through no fault of their own. now the six new powerups.... switch: this powerup looks like a blue and gree circle of arrows. when a player hops on this powerup, the players switch places. you can use this to help trap your opponents. a red pirate: this powerup is also called 'steal'. when you hop on this powerup, you steal the powerup of your opponent (if he has one). if your opponent does not have a powerup, the pirate will stay in effect for awhile, and if your opponent picks one up, you will get it. when you steal a powerup, you get the full duration of that powerup, even if it had almost expired for your opponent. if both opponents get a pirate, the player who gets one first will steal the other. confuse: this powerup looks like a sad yellow face. like the glue bottle, you can catch your opponent while you have this and 'confuse' him. when a player is 'confused', he will have the yellow face stamped on him, and his keys will not move him in the right directions. a ghost: also called 'invisible'. like 'confuse' and the glue bottle, you can catch your opponent while you have this and make him disappear for a short time. your opponent will then be unable to tell where he is, except for any coloring he does. a stop sign: when you hit this powerup, it appears at the top of the screen with its own 'power bar'. for a few seconds, the blocks will not drift downward. blocks may still be moved by the magnet and destroyed by the bomb. posessed blocks will still be able to move as well. you can use this powerup to get to places that are normally not reachable. when you pick up a powerup it immediately goes into effect, and you will see a red time bar on the scoreboard indicating how long you have to use it. you can only have one powerup at any time. if you have a powerup and you hop onto another, the new one replaces the one you have. the 'switch' and 'stop sign' powerups are exceptions though, they don't take your current powerup away. LESSON 5 - platforms without numbers POSESSED PLATFORMS - these platforms move about if they have room. you can tell which ones they are - they have a smiling red devil where the number should be. these platforms add an interesting element to the game - they can be a blessing or a menace. they can save you from dying, and are worth 8 points. but they can also avoid you and leave you stranded. unlike the old version of spryjinx, these platforms now wait for you when you are jumping to them, rather than occasionally flying out from under you, letting you fall through and die. MYSTERY VALUES - some platforms now have a '?' where the number should be. they can be worth anything from 1 to 7 points. when a player hops onto one of these platforms, its value is revealed. LESSON 6 - killing your opponent in this game there's no direct way to kill your opponent. you have to take away the ground he stands on, or strand him with no way to continue upwards. to do this, you'll have to do some fast thinking, plan ahead, and take some risks. examples: - get some glue and stick your opponent near the bottom. he will die with the bottom row. - use the magnet to rearrage the platforms so that he will be forced out with the bottom rows. - use the bomb to destroy your opponent's path upwards. he will die with the bottom rows. - use the bomb to destroy the platform your opponent is standing on or jumping to. by default the players will not jump where there is no platform, but if he jumps to a platform that gets destroyed before he gets there he will die when he lands. - use the magnet to move away a platform your opponent is jumping to (my personal favorite). he/she will fall through and die. LESSON 8 - how to win the levels are NOT infinite, and eventually will end. if both players survive to the end, the winner is the player with the most points. if this the same then the round is a tie. if one player loses all his lives, the other player wins regardless of who has more points. if both players lose all their lives, the round is a tie, regardless of score. you must survive to win! you will see the current wins and winning streaks on the menu screen. NOTE TO FANS OF THE ORIGINAL SPRYJINX: ====================================== first, thanks for all your wonderful feedback, it was fun making such a well-received game. this update is not only graphical, but has some gameplay "improvements" that i would love your feedback on. NEW in version 0.97: - you can jump to a block that is moving. jump to where the block will land and you will save some time (increases mobility). this is subtle but very nice when there are lots of possessed blocks around. - the hard computer opponent is now even smarter. he can now recognize a dangerous situation better. on the other end of the spectrum, there is a 'wimpy' cpu control that will run from danger whenever he senses it and thus is not very good at scoring (should be good for beginning players). GAMEPLAY CHANGES: - the bomb works differently. blocks are not destroyed until the bomb wears off. instead, blocks start shaking to indicate that they are going to blow up soon. when the 'life bar' of the bomb is gone, the blocks disappear. - the 'posessed' blocks are less vicious. they no longer slide out from under you when you try to jump to them too late. instead, they wait for you. i believe this makes things easier for beginners, and makes moving blocks more usable in level design. - the 'sprycfg' program now allows you to modify which keys you are using - the keys for control have changed. the arrow keys control player 1 and the w, s, a, and d keys control player 2 (kinda backwards from before). IMPROVED GRAPHICS & SOUND: - three selectable resolutions (sprycfg.exe does this). 640x480 is the highest at this time, higher than that makes strange visible errors that i can't figure out yet... - 3D blocks, and vastly better looking images. players are flat and 2d on the blocks, but this still looks good. i did it this way for speed and to make it easier to add new players (you can just use simple bmp files) - you can choose from different players (3 currently available). however, they all play the same, you only change how they look and sound. configuration notes: ==================== this package comes with a lot of subdirectories, make sure that it unpacked correctly with all the directories listed above. recommended MINIMUM configuration: Pentium 2/Pro 200 MHz SVGA monitor/adapter 32 megs of ram ms-dos, windows 95, or windows 98. WINDOWS NT MAY CRASH, USE AT YOUR OWN RISK! i have not yet tested this game under old dos. it runs fine in windows 98, just run 'spryjinx.exe', preferably by double-clicking it or adding a shortcut to it on your start menu. i have not test os/2, or any dos emulators yet (any who try this, please let me know the results - jase@bucketweb.com) this game supports sound through ALLEGRO. i'm not certain yet which specific cards will work. please email me if you have success/failure, i will keep a running list of bugs. this game was programmed and built on my HP K6-2 450 MHz machine. it runs very smooth in 640x480 mode. if you have a slower computer, you may need to downgrade the video mode. also, if it runs choppy, try closing other programs, and if you are using sounds try turning them off at the menu screen. sounds are .wav files, you can add your own under the 'wav' directories. the boards are kept in the 'dat/' directory and have a '.dat' extension. the full version of this game will include a board editor. there are not many pre-made boards available at this time, but there is a *random* board that is made on the fly. known problems: =============== the game has not crashed uncontrollably on me in quite some time now (knock on wood), meaning that i've been lucky and have trapped my bugs fairly well, so if the game does someting unexpected, you should be able to alt-tab or control-esc out (in windows 95) and kill it from there. if anyone is interested in becoming part of the project, let me know. i could use some better sprites, networking capability, and a hodgepodge of other things to make the game better. music would be nice, too. i've made s3m modules in the past and could use an easy-to-link-into-my-existing-code player. SPECIAL THANKS TO: ================== the wonderful people who made allegro. john petreshock - for making me a level editor in VB (available separately) everybody at freegames.org, expecially 'aguy' who gave me a lot of great feedback that spawned the improvements for level 0.97 matthew leverton of allegro.cc (and my fellow game programmers there) neil johnson - for his help on the original version of spryjinx. steven don - for his extremely well written code for supporting soundblaster sound and XMS routines. i couldn't have finished this without them. if you use a borland compiler and need help coding your game this his site is definitely a must-see (http://shd.cjb.net). also thanks for beta-testing. i no longer use his routines, i use allegro, but it's worth mentioning. ryan zimmerman and chris newcomer - thanks for helping me test the game out. more to come... email me with bugs/suggestions (jase@bucketweb.com) and thanks for playing! also feel free to contact me if you have questions about how to do some of the things in this game. !!!!!!!!!!!!!!!!! I M P O R T A N T !!!!!!!!!!!!!!!!!!!! NOTICE: THIS GAME MUST NOT BE DISTRIBUTED FOR PROFIT BY ANY PERSON, INCLUDING MYSELF OR THOSE WHO HELPED ME PROGRAM IT. I AM NO LONGER A STUDENT, I AM AN EMPLOYEE OF THE IBM CORPORATION AND THEREFORE ANY PROFIT INCURRED FROM DISTRIBUTION OF THIS PACKAGE MAY BE SUBJECT TO A LAWSUIT BY IBM AGAINST THE PARTIES INVOLVED. I HAVE RECIEVED PERMISSION FROM MY MANAGER TO USE MY NAME WITHOUT IBM AS THE DESIGNER AND DISTRIBUTOR ON THIS README AND IN THE CODE AS I HAVE USED NO IBM RESOURCES OR TRAINING TO CONCEPTUALIZE, DESIGN, CODE, COMPILE, LINK, OR PACKAGE THIS GAME FOR DISTRIBUTION. THIS WAS AGREED TO UNDER THE PREMISE ABOVE - THAT THERE BE NO FINANCIAL MOTIVE THAT MAY BE CONTRARY TO THE INTERESTS OF IBM. THIS GAME WAS BUILT USING THE FREE DJGPP COMPILER AND FREE GAMING LIBRARY ALLEGRO. NO SOFTWARE WAS ILLEGALLY USED IN THE MAKING OF THIS GAME. IMAGES WERE CREATED USING COREL PHOTO-PAINT, OF WHICH I AM A PAYING REGISTERED USER. SOUND FILES WERE MADE WITH MY VOICE AND WINDOWS SOUND RECORDER (PLEASE DON'T LAUGH TOO HARD). LIKEWISE, AS THIS GAME MAY BE FREELY DISTRIBUTED NEITHER I NOR IBM ASSUME ANY RESPONSIBILITY FOR ANY MISUSE OF THE CODE OR OBJECTS, NOR ANY MALFUNCTION OR OTHERWISE HARMFUL SIDE EFFECTS OF THIS GAME. ABSOLUTELY NO WARRANTIES ARE EXPRESSED OR IMPLIED. translation: you got this for free. use at your own risk. don't use for profit. if it kills your computer, it wasn't my fault. whew, now with that nasty legal stuff out of the way, enjoy the game!