ART IMITATING LIFE?
I remember watching a documentry on how they created the XRay wall in TOTAL RECALL…one of the best sci fi films ever made. That little bit of wizardry has become a reality nowadays, with XRay scanners set to be common place in airports around the world.
When Maracheck enters the decontamination area, he is obviously not very clean, and possibly contains quite a few items that could be regarded as weapons by the automated security systems. Naturally (with his amazing luck and all…) he hits a dead end, with a quarantine lock down taking place. You didn’t think that it was possible to just walk into a military installation unimpeded did you?
In thinking of a way to make the lockdown quite interesting, I of course went to my main source of inspiration…movies! With a bit of tweaking, I eventually got the XRay scaner working in the game.
This is not the last time you will encounter scanners like this-and they will be useful for quite a bit more than ‘look…skeletons!’.
Luckily for me, my brother has a programmers mind, making us the perfect development team and exposing me to the ‘behind the scenes’ aspect of game development for quite a few years.
But thanksfully, over the years there have been quite a few companies who have seen this gap in the market, and have made either their tools available for developing game content, or actually created software for making any sort of game with pretty simple scripting languages.
Now Im not going to go into the game engines, and editing software out there-but I do wanna point out some of the engines available out there for creating an Adventure Game. These are the 3 engines I seriously considered when first designing STASIS.
ADVENTURE GAME STUDIO: http://www.adventuregamestudio.co.uk/
Adventure Game Studio allows you to create your own point-and-click adventure games, similar to the early 90’s Sierra and Lucasarts adventures. It consists of an easy-to-use editor to create your games, and a run-time engine to play them.
The game interface is fully customizable, with classic Sierra and Verb Coin templates provided by default. AGS manages most of the game so that you don’t have to – it does all the donkey work like load/save game functions, pathfinding and scrolling rooms so that you can concentrate on the parts of your game that make it unique.
Set up your rooms, characters and sprites visually in the editor, then add some script to handle game events and you’re done! You can even create a standalone EXE file containing your entire game, which you can then distribute to your adoring fans worldwide.
I really liked AGS. It was really simple to use, and the games instantly had that retro feel to them. Some of my favorite adventure games are created directly in them, such as Yahtzees ‘Chzo Myhtos series’ (5 Days a Stranger, 7 Days a Skeptic, Trilby’s Notes and 6 Days a Sacrifice.). My biggest problem with AGS was that is IS very limited to creating older, retro looking games. I wanted to create a very rich, atmospheric world, FILLED with highly detailed areas to explore. So I left AGS as a ‘last resort’, and figured I could always adjust my vision for the game if necessary.
Wintermute Engine Development Kit is a set of tools for creating and running graphical “point&click” adventure games, both traditional 2D ones and modern 2.5D games (3D characters on 2D backgrounds). The kit includes the runtime interpreter (Wintermute Engine, or WME) and GUI editors for managing and creating the game content (WME tools) as well as the documentation, demonstrational data and prefabricated templates.
I enjoyed playing around with the Wintermute engine, and its supprt for 3D characters was really a selling point. I actually began planning STASIS useing the Wintermute engine, until I game across…
Visionaire is a tool that makes the creation of graphical adventure games very simple. The only thing you need is some creativity and imagination, and after a bit of playing around with the program you will soon see your first results! The main purpose of Visionaire is to empower fans of adventure games to create their own games, without requiring extensive programming skills. Therefore Visionaire provides a huge set of existing “Actions” that can be combined in all imaginable ways. This allows people to develop there own games without writing a line of code.
Just a few hours of playing around with Visionaire, and I was hooked. The ability to quickly change graphics on the fly, support of PNG’s, the ability to create the game in much higher resolutions (I’ve tested up to full HD, with no problems), and a very active development team, Visionaire just had everything I was looking for. After a day of use, I already had a working level.
Now I’m definitely not saying that the other engines out there aren’t as good as Visionaire, or lack any features that it has-but just from a workflow perspective, Visionaire suited me perfectly.
It is limited, in that you can ONLY create 2D Adventure Games. No RPG’s, FPS’s, or plat formers. But I didn’t want that…I wanted to create a ‘classic’ 2D Adventure Game, with high end graphics-and that is EXACTLY what Visionaire has allowed me to do.
So there you go! Just 3 options here, but there are a TON of other adventure game engines out there-any many game engines that will allow you to create any game you can think of.
Now that I have a decent base to work off of, I can start animating it. If we go back to the description we know that this scene is going to have at least 3 separate lighting passes. One different set of lighting for each time he moves forward in the level. Because this is a 2D game, each of those different lighting passes has to be rendered completely separately. Now, to make things even more difficult, I want to have those signage boards flickering as tho there are slight power surges, and the globes are kinda entering the last days of their lives! So each lighting setup needs to have a separate pass for the signs flickering, aswell as a pass for the signs in a ‘normal’ state. Memory wise, that is going to be to big to practically get into the scene, so we are going to be doing a bit of cutting up. Also, by cutting out each sign separately, we can make sure that each sign gets it own random flicker. Adding that kind of randomness will really help sell the scene.
Lets start by rendering the 3 first light passes. We are going to call them:
Then we set the inside of the posters to be slightly lighter. Not to much tho, but enough to cast some interesting light on the injects infront of them.
Once we have those files, we open up Paintshop Pro, and create a quick script to crop those down to JUST the areas we need, like this:
Once the graphics are done, putting them into the engine, and making them work only takes a few seconds. Visionaire has this really cool ‘random’ option, which will randomly pick from a set number of frames. So if we place in the ‘non flicker’ and the ‘flicker’ frames, it will get a semi strobing effect-exactly what we are looking for. And because its ‘mathematically random’, no two flickers will be alike.
Setting up the code to get the 3 sets of lights working, with the 3 filckering lights is a little more involved. I wont go through step by step, but Ill explain the concept behind it. The level is divided into three zones, with each of those zones needing display its own background. I drew 3 ACTION AREAS, and set a command that would execute every time the character entered that specific zone. So, when he entered ZONE 1, GL_InnerAirlock_LightPass_1.png becomes the background, while GL_InnerAirlock_LightPass_2.png and GL_InnerAirlock_LightPass_3.png are hidden. The same set of commands is given when ZONE 2 is entered, except Lightpass 1, and 3 are hidden, and 2 becomes visible.
Now the flickering is linked to a value, that is activated when the different zones are activated. So when ZONE 1 is the active zone, the FLICKER 1 animation is made visible. When ZONE 2 is active, FLICKER 1 and 3 become invisible, with FLICKER 2 becoming visible.
There are some sounds linked in there aswell, to really sell the ‘clunk’ of large lights turning on and off, which really adds to the visual aspects.
The airlock opening is done in the same way. A zone is created, and when the character enters the zone, the specific animation is played.
Once its all put together, the level can be played instantly. Heres a short video I did of the level being played. The character looks a little ‘glidey’ and some changes are a bit sluggish, but thats from the recording program running in the background.
Before you take a look at the completed level, lets go back to the original description:
The airlock clicks open with a hiss. A silhouetted figure walks into a dark room. The massive rotating door behind him rolls back into place, and seals shut.The airlock clicks open with a hiss. A silhouetted figure walks into a dark room. The massive rotating door behind him rolls back into place, and seals shut.Darkness. Nothing. Maracheck walks forwards. As he does so, a light directly above him turns on. Motion controlled. A computer voice sounds out “Welcome to The Groomlake Research Facility. We know you will enjoy your stay.” Computer screens flicker on showing various PR photos of families on board, scientists working happily, children playing.As Maracheck moves forward the lights continue to turn on infront of him. More computer voices:“Please be aware that we are operating on emergency power.”He continues down the corridor. Comfortable seating on either side of him suggests an airport lobby of some kind. This must be where the important people came in…a company would waste money like this on an entrance for grunts.As he advances, more lights turn on, highlighting security turrets. Shut down. The security systems must not be operating. Good thing too…those turrets would have shredded him. As if reading his mind, the computer voice sounds out an eerie warning.“To ensure that your stay with us is a pleasant one, please remember to follow all protocol. Your safety is our priority.”The lights go off for a second…the sound of an electric generator spinning up again.“Please make your way to decontamination.”“Thank you for your cooperation.”
With a few changes, I think that the level plays out pretty faithfully to that original idea. What do you think?http://vimeo.com/18178146 _________________________ Chris