Difference between revisions of "Game-Maker"

From The Game-Maker Archive
Jump to navigationJump to search
Line 68: Line 68:
  
 
===Pending improvements===
 
===Pending improvements===
For the next update, Gregory Stone was discussing several possible fixes and additions.
+
For the next update, Gregory Stone was mulling several possible fixes and additions.
  
 
* More scrolling modes: always centered, screen-by-screen
 
* More scrolling modes: always centered, screen-by-screen
Line 75: Line 75:
 
* More advanced button mapping
 
* More advanced button mapping
 
* Text field support (If the games could have supported dialog and exposition, there was a whole extra level of complexity just waiting.)
 
* Text field support (If the games could have supported dialog and exposition, there was a whole extra level of complexity just waiting.)
 +
* Custom typefaces (for menus and text fields)
 
* Fixing edge-of-screen problems: sprite flickering, animation freezing, block state change freezing, characters getting misaligned with the scrolling
 
* Fixing edge-of-screen problems: sprite flickering, animation freezing, block state change freezing, characters getting misaligned with the scrolling
 
* Customize the inventory screen: both what fields appear and the overall screen presentation
 
* Customize the inventory screen: both what fields appear and the overall screen presentation
Line 94: Line 95:
 
* Allow pick-up of inventory items by contact
 
* Allow pick-up of inventory items by contact
 
* Allow monsters to be inventory items
 
* Allow monsters to be inventory items
 +
* Some included .GIF and .FLI utilities
  
 
==Limitations==
 
==Limitations==

Revision as of 09:02, 12 June 2010

Recreatonal Software Designs' Game-Maker

Recreational Software DesignsGame-Maker is a boxed design suite from the early 1990s. In its time, it offered aspiring pre-Web designers worldwide their first taste of game development. And for its era, it was darned powerful: VGA graphics, Sound Blaster sound, infinitely huge games. There were some strict limitations and quirks, but at the time there wasn’t much else like it — and it sure beat breaking out Lode Runner for the hundredth time, plus the graph paper and pencil to record your levels.

History

Packaging copy

Game Maker was first released around 1992. Over the years and several versions, Game-Maker grew more sophisticated and polished. The bugs were minimized. It began to support Sound Blaster cards, and .fli animations. It became possible to build bigger, more complex games, and to truss up your old games with nicer wrappers. I believe the final release was version 3.0, which went out on CD — a major, impressive move at the time. This was around 1995 or 1996.

After that final release, RSD kind of dissolved. From what I recall, the brothers went off to college. Which in retrospect would suggest that they developed Game-Maker and held down its development cycle while still in high school themselves. Maybe I’m misremembering; they might have been undergrads. The way I remember it, they stopped development when they went off to school, leaving their father to see the business off. Last I heard, they still intended to develop Game-Maker during breaks. I guess that never happened, though. And today, despite the once-thriving design community, you can hardly find a thing about the program. There isn’t even a Wikipedia entry, whereas there is an individual Wiki page for each of Johnny Depp’s toes. [citation needed]

Structure

The text-mode menu wrapper

The program consists of two basic elements: the Game-Maker package itself, which consists of a bunch of design utilities tied together with a text mode wrapper, and the actual executable file that functions as the actual “game”, which calls upon user-specified graphical and sound and design elements to give itself a face. The package also includes with a wealth of demo material, most of it designed by the lead programmer and his brother; some of it public domain material, gathered from who-knows-where. the tools.

In retrospect it's kind of brilliant; from the program’s perspective all of the important information that makes a game unique — visuals, sound, controls, rules, design, structure — is simple window dressing, to call in and process like so many documents. And design is nearly that easy.

Palette Designer

Moving around colors in Palette Designer

.PAL format

Block Designer

Comparing background blocks in Block Designer

.BBL, .MBL, .CBL formats

Monster Maker

Animating a monster in Monster Maker

.MON format

Map Maker

The zoomed-out view in Map Maker

.MAP format

Character Maker

Animating a sequence in Character Maker

.CHR format

Graphics Image Reader

Importing background tiles using Graphcs Image Reader

Very picky about .GIF input. Outputs .BBL and .PAL files. (Maybe .CBL and .MBL, too?)

Sound Designer

A rising sound effect in Sound Designer

.SND format. Also incorporates .VOC, though you need to produce those on your own. Nothing for composing .CMF files either, which is a larger problem.

Integrator

A branching path in Integrator

Let’s say you have two maps, Map1 and Map2. In your .GAM file you can click twice to plop down two boxes. In the first box, select your first map file; select a tile set; select a monster, character, and sound set. Define an entry and an exit point on the map. Do similarly for box 2.

Then you can draw a line from the game's title menu to the first box, a line from the first box to the second box, and a probably a line from the second box to your “game over” sequence, if any. Click on the starting point, and add a title graphic or animation; change the text at will. Do similarly for the ending point. And then export.

There’s your game. Simple, but functional. The title menu leads to the entry point in Map1; the exit to Map1 leads to the entry to Map2; the exit to Map2 leads to the game over screen.

Xferplay

Xferplay's standard configuration menu

Each game consists of a copy of the main program file, which contains all of the essential code. To distinguish one game from the next, the program calls on a .GAM file, in which the user will have compiled all of his content with Integrator.

Improvements

Stuff was gradually added. Sound Blaster support, most significantly. .FLI support. Transitions between levels. Intro became more elaborate. More media was supported on all the menu items. The menu backgrounds became clear. The config menu was added. All the tools became a little beveled and prettier to look at. Monster and Character collisions were adjusted. At some point it was changed so only the clear bits of monsters and the clear bits of characters counted against each other. At some point it came so that monsters could add to a character's stats instead of just injure a character, opening up the door for contact pick-up items. I think more blocks were allowed in a single .CBL or .MBL file. I think animations got a bit longer. Scrolling was constantly being tweaked. Lots of little tweaks; a few huge changes and additions.

Pending improvements

For the next update, Gregory Stone was mulling several possible fixes and additions.

  • More scrolling modes: always centered, screen-by-screen
  • More music support: MIDI, .MOD/.S3M, or else custom music editor
  • Maybe a simple custom sound recorder
  • More advanced button mapping
  • Text field support (If the games could have supported dialog and exposition, there was a whole extra level of complexity just waiting.)
  • Custom typefaces (for menus and text fields)
  • Fixing edge-of-screen problems: sprite flickering, animation freezing, block state change freezing, characters getting misaligned with the scrolling
  • Customize the inventory screen: both what fields appear and the overall screen presentation
  • Allow counters and inventory to reset upon death
  • Allowing custom menu options
  • Make solid monsters more solid
  • Allow monsters to carry characters if gravity is pulling them together
  • Don't let monsters push characters through walls
  • Allow larger monsters; multiple blocks wide or tall
  • Make monster permissions more flexible than "power level"; some monsters can only be destroyed through contact with character; some only through time or through contact with specific other monsters
  • Make only the visible parts of characters and monsters effected by BBL collision
  • More advanced, variable, dynamic idle sequences. Different idle sequences depending on conditions.
  • More possible animations per character, or allowing a .CHR file to draw from multiple .CBL files, or allowing .CHR files to transition into each other under certain conditions
  • Make character dimensions more flexible: two blocks wide, four blocks square.
  • Make it easier to spawn attached "monster limbs"
  • Archiving all game data files on export, to avoid sprawl and to avoid players from accessing key files (significantly .TXT and .GIF) out of context
  • Foreground objects, that players and monsters could walk behind
  • Allowing monsters to be affected by gravity and background blocks. Define foreground masks, block by block.
  • Allow pick-up of inventory items by contact
  • Allow monsters to be inventory items
  • Some included .GIF and .FLI utilities

Limitations

What may have killed Game-Maker in the end was a certain lack of flexibility to the main program on which all the resources hinged. Although by the final release the scrolling had improved tremendously, the screen’s tracking of on-screen avatars was always strange at best. The character never quite stayed centered; the screen would move in fits and jerks. Sprites flickered and disappeared at the edges of screen, and had real problems with bounding boxes.

By 1996, several features also began to sting for their absence. The only supported music format was weird and proprietary; there was no custom music editor, and it was difficult to convert anything to the required format. The inventory system was very limited, as was control mapping. If you wanted to allow a character to jump up, left, and right, you had to assign each animation a different key. Characters and monsters could only be of a certain size, and the interaction amongst all in-game elements was never quite flexible enough.

There were other issues of professionalism and tidiness. Every Game-Maker game had essentially the same title menu, with the same options in the same typeface. Also, rather than archiving and compressing content, the exporting tool merely dumped resource files into a directory, for end users and hackers to pick over at will. If you had a written epilogue in a text file, it simply copied the text file into the target directory, for anyone to read.

Still, even the big problems and omissions are tiny compared to the improvements that Game-Maker had seen over its short history. And even in its final form — heck, even in its earliest forms — Game-Maker was a welcoming, powerful, and rather brilliant design tool, well deserving a place in indie game history.