H.U.R.G. High Level User Friendly Real Time Games Designer William Tang 48K SPECTRUM Melbourne House Software WELCOME TO H.U.R.G. Congratulations in having purchased the most powerful game design program ever presented on any microcomputer! H.U.R.G. has been designed with two important ideas in mind: * making it easy to use * making it extremely powerful The program is therefore extremely simple to use, and absolutely no programming knowledge is required. You can design a game by choosing options from the many choices presented, and there is no way you can make a 'mistake'. Any combination of options can make a valid game! At every question the choices you have available are explicitly stated, so once you have familiarised yourself with the program and read this booklet, there should be no need to ever refer to this booklet again! We know the power of this program - in fact we use H.U.R.G. at Melbourne House to help us put game concepts on the screen quickly and efficiently. We have further backed our faith in this program by offering a substantial prize for the best game designed using H.U.R.G. Details of this competition, based on originality, graphics and playability, are elsewhere in this package. However, even beyond the scope of the competition, if you have designed a new and original game using H.U.R.G., we want to hear from you. There is every chance that Melbourne House will be interested in publishing a commercial version of your game design. This is undoubtedly the easiest way you can earn royalty income from computer programming! So if you have any comments about H.U.R.G., any suggestions for future improvement, or game designs you have created with H.U.R.G., we want to hear from you. I know you will be spending many hours with this amazing program, and I look forward to hearing from you. Alfred Milgrom Publisher Melbourne House THE H.U.R.G. CONTROLS Almost every decision you have to make in H.U.R.G. can be done using a joystick. This does not mean that you have to own a joystick - this program can be operated just as easily using the keyboard - but it reflects the ease of use of this program. You can use any one of the three types of joystick interfaces with this program: * Sinclair Interface 2 * Kempston joystick interface * Stonechip 'Programmable' joystick interface No modifications are required to this program for any of these joystick interfaces, and instructions on how to use each interface are available with the appropriate interface. In general, in answer to any question, you can select your option by using the up/down or left/right movement of the joystick until the cursor is positioned over your selection, and then press the 'fire' button to indicate your choice. Using the keyboard is just as easy, and the following keys have been used: UP = 'Q' key DOWN = 'Z' key RIGHT = 'P' key LEFT = 'I' key FIRE = '0' key or any key 'V', 'B' or 'N' You will find this a very comfortable layout very quickly - the left hand placed on the keys 'Q' and 'Z' control the up/down movement, while the right hand placed on the keys 'I' and 'P' control the left/right movement. The 'fire' button can be accessed either by using your right hand to press the '0' button, or the right hand thumb can be placed over the bottom keyboard row to press on any of the letters from 'V' through to 'N'. The only situations where more than the joystick controls or these keyboard keys are needed are situations where it would be nice to have two different types of 'fire' buttons. In these circumstances, we have used the SPACE button. The use of the SPACE button is fully explained in this booklet, but if you are using this program and do not wish to refer to the booklet there is a simple rule to remember: If what you want to do doesn't happen with the joystick controls, try the space bar! GETTING STARTED The task of building a totally new game is not a difficult one using H.U.R.G., but it is understandable that you should feel unsure about how to proceed the first time you use H.U.R.G. For this reason, three fully-developed games are included as part of the H.U.R.G. package. Although these games are indeed fully developed, there is no reason why you should not change them to fit your tastes, and indeed this is the easiest way to become familiar with H.U.R.G., its features, and the effect the different changes can make on the way a game plays. Therefore, the simplest thing to do is to load H.U.R.G. Once it has loaded, you will see the MAIN MENU, with its choices. Choose the LOAD GAME option. (The cursor should be placed on the LOAD GAME option. If you have already been toying with H.U.R.G., return the MAIN MENU and choose this option.) The program will ask for a file name. Pressing ENTER will select the first game on the tape, and you will find the games on side 2 of your cassette. Connect the cassette recorder as for normal loading. At the end of loading, you will be returned to the MAIN MENU. Select the EDIT GAME option to make the changes you desire. You probably will want to choose to first PLAY the game, so that you are familiar with the different shapes and the way they behave. As you make changes to the game, you can at any time examine the effect this has had on the game. This makes H.U.R.G. the simplest and easiest game development program to use. We suggest that you use this approach - editing a game already in existence - for the first few times in order to become familiar with H.U.R.G. and its powerful options. In order to develop a totally new game, follow exactly the same procedure, but you do not need to load an existing game first. INTRODUCTION H.U.R.G. is a very powerful program, and may appear intimidating at first. The first, and most important thing you have to understand is that H.U.R.G. is menu driven. H.U.R.G.'s menus are slightly different to those you find in a restaurant. If H.U.R.G. were in the restaurant business, the menu would probably only have two items on it - food and drink. If you ask the waiter for food, he would present you with another menu listing various types of food. If you then selected ice cream, the waiter would then present you with the ice-cream list, giving the 101 different flavours available, together with such options as having a cherry on top. Of course, H.U.R.G. is in the game business, not the restaurant business, but the principle is the same. H.U.R.G. presents you with lists and you make choices. Each choice will only constitute part of a game, just as a bowl of ice cream is only part of a meal. And just as you don't have to do any cooking at a restaurant, so you don't have to do any computer programming here! How to Begin: First, at least glance through the rest of the manual. Go through the various menus. Try getting comfortable with some of the commands. Experiment! Once you have experimented with the menus, and you want to write your own original game, go back to the Main Menu and RESET HURG. (Appendix A gives you a step-by-step guide to designing a simple game.) THE MENU SYSTEM The number of possible game combinations in H.U.R.G. are so large that we have not even been able to calculate them! One thing we do know is that the possibilities are so many that there will be game ideas designed using H.U.R.G. that will be totally new and original. With such a large number of choices and possibilities, it is necessary to break things down into logical groups, so that you are not confronted with an impossibly long list of choices, and so that it is easy for you to quickly change any of the game decisions. It is for these reasons that H.U.R.G. has been structured around MENUs. These are called menus because all the choices are clearly shown on a single page, as with a meal in a restaurant. Once you have loaded H.U.R.G., you will see the first menu. This will look like: MAIN MENU - RESET H.U.R.G. - LOAD GAME - PLAY GAME - EDIT GAME - SAVE GAME This is a typical menu in H.U.R.G. This means that at the beginning you have five possible choices, as shown. Let us examine these choices in turn: RESET HURG: This merely clears any game from H.U.R.G.'s memory so that you can start afresh. If you have just loaded H.U.R.G. from tape, there is no need to choose this option, although there will be no damage if you do choose to do so. LOAD GAME: This option lets you load a previously saved H.U.R.G. game from cassette. As you probably know, three games are provided for you with the H.U.R.G. cassette, and any game you create using H.U.R.G. can be saved onto cassette also. The LOAD option allows you to load these games, either because you wish to play the game, or because you might like to modify and change that game. PLAY GAME: This option speaks for itself. Obviously though, you need to have loaded a game into H.U.R.G.'s memory before you can play it! The controls for playing the game are exactly the same as for editing the game - using joystick or the keyboard. If you want to stop playing the game, either to change it or to load another, simply press the SPACE button at any stage of the game and you will be returned to the main menu as shown above. EDIT GAME: This option lets you use the powerful editing features of H.U.R.G., whereby you can change any H.U.R.G. game or design a new game from the very beginning. Choosing this option will place you in another menu (a sub-menu), where you will be able to select which feature of the game you want to work on. This is one of the very basic features of H.U.R.G. All the menus are linked into each other, following a logical path. Each menu deals with a specific area of H.U.R.G. For example, the main menu concentrates on the various aspects of the whole game - loading it, playing it, and so on. SAVE GAME: This feature allows you to save any game created using H.U.R.G. This might be a game you are designing (either fully completed or not), or a modification to any other H.U.R.G. game you may have. A map of the main menus and how they link up to each other is shown in the centre of this book. Although it may seem complex to you at this stage, you will need to believe me that in fact they are organised in a very logical manner, and that after only a few hours of using H.U.R.G., you will not need to refer to this outline of the menus. GETTING BACK TO THE MAIN MENU: In each Menu, you will find as the last entry an option such as "Exit to Main Menu". This allows you to move back to the previous menu. An easier way to go back to the previous menu is to hold down the ENTER key. Holding this down continuously will quickly get you back to the Main Menu from any menu in H.U.R.G. 1 The Edit Game Menu The Edit Game Menu is obtained by choosing the Edit Game option in the Main Menu. It enables you to create and, if necessary, change (or edit) your game. This process is divided into five phases: 1.1 LOAD BACKGROUND The background to a game created with H.U.R.G. can be any design that it is possible to create with the Spectrum! There is no limit to the colours or details in such a background. In this context, 'background' means any part of the game screen that is not going to move. It may however be 'eaten' or 'destroyed' during the game itself. For example, in a SPACE INVADERS game, the green barriers would be background; in PACMAN, it would be all the maze, and all the dots to be eaten within the maze; in DONKEY KONG, it would be the fixed struts, the ladders, the girl, and it may even be the hammers and Kong himself depending on how the game is defined. The H.U.R.G. program itself does not provide you with the facilities of creating the background screen, but you can do so yourself with a BASIC program or any Spectrum drawing utility. The input that H.U.R.G. requires is a SCREEN$ file. (This is a file created by saving the contents of the screen using the command SAVE "filename" SCREEN$). To create a background screen, write a BASIC program that builds up the screen image you want. You can have anything you desire on the screen, including User Defined Graphics. When you are satisfied with the design, add a last line to your BASIC program along the lines of 3000 SAVE "filename" SCREEN$ The data saved onto cassette can be used as input to the prompt LOAD BACKGROUND in H.U.R.G. Alternatively, you can use a commercial Spectrum drawing utility to create a background screen. Melbourne House publishes MELBOURNE DRAW which enables you to create all the screen effects possible, and the data tapes saved using MELBOURNE DRAW are compatible with H.U.R.G. This would undoubtedly be the easiest way to create complex backgrounds for a H.U.R.G. game. 1.2 GAME VARIATIONS Choosing this option places you in the Game Variation Menu. This is the main choice for designing a game. It allows you to specify all the game variations, and all the properties of all objects in the game. 1.3 DEFINE PATHWAYS This option sends you to the Path Generator, which enables you to specify the path across the screen which an object follows. For example; in GALAGA, the aliens move in circular motions. H.U.R.G. fixes these for the entire game. 1.4 SCORING This option leads to the Scoring Menu, which enables you to define the game's scoring system. It presents to you a list of events for which points may be awarded and asks you how many points they are worth. If you tire of always getting low scores, this option should solve your problem! The options available include bonuses for eating objects, like in PACMAN; or shooting them down, as in SPACE INVADERS; or destroying other objects; or starting a new frame. 1.5 NEW FRAME CONDITIONS This menu asks you to specify the conditions necessary for a new frame. A frame is the collection of objects on the screen at the start. For example, in PACMAN the frame consists of all the food tablets and power packs, the ghosts and the PAC-MAN. When all the food is eaten, you get a new frame. The menu provides options for new frame conditions such as after all the objects have been destroyed; after a certain time has elapsed; and when the player moves off the screen. 1.6 TITLE PAGE You can write your own title page and instructions for your game. Use the normal keyboard keys, and the arrow keys (Shift 5, 6, 7, 8) to move the cursor. Once you have finished entering the text, press SHIFT and ENTER. The program will now allow you to place any of the game's objects on to your title screen. Move the shape with the usual controls to where you want to place it, and press the FIRE button once you are satisfied. To skip any shape, press the SPACE button. Note: The Delete key (shifted 0) does not work. Instead, backspace over the incorrect character and type in the correct information. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DETAIL OF EDIT GAME MENU +---> GAME VARIATIONS | (see main menu chart) | Leads to Player/Object/Bullet menus, etc. | |+--> PATH GENERATOR || Choose path 1-8 || - create path --> EDIT GAME MENU || - save path - Load Background || - exit - Game Variations -+| - Define Pathways --+ - Scoring -----> SCORING - New Frames --+ define score for - Title Page -+| - player eating - Exit to Main Menu || - player bullet eating || - object 1-8 death || - new frame start || |+--> NEW FRAME CONDITIONS | new frame occurs if: | all objects non-existent? | after a fixed delay? | player leaves frame? | define frame border colour | +---> TITLE PAGE Create title page and instructions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2. Game Variations Menu Here you must inform H.U.R.G. of which 'variation' of your game you wish to define or modify. If you are just starting out, you should select "Normal Game". Choosing "Normal Game", or any of the Variations leads you to the Game Logic Menu. The concept of GAME VARIATIONS is one of the most powerful features of H.U.R.G. It allows you to define a change in the characteristics of the players and objects as a result of certain specific actions in the game. An arcade game which uses a similar concept is PACMAN - a variation on the game is obtained when the player 'eats' the power dot. The effect of this is to trigger a VARIATION in the game! For example, in PACMAN, the 'ghosts' change colour, they run away from the player instead of chasing him, and they move more slowly than the player. As well, when the player and an alien collide instead of the player dying, the alien dies. This special effect only lasts a limited amount of time. In H.U.R.G., all this and more can be implemented. H.U.R.G. allows for a normal game and up to 3 other variations! These can be for a limited period of time, or a permanent change. Any combination of variations is possible. Remember though that when starting it you need not worry about variations. 3. The Game Logic Menu The Game Logic Menu is obtained by choosing one of the options in the Game Variations Menu, and it is the key to controlling the features which constitute the game. To make this task easier, in the middle of the top line of the screen, you will see which variation you have chosen. This is shown as NORM for Normal Game, VAR1 for Variation 1, and so on. H.U.R.G. has broken it up into five parts: 3.1 LOAD VARIATION LOGIC This command enables you to restore the details of a variation which you have previously saved using H.U.R.G. If you are just beginning to define a variation, you should go on to the next option. 3.2 PLAYER MENU This option enables you to specify the features of the object controlled by the player, such as what it looks like and what it does. 3.3 OBJECTS MENU This option allows you to specify the form and behaviour of other objects. 3.4 FIRE BUTTON ACTION This menu asks you to specify what action, if any, should be taken when the fire button is pressed. It allows you to shoot (as in SPACE INVADERS) or jump (as in DONKEY KONG). If you choose 'jump', you proceed to the Jump Generator. This is similar to the Path Generator. You describe a jump to the right. A jump to the left will be the mirror image. A standing jump will be its vertical aspect. You can then save the path, using the 'SAVE' option. If you choose 'fire', you proceed to the Bullet Menu, which is similar to the Player & Object Menus. Here you describe the shape of the bullet, and how it moves. 3.5 SAVE VARIATION GAME LOGIC This saves the details of the variation for later, when it can be recovered using the Load Variation Game Logic option on this menu. This command does not save shape definitions - they must be saved via the Player or Object Menus. 4. The Player and Object Menus These menus are identical in almost all respects. Their purpose is to define the appearance and actions of a player or object. Again, the task is divided into several parts: 4.1 LOAD SHAPE DATA This choice allows you to load previously saved data. Only data saved using H.U.R.G. can be loaded from this option. NOTE: If you are defining a shape for the first time, you will not choose this section but go directly to the next section. 4.2 SIZE/ANIMATION This section allows you to determine the size of your object, measured in character blocks You will be asked how many columns wide the object is to be, and you can move the cursor over the numbers 1 to 4. Once you have selected the width of the object, you will have a choice of how many rows in height the object is to be. The range of rows will depend on what you chose as the width, as the maximum area allowed for an object in H.U.R.G. is 9 character squares. In other words, the choices are 1x1, 1x2, 1x3, 1x4, 2x1, 2x2, 2x3, 2x4, 3x1, 3x2, 3x3, 4x1 or 4x2, characters square. Once you have chosen the size, a blue square will be shown indicating how large this will look on the screen. The remaining questions involve ANIMATION. In H.U.R.G., whenever we refer to animation we do not mean movement. Animation refers specifically to the changing in the shape of an object, even if it is standing still. An example might be the flapping of the wings of a bird, or the running motion of the legs and arms of a man. The first question relating to animation is: Same shapes for all directions? Y/N The question here is whether the object is to go through the same animation sequence whichever direction it is moving in (as for the player laser base in SPACE INVADERS) - in which case the answer is YES - or whether the animation sequence is to be different depending on the direction the object is moving in (as for the player in PACMAN or DONKEY KONG) - which which case the answer is NO. The maximum number of shapes the animation cycle goes through will depend on this answer. If the same animation sequence is to be used for all directions, up to 8 shapes can be used. For example, a rotating arrow could be designed as: | / - \ | / - \ 1 2 3 4 5 6 7 8 Remember that the last shape is followed by the first shape again. If a different animation sequence is to be used for each of the four directions, then a maximum of only 2 shapes can be used for the animation sequence in each direction. This still gives a maximum of 8 shapes for the object (2 shapes x 4 directions). The last question on this 'page' of choices is: PROCEED TO NEXT STAGE? Y/N As mentioned previously, this is the last question for each section in the Player Menu. Answering NO leads you back to the Player [continued -->] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DETAIL OF PLAYER/OBJECT/BULLET MENU +---> OBJECT SIZE | how many columns, rows? | same shape for each direction? | animation count? | |+--> CREATE SHAPE || - shape || - blank || - store || - mirror || - animation || - editor || - next stage || - exit || ||+-> MOVEMENT PATTERN PLAYER/ ||| Mimic other movement? OBJECT/ ||| or assign weight to: --> BULLET MENU ||| - random - Load Shape Data ||| - straight-line - Size/Animation -+|| - moving away/towards player or object 1-8 - Create Shape --+| - user defined path - Movement Pattern ---+ - Speed Animation -----> SPEED ANIMATION - Collision --+ animation speed? - General Features -+| movement speed? - Save Shape Data || continuous movement? - Exit to Game Logic || |+--> COLLISION | choose object ink colour | define colours for: no go, eat, crash, go | +---> GENERAL FEATURES (leads to General Features menu) See "Detail of General Features menu" for more information. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [<-- continued] Menu. Answering YES leads you automatically to the next section, in this case to the Shape Generator. 4.3 SHAPE GENERATOR This unique and amazingly powerful Shape Generator is an integral part of H.U.R.G. The Shape Generator allows you to see each shape magnified 16 times actual size, and see the effect of the animation sequence in an instant. The Shape Generator screen is divided into three windows: * a representation of each shape in the sequence, shown actual size. This shape summary is at the top quarter of the screen, and each shape is numbered. If there is only one animation sequence, they are numbered 1 to 8; otherwise they are shown as UP1, UP2, etc. * a mini-menu controlling the Shape Generator. This has the following options. - SHAPE - BLANK - STORE - MIRROR - ANIMATE - EDITOR - NEXT STAGE - EXIT The mini-menu is at the bottom right part of the screen. * an editing screen which allows you to operate and define any of the shapes. The shape worked on is shown both at a magnification of 16 times and actual size as it is being edited. The choices in the Shape Generator are as follows: SHAPE: This option allows you to choose any of the shapes and bring it to the editing screen. If you choose this option, then you will see the cursor move from the mini-menu to the numbers in the shape summary. Using the joystick or keyboard controls you can move to the shape you wish to edit; pressing the fire button places that shape and the cursor into the editing screen. BLANK: This option blanks the editing screen and places the cursor into editing mode. Note that using the Blank option destroys any data that was in the editing screen, unless it was stored to the shape summary. STORE: This option allows you to store any data on the editing screen into any of the shapes. Choosing this option places the cursor into the shape summary so that you can choose which shape the data is to be stored in. Once you have chosen a shape number, the shape summary represented will be immediately updated, and the cursor will be returned to the mini-menu. MIRROR: This option takes the data in the editing screen, and changes it into its mirror image. The cursor is also automatically placed into the editing screen. ANIMATE: The Animate option allows you to examine the animation of the shapes in the shape summary. The data in the editing screen is not destroyed by this option, but is not used in the animation sequence - unless it has previously been stored to a shape in the shape summary. If different sequences are used for the different directions, pressing the direction controls will show the appropriate animation sequence. To stop the animation display, press the fire button or equivalent keyboard key. This will return you to the mini-menu. EDITOR: As well as the other means of placing the cursor into the editing screen (Shape, Blank or Mirror), you can enter editing mode by choosing this option. The cursor is shown as a small flashing square in the editing screen. Any of the pixel positions in the editing screen can be toggled 'on' or 'off' by pressing the fire button. In other words, if the pixel the cursor is on is 'off', pressing the fire button will turn the pixel 'on', and pressing it again will turn it 'off'. As changes are made in the enlarged editing screen, the same- size representation (at the top right corner of the editing screen) is also updated so you can see the effects of any changes. To exit editing mode, press the SPACE key on the keyboard. NEXT STAGE: This option takes you to the next step, in this case the Speed/ Animation option. EXIT: Returns you to the Player Menu. The Shape Generator is probably the most sophisticated and easiest to use shape utility written for the Spectrum, and it will enable you to design any type of object imaginable. 4.4 SPEED ANIMATION This option allows you to independently set the animation speed and movement of the object you have designed. The 'page' shows two counters: the animation counter at the left, controlled by the up/down controls of the joystick or keyboard, and the movement speed counter at the right, controlled by the left/right controls of the joystick or keyboard. The numbers indicate how many cycles are to pass before the shape is to be animated or moved. In other words, a speed of 2 means the shape will move every 2 cycles, and this is twice the speed of a speed of 4. There are approximately 5-7 cycles per second. It is a good idea to experiment with different combinations of the animation speed and movement speed. The final question in this section is whether you wish the movement to be continuous. In other words, do you wish the player to keep moving in the direction of the last key pressed when you take your hands off the keyboard? In many arcade games the player does not have continuous movement, whereas the alien objects do move continuously. 4.5 MOVEMENT PATTERN This menu asks you to describe how an object moves. It provides you with a number of interesting possibilities. Firstly, it asks if it mimics the movement of the player or of another object. If it does not, it suggests various possibilities and asks you to 'weight' them. This is a system by which quite complex motions may be generated. The weights are ratios and need add up to nothing in particular, but if one kind of movement has a weight of 2, and another a weight of 1, then, on the average, the object will move in the former manner twice as often as the latter. If you do not wish an object to [continued -->] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create Shape Note that the shape you are working on is enlarged to 4 times its size at the bottom left corner, but is shown in actual size in the middle of the screen. While you are editing the shape, the actual size shape will be updated dynamic- ally on the display but will not be remembered by H.U.R.G. until it has been stored in the top row (use the -STORE option in the mini-menu). Collision The grid shows all the possible ink/paper combinations. In order to specify a 'crash' for ink = black (0) and paper = white (7), you need to move the cursor in the mini-menu to CRASH and press the fire button. This places the crash symbol in the grid. Move it to the correct position (top right corner for ink = 0, paper = 7) and press the fire button. Pressing SPACE returns you to the mini-menu. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - HURG MENUS MAIN MENU EDIT GAME MENU GAME VARIATIONS GAME LOGIC MENU MENU - reset HURG - load background - NORMAL GAME -----> - load variation logic - load game - GAME VARIATIONS -> - VARIATION 1 - PLAYER MENU - EDIT GAME -> - define pathways - VARIATION 2 - OBJECTS MENU - play game - scoring - VARIATION 3 - FIRE BUTTON ACTION - save game - new frames - exit to Edit Game - save variation logic - title page - exit to - exit to Main Menu Game Variations --> PLAYER/OBJECT GENERAL FEATURES MENU MENU - load shape data - regeneration - size/animation - existence - create shape - active movement - movement pattern - movement bounds -----> - speed animation - explosions - collisions - special events - general features -----> - exit to Object menu - save shape data - exit to Game Logic --> FIRE BUTTON MENU +--> BULLET MENU - fire button no action | (same as Player/Object menu) -----> - fire trigger player shoots --+ - fire trigger player jumps --+ - exit to Game Logic | +--> JUMP PATH GENERATOR -----> MAP OF THE MAJOR MENUS The main pathways of using H.U.R.G. are shown above in bold letters. Choose "EDIT GAME" in the Main Menu to lead to the Edit Game menu, and choose the "GAME VARIATION" option there. In the Game Variation menu, the usual choice will be "NORMAL GAME", but any of the Variations will also lead to the Game Logic menu. Choosing "PLAYER MENU" or "OBJECTS MENU" will allow you to define all the properties for that object. Choosing "FIRE BUTTON ACTION" allows you to choose whether the fire button triggers a player's bullet or a jump by the player. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [<-- continued] move in a certain manner, just give it a weight of zero. Available patterns include randomly, up, down, left, right and towards or away from a player or an object. You may also use one or more paths of your own, created using the path generator. If you give any weight to "User Defined Path", then you will be shown to the Path Linker. This allows you to choose which previously defined paths you wish this object to follow. You must link four paths together, but these can all be the same - for example, you can choose 1,1,1,1 if the path to be followed is only path 1. The fourth path chosen links back to the first path chosen. NOTE: This Menu is unavailable if you are defining the Player- Object. 4.6 COLLISION TABLE This option allows you to specify the colour of the player's object, and which areas the player can move in, where it can't go, and where it will crash as defined by colour. The screen for this section is again divided into three separate areas: - Determination of the player's colour. This takes place in the top left corner of the screen. - A mini-menu of choices for the collision table. The possible combinations are: - GO (object can go over these colours) - NO GO (object cannot go over these colours) - EAT (object 'eats' background of this colour) - CRASH (object 'crashes' if it hits this colour) - The collision table, as shown in the bottom three-quarters of the screen. Each of the four choices in the mini-menu has a symbol associated with it - a 'NO' for NO GO, a mouth for EAT, and so on - and you can place any of these symbols anywhere in the collision table. The collision table has 64 positions in it - allowing you to define exactly what happens for every possible combination of INK and PAPER. In a PACMAN game, you would define the walls of the maze as NO GO, while the dots within the maze would be defined as EAT. The colours you specify here would of course need to correspond to the colours chosen in your background screen. You can move the cursor from position to position using the usual joystick or keyboard controls, and you can change the contents of any position to the current symbol by pressing the fire button. To exit from the collision table, in order to choose another symbol, or to go to the next stage, simply press the SPACE key on the keyboard. 4.7 GENERAL FEATURES This choice takes you to the General Features Menu. It offers a list of possible embellishments to your game. A typical feature is the explosion when an object is hit by a missile. The General Features Menu is dealt with in-depth later in the manual. 4.8 SAVE SHAPE DATA This option enables you to save your work done in this section for later retrieval by the Load Shape Data command in this Menu. 5. GENERAL FEATURES MENU The General Features Menu provides six optional features to enhance your game. Whilst they may be considered as extras, they can have a tremendous impact on the game. The features are: 5.1 REGENERATION This Menu allows you to define all the starting conditions for an object. Where it is to be placed, which way it is facing, and most importantly, if the object 'exists'. The same information is used if the object 'dies' and is to be regenerated. This option asks you where the object appears when it regenerates, whether at a special position, or at some point relative to another object. It asks you whether or not the object should start moving again immediately, and, if so, in which direction. There is also an 'initial delay' option, to cover the case when you do not wish an object to be immediately regenerated. For example, the alien base ship in SPACE INVADERS does not immediately reappear when destroyed, but shows up again later. 5.2 EXISTENCE The option complements the regeneration option above. It asks if there is to be a limit on the number of times an object may be regenerated, and, if so, asks what the limit is. It also asks if the object has a limited lifespan and, if so, how long it lives for. Note: This option is only available for Normal Game. You cannot alter this in any of the Variations. 5.3 ACTIVE MOVEMENT This option enables you to restrict the types of movement which an object may make. In SPACE INVADERS, for example, the player may move left or right, but not up or down. It also allows you to define the direction of 'gravity' - the direction in which an object tends to move when unrestrained. You could, for example, define a game in which the player may actively move only left or right, and at which gravity is downwards. The player could not voluntarily move downwards, but if he walked off a cliff, say, he would fall downwards. 5.4 MOVEMENT BOUNDS This option complements the Active Movement Option (above). You may wish to restrict an object's movement to a particular part of the screen. In SPACE INVADERS, for example, the player-object is unable to move all the way over to the left or right edges of the screen. This option gives you two sub-options: horizontal bounds and vertical bounds. [continued -->] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DETAIL OF GENERAL FEATURES MENU +---> REGENERATION | initial position: | absolute or relative? | initial direction: | - none | - up/down/... | - same as player or object | initial delay object exists? | |+--> EXISTENCE || limited lives? || number of lives? || limited life duration? || duration? --> GENERAL FEATURES || MENU ||+-> ACTIVE MOVEMENT - Regeneration -+|| able to move up, down, left, right? - Existence --+| gravity: none? up/down/... - Active Movement ---+ - Movement Bounds -----> MOVEMENT BOUNDS - Explosions --+ - horizontal limits --> - Special Events -+| - vertical limits --> - Exit to || - display grid Player/Object/ || Bullet menu |+--> EXPLOSIONS | is explosion on? | define ink colour | select explosion 1-3 | explosion | +---> SPECIAL EVENTS is there a special event? define ink/paper collision conditions effect of event: eat? crash? score trigger game variation? permanent change or duration? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [<-- continued] The horizontal bounds sub-menu asks you to specify how far left and right the object is restricted to, and whether or not that object is allowed to 'wraparound' horizontally - move off the left-side of the screen and reappear at the right, or vice-versa. Similarly, the vertical bounds sub-menu asks you to specify how far up and down the object is allowed to go, and whether or no it is allowed to 'wraparound' vertically - move off the top of the screen and reappear at the bottom, or vice-versa. 5.5 EXPLOSIONS An explosion may be triggered when an object crashes. Three types of explosions are available to you - small, medium and large. You have to choose the size, colour and position relative to the object of the explosion. 5.6 SPECIAL EVENTS A Special Event (i.e. one that triggers a Variation in the game) is defined as a special collision. You have to choose the ink and paper colours which define that Special Event. As well as causing a change in Variations, a Special Effect can do other things as well: - cause the object to 'eat' that background - cause the object to 'die' - increase the score PATH GENERATORS There are two sets of fixed paths in H.U.R.G. - the eight paths that can be used for the objects or bullet, and the special Jump Path for the Player. Creating a Path You can start a path from anywhere on the screen. When the cursor is correctly positioned, press the fire button, and move the cursor along the path desired. When you are finished press SPACE to return to the mini-menu. Remember you must SAVE a path if you wish H.U.R.G. to remember it. The maximum length of any path is 50 steps. (For the player's jump path the maximum length is 20 steps.) Allowed Fall In the player's Jump Path Menu, there is also a value of "Allowed Fall". This is the distance the player is allowed to fall after a jump before he 'crashes'. In some games, the player may be able to jump off tall buildings and survive, while in other games, a fall from a single storey window may be the cause of fatal injuries. Note that this only applies to falling after a jump, but does not apply to a player falling off a ledge without first jumping. [continued -->] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Path Generator Choosing "Create Path" places the cursor in the editing window to define your path. The starting position in the window does not imply that your object will start at that position - it just gives you a better display. When you have finished defining the path, you will need to store it by using the SAVE PATH option. You can then select Path 1-8. Path Linker This Menu allows you to link up four of the path locii created in the Path Generator. Whether or not these paths are used depend on the relative weighting given to "User Defined Path" in the Movement Pattern Menu. Note that the player has no ability to link to these paths. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [<-- continued] 6. If You Get Stuck Keep calm! Chances are that everything is still O.K. A few common problems: 1. You find yourself staring at a checkboard pattern. This is quite normal in some menus. H.U.R.G. is just trying to be helpful by showing you a diagrammatical representation of changes you have just requested. Press the FIRE button (or 0, V, B, or N) 2. You try to exit from one menu and wind up in a strange menu. You have probably held the 0 key down too hard or too long. Exit the menu that you are in and return to the next menu up. If you are completely lost, check out the charts in this manual. 3. You can't enter the Movement Pattern Menu via the Player Menu. Quite right! The player is assumed to be under the control of the joystick, and therefore the Movement Pattern option is unavailable. 4. If all else fails, read the manual. APPENDIX A How To Write A Simple H.U.R.G. Game Step 1 - RESET: RESET H.U.R.G. by choosing this in the Main Menu. Step 2 - SCREEN: In designing a simple game, you may not want to have any special background screen. (If you have designed a background, SAVE it as a SCREEN$ file, and load it in now using the LOAD BACKGROUND in the Edit Game Menu). You can change the border colour by using the NEW FRAME option in the Edit Game Menu. Once you have done this, you can check the screen for your game (even if it is no more than a blank screen with a blue border!) by going to PLAY GAME in the Main Menu. There will obviously be no objects moving on the screen, and you can get back to the Main Menu by pressing the space key on the keyboard. Step 3 - PLAYER: To design the player you will need to enter the Player Menu. You do this by choosing the following options in turn, starting from the Main Menu: Edit Game, Game Variations, Normal Game, and Player Menu. You should now be in the Player Menu. Choose the Size/ Animation option, and you can now determine the size of your player shape. 2 columns x 2 rows would be a suitable size, but you can choose as you wish. For a simple game, and for the sake of getting a game developed as quickly as possible, try to keep the animation and design simple. You can always come back at a later stage and change the size, animation, and shape at your convenience. Choose therefore the YES answer to the "Same shape for each direction?" question, with an animation count of 2. Proceed to the next stage, and design a shape - it could be a cricket bat, a laser base, a little man, or anything else you fancy. Proceeding to the next stage will get you to speed/animation where you can choose a suitable movement speed. Once you have done this, say NO to next stage (this involves choosing colour, and collision information). You will now be in the Player Menu again and choose General Features, followed by Regeneration. This sub-menu is essential because without it you will not have defined the player as existing. Once you have completed this sub-menu, do not proceed to the next stage, and then go back to the Main Menu. (Pressing the ENTER key from any menu will get you back.) You can now test out the Player's movement by choosing the PLAY game option. You will note that we did not enter every sub-menu. This has been for the sake of simplicity, and many of the default choices will be suitable. Step 4 - MODIFY PLAYER: You can now go back and modify any of the Player's characteristics - colour, allowed movement, on-screen boundaries, and so on. Experiment until you are happy. Step 5 - THE FIRST ALIEN: This will be exactly as for Step 3, except that in the Game Logic Menu, you need to choose "Objects Menu". Note that when you enter this choice, you will be shown the numbers 1-8. This indicates the object number, and you must choose the appropriate one. In this case, choose 1 for the first object. Follow the same sequence as for Player. You will note that you will have an additional sub-menu not available for the Player: Movement Pattern. One simple movement pattern is to specify a weight of say 10 to moving straight to the right. Note that unless you specify wraparound in the Movement Bounds sub-menu the alien will stop when it hits the edge of the screen. Step 6 - MODIFYING THE FIRST ALIEN This is exactly as for Step 4. Make all changes until you are happy with this Alien. Step 7 - FIRE BUTTON ACTION Choose to either jump (if so, define jump path) or to fire a bullet (if so, define bullet as for Alien). Step 8 - OTHER ALIENS This is as for the first Alien. Step 9 - OTHER VARIATIONS Save the Normal Variation, and load it in as Variation 1. Make a minor change to one of the conditions in this Variation - e.g. the Player's colour. Go back to Normal Game, and choose a collision condition to trigger this Variation. You will be able to see the change occurring on the screen. You can of course change any or all of the properties of the Player, Objects and Bullet, in any of the Variations. APPENDIX B Alphabetical List of all H.U.R.G. Menus You may be confused at first with the variety of choices available to you in H.U.R.G., but there is no need to be confused. Firstly, always remember that pressing the 'ENTER' key from any menu will lead you to a menu closer to the beginning, and if you hold this key down for about 5 seconds from any menu you will find yourself at the PLAY GAME option in the Main Menu. Secondly, this Appendix will describe every menu in H.U.R.G. If you are stuck, the name of the menu you are in is at the top left corner of the screen. Active Movement Menu Sub-menu of General Features Menu for Player, Objects and Bullet. You get there from General Features, or by proceeding from Existence Menu. Allows you to specify which directions that object can move in, and whether there is any 'gravity'. Bullet Menu Sub-menu of the Fire Button Action Menu. Identical in all respects to the Object Menu. Collision Table Sub-menu of the Player, Objects or Bullet menus. You get there from the Object Menu or by proceeding from Speed/Animation Menu. Allows you to choose that object's colour, and which colour combinations are CRASH, NO GO or EAT. Edit Game Menu The only sub-menu of the Main Menu. This controls all facets of designing or editing a game. Explosions Menu Sub-menu of General Features Menu for Player, Objects or Bullets. You get there from General Features Menu. Allows you to choose an explosion on the death of that object if desired, its colour, size and position (relative to the object). Fire Button Action Menu Sub-menu of Games Logic Menu. Allows you to choose the effect of the Fire Button - either firing a bullet or causing the player to jump, and from there all subsequent choices. Games Logic Menu Sub-menu of Games Variation Menu. You get there by choosing Normal Game or any of the variations in the Games Variations Menu. This menu controls all the logic (decisions) to do with any of the variations, including the Normal Game. Games Variations Menu Sub-menu of the Edit Game Menu. Allows you to choose Normal Game, or any of the variations. Note that at first it is better to concentrate on Normal Game only, and that even for more complex programs it is better to fully define the Normal Game before starting to work on any of the variations. General Features Menu Sub-menu of the Player, Objects or Bullet Menu. You can get there from the Object Menu or by proceeding from the Collision Table. Allows you access to define the miscellaneous properties of objects - number of lives, explosions, movement boundaries, special effects, and so on. Horizontal Limits Menu Sub-menu of Movement Bounds Menu. Allows you to define the left and right boundaries for that object. Jump Path Generator Sub-menu of Fire Action Menu. Allows you to define the path the player will follow when performing a jump. (Similar to the Path Generator for the other objects, but differing in that one curve defines left-jump, right-jump and standing-still-jump). Main Menu This is the starting point for H.U.R.G. Movement Bounds Menu Sub-menu of General Features Menu. You can get there from General Features Menu or by proceeding from Active Movement Menu. Allows you to define the limits of that object's movement on the screen. Movement Pattern Menu Sub-menu of Player, Objects and Bullet Menus. You can get there from the Objects Menu or by proceeding from the Shape Generator. Note that this menu cannot be entered into from the Player Menu - the movement of the player is always controlled by the keyboard or joystick. This menu allows you to define the types of movement for each object, and the relative importance of the various options. New Frame Conditions Menu Sub-menu of Edit Game Menu. Allows you to define the conditions under which a new frame starts again - the background is restored to its initial condition, and all objects from their initial positions. Note that this menu also allows you to define the border colour. Object Menu Sub-menu of Game Logic Menu. This is identical to the Player Menu and Bullet Menu. Allows you to define all the properties for any particular object. Note that on entering this Menu, you have to choose the object number (1-8). Object Size Menu Sub-menu of Player, Object and Bullet Menus. Allows you to define the size and animation cycle for that object. Path Generator Sub-menu of the Edit Game Menu. Allows you to define up to 8 different predetermined paths which can be used by the objects and bullet in determining their movements. These eight paths are fixed for any one game (including all variations), but any object can mix and match from these. Path Linker Sub-menu of the Movement Pattern Menu. You only get there if you have chosen a weight for the User-Defined-Path choice in the Movement Pattern. For any object, you can link tour of the eight predetermined paths. (The fourth path chosen links back to the first one.) Note that you can choose all four paths to be linked to be the same, or all can be different. Player Menu Sub-menu of Game Logic Menu. Identical to Object Menu. Regeneration Menu Sub-menu of General Features Menu. Allows you to specify the initialisation for that object the first time it is shown on the screen, and for each subsequent time it is shown: its position, delay before appearance, initial direction, and whether it exists in this Variation. Scoring Menu Sub-menu of Edit Game Menu. Allows you to define the scores achieved on different events in the game. Shape Generator Sub-menu of Player, Object and Bullet Menus. You can get there through the Objects Menu or by proceeding from the Object Size Menu. Allows you to define the shapes for each animation of that object. Note that the Shape Generator and Object Size Menu are only accessible from Normal Game - the Variations must all use the same shapes and animation cycles. Special Events Menu Sub-menu of General Features Menu. You can get there from the General Features Menu or by proceeding from the Explosions Menu. Allows you to define the collision condition for each object (if desired) which will trigger a change in Variations. Speed/Animation Menu Sub-menu of the Player, Object and Bullet Menus. You can get there from the Object Menu or by proceeding from the Movement Pattern Menu. Allows you to define the movement speed as well as the animation speed for that object. Vertical Limits Menu Sub-menu of Movement Bounds Menu. You can get there by proceeding from the Horizontal Limits Menu. Allows you to define the top and bottom screen limits for that object. HINTS FOR DESIGNING GAMES * The player or objects cannot have their own colour as NO GO, EAT or CRASH! The results are predictable! * The player or objects cannot 'eat' other objects! 'Eating' is meant only for the background. Unpredictable things may happen otherwise. * In designing a background screen, the top line of the screen is not available in the game. This is used for the score, number of lives, and soon. * If you are to have gravity, it is always better to put a 'floor' at the bottom of the screen. Do not rely on the boundary limits. TAPE LOADING TIMES In H.U.R.G., you can load and save various aspects. These are as follows: Shape data - 6 secs Variation - 12 secs Background - 45 secs Game - 1.5 minutes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The H.U.R.G. program was written and developed by William Tang during most of 1983. The program and routines used in H.U.R.G. are Copyright (c) by Beam Software, 1983. The entire H.U.R.G. program and its subroutines are the copyright property of Beam Software and no part of H.U.R.G. may be copied, reproduced, hired, lent, distributed, stored or modified in any form, in full or in part, without the express written permission of Beam Software. There are of course no restrictions imposed by Beam Software or Melbourne House on any game ideas or graphics developed using H.U.R.G., and such game ideas or graphics are the copyright property of the user. Sample games included with H.U.R.G. are Copyright (c) by Beam Software 1983. Graphics in the sample games are by Russell Comte. Cover artwork is by Con Aslanis.