The Road So Far


#1

Originally published at: https://grangerhub.com/blog/the-road-so-far/

Quick introduction.

My name is Dušan Jocić and I am the original developer of the OpenWolf engine.
The agreement I have with GrangerHub is to provide a game engine for development of future versions of Tremulous.

Current process

With this milestone, engine is capable to compete with many other GPL and commercial engines.

Pure engine capabilities.

  • Only 64bit versions of the operating systems are supported.
  • MySQL database support. Engine sends and writes game statistics to the master MySQL database. With that, it would be much easier to create PHP based webpage where players can see their progress and statistics.
  • Engine<->HTTP interaction. Engine has capability to interact with any web based pages.
  • Full support for the Razer Hydra motion and orientation detection game controller.
  • Auto-update system. Easiest way for everyone to update game client. With opening game, engine check if there is a new version, if there is, it will show message and the client can download and install new version.
  • Maps are compiled with custom and new Q3Map2, what is generating ".world", ".cm" and ".bullet" files now.
    • Maps are compiled with a new BSP number, and the extension is not ".bsp" anymore. it's changed to ".world".
    • Collision model support. New map file. Whole map collision is stored in a new ".cm" file.
    • Bullet physics support. Engine expects ".bullet" file where which contains the entire physics serialization.
  • PK3 files are gone with the wind and new are replaced with the PAK files which have better compression.
    • All assets and maps are compressed differently then other forks of the idTech3 engines, and with that you cannot simply copy-paste it from other games and try. New compression is much better then old ZIP.
  • AI. There is support for the AI inside the engine and the gamelogic, just it is a basic support. Don't expect much from them at this moment and now.
  • Multiple language in-game support (support for other languages).
List of engine GPU features and capabilities. Graphical features - Anamorphic blur, Bloom, Bokeh blur, Depth blur, Depth of field, Dynamic lighting, FXAA, Gaussian blur, Lens flare, SSAO (Screen space ambient occlusion), SSGI (Screen space global illumination), HDR (High-dynamic-range) with Tone mapping and auto-exposure, PBR (Physically-based rendering), Vibrancy, HDR lightmaps, Cascaded shadow maps, Texture up-sampling, GPU vertex skinning ...
  • There is a initial support for OpenCL.
    • Engine is reading ".opencl" files from the "renderWorkerProgs" folder.

 

All photos are taken on (and at time of writing this blog) with the current source code of the engine.

The source code is on the GitHub and reader of the post can have a sneak-peak there.

Shader and textures for this map (map-UTCSUD_1.3_1.1) what is presented here need to be changed and rewritten by someone who is much better then me.

Plans for the next milestone version of the game engine:

  • Oculus VR support. Already exist some code and some build of the engine with Oculus VR, just at this moment it is not published on the GitHub page.
  • New model format. There is already MD4 (name can be changed) support. It's a export plug-in for the Maya application. Assets creator can create model inside the Maya application and export it to the format what engine can read. In the current milestone version, all models what are exported from the Maya are Bullet physics friendly and are controlled via Bullet physics.
  • Multithread parallelization here and there inside the code.
  • Full Bullet physics integration inside the engine.
  • Integration with https://www.stomt.com/ for collecting feedback in-game and building a community around that feedback.
  • Sound system is buggy at this moment and it will be replaced with something new and better. Personally I wanted to do it with FMOD or with some other sound library.
  • AI. Personally I would like to see "Omni-bots" support for the Tremulous video game.
  • GLFW as a replacement for SDL 1.2 (what is currently in the source code).
  • Updated network code with support up to 96 (32 players per team) players per server and per map. (or 84 max players - 24 players per team).
Plans for the next milestone version of the game logic: I don't know what GrangerHub is doing with the game logic, but I can write only about my plans at this moment.

I wanted to introduce new and unique (because they are never presented) gameplay changes to the Tremulous.

  • Objectivity based maps
    • Both aliens and humans have several map objectivity to complete in order to win. Idea is simple.
  • Map script system.
  • Full Bullet physics integration inside the gamelogic.
  • Introducing the third team inside the game. I can elaborate this...
Map creation and map compiling.
  • Custom version of the GTKRadiant level editor and Q3Map2 compiler.
    • Q3Map2 and Radiant are updated and they are supporting Bullet physics along with other updates what are unique for the new engine.
Wishlist:
  • I would like to remove and to replace all MD3 (old assets formats) inside the game and to replace it with models what are based on the IQM or with the new MD4 (models what are created with the Maya application.)
  • There is some code for other platforms (iOS, Android, Linux, MacOS ...), but at this moment only 64bit version of the Windows is supported. Linux and Mac builds are broken at the moment.
    • Support for the iOS and Android isn't pushed at the GitHub because I would like to see Linux and MacOS be fixed first.
  • Single player campaign.
If needed I can elaborate (full explain) and document everything what I wrote here.

#2

This sounds insanely great, im very curious to see this in action.

One thing i might want to request is collada or even assimp support so people can use more standard model formats instead of having to fight with converters and such.