Yes! I'll admit it: when I was a kid back in the eighties, I too dreamt of creating games for my home computer. Unfortunately, I hadn't the friends, contacts or resources to enable me to make my "millions" by writing fast, quality machine code software. Then in 1987, Sensible Software, creators of classic Commodore 64 games such as Wizball and Parallax, released a game creator package called The Shoot 'Em Up Construction Kit (SEUCK). This utility allowed me (and thousands of others) to easily produce vertically scrolling games without any knowledge whatsoever of programming. Unfortunately, as powerful and fun as it was, SEUCK had its limitations (unless of course your name is Alf Yngve in which case SEUCK could be seemingly made to do the impossible!) and most of the games produced usually all looked, sounded and played the same, regardless of whether the game was set in space, on land or in the air. Was it possible to get a then well known software company to release your creation? Alas no, at least not without substantial modification to the code and this kind of defeated the point of the utility being easy to use and needing no knowledge of programming.
Flash forward twenty years and Spectrum guru Jonathan Cauldwell, prolific author of classics such as the superb Egghead series, Fantastic Mister Fruity and Rough Justice, has released his own game creator, in the style of SEUCK, called Shoot 'Em Up Designer. SEUD, like SEUCK, allows the user to create scrolling blasting games without any knowledge of BASIC or machine code programming. But is it any good? Does SEUD have the same limitations as SEUCK? Will we end up with a glut of far-too-similar shooters on the Spectrum? Let's find out!
The Main Menu
When SEUD starts, you are presented with the main menu, from which you access all parts of the package. A key on your keyboard relates to a different utility or editor in the package, such as the sprite editor, background designer, attack wave editor and so on. The main menu also displays how much memory (code RAM and data RAM) you have left for use in your game; keep an eye on this as you add more features to your game because you don't want to run out of memory when you're only half way through your masterpiece! When using the different editors, pressing "enter" at any time returns you to the main menu.
Hah! I bet you expected me to start talking about drawing graphics straight away right? Well, you can, but all of the graphics that you draw could be rendered useless in the blink of an eye because you have to make some choices about what type of game you are going to produce, before you start pixelling. In the window scrolling editor, you decide which way you want your game to scroll. Unlike SEUCK, which could only scroll vertically (yes I know Jon Wells has hacked the original and it can now scroll sideways, but that wasn't an original feature!), SEUD can scroll in any one of four directions. Also, you can decide how big or small you want the visible scrolling window to be. More columns and rows makes for a larger, more visually impressive game, but uses up a larger amount of Code RAM while slowing things down whilst fewer columns and rows uses less RAM and results in a faster game and it's up to you to settle on the best combination. Making these changes results in SEUD asking you whether or not you wish to destroy the map data and this is why you should choose your game type before drawing; if you've already started creating levels, you are going to be more than a little peeved at losing the lot, are you not?
The sprite editor allows you to create the moving, animated objects in your game, such as the main player, bullets, explosions, enemies and special bonuses. Each sprite is made up of a 16 by 16 grid, onto which you plonk your pixels to produce a, hopefully, recognisable image. The sprite editor gives you the usual graphical options to copy and paste between sprites, as well as flip them horizontally and vertically but unfortunately there is no "slide" sprite option to move your creation around the grid so if you start drawing too high or too low and you'll have to erase the entire sprite and start again. Each sprite can have a number of frames, specified by you, to animate your creation. Be careful though; sprite creation and in particular adding frames to animate them chews up that precious code RAM like no ones business.
The tile editor allows you to create the background over which your game takes place. Essentially, it operates just like the sprite editor; you place pixels on a 16 by 16 grid and have options to clear, flip, copy and paste. These tiles can later be used in a "jigsaw" fashion in the map editor; the tiles join together to make larger pieces of background. Apparently, tile graphics are more memory efficient than sprite graphics so you can include more of them and use less RAM than you would if you use more sprites. Just something to bear in mind - oh the decisions of a game designer!
In the map editor, you piece together your tiles to make a background for your game. The map editor automatically changes to the direction of scrolling selected in the window scrolling editor and then you simply select a tile that you have drawn, move around the cursor and stick the tile where you want it - job done. The map editor also allows you to create additional levels (empty and ready to start filling with tiles) to add to the one that's already in place for you at the beginning.
Each level can be two different colours; one for the overall background and one for the foreground, the colour that your tiles and sprites will be. The colour choices you make remain fixed throughout that level. Within the map editor, you also insert attack waves or paths (of the enemies), the locations of special bonuses and the positions of end of level "boss" enemies. When inserting an attack wave you have options regarding which sprite will make up the attacking wave, how many enemies appear in each wave and how many hits each sprite takes to destroy. The actual path (or pattern) taken by the sprites in each attack wave can be defined in the attack wave editor.
In the attack wave editor you create various attack patterns by plotting the positions and path that the enemies sprites will follow. Creating an attack pattern is as simple as moving around a cross shaped cursor and placing crosses on the screen. When the attack wave is inserted into the map using the map editor, sprites then follow exactly the path of crosse, so crosses placed closer together result in a "smoother" movement, whereas crosses placed much further apart result in sprites whizzing around the screen almost haphazardly. Creating attack patterns can be as simple as drawing straight line or as complicated as having the crosses, thus the sprites, swirling around the screen. The only limit will be your patience, creating a smooth, curving attack pattern is time consuming but worth it when you see the sprites majestically weave onto the screen for the first time! As many diverse attack patterns can be created as you wish, as long as there is free RAM available.
The end of level bosses that can be inserted in the map editor, are created in the bosses editor. Each boss is "bolted" together in the boss editor by choosing four previously designed sprites. By carefully designing the four sprites in the sprite editor, you can make them appear to join seamlessly, giving the illusion of one large enemy. Options for each boss include defining how many hits it will take to destroy up to a maximum of 255 and which path from those created in the attack wave editor your boss will follow. Unlike normal enemies, who disappear from view once they complete their given attack path, bosses "ping pong" back and forth through their given movements until they are destroyed or another event interrupts their attack.
The events editor is where the power of SEUD truly begins to shine through; it gives you control over the game engine and allows you to initiate various behaviours during the game based on actions the player performs. An example of this would be to create an event that, when a certain enemy is destroyed, produces a bonus that when collected by the player, makes the player sprite invulnerable for a certain length of time. Another example may dictate that when a certain sprite is shot or collected by the player, it acts as a smart bomb that destroys all enemies on screen, while playing a special explosion sound effect.
The in-game status panel includes an optional status bar that can be controlled using events. The status bar could, for example, indicate the amount of player ammunition remaining, with specially defined events increasing or decreasing ammunition depending on how often the player fires and whether the player manages to collect bonuses that top up the ammunition level. Alternatively, the status bar could be used as an energy indicator; events would define that instead of losing a life when hit, the player may lose energy and be destroyed only when the energy is totally depleted. Again, destroying or collecting certain sprites or bonuses could add energy to the status bar.
The list of possible events available is extensive and beyond the scope of this review to fully describe; a full list is available in the documentation provided with SEUD. Suffice to say, any worthy game designer will spend more than a passing moment in the events editor, since it is in this part of the overall package that you can make your game unique.
The status panel editor allows you to define what counters and text descriptions appear in the border of the in-game screen. Predefined counters and descriptions are "score", "lives" and a status bar and the text associated with each counter can be altered; instead of "lives" you may want "ships" or you may want to call the status bar "power" or "ammo". If you choose to have an energy type status bar, you can also define its length. Each counter and descriptor can be independently moved around the screen. Want the score at the top of the screen and the lives at the bottom? No problem! Each counter descriptor can be standard or double height text and, if you're feeling particularly saucy and have the knowledge, you can hack around the game code a bit to install your own font in the game; instructions on how to do so appear in the instruction manual.
Whereas the events editor allowed you to make specific changes to your game, the options editor allows you to make broad changes. You can define which direction you want your main player to be allowed to fire in and an obvious choice would be to fix it in the opposite direction of the scroll. For example, if your game is scrolling vertically top to bottom, firing up would make proceedings quite pleasant; in a horizontally scrolling game, only being allowed to shoot down would make things quite challenging to say the least! However, you are able to allow the player to fire in any direction or the direction last moved. The options editor also allows you to change certain dynamics of the main player. You can choose how many lives to begin with, things like how fast the player's bullet moves or how many bullets the player is allowed to have on screen. You can set the player's animation also, if your main player has a number of frames of animation, you can choose to automatically cycle through the frames or animate only when the player moves in a certain direction.
Other options include, allowing the player to continue playing from where they last died, or make them play through the whole level again from the beginning, allowing automatic or "push" scrolling, where the player progresses through the level by moving in the required direction and enabling or disabling background collision detection (enabling it means that the player/bullets cannot pass over the background and will be destroyed).
Sounds and Keys
In the sounds editor, you can create different sounds for use within your game. For each new sound you create, you alter the volume, noise and tone settings until you achieve the desired effect. And don't believe those people who insist that the Spectrum can only beep; with enough tinkering, you can create pretty much whatever sound you want, within reason.
Up to seven keys can be defined to control the onscreen action. The instructions recommend the first four keys be used for main ship control; the remaining keys can be used to control other actions. All the keys are predefined when you first load SEUD and there isn't really a need to change them. But the option is there should you want to.
And the rest!
The remaining options in the main SEUD menu relate to the saving, loading and testing of your game. As your game takes shape, you can load and save your progress at will (expecting someone to create a full game in one sitting would be rather much!), as well as test it within the editor. Once your creation is complete, you can save a final standalone version that loads independently of the editor, publish it to the expectant world, become rich and famous and retire to a Caribbean island... or similar.
SEUD has to be one of the best packages ever released on the Spectrum. Other game creators for differing genres have been released in the past, but SEUD certainly ranks as on of the most powerful and comprehensive. The way the different editors link and the ease of use is flawless; you could spend days alone in the sprite editor, or hours editing your new sound to perfection. And the ultimate power of SEUD, as already mentioned, is the events editor that gives you previously unheard of power in a games creation package. Indeed, it is the events editor that makes SEUD such a potent package, more so than SEUCK on the Commodore 64.
That's not to say SEUD is without it faults. A small gripe from me involves the sprite editor: when creating a sprite and its frames of animation, you only ever see it enlarged in the design grid. To see how the sprite looks 'normal' size and how effective the animation is means inserting it into the game or fiddling with the options editor. A small version to the side of the design grid would have been useful to see, at a glance, how your creation is coming along. A similar gripe can be aimed at the tile editor. Also, unfortunately, there is no way in the map editor of choosing different colours for different sections of background within the same level; thus you end up with a mono-colour level each time with tiles and sprites all the same shade. Even I know the Spectrum can do better than that! I'm sure it's to do with saving memory or something else very technical I'm being shielded from, but it just would have been nice to have different colours going on and make things even more impressive.
There are perhaps other additions that could be made or existing features that could be refined to make SEUD even more usable, but as it stands this is an incredible piece of programming that has literally kept me engrossed for weeks now. Of course, I realise there are people with neither the patience nor inclination to invest the amount of time required to produce a quality game and if you are that kind of person, please leave well alone; as easy as SEUD is to use, you still have to allocate masses of energy and imagination because the games won't magically produce themselves! If you do fancy a shot at producing your own software and are determined to devote the necessary level of attention, SEUD is more than worth the measly asking price. If nothing else, it will give you literally years of entertainment and variation. Can SEUD and you create something Cronosoft or similar will be interested in? Well, time will tell...