Reality was the name of our Wolf 3d styled game engine, and became an
umbrella term for anything related to that pursuit. This archive
contains the last known remaining compiled exe's of my various attempts to get
it up to a reasonable performance on a near stock Amiga 1200 (020+FastRam)
back in the mid 90's.
The Reality project was originally most active between 1994 -> 1995 and apart from few screen shots and close friends was never released to the public. It's important to note that the attached downloads are ALPHA software and while operational should not be considered stable. They do take over the system in as an OS friendly manner as I knew back at that time, but modern systems might not like them.
About the Demos #1 - Reality (Ray Cast)
The Reality.exe was the initial test sometime in late 1993/1994.
The first hurdle was the chunky to planar problem. My initial
attempts weren't pretty and I think were most likely a bunch of unrolled
bit sets. Which might be cool for drawing dot / particle effects, but as a
primary C2P approach was a massive failure. But with each failure, It
wasn't long before moving Moving onto doing bit parallel bit rotation
solution, which worked much better.
This is the only version that uses a form of ray casting. So
the scene is built by plotting rays cascading out from the cameras
field of view out into the world. So it's drawing lines (pixel by
pixel) from the camera outwards, check for impacts each step with the
walls.
In this design a map pixel represents a wall strip. I don't
remember if map is 8 or 16bit, probably 8bit. Which would only
allow for 256 unique wall strips.
Colour wise I think is either 16 or 64 colours. Allowing for
reasonable conversion speed overall, considering this was my
first attempts at chunky to planar/ray casting.
#2 - Map.exe ( 64 Colour 2D Polygon Walls )
These are the result of a rethink, where it seemed more logical to create the map from
a grid of evenly spaced vertex. Then form walls by linking vertex pairs together, as this
allowed for none orthogonal walls and changes in the map density / sectoring.
To the render the scene, we rotating/projection the map sector of vertex, to give
us the on screen floor / ceiling heights. Then we run thought the polygon list for
this sector. For each surface I'm interpolating across the top (or bottom) of the
polygon and computing it's Z depth and U value from the texture. Rather than draw
the strip, I add this to a Z buffer of strips at this position on the screen. if the strip
is front of a previous strip we overwrite it, if not, it's rejected. So at the end of the
render pass with have a buffer of all the visible strips across the screen. This works
because all the walls are the same height. We'd need more work for walls of different
heights.
on a side note, Textures are stored rotated in memory, so we can grab texels from
any vertical strip with just our 8bit V offset.
By the end of the first quarter of 1994 the world was firmly in the grips of the DOOM craze .
So of course when commodore went bankrupt, we set our own bench mark way too
high and decided to try and push for something like Blade Stone but with more complex
environments and hopefully polygon objects.
This demo shows about as far as we got, including 256 colour environment, transparent
and hard wall textures, Depth based lighting, dodgy support for floors & ceilings
a bunch of render modes and our initial 3D polygon rendering dumped into the project.
For the polygon objects (which are drawn in to the chunky buffer) the original idea was
to draw triangles clipped against the depth buffer. So you'd compute the width the
object was taking up on screen, then run across the depth buffer and compute the
visible clipping edges for the object. This would allow objects to be clipped out when behind
walls as well as being partly/fully visible. It wouldn't be perfect of course, but it
might have been something different.
Sadly time and our TALENT run out. It didn't matter really as soon after the Amiga
community was playing the first batch of first person games.. From Fears, Gloom,
Breathless, Alien Breed 3D etc etc
It just would have been nice to get what was in my head at that time on screen..
More Information:
If you're in Reality then you can head over to the AGE Reality Tech Demo Blog on the forums. That's where i'll be posted anything else I discover about these demos in the future.