After much work, I have hit an alpha stage on my 3D engine, which will
be the core of a first person shooter I'm developing as a demo reel
(when I complete my CS degree, I hope to go into the game industry),
that will be freely distributed, and after 6 months, the source code
will follow. (I will not be releasing the source code right away
because of an anti-cheat/hack technology I've developed, and that
technology will be spun into an cross-platform API, and removed from the
main source package).
I'm not going to bore you with the details of the whole theme, but the
basic idea is to build a hyper-realistic first-person tactical shooter,
with more emphasis on team-work, tactics/strategy, and problem-solving
than raw twitch-oriented deathmatching. It tracks statistics, and
players actually earn "cash" of a sort that they can upgrade weapons,
armor, equipment, etc., which follows them from session to session
(following a persistence, which means that if the weapon/armor/equipment
is exhausted or destroyed, it is gone forever).
The alpha client is a native Linux app, although a lot of pain and
effort has gone into reducing the number of core libraries required to
run it, to streamline the porting process (right now, it only requires
FMOD for sound, and OpenGL, which means that it can be immediately
ported from Linux to Windows or Macintosh. Theoretically, it could also
be ported, with some small work, to Gamecube and PS/2 (I say this only
because I know that FMOD exists for both of those platforms, as well as
OpenGL).
It aims for complete Quake 3 compatibility, and (currently) has these
features;
* BSP and PVS Support
* Collision Detection (with normal faces + bezier patches)
* Complete Quake 3 Arena shader support
* Lightmaps
* Vertex Deformations
* Cloudbox (nearbox) and skybox (farbox) support
* Volumetric Fog (fast)
* Bezier Patch Surfaces (with LOD support)
* Multiple Viewports (but Portal rendering is not complete)
* Quake 3 -style console
* Record/Playback support for Demo Recording (DM3 format not supported)
* Background Music, 3D Sound
* MD3 Models (with animation)
* World Entities (with LOD support)
* Support for Zip packages (ala PK3)
Future (in development) features include;
* Networking Support (barely begun, converting GPL lib)
* Anti-Cheat/Anti-Hack Technology (almost done)
* Half-Life/Counter-Strike Model and Animation Support (almost done)
* Voice Chat (voice-over-IP)
I am shooting for an early February release, but, of course, many things
could push that back.
Just a little update on what I am doing,
David