Heretic II: Progress Report

Go to the Linux-sectionGo to the Mac-section


16-September-1999: Progress update by Hans-Joerg Frieden

 

CURRENT STATUS OF THE HERETIC II PROJECT

 

Server

The (dedicated) server has now advanced into a state where a PC-based client can connect and play a game on it. There are a few bugs left in the code, most notably those based on endian-ness conflicts (for example, the player does not loose hitpoints, but rather the damage adds to his lifepoint totals).

Network code is based on the bsdsocket.library as provided by all common Amiga TCP/IP stacks for maximum compatibility. Although the server compiles with both StormC and GNU GCC-2.95, no ixemul code is used for this. There is a PPC and 68k compile of the dedicated server.

 

Client/Video

Most of the work on the client so far has been on the software and hardware refresh libraries. The software renderer is almost complete now. We have decided to use Steffen Haeuser's CHUNKYPPC library, since the renderer will have to deal with a myriad of different screen modes and this library provides conversion routines for most of them, and also support for AGA (planar) screen modes.

For the hardware renderer, we have considered using the Mesa3D graphics library, but found out quickly that it would not be efficient enough for this task. We therefore decided to start working on our own GL-Subset library that will be optimized for the features we need for the Heretic II GL refresh library. MiniGL will sit on top of the Warp3D rasterizer interface to provide support for all existing and future 3D graphics cards, and will later be updated to also support the G4's Altivec unit, as well as graphics cards with built-in geometry processors.

The movies will be done using the Smacker video codec. We considered doing our own video stuff, since there is no original Amiga version of Smacker, but decided that we would not achieve the same excellent results as Smacker, at least not in the given time frame. We therefore licenced Smacker from RAD Game Tools, and the porting is currently in the works.

 

Client/Sound

No work has been done on the sound support yet. We do not expect too much difficulties here, since Hyperion's upcoming sound library will provide a very flexible interface which will incorporate many of the features of EAXTM and DirectSound3DTM, so the sound system will be very straightforward.

 

Client/System

Input and system specifics not mentioned above are currently under investigation. No problems are expected, though.

 

Dynamic Linking

Hyperion has developed a dynamic linking model that is very close to Micro$oft Windows' DLL mechanism. Since the shared library model under AmigaOS is radically different than the model used on other OS'es, including Windows and Linux, we decided to build our own shared library concept. The current executable already uses this mechanism, and it showed that this works very well.

 


To top of pageBack