When I was 8 years old, I received a copy of the VGA version of a computer game called "Quest For Glory I: So You Want To Be A Hero?", and I was immediately enthralled. The game was an unusual mix: a blend of point-and-click adventure with role-playing mechanics, and a good dose of humor. There are three classes (fighter, magic user, and thief) to choose from, and that choice can impact solutions to puzzles and your ability (or lack thereof) with various skills.
The Multimorphic P3 is similar to traditional pinball machines, but differs in a few ways:
Looking at the feature set, being able to develop new games on existing playfield modules as well as being able to save the state of a game in progress were both really intriguing for the pinball format. Typical pinball games last about 3-5 minutes. What would happen if I built a game that would take several hours to play? Quest For Glory seemed like a fun, if ambitious, way to marry some of the features I wanted to experiment with, while learning the ins and outs of development on the platform.
I had never used Unity before, but I have dabbled with 2D and 3D engine creation. I had also never made a serious project in C#, the primary language used by Unity. Languages are relatively easy to pick up once you learn the mechanics of one, but Unity is a tool made for people of many different skillsets to use. I read and experimented quite a bit before starting on the game.
In particular, I decided that I wanted to make a version of Quest For Glory that was 2D. Unity is a "3D first" game engine, and though creating 2D games is quite doable, it is not the primary focus of the engine.
I play through the entire series once every few years, but in preparation for the large programming task, I played through the game again, taking notes and determining how I would translate various challenges into the pinball format.
In the PC game, actions are divided into movement (walk, run, sneak), look, take/touch, talk, and use. There are also non-player characters that appear and are essentially used to build the world and provide flavor, rather than substantial benefit to the storytelling.
I mapped out the world and also determined ways to decrease the map size, making the world a bit smaller and easier to traverse, and allowing for more clear communication to the player.
An example of a change is removing the centaurs, which necessitated changing a puzzle solution.
I was able to (lightly) reorchestrate various songs in the game by converting the existing music to sheet music per instrument, making some modifications (either to composition or instrumentation) and hiring session musicians to record their play. As musicians returned their pieces, I would edit them together, improve looping capability, then add to the audio subsystem to be called from the game.
Each character's dialog was scripted. In general, the basic wording from the PC game was used, but in some cases certain lines of dialog would reference something that was cut, or wouldn't work for other reasons. Some dialog was lightly changed in the reading. The original PC release had no voiced dialog. In a pinball machine, the mechanical noises and expectation would be for fully voiced dialog, so I auditioned and hired dozens of voice actors to bring life to the dialog.
Multiple artists were engaged. The backgrounds for each screen had to be completely redrawn. The VGA version used images that were 320x200 pixels. The P3's playfield screen is 1080x1920. Since the orientation of the playfield screen is portrait instead of landscape, the artist needed a lot of specific direction to avoid issues with the mechanical elements above the screen. I was lucky to work with a very talented artist named Esther Wijdevld for the 2D background paintings. 70 different scenes had to be painted with only a small reference and textual description.
A second artist, Johnny Haxby, was hired to draw the backglass artwork. This artwork is mirrored on the secondary screen above the upper playfield.
Next, artist Ben Rittmann, was hired to draw the interaction and item icons.
The final artist, Bart Heinen, provided sprite animations.
The original game used a mixture of digital animation and stop motion animation with clay models. I have done some sculpting of characters to use in the subtitle system, and will finish the other characters as time allows.
In order to program this game, I had to be quite organized. Each screen within the game became a Unity "scene". Within a given scene, the player can perform various actions.
I defined each action (movement, look, take/touch, talk, and use) as a separate "parent" mode in each scene. Each of these "parent" modes can spawn one or more "child" modes.
There are over 700 modes in the game.
I decided to use the Lexy Lightspeed playfield module. The layout is smooth and has multiple targets that can be used as the basis for called shots.
The game may be set on free play or coin play. Each credit is one 'life' in the game. In free play, there are no credits.
The player is offered the choice of starting a new game or continuing an existing quest. If starting new, the player can choose from the three character classes (fighter, thief, and magic user). While in the class select mode, the backglass shows the starting stats for each class.
The player may then pick an existing profile (which will overwrite the prior savegame upon first save), or create a new profile.
As previously stated, the game is fully voiced, however, a subtitle system exists (and can be optionally turned off), which presents dialog boxes on screen and an animated bust of the character speaking. The game fades smoothly between scenes. Once the game fades in, the narrator and sheriff speak, and the player is provided information about the currently selected mode. A ball launches automatically once this intro dialog is complete, and the player can begin exploring.
Each character class earns an achievement for starting the game. All points in the puzzle point system (represented above the mode selection as X of 500 points) earn an achievement, and those can vary based on the solution for a puzzle. There are also hidden achievements which do not provide puzzle points.
A second scoring system exists - this tracks incorrect shots. When in one of the parent modes, hitting a target that is not selected will earn one of these missed points. There is a separate high score table that tracks these points.
To interact with the game, the player uses the six buttons on the standard P3 (three on each side).
The red buttons flip the flippers, rotate the lit inlane, and change between different entries in menus. Holding either flipper for a few seconds will reveal the character sheet. Your character sheet will have stats in red, which indicate a change to that stat since the last viewing of the character sheet. Releasing the flipper button will replace the character sheet with the normal backglass image.
The white buttons switch between major modes. In addition to the five main modes (move, look, take/touch, talk, use) used in the PC game, I added a ? icon, which will present a context and progression-sensitive hint on the playfield monitor.
The yellow buttons will switch between actions within the main modes, and if use is selected, will switch between items in your inventory (displayed in the row below the action.
Targets and flashers will blink when shots are hit, and dedicated light shows are used for specific modes (the Sierra logo in the attract mode), various multiballs, and each major mode has its own base color. Walk is green, look is yellow, touch/take is white, talk is red, use is blue, and hints are purple. As the player switches between modes, a message appears on screen indicating how to interact with the mode.
The Sierra PC games, including Quest For Glory, are renowned for the number and inventiveness of their deaths. As in pinball, eventually all games end with the ball hitting the drain, I thought it was a useful metaphor. Each game is technically a one ball game. When the player dies, they are given the choice to restore (if they have saved) or restart.
In walk mode, the launch button will flash to indicate that the player can press it to move. The indicated movement is shown on the playfield screen with a set of green chevrons and on screen text near the flippers. As a shot is not required, there are no flashing lights to indicate where the player will go.
In look mode, there may be several things to view in any given scene. The player switches between them using the yellow buttons. Each item to view is indicated by a blinking yellow light as well as a set of yellow chevrons with text label and information between the flippers. If the player hits that shot, the next time a ball is sensed on the screen, all six of the scoops between the lower and upper playfield areas will raise and the screen will indicate that any scoop may be hit to look at the indicated thing. Pressing the yellow or white button at this point will change the indicated target or mode, and immediately drop all scoops. If the player managed to hit the scoop while changing modes or targets, the ball is relaunched without penalty.
In take/touch mode, there may be several things to take in a given scene (especially if you're playing a thief). The player switches between them using the yellow buttons. Each item to touch/take is indicated by a blinking white light as well as a set of white chevrons with text label and information between the flippers. If the player hits that shot, the next time a ball is sensed on the screen, all six of the scoops between the lower and upper playfield areas will raise and the screen will indicate that any scoop may be hit to touch/take the indicated thing. Pressing the yellow or white button at this point will change the indicated target or mode, and immediately drop all scoops. If the player managed to hit the scoop while changing modes or targets, the ball is relaunched without penalty.
In talk mode, there could be multiple characters to speak with. In any scene, the player can always talk to themselves as well. All characters have their own shot, indicated by red chevrons, blinking red lights, and text. Hitting the indicated target will then trigger a more standard interaction mode. The player switches between topics of conversation with the yellow buttons. Each item to speak about is indicated with a blinking red light as well as a set of red chevrons with text label and additional text between the flippers. The player switches between them using the yellow buttons. Each item to view is indicated by a blinking yellow light as well as a set of chevrons with text label and information between the flippers. If the player hits that shot, the next time a ball is sensed on the screen, all six of the scoops between the lower and upper playfield areas will raise and the screen will indicate that any scoop may be hit to speak about the indicated thing. Pressing the yellow or white button at this point will change the indicated target or mode, and immediately drop all scoops. If the player managed to hit the scoop while changing modes or targets, the ball is relaunched without penalty.
In use mode, the highlighted inventory item in the apron area will change the available target interactions, highlighted with a blue blinking light and blue chevrons with text. Similarly to the talk mode, all interactions for a given item are available at once. If the player hits that shot, the next time a ball is sensed on the screen, all six of the scoops between the lower and upper playfield areas will raise and the screen will indicate that any scoop may be hit to use the indicated item. Pressing the yellow or white button at this point will change the indicated target or mode, and immediately drop all scoops. If the player managed to hit the scoop while changing modes or targets, the ball is relaunched without penalty.
In hint mode, the player cannot progress the story or interact with the game. The hint is displayed on the mini monitor above the upper playfield. There are over 180 hints available that will help direct a player to progress the story. The player can switch to another mode using the white buttons at any time. When not in hint mode, a smaller version of the backglass image is used on that monitor.
While the game is playing a callout, the ball can immediately be returned and the callout cancelled by pressing both red buttons simultaneously.
The game includes four distinct parts of the day. Dawn, noon, dusk, and night. The time will automatically advance on a fixed schedule in each screen (a day lasts 300s total). The player can also automatically advance the time by resting. To rest, the player must spell R-E-S-T by lighting the inlanes and outlanes. The player can rotate the lanes left or right by pressing the red buttons. Once R-E-S-T has been spelled, the right scoop on the upper playfield will have a black chevron with text indicating that the player can rest and save. Resting will automatically advance the game clock by 1/4 of a day, and will save the current progress. However, if the player rests in an unprotected area from night into day, or if the time alloted for a particular quest has expired, the player will immediately die. When this happens, all inputs cease to function and the flippers will drop, forcing any balls to drain, while showing the reason for the player's demise and a prompt to restore or restart.
In the original game, the player used a combination of virtual buttons to attack enemies. These buttons controlled skills such as parry, dodge, magic spells, and two different kinds of attacks. In the pinball, I was able to enhance this idea and provide more player feedback.
The interface provides a health bar for the enemy and three separate bars for the player. Health is red, stamina is green, and magic is blue. Performing any action will use stamina. Once stamina is depleted, the player's health will decrease with each action.
Each enemy can attack with either side (stomping or bashing with a club, for example). 2s before an attack is made, the side targets will light in progressively brighter white (indicating the nearness of the player's hurt). During this window, the player can press the white or yellow buttons to parry or dodge. Parrying lightly injures the enemy, while dodging avoids the attack entirely.
To attack, the player can hit any target. Hitting standup targets or shots on the upper playfield will stab (does a small amount of damage). Hitting the side targets performs a swipe which takes more stamina, but does more damage than a stab. Based on the player's luck stat, a scoop will pop up at random for a few seconds between the lower and upper playfield. If the player hits that scoop, it will perform a backstab, doing double damage using the same "dice roll" calculation as a stab.
The amount of damage done varies based on several of the players' statistics. A fighter with more strength than a thief will do more damage. Fighters also have a sword instead of a dagger, so their base damage is higher. The player can increase these statistics through combat, training, or other tasks such as mucking out the castle stables.
A thief can throw rocks at the enemy by pressing launch. A magic user does not have the parry ability, and thus those buttons are repurposed for the Flame Dart and Calm spells. The launch button is used for the Zap spell.
Combat ends when either the player or their oppenent's health have been reduced to zero.
Each statastic shown on the character sheet can be improved by applying that skill. For example, the climbing skill can be improved by attempting to climb a surface. Lockpicking can be improved by using the lockpick or toolkit on a door (or the player's nose!), and stealth is improved automatically based upon passing checks within the game.
Repeated use of skills will allow the player access further into the game. A high climbing skill may make infiltration into an enemy base easier later in the game. A high magic skill will increase the maximum number of magic points.
Over the course of development, several changes were made to increase the player's immersion in the world without being too punishing.
Initially, the walk mode required hitting specific shots to move. This proved far too frustrating in testing. I rarely made it out of the village!
Each action performed initially did not hold the ball. This caused a cacophony of flipper sounds instead of being able to focus on what was being said.
The player initially couldn't "call their shot", meaning, once a main interaction mode was selected, all available shots were immediately visible. This was overwhelming and resulted in frequent missed shots.
Initially, there were no subtitles! I thought the strength of the voice acting was all that would be needed, but upon playing, I realized that the player and any spectators would need some additional help to process what was being spoken.
This project remains 1 of 1, a fan project to see if I could remake a point and click adventure game in pinball format. "Quest For Glory" and "Sierra" are trademarks of Activision Publishing, Inc.