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.
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 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
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) TheNebulaDevice
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
AnalysisOfActorClass
see also
DeprecatedToolList 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)