see Incorporate And Reuse Parts Of World Foundry In The Nebula Device for my (still in-progress) analysis of reuse of World Foundry low-level parts and libraries

this page describes World Foundry 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 World Foundry. also, i suppose there are bits which could be considered a project Post Mortem?.

process/workflow

  • 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 Design Patterns? 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 Design Patterns? visually?)
      • analyze Design Patterns? in a level building (construction, editing) context

tools:

attribedit

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) The Nebula Device?

chargrab

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. http://www.nongnu.org/mlview/)

libraries

eval

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

distribution

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)

documentation

  • 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 Analysis Of Actor Class


see also Deprecated Tool List for info on old tools including suggested replacements


playstation-specific: disr3000 link psxdisc psxprof spawn new project

  • should be moved to a new project on sourceforge (like developer resources' tools)
Topic revision: r1 - 10 Jul 2003 - 19:07:59 - Will Norris;