Smiler 3 - Travels around Blighty --------------------------------- Version 1.0 Digital Prawn 9th March 2010 AY music by The Simulacra Platform: ZX Spectrum 48K & ZX Spectrum 128K Keys ---- q,a,o,p - Move Smiler m - wait one turn r - restart level x - quit game (return to main menu) 0 - toggle between BEEPER sound fx and 4 different AY chip tunes In addition, numeric keys 0-9 are used on the level selector screen to enter level passcodes. Background ---------- The eponymous Smiler, having succesfully negotiated through some tortuous levels in Arrowe Land and then New Smile City decides in this third installment to travel to the island of Great Britain and face a further twenty highly challenging screens. Here though, there are some enemies afoot in every town, known as frowners trying to prevent Smiler from reaching his goal, namely the green-coloured house. In this Bill Bryson type odyssey, Smiler visits not just tourist areas, but also some of the real everyday towns in his study of this strange land called Britain. Instructions ------------ Using the above keys, you must navigate Smiler to the green house. Various obstacles obstruct your path though, as follows:- Red houses: Block your path. You must find a way around them. Arrows: Smiler may only move onto an arrow in the direction indicated, but he can move off an arrow in any direction provided he is not otherwise obstructed. The same rule applies to frowners. However, only Smiler causes arrows to turn, Frowners do not. Magenta Arrows: Rotate all arrows on the screen clockwise 90 degrees. Red Arrows: Rotate all arrows on the screen anti-clockwise 90 degrees. Blue Arrows: Rotate all blue arrows 180 degrees. Rotate all Magenta arrows clockwise 90 degrees. Roatate all Red arrows anti-clockwise 90 degrees. Do not rotate white arrows. White Arrows: These do not rotate any arrows, however they cause frowners to die should they step onto them. Frowners: Only can move one square at a time and like the player can't move diagonally. If a Frowner catches the player, or if the player steps on a Frowner, then Smiler gets killed and the level is restarted. Frowners can only move when the player presses a key. Unless otherwise obstructed, frowners will invariably attempt to move towards Smiler, even if that means them blindly moving onto white arrows. The wait key 'm' is crucial on some levels in order to cause Frowners to move into areas desired by the player. Each level has a 6-digit access code dsiplayed at the bottom of the screen. On completing each screen, you automatically gain access to the next one. To select a screen, just enter the 6-digit access code on the level selection screen, or just press ENTER to start on screen 1. To change screens, just press 'x' to quit the current game and then enter a new code. Developer Notes --------------- The game contains four different AY-tunes. Three of them were composed by "The Simulacra" and one of them by me. The first tune was made specifically by The simulacra for the Smiler 3 game, the other three were from old CGC tapemags. The AY music will play back even on a 48K system if the hardware is present. Without the hardware, playback is simply ignored, thus the '0' key could be used just to mute the sound FX on a standard 48K system. As this game, written in C is starting to bloat to around 18K of compiled code, I now use lower contdended memory to store the dormant AY tunes, with only the currently playing tune being relocated to upper memory on demand. For this game, I have made RZX files of all 20 levels and know them all to be completable. Again, the difficulty level varies. The white arrows were originally green, but this really didn't show up too well on a cyan background. This game has the largest levels so far at 16x11 (including the outer permiter) and thus it took me quite a bit longer to do the level design than for the previous games. The lower screen area is printed to, but this is seamless in Z88DK which has rows 22 and 23 available unlike ZX BASIC which uses a separate stream. Bugs ---- Will these ever be fixed, who knows? Most keys can be used to 'wait a turn' apart from 'm', but I recommend using 'm' as other keys may be reserved in future games and 'm' is in a convenient location on the keyboard. A side-effect of this behaviour is that even pressing the '0' key to change the music can cause Frowners to move. So, the recommendation is to restart the level with 'r' after changing tunes. The tunes still can't be changed on the main menu - only in the game itself. This game is a bit more sluggish than the previous two games as the main game logic is now more complicated, thanks to the Frowners and also the fact that the levels are larger. So to compensate, I have re-enabled keyboard auto-repeat which speeds play up a bit. However, sometimes unless the movement keys are pressed fairly rapidly, it is possible to accidentally move two spaces instead of one. The alternative was to turn auto-repeat off like in the second game, but I found that it made this particular game annoyingly slow to play. Sometimes after you restart a level or get killed, further game actions may still be processed e.g. a Frowner may kill you after you pressed 'r' to restart the level, but before the level actually restarts. I have determined that these things do not affect the actual gameplay in any way. Sometimes when AY music is playing, you may have to press a key to advance to the next level on completion. This issue does not occur when using BEEPER SFX. Cheat ----- To go to any level, just consult the supplied C source code, as it contains all level codes. Credits ------- CREDITS: Game designed and coded by Digital Prawn Also uses AY music player "vtplayer" writen by Sergey Bulba. AY Chip music by The Simulacra. Uses Z88DK sound effects libraries by Stefano Bodrato & IM2 and malloc libraries by aralbrec. Not to mention much other code that made its way into the Z88DK system. ZX-Blockeditor by Claus Jahn was also used to construct the final tapefile. So big thanks to all of the above for making the game possible. Quick Greets ------------ For expressing interest in the previous Smiler games, greets to Shaun Bebbington, Dr BEEP, Graz, na_th_an, Rindex, Emlyn Hughes, deadpan666, polomint, apenao, Vertigo and apologies to anyone else who I may have missed!