see IncorporateAndReusePartsOfWorldFoundryInTheNebulaDevice for my (still in-progress) analysis of reuse of WorldFoundry low-level parts and libraries

this page describes WorldFoundry reuse from the top down. it's a combination of ideas from world foundry, code from world foundry, and ideas and requirements for a future version of the game framework called WorldFoundry. also, i suppose there are bits which could be considered a project PostMortem.


  • automated build system
  • * fine-grained control of final .exe output (especially important for consoles)
  • ** can lead to an explosive combination of output build types (not that you would build them all); also mitigated by nebula device's dynamic linking (NOTE - Nebula2 does away with dynamic linking and only supports static linking) true, and what i'm interested in supporting is static linking and corba bindings (don't care much about the dll linking?)
  • * including test suites
  • * including build plugins/scripts for level editor
  • new system uses tnd's stuff + perl scripts + cvs (verify and convert data assets when checked in)
  • need to add test suites and framework
  • todo: anyalze use of DesignPatterns at the workflow level of abstraction

level editor

      • editable/definable object properties
      • simple 3d manipulation at the object level (scale, rotate, translate, etc.)
      • optional grid system
      • object libraries
        • see also asset management
      • pluggable import/export? (not required?)
      • provide generation of level data programatically
        • i have level files that i generated from perl scripts, and level files that contain embedded perl
        • objects (and especially library objects) need to be able to have code attached
      • level editor is not a plugin package to a 3d modeling and animation package, but is a stand-alone tool
        • may be able to use/reuse parts of blender?
        • other people may want to create plugins for maya, max, lightwave, animation master, blender, etc. so it should be possible (define good interface)
      • should be able to embedded into the game easily (or standalone)
      • need grouping/bundling/composition (how to express DesignPatterns visually?)
      • analyze DesignPatterns in a level building (construction, editing) context



gui for editing attributes (properties) on game objects in the level editor
  • definitely need one of these
  • data format to be xml
  • needs to work in a variety of windowing environments (not only unix (gtk+,qt,tk,...) vs. win32, but also (possibly) the maya windowing environment, or max, or (especially) TheNebulaDevice


from a bitmap file, generate output of regularly-sized bitmap tiles and a (character/tile) map to describe what is where (on a 2d grid)
  • update to use a standard image loader library (like textile)

visual xml editor

desperately needed there was this program called conglomerate which looked like a pretty cool xml editor (but the project has disappeared); i may have a backup copy somewhere (i'll look for it)--not that we could really use the code directly

(I've used mlview a little; it seems promising.



used for evaluating algebraic expressions (including variables) at run-time deprecated
  • class for defining interface easy eval interface
  • * use perl
  • * use lua if you don't care about all that perl stuff or need something more lightweight (about 50k, i think?)
  • corollary benefit: use the scripting language to parse configuration file(s), too


designed to stream assets off the cd (consoles)
  • wfbind - new nebula filesystem class which reads assets from a .zip file appened to the executable? (probably two classes)
  • will need to consider internet distribution (and other networking; see elsewhere)


  • programming: doxygen, cvs
  • development: wiki, bugzilla
  • graphs: graphviz for doxygen graphs; dia for others (but should switch to graphviz for all)
  • also add: irc channel
  • also add: project management (scheduling, ...)

game framework

see also AnalysisOfActorClass

see also DeprecatedToolList for info on old tools including suggested replacements

  • should be moved to a new project on sourceforge (like developer resources' tools)
Topic revision: r1 - 10 Jul 2003, WillNorris;
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback