,ú'~ LemmingZ ~`ù, Version 0.99 Created by Christopher Tremblay Special thanks to SmartGamer (Adam) for all his help on the debugging and level creation for V0.98B "it's apreciated!". Also to everyone for their input/support for the later versions (A web-page will be setup for version 1.0 which will have all the levels created and the up-to-date tools for making them). As far as I know, this version has *NO* bugs. Please report anything you find. Unfortunatelly, I don't believe the 2P is fully working yet. I'll try to get a calcualtor from a friend so I can test it sometime soon =). You can always try it at your own expense... VERSIONS: 0.98B - The very first version of LemmingZ was released. It was pretty complete for 1Player. 0.99B - Fixed the text writing problem where garbage would be written - Fixed the grayscale layer problem when the lemming would have a number (bomber) and go too high. - Fixed the background drawing routine (It used to screw-up the 8th line) - Improved the LZ77x compression - Optimized for size (~3% more compression then before which is pretty good compression wise) - Cooked the first 2Player version (At this point it's all theory. If ANYONE made it work or had problems with it, please let me know). Please see the 2Player section. - Added lower animation (flexible bitmap animation) - First time the source code has been released (I suggest reading my Optimization document to understand everything written in the code if you don't understand - you may find it at ticalc.org) - Modified the beginner level to support the new features HISTORY: LemmingZ has a rather long history. The original game has been created by the guys at Psygnosis. The first time I saw this game was in 1991 on the PC. It caught my eyes right away. A bit later, I saw a Amiga version which was even better. It supported 2 players and proved even more fun (I'm not sure which came first : The Amiga version or the PC version). Nonethless, a bit later, I also got Oh No more Lemmingz which was another set of undeniable challenges. I had yet to see what I evaluate as the gretest game : Lemmings Tribe. Now that was a excellent game. It supported tons of type of actions, the music was wicked just like all the previous games and it got my attention for quite a long time. 3D Lemmings and Paintball Lemmings was also released but I personally didn't like them much since they didn't follow the same old tradition. Besides the PC and Amiga versions, you may find a HP48 and TI-92 version. There's tons of pages on the net about Lemmings if you start to feel this sudden urge to know more about it. KEYS: I didn't get one single complaint when I released the game for the first time besides the keys. The control in version 0.98b wasn't too obvious and even although this version has tried to minimize this effect, the fact still is that you will not have an easy way out with only 5 "Fx" keys on a calc. Nonethless, I believe I came up with a reasonable key mapping. (I hope) Up - Moves the cursor to the lemming above the current one Down - Moves the cursor to the lemming below the current one Left - Moves the cursor to the lemming at the left of the current one Right - Moves the cursor to the lemming at the right of the current one F1 - Converts the lemming to a climber F2 - Converts the lemming to a floater F3 - Converts the lemming to a bomber F4/M1 - Converts the lemming to a blocker F5/M2 - Converts the lemming to a builder M3 - Converts the lemming to a basher M4 - Converts the lemming to a miner M5 - Converts the lemming to a diger Alpha-Left - Moves the screen to the left Alpha-Right - Moves the screen to the right Alpha-Up - Increase contrast Alpha-Down - Decrease contrast 2nd-Left - Moves the cursor to the lemming above the current one (nonstop) 2nd-Right - Moves the cursor to the lemming below the current one quickly (nonstop) 2nd-Up - Moves the cursor to the lemming at the left of the current one (nonstop) 2nd-Down - Moves the cursor to the lemming at the right of the current one (nonstop) 2nd-# - Stores the lemming preset # - Restores the cursor to the last preset Exit - Mass Kill Use "2nd" to select 1/2 players and to follow through with the pre-level and post-level screens. use "Enter" to select the level REQUIREMENTS: - ~10K of free RAM for the game (~10K of RAM for runtime) - Tested with HW versions 1.2 & 1.3 LEVEL CREATION (PS : A Linux version and a Windows (GUI) Version should be released in Version 1.0) THE BMPS The first step to create your level is to make your BMP files. You need 2 BMPs. The first one contains the "look" and the second one tells the program where the "hard" dirt is located. Both BMP must be saved as windows compatible 16colors BMP files. The palette is expected to be Windows' default palette. (The one you find in paint). It really doens't matter much if you change the palette, but do make sure that color 0=black, 7=light grey, 8=dark grey and 15=white. The rest, the program won't care about. If all is good, your BMP should be around 6'774bytes. Feel free to use any fancy programs to make theses. I personally like to draw them first, scan them in Photoshop, do a few touchups and save them. THE SCRIPT FILE: The Lemmingz "LemLev" program requires a script file to run. This is done for compatibility amongst the various TI versions and potential future versions of the game. All you'll need to do to get a level under another TI or version is to recompile it with the new version of LemLev. Anyhow here's a full list of the tokens, their meaning and expected values. Note that the script isn't case sensitive except if specified. The Value domain is *NOT* verified in LemLev. If it overlaps the value, it will probably still compile the level and crash the game. Token Name Domain Description Climber 0-99 Amounth of Climbers allowed Floater 0-99 Amounth of Floaters allowed Bomber 0-99 Amounth of Bombers allowed Blocker 0-99 Amounth of Blockers allowed Builder 0-99 Amounth of Builders allowed Basher 0-99 Amounth of Bashers allowed Miner 0-99 Amounth of Miners allowed Digger 0-99 Amounth of Diggers allowed StartX1 8-248 Center X value of the first entry door StartY1 0-44 Top Y value of the first entry door Start1Direction [L/R/U/D] First entry door Lemming's initial direction EndX1 4-252 Center X value of the first exit door EndY1 8-52 Bottom Y value of the first entry door StartX2 8-248 Center X value of the second entry door StartY2 0-44 Top Y value of the second entry door Start2Direction [L/R/U/D] Second entry door Lemming's initial direction EndX2 4-252 Center X value of the second exit door EndY2 8-52 Bottom Y value of the second entry door FlameX1 0-24[0/8] Left most X value of the first flame FlameY1 0-[44/36] Top most Y value of the first flame FlameStart1 0-63 Frame where the first flame starts to blow FlameLen1 8-255 Number of frames it takes for the first flame to blow again Flame1Direction [L/R/U/D] First flame's direction FlameX2 0-24[0/8] Left most X value of the second flame FlameY2 0-[44/36] Top most Y value of the second flame FlameStart2 0-63 Frame where the second flame starts to blow FlameLen2 8-255 Number of frames it takes for the second flame to blow again Flame2Direction [L/R/U/D] Second flame's direction FlameX3 0-24[0/8] Left most X value of the third flame FlameY3 0-[44/36] Top most Y value of the third flame FlameStart3 0-63 Frame where the third flame starts to blow FlameLen3 8-255 Number of frames it takes for the third flame to blow again Flame3Direction [L/R/U/D] Third flame's direction Minute 0-99 Minutes given to complete the level Second 0-60 Seconds given to complete the level TotOut 1-64 Total number of lemmingz going out of the entry TotIn 1-TotOut Total number of lemmingz required to complete the level Speed 1-99 Frame speed of the lemmingz comming out Next Script filename of the next level LookBMP BMP filename of the level's background HardBMP BMP filaname of the level's hard data AnimBMP BMP filename of the foreground animation data Name Level name from 0-8 characters Generate Enter the object's position Graphically (GUI) Descr Level description shown once selected IfLemIn1 #, Numbers of lemmingz under which to display IfLemIn2 #, Numbers of lemmingz under which to display IfLemIn3 #, Numbers of lemmingz under which to display * PS : They must follow this rule : "IfLemIn1(#) < IfLemIn2(#) < IfLemIn3(#)" SMALL NOTES: When you see brackets [#/#] it means you must choose one of the tokens write in there. Example : 24[0/8] means you can either choose 240 or 248. As for the directions, the [L/R/U/D] choice is actually [Left/Right/Up/Down]. I wrote the first letters for it to fit in the column but the program requires the whole word to be written in order for it to work. You don't have to include *every* of theses field for the script to work. The default value will be set to 0 or "" in case of strings. If you'd like to test to see if your BMP loads correctly, you may use the Generate command. This command is also usefull if you don't know the exact (X, Y) values of the things you place on the level. Note that you must place the objects on the first BMP which is the topmost. The other one is simply there to show you what comes out. Last note ; about the entries which talks about "frames". There is a total of 7 updates per second in LemmingZ. This means if the value is 7, it will actually be a second. If you insert 1, it will be 0.14seconds etc... Know that the framerate is actually higher then this. The frames are only used to synchronize the lemming's movement. FINAL WORDS: I guess this is all I can think of for now... You can reach me at "ti_chris@yahoo.com". PS : I will not be held responsible for any dependancies which will be generated by this game. You have been warned =).