- Iron Dignity - demo v0.20 (30.4.1997) Status ˜˜˜˜˜˜ This demo is freeware, ie it may be copied freely as long as all of its files are included and remain unaltered. Introduction ˜˜˜˜˜˜˜˜˜˜˜˜ This is an *early* preview version of a new RiscPC game. This demo was made for the SILIconvention demo party in Bremen on 28th March 1997. The game has been designed as a complex campaign simulation in a fictional world, limited to a planet surface and atmosphere. The game will allow the players to guide their troops on the planet surface giving orders to single units or groups of units, as well as controlling each unit directly in first-person perspective at any time. For a change, this game is designed for high-end Acorn hardware, so at the time it is intended to run best on StrongARM equipped RiscPCs, but later it may be adapted to other hardware and other platforms. Requirements ˜˜˜˜˜˜˜˜˜˜˜˜ This demo should run on RiscPC's with about 8 MB RAM and 1 MB VRAM. On non-StrongARM machines you should switch to 320 x 256 x 16M, lower the detail level and switch off the texturing. You can do that by adapting some options in the 'config' file that resides within the application directory, see below. The preferred screen mode for StrongARM machines is 480 x 352 x 16M, the mode definition is included within the application directory. Controls ˜˜˜˜˜˜˜˜ 'Ctrl' + 'Esc' quits the demo. Do not attempt to quit the demo with Alt/Break. Config File ˜˜˜˜˜˜˜˜˜˜˜ Some options for running this application may be altered in the config file contained in the application directory. The options are XRES:/YRES: These select the pixel resolution of the screen mode. The mode should be a square-pixel-mode. LOG2BPP: Log2 of the screen mode's number of bits per pixel. 5 means 24-bit-colour, 4 means 16-bit-colour, etc. Note that not all polygon styles are implemented in the low colour depths. FOV: Horizontal field-of-view angle in degrees. BUFFERTYPE: Type of screen buffering used. 0 is unbuffered, 1 is DRAM- double-buffered, 2 is VRAM-double-buffered, 3 is VRAM-triple- buffered. Triple buffering may hang the machine so far ... LOD: Landscape level of detail. Possible values 0..4 (minimum, low, high, very high, maximum). RENDERMODE: 0 is wireframe, 1 is filled, 2 is gouraud (objects textured), 3 selects textured landscape. The file 'LowConfig' shows a configuration for slow machines. However you'll definitely need a StrongARM to really enjoy this game. Note that the program may choose alternative settings on its own if the desired settings aren't possible. Development Plans ˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜ Of course there's still a lot to be done. Plans for the Renderer ˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜ Integrate static and dynamic objects into the terrain plotter. There will be cities, forests, vehicles, planes etc. Some of the objects will be animated (walkers, ornithopters, doors of buildings etc.). It will be possible to enter some of the buildings. Some of the objects (esp. the airborne ones) will cast shadows onto the terrain. This is kind of hard because the light source has arbitrary angles, but absolutely necessary. Improve the texturing - it's still quite naff so far. There will be different tiled texture patterns on the landscape, and texture animations on the water. The switching of textures between detail levels will be made invisible. Implement Z-clipping (simple). The water will reflect landscape and objects (simple too, but expensive - it will be optional). Improve the sky and the fogging, add day-and-night, sun, stars, moon, perhaps clouds, a lens flare effect, a sun-reflection- stripe on the water. Implement dynamic LoD scaling to achieve a more constant frame rate. Add triple buffering and sync the timestep procedure with a stable base frequency. Plans for Gameplay ˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜ Write a world editor to edit the landscape and to place objects on it. (So far the landscape is generated with a simple fractal formula). Design all the static objects, and the dynamic units. There will be tanks, gun sites, boostcopters, gliders, two-legged walkers, spider walkers, transporters, repair robots, ... Implement object-object collision checking, and improve the object-scape collision checking. Implement a tactical map (automapping? updated by radar stations?) Implement interfaces for all units. An interface is the way the unit reacts on input from player or droid logic. Implement Droid Logics for all units. Its droid logic enables a unit to act slightly intelligently, defend itself, flee if it has no chance, guard an area, walk along waypoints, fight enemy units, keep formation with other units, evade obstacles, terrain-following flight, ... Design and implement cockpits and instrumentation for all units. Implement the Cyber Clusters. A cyber cluster is a relay station from which several units are controlled, and extras for some units can be stored and installed. Units can dock at a cyber cluster, and that way the player/AI controlling the unit can gain access to the units controlled from the cluster. Implement the AIs. An AI is a virtual player capable of controlling a set of units (by giving orders) and of interacting with other players/AIs (by allying, declaring war and engage, and by sending players on missions). Implement the Clans and their individual 'cultures'. A clan is an AI with its units and its installations. Design different worlds and scenarios. Add null-modem two player mode. A network option is not planned so far. Add loads of stereo sound effects. Soundtrack, title music and several in-game musics. Musical themes adapted to certain game situations (sunset theme, battle theme...) and adapted to the different units (walker's theme, sniper's theme...) Several less important things that I've forgotten. Feedback ˜˜˜˜˜˜˜˜ If you experience any problems or oddities with this program, if you have any suggestions or feel inspired to offer your help then you may contact the author. Especially welcome are people willing to help with game design (bitmap graphics, scenario design, object design). Author ˜˜˜˜˜˜ The !dignity, !dignityD applications are © Frank Föhl, 1997. The Iron Dignity engine uses the 'GemLib' 3d-library, which is © Frank Föhl. Frank Föhl Siemensstr. 7 71636 Ludwigsburg Germany foehl@rus.uni-stuttgart.de