wolfenstein 3d

  unrolling loops
  c2p part I (st)
  c2p part II (st)
  avoiding c2p (st)
  interlacing (st)
  fat mapping
  3d pipeline
  portal rendering
  8bpp color mixing
  fixedpoint math
  blitter (mst/ste)
  sample replay (st)
  blitter gouraud (falc)
  blitter fading (falc)
  arbitrary mapping
  frustrum clipping etc.

  mc68000 math lib
  32 bytes sin-gen
  24 bit tga-viewer
  blitter example
  lz77 packer
  lz78 packer
  protracker replayer
wolfenstein 3d

the story so far:
playing wolfenstein 3d on the 16/32bit atari platform has been a dream of mine for a long time yet. years ago i was totally convinced that even an 8Mhz 68000 must have enough power to process an orthogonal 3d world like the one of wolf3d as the original pc game ran on an 80286 cpu with less power than the mc68000 provided (fx. the 80286 didn't provide any 32Bit operations like the 68000 alredy does).
existing clones of the game (substation ste, destruction imminent) proved that it's possible to run a game like this even on a plain ST/E but however, whithout saying i don't like those games they didn't really fulfill my needs. so i started working on a straight port of the original game classic in late 1999.
having attempted to code at least 2 diffrent sorts of engines i had to face several problems (e.g. that STs just support planar graphic-modes). gaining expirience, i found diffrent ways to improve the initial engines, actually i even restarted the whole project two times as i wasn't quite satisfied with the speed of it.
then, one day i discovered the source of the macintosh version of wolfenstein 3d had been released to the public. since those sources were alot more tidy and thus less confusing than those of the pc version (fx. they didn't have to bother with any 16bit limitations of the 286, furthermore they provided a quicker bsp-engine, that had many advantages over the pc-version's raycaster) and because they had yet been ported to the apple IIgs (whose core is a 16bit version of the 6502 cpu) i lost any remaining doubt that it would be possible on the ST and decided to base my port upon those sources.
although rewriting the whole game in 68k asm is a quite hard and exhausting task, i really got motivated to keep working on the project after recieving that much positive feedback with the new engine (v0.1 beta at that time) - thanks to the scene at that point, i guess.
i added new features and contacted the makers of the apple IIgs version's gfx and sfx (i.e. ninjaforce) begging for their data because in my opinion they looked so much better than the ones of the pc version even though they were already repainted for a lower colordepth. by now i released a number of further previews, the current version (v0.8 alpha) gives you the following features:

up to 15 fps on a plain ST
wallrefresh completely finished (including doors and "pushwalls")
16 bit subpixel accuracy providing smooth 3d scrolling
collision detection (gliding against walls is possible, too)
keyboard controls as known from the original version
  (strafe mode, running etc.)
graphics from the apple IIgs version of wolfenstein 3d
32 on-screen colors
high detail mode for faster machines
freely rescaleable game window to gain speed on slow machines
static objects (bonus items, bullets, bodies, pillars...)
moving and animated objects (enemies)
4 digital sampled sound voices, true mixing, no oversampling
  (emulation via YM2149 on (Mega) ST, DMA on STE and above)
useable weapons
a complete gamelogic processing health, score, items etc.
level/episode processing and loading
menus, intermission screens etc.
wolf3d should run on any 16/32bit ATARI with 2MB of RAM or more

things to do and add in v0.9:

load/save gamestates
mouse/joysick controls
proper handling of the par time
an automap feature
a delta clear to draw floors/ceilings more quickly

additional technical information can be found in the readme files.
click to view a full sized snapshot

 -at least 2MB of RAM
 -a HD floppy/Hard Disk
 -RGB or VGA monitor
 -Fastram accelerated

download current version:
 v0.8 alpha

download previous versions:
 v0.5 beta
 v0.4 beta
 v0.3 beta
 v0.2 beta
 v0.1 beta
 v0.1 alpha (030+ patched)

known bugs / bugreport:
 v0.8 alpha, bugtracker

- 2002-2005 ray//.tscc. -