The Goal: To create a 90%-compatible BotF clone, using the original data files from STBOF.RES, and featuring the original gameplay. Certain things like networking will not be compatible with the original.
It is written in standard C++ using only OpenGL and SDL for graphics, sound, and networking. This means it will natively run on Linux, Windows, and Mac OS X, at the very least.
I've been mostly working on the underlying libraries. What I've done so far:
- Code for reading many of the files from STBOF.RES, e.g. Lexicon.dic, WDFs, HOBs, etc.
- The basic GUI library (buttons, scrollbars, text rendering, etc.).
- Basic Galactic Map functionality.
- Loading HOB files as 3D meshes and rendering using OpenGL.
- Some of the game's basic data structures (StarSystems, Planets, etc.)
- Loading data from SAV files.
Here are some screenshots to whet your appetites for what is to come (some of these screenshots are old, so it looks better now):
The basic GUI library is almost finished (everything is interactive). You can't see the button glow effects here, but they work
It's also fully hardware-accelerated using OpenGL, and supports alpha-blending.
Sector rendering on the galaxy map: You can click on sectors to select them, or double click to take you to the star system screen.
The HOB loader reads HOB files and translates them into standard triangle meshes, again fully hardware-accelerated.
Luckily, the HOB files store the polygons using counter-clockwise winding, meaning we can support backface-culling - notice how you can't see the back of the ship in this wireframe shot:
It also supports alpha-blending, for the ship cloaking effects (cloaked sovereign):
It supports multi-textured HOB files (this HOB uses 5 textures):
I'll keep you guys informed of my progress. I'm hoping to have a very basic playable prototype over the next week.