flipCode - Tech File - Conor Stokes [an error occurred while processing this directive]
Conor Stokes
(aka DirtyPunk)
Click the name for some bio info

E-Mail: cstokes@crytek.com
http://www.claustrophobe.8m.com



   04/25/1999, Claustrophobic Irony Level Loading and Manufacture


Funny how this is one of the most neglected subjects on the net. No ones seems to have covered some different techniques to simply entities and compilation.

But Claustrophobic Irony is different, it has been called a "next level" engine, because of the planned features it will support. I have been designing the engine for a bit, and have for "finally" moved to code (I have actually moved to code before, but stopped, and realised that something better is available. But CI is near close to the peak for now). It also will handle it's levels nearly totally different to any engine I know of.

As mentioned, in the news on my page, I will be compiling my levels into .CPP files, in OCTREE form, using my native geometry classes. They will then be compiled to .DLL files, or whatever, depending on the OS. The important thing about this, is that using my pluggable .DLL system, I can load normal CI levels, or Pluggable imported files or whatever. I can also add new geometry features directly into a level using a loop call back for LOD and such.

In fact, having this method means I can create backwards compatable file types, and just add extensions to support new features. Say a new type of curve, or trigger, can be compiled directly into the .DLL. Triggers and level hooks also exist in machine code, so they can happen much faster.

Also, no parsing has to occur at runtime, which in many cases will speed up load time. Also importantly, more than one level can be compiled into a .DLL, and switched rather quickly. This means that games such as hexen 2, which switch levels rather often, wouldn't always be hampered by the "loading" signs. It would also enable multiplayer-multilevel games to occur, with an accurate server system.

But before being in .CPP, they will probably be in a simple ascii or binary format... I was going to use quake .map files, as they are very easy to handle, but instead I decided that it would be better to use my own level format, as .map, although very widely supported, and easy, has many limitations that do not exist in CI. Also, it relies on that crappy system of sub-spaces which IMHO is far too restrictive. CI will allow for fully free triangle + convex polygon world, and there for is not suited to such worlds. Also, most free ware modellers, which do support this are not that great. So, I will create my own modeller which will support both CI models and levels. Models being different, as they have a skin, instead of multiple textures.

This demonstrates my points, that A) It is best to make a level format, or use a format that suites your engine, especially one that doesn't add limitations that your engine doesn't have B) Don't be afraid of doing something different and C) Innovate, and see if you can use your level file format to add features, not detract.





  • 12/29/2000 - Techfile From Somewhere Different
  • 10/10/2000 - Some Fun, And A Cameo Appearance
  • 08/10/2000 - Déjà vu - And I've Done It Before
  • 07/08/2000 - Various Loose Ends To Hang
  • 05/15/2000 - The Way To Hit A Ball With A Bat. Or Not
  • 03/28/2000 - The Fine Art Of
  • 02/13/2000 - A Life Time of Learning, Teaching and Eating M&Ms
  • 12/09/1999 - Strangeness And Wondering If You Are Taking Innovation A Tad Too Far
  • 11/12/1999 - How to Break Exam Tension? Update Your Techfile
  • 09/14/1999 - Lots of Ramblings, personal things and comments on why SNFU
  • 08/23/1999 - Trials and Tribulations of Being Cerebrally Defunct
  • 07/29/1999 - Quick Update about Stuff and Things
  • 07/25/1999 - I'm Back Baby
  • 07/01/1999 - Is it so? Or am I just a Psycho Babbling Mental Hobo, who's Brain has No Home?
  • 06/25/1999 - Another Couple of Things
  • 06/17/1999 - I Am A Naughty Little Boy ;( But I Have A Way To Make Up
  • 06/16/1999 - What the hell? A new data structure for visibility? I don't know, I haven't heard of it.
  • 06/05/1999 - A Little Right Brained
  • 05/12/1999 - A Couple O Things
  • 05/08/1999 - Pre Computable Nice Visibility Sets
  • 05/04/1999 - More on Volumetrics
  • 04/30/1999 - Generic Update
  • 04/27/1999 - Spherical Volumetric Rendering (Mapping)
  • 04/25/1999 - Fractal Curves, Emulation Of Nature
  • 04/25/1999 - Claustrophobic Irony Level Loading and Manufacture
  • 04/24/1999 - Visibility Ramblings
  • 04/21/1999 - Why Software Rendering Is Not Dead
  • 04/17/1999 - Optimizing For Specific 3D Hardware

  • This document may not be reproduced in any way without explicit permission from the author and flipCode. All Rights Reserved. Best viewed at a high resolution. The views expressed in this document are the views of the author and NOT neccesarily of anyone else associated with flipCode.

    [an error occurred while processing this directive]