The following images are screen shots taken from a demo used to test the engine, and game prototypes. An earlier version of the demo was shown at Comdex '96, and MacWorld SF '98. For more recent images, look here.They are a mix of 16 and 32 bit screen pictures drawn on a Mac using the software renderer. Certain browsers may display artifacts when reproducing the pictures. For best results try opening the images using a JPEG viewing application.
Why make another 3D simulation when there are so many out there? To cut a long story short, we were aiming to do something very different from the engines currently published. Most real time 3D games involve a lot of shooting, and a little puzzle solving. Just try a level of your favourite game and count how many shots you must fire or entities you kill to the number of switches clicked or objects moved into special places. This is a very succesful mix, but a lot of people who enjoy puzzle solving are missing out on the experience of real time 3d (sorry - panoramic images are not the same!). However, to date we haven't been able to buy one where there is a lot of puzzle solving and little or no violence. So we decided to make one!
You can see the results in these pictures. However, a pretty picture is a small part of the story. Suddenly the rest of the environment has to make up for the 70% of the time spent firing shots and dodging projectiles. One thing to notice is that a lot of games use the 3D environment as hiding places for monsters, firing vantage points etc. However, how many 3D games have you played where many crucial parts of the plot are part of the 3D environment? Some games use cut scenes, or pages of text, to give away the plot, but when was the last time you read a clue on a wall?
2D image games are really good at this. That painting on the wall, or the blue disk in the fireplace could be crucial to the meaning and solution of the plot. A good test as to how involved in the plot a 3D game is comes from asking yourself "If I swapped all the textures in this level for another lot with a similar theme and looking just as good (switch one door texture for another, or one castle wall for another), would it stop me from enjoying the game?". If the answer is no or mostly no, the textures aren't crucial to the plot - do this to a 2D game and you would kill it, as many of the clues wouldn't make sense. This means textures are really important to a puzzle solving game.
For a 3D puzzle game, textures are crucial. They have to be detailed enough for you to read clues on them, and varied enough so there can be many significant things on them. Looking at the engines out there, they can do amazing lighting, geometry, and run at fantastic frame rates. However, ask them to cope with hundreds of detailed textures is a hard task. Our game has over 1000 different textures, most at 256x256, mip-mapped, with multiple palettes. Even this is just enough to get the story IN the environment. It's not as visually rich as the 2D games, but it's miles away from the currently available 3D games.
Of course, we have a lot of the attributes of other 3D engines - complex environments, true 3D and 2D objects, real time lighting, physics, atmospheric and fog effects - the list goes on and on! We can have all the cut scenes and still art/movies/text that other games have, but it's much more fun to hunt for clues that are IN your world.
The next big challenge was the user playing experience. There are only so many types of puzzles you can solve with a gun! Sure, you can blast a switch, or shove an object around, but where is the finesse that so many 2D games have. There is amazing flexibility to the 3D games - you can run, jump, swim, crawl (and die!). To do all of these things, you have to learn dozens of key combinations, and endless tries at getting something right and getting killed before you get through.
What would be better is if 3D games were easy to use - you get on and play the game rather than learn the key combos. The other aspect is that it should do what you expect it to (in real life, pressing the space bar doesn't pick up the object!). We can now reveal something about what we've done. The difference is like using a text based machine and being faced with the Mac for the first time - suddenly everything makes sense! (Unless you're a terminal junkie, in which case you hate it!).
You have a virtual hand. You can point where you want to turn and go. It's just as easy as 2D image games - point, click, go. But now, you can walk, run, swim, jump, and fly! No canned movies - you go where you want to. But even more than this, your hand can reach out and touch the world. Click on any switch if it's in reach. And you can hold the world. Grab a vase to put on a plinth, hold onto a rock to climb the cliff, or build a barrackade to keep the fire at bay. And all this works with moving, living entities and objects. Pick up a rat and carry it with you - keep pets! Hold onto a flying object to be carried across a deep canyon. There are an infinite number of things you can do to make what you want of the world.
Our system allows you to do incredibly complex things really simply - running, jumping, turning is really easy - people we've tested it on learn it in about 30 seconds with no hints or manual (and no preferences dialog or online help)! And within a couple of minutes they are moving and THROWING objects around. Then it's on to puzzles as complex as any you've seen in a 2D game - rows of switches, hidden locks, objects to match against locations.
With all this 3D freedom, you can have the best of both worlds. We have integrated a custom 2D engine into the 3D game - clicking on a 3D object can bring up 2D images and animations. Get the richness of 2D multimedia in a true 3D world. If you really wanted to, you could put an entire 2D game inside just one of the 3D objects!!
We've talked a lot about how a 3D engine can be improved so much by looking at the standards for 2D games. But what do 3D games bring to the table - why not just make another 2D game? The answer lies in real time simulation. An important aspect of 3D games is that things are happening while you pursue your agenda - monsters have their own strategy and actions (though a lot of the time they are reacting to you). This lends a whole new dimension (pun intended!) to puzzle games.
In most puzzle games, the puzzles react to you - you do something (such as click the mouse) and the puzzle does something (the wheel turns, the door opens). Just as importantly, most of the time you are stuck looking at that 2D thing. While the wheel is turning, you are stuck - you can't go somewhere else and press a button, or look at the machine from another angle. This means you end up playing by doing one thing at a time, in a limited set of sequences.
Wouldn't it be better if you could do other things while the puzzle you clicked on was working? This gives you the freedom to use your intuition, and get a better understanding of things as you can experiment while they are up to something. You can improvise! A whole new class of puzzles comes about if it can do things while, or in spite of something you are doing. Giving the puzzle elements AI and freedom of action results in new and unexpected outcomes.
It also makes the world into a living place. You can have your own agenda, and so can other elements of the world, and you may not agree with each other. Puzzles can act spontaneously, so one outcome can be reached by an infinite number of routes. You can also solve puzzles by a combination of brain power and dexterity. Some barriers are impassable, and some are the subject of your cunning - ways of thinking we never thought of ourselves!
Real time 3D holds out an answer to the frustration that many people feel when getting stuck on a puzzle. Because the game is not pre-rendered, you can go through and change things in the order you want to, and in ways the designer did not intend. You have the freedom to use your initiative, and think the way you want to, not the way the designer tells you.
In a 2D game, you can only do the things that the art allows you to - if there is no sprite for that beautiful lamp, then you can't move it to shed light on the dark corner - you have to use the flashlight you should have discovered two rooms away. Instead, in our game we have the problem of too much choice - how do we make it so that somebody can't trivially solve this puzzle using the item over there?
The final big facet 3D brings is replayability. In 2D games there are normally a limited number of ways to do things. In real time 3D, as in chaos, a slight change on your part and things can be subtly different later in the game, and because every person will play the game differently, it is unique for each player. Randomness also allows differences each time you play. Also, the fact that puzzle states are in part floating point numbers means you can have incidents where partially doing something is enough - it's not all or nothing.
All of these factors lead to a new kind of game - distinct from both the 2D and 3D genres which are the parents of this new style. You can do almost anything a 2D image game, or a 3D VR game can do, and a huge amount more. You can reach the end of our game, using your own witts and cunning, but you can never finish it - there is always a different way of doing things, unique to every individual that plays the game. Five years from now all this may seem obvious and primitive, and Nightfall will look like one of those black and white Hypercard games by comparison. Right now, we find it very exciting, as it looks like the first of a new generation of games, and hope you enjoy it when Nightfall is released.
View additional images
Products using this technology will allow users to experience rich virtual environments with unprecedented freedom of interaction in graphic adventure game settings. In addition, these environments can convey more meaningful visual cues by means of detailed textures and complex geometries.
- A volumetric lighting model which enables the user to experience beautiful lighting and atmosphere in real time, through dynamic light source shading, colored fog, dust, glows, other effects.
- Moving and manipulating objects in scenes, in addition to a shoot and switch strategy.
- The capability to show hundreds of textures, each with a high level of detail.
- A renderer that can run on any PowerPC, but uses the speed of 200 and 300 MHz models to show vivid and complex environments.
- Fast software renderers for 8, 16, and 32 bit screens, utilizing complex shading and dust models, lighting coronas, and other special effects.
- Software and hardware renderers use mip-mapping for crisp filtered texture rendering.
- Portal rendering for dynamic scene culling and hyperspace effects.
- Flexible physics model allows objects to be stacked, lifted, carried. Build barriers, stairways.. the possibilities are endless.
- Support for 3D hardware via the Apple RAVE standard.
- Tested and working on the most common RAVE based cards - over a million Macs (and rising each day) can make good use of the game. Many Performas, all iMacs and all G3 based Macs can run the engine using built in hardware 3D.
- True 3D objects, perspective correct and face on sprites.
- High geometrical complexity - rooms may contain hundreds of polygons, and levels may be composed of millions of polygons, all rendering at an acceptable speed.
- Floating point values for position, textures etc. Smooth motion and animation.
- VR hand to select, pick up and use objects during game play and/or editing.
- Clicking on objects can link to 2D sequences of images and movies by simple text scripts, or to almost any form of AI, physics, and animation by means of C code.
- High level C routines for AI functions - route finding, sensing other objects nearby, creating other objects, moving around.
Our goal is to allow the user greater control over their environment, where the environment itself plays a key role in puzzle solving. Currently available products do not allow complex interactions with the 3D environment and rarely display enough information to create complex and involved puzzles. To this end, the engine has been designed specifically for environments with high information content. Moreover, data can be manipulated in complex fashions, allowing objects within the environment to affect one another in diverse manners.
On the Nightfall CD, tools and some source code are included. The list of tools is as follows:
- An editor, for laying out the architecture, placing objects within it, setting lighting, behaviors, textures etc. A picture of the editor is here.
- Custom resource file builder - formatting data such as images to be efficiently used by the game.
- Custom palette builder - Nightfall requires texture palettes in a specific layout, and this tool can aid in this.
In addition, some source code is provided, to enable you to customize the AI, user interface, puzzle behavior, and audio playback. This is packaged as a plugIn - a dynamically linked library (DLL) for Nightfall. The capabilities and potential of this requires a lot of detail. If you are interested, you can download additional information in a document
The editor is the full production version - almost anything we can do, you can potentially do to. It is very powerful. For example, you can select multiple objects/areas, move them all, copy and paste them. You can also apply changes to them all e.g. select 5 areas and change the texture of all their floors, at the same time. There is a 3D preview to see what you are doing. In the preview, you can use the grab hand to pick up and move objects, as well as select and line up wall textures in 3D. There is an included document to get you started, an example level and a set of textures in PICT format, example 3D models from the game, and of course all the source code comments to explain what the values mean.
Please note that all these tools and the source are those used to make the actual game. They have full, professional development level functionality. The user interface is 'as is', making them powerful, but difficult to use, and Altor does not provide technical support or updates. There is also a steep learning curve involved, but there is a lot that can be learnt from the tools and code, and you can do a huge amount with them.
Product names or services may be trademarks or service marks of others.