Projects

September 7th, 2010

Note: This version requires DirectX 9.0c. Requires a video card that can run shader model 2.0 such as Geforce 6800 / ATI Radeon 9800 Pro or better. You might also need to download the latest June 2010 end user runtime or SDK

Click here to download Godz Tech Demo Build.

Has asynchronous collision detection & response, cascade shadow mapping (uses 3 1024×1024 shadowmaps) + Variance Shadow Mapping for Soft Shadows, asynchronous content streaming, asynchronous bot AI & pathfinding via Navigation Meshes, C# Tools Editor, and uses a multithreaded renderer. All shadowmap parameters are exposed to Default.lua config file.


Scene: godz_city

I’ve been working on this project for a pretty long time now when I get the free time. It features many cutting edge technologies such as dynamic lighting, skeletal animation, multithreaded rendering, bone collision (via collision volumes), collision detection, a custom exporter for 3D Studio Max, and a few other cool things.

Currently, GODZ uses DirectX 9 for rendering and octrees for spatial organization. The engine can work with two different types of objects- polygon soups (uses AABB Trees for collision) and reusable models that can use either AABB Trees or AABBs for collision.

The engine uses the LUA scripting language for configuration. Config files are very flexible- allowing options to be configured within tables. These config files do not have to be compiled, allowing users the flexibility to define realtime parameters without worrying about compilation. The engine also uses config files to specify which plugins to load. For instance, the config file declares which renderer to use.

Scene editing can be performed using an Editor built using C# and .NET library.

The editor includes class and mesh browsers. The mesh browser allows users to import content from other formats (such as DirectX, .ASE, or .GSA) and serialize the data to the GODZ package format. Within the mesh browser, you can edit the properties of the mesh in realtime. You can group different meshes into the same package, specify it’s bounding box, draw offset, etc.

The editor also includes a Level Editor that allows actors to be moved around, edited, etc. The Levels, actors, and other data are all stored into a SQL Server database. Everything is setup to support a team of individuals working concurrently on the same Level. Because GODZ uses a database, we can perform atomic locks at the entity level if required. This way other users are free to update other areas of the same Level concurrently.

The engine uses it’s own custom skeletal animation system that I built from scratch. Currently the engine is optimized to perform both software and hardware skinning, so you can blend any number of bones per vertex (if using software mode). If using GPU Skinning, you can blend up to 4 bones per vertex. However, no matter which skinning method that is used, any number of bones can be handled by the engine. Some of the characters in the tech demo use up to 53 bones.The GODZ engine includes a skeletal animation exporter for the latest version of 3D Studio MAX.

The Engine has the ability to associate collision volumes per bone. The artist can create the collision volume in 3d Studio Max and associate the volume with a bone. The engine can use the volumes to detect collisions.

Engine uses parallel split shadow mapping algorithm for shadow mapping which works really well for large virtual enviroments. What PSSM does is split the view frustum into a number of splits using various algorithms.


 
Just to give a sense of scale- try to find my character in this scene…


 
We can still get very nice detail on characters in large scenes & cast local shadows
Engine Features:

  • Advanced RTTI System (classes can be loaded by name like MFC/Java)
  • Uses both static and dynamic octrees
  • Parallel Split Shadowmaps
  • Automatic Serialization support for Game Entities
  • Uses AABB Trees for static meshes
  • Dynamic / Per Pixel Lighting
  • LUA 5.0 Scripting System Intergration
  • Abstract Rendering Device
  • Flexible Scene Management System
  • Skeletal Animation
  1. Matt
    April 1st, 2008 at 14:52 | #1

    Hi,

    I downloaded the GODZ tech demo, which is very nice so far, but the unzipped folder that’s created keeps reappering after I delete it. I’ve checked for virus/malware using Norton360 and Spyware Doctor, I’ve disabled System restore, and tried deleting it in safe mode. If I try to change the folder from read-only, it still says it’s read only. I’ve been searching for a while now for how to get rid of the folder with no luck.
    Do you have any idea why this is happening? Do you know how I can get rid of your folder?

    thank you

  2. April 3rd, 2008 at 18:30 | #2

    Sorry to hear that Matt I would suggest scaning your hard drive and make sure you dont have any corrupt sectors. I’ve never really seen such an issue myself though but it sounds like your hard drive might have a corrupt volume.

    Well let me know…

  3. April 4th, 2008 at 19:24 | #3

    Okay I think I know what your problem is. If you’re running Windows Vista and if you allow it to install the files into a directory where you dont have permissions then msot likely the service that unzipped the files has control. You want to search Google how to gain access to the permissions yourself to remove the folder or delete the files yourself manually

    It’s a ‘feature’ of Windows Vista I encountered this same problem with EVE Online AppData folders. Google for ‘AppData’ for solutions

  4. RiptoR
    January 18th, 2009 at 04:53 | #4

    Glad to see you’re still updating the engine. I’ve been following the development ever since the first GODZ mod was released :)

  1. No trackbacks yet.