Blog! Team! Forum! About Apricot! Press! Gallery! Development! Yo Frankie! Apricot Open Game Project mee!


Improved Toolchain Overview

  • Green dot: achieved targets
  • Orange dot: todo

Blender integration work

  • User defined objects and window types
  • External engine realtime preview
  • Improved, generic id property editor
  • Generic node editing system for shaders, animations, logic

Blender as a game editor

  • Improved view navigation on large maps (Campbell)
  • Border zoom in perspective mode (Campbell)
  • Better placing of object, dropping them onto ground, and alignment.
  • Factory list for instancing assets
  • Optionally make appending from blend files reuse existing datablocks (matching name or content comparison)
  • Automatic naming for datablocks
  • Support groups with a center location other then (0,0,0) (Campbell)
  • Object coloring
  • Improved work flow for light mapping whole levels (and preview them without much effort)
  • A better way to preview an action (without setting start/end frames)
  • Projection painting
  • Tool for transferring UV’s from high poly to low poly models
  • Loop selecting in the UV window (Brecht)
  • UV stretch display (Campbell)
  • Antialiased baking
  • Alpha baking & margins ignore unmapped parts of the image (Campbell)
  • Refresh changed more then one images without reloading the blend files.
  • Reload a library without reloading the entire blend file.
  • A way to keep track of your polygon budget
  • Improved memory efficiency for undo (Brecht)
  • Display normal/specular maps in Blenders 3D view
  • Shadows in the 3D view.

Blender Game engine

  • Logic states (“State engines”) with smooth switching
  • Integrated Material system (3D view, rendering, game player)
  • Multilayer texture
  • GLSL support
  • Full support for Blender character animation tools
  • Shape key and drivers support
  • Scene switching, file loading via game logic
  • Stand alone Game Player binaries
  • Speed optimizing
  • Several new logic bricks and physics support features


  • Final logic editor
  • Animation editor
  • Animation preview
  • Material preview


  • New animation system
  • New render manager
  • Mesh scaling support
  • Shaders: cool effects, weaver, cleaning /shader/ dir
  • Goal “Big Seamless World”
    • Imposters
    • Region unloading
    • Background loading
    • Adapt sueastside’s tiling to 3D


  • New component model.
  • Quest extensions.
  • Newcamera
  • Actormove
  • Billboard
  • Entity runlevels
  • Renaming

How Developers can Contribute


Stuff you can do now!

  • Improved navigation on large maps
    At the moment there is no simple way to “Move Forward”, “Look left” or look at the area under the mouse. Blenders current navigation is limited because it uses a center point that you can orbit around and change zoom in and out from (but not past), this only works well for a scene centrally located objects. Current workarounds are to select an object and “View Selected” to move the view center to a new object.FlyMode (Shift+F), is a very general way of moving about a scene, it is not ideal for a game where you would often want to constrain to the ground, and move at a constant speed.

    Ideally these improvements fit in with blenders current view navigation methods, rather then adding a new mode or interface/panel for controlling the view.

  • Transferring UV’s from high poly to low poly models
    Blender already comes with a python script tool for transfusing weights between models.
    A similar tool for UV’s could be written in python or C.
  • Automatic naming for datablocks
    This just needs to name and number selected objects and could also be implemented as a python script to generate names like “prop_001_tree” or “env_004_mesh” with simple templates for adjust to projects conventions.
  • Better placing of object, dropping them onto ground, and alignment.
    We need to be able to place objects on terrain and align objects to the surface of the terrain. This can be done with scripts or through painting objects as particles however it would be much nicer to have a way to do this in 1 step without going through nested menu’s or adding particle systems.

Postponed for further discussion…

We still need to discuss the best implementation for many of the features listed in the overview.

For Blender this discussion takes place on the Blender functionality board and in the #blendercoders irc chat room on – see


In general, Apricot is developed against the “render manager” branch of CrystalSpace. It also needs testing outside the (relatively homogenous) environment of the Blender Institute Awesomeness Development Studio. Check it out from the CrystalSpace SVN repository, build it, run it, and report how well it works.
And there’s lots to do! Bugs, mainly.

  • CrystalSpace uses the depth buffer “the other way round” compared to most of the rest of the world – see
  • There are a number of clipping issues related to shadows.
  • There are some visual glitches related to light selection.

Join the irc chat room #crystalspace also on freenode see – You can also mail Frank directly –

Community WishList

For all, stuff we will really do is being collected under: Development list. This page is more for raw ideas collected from forums: ogre, indygamer, blender and our blog

This page has been moved to the Blender wiki