Gii is a game development framework.

Gii is mainly written in BlitzMax, a wonderful programming language targeting game creators.
It's designed to be working with Lua, a simple yet powerful scripting language.

The design of Gii is greatly affected by Unity3D , which is one of the most popular game authoring toolkit nowadays.
Like Unity3D, Gii uses a component-based mechanism, and features a powerful scene editor.

The main features of Gii is listed below:

Framework Feature:

  • signal style programming support
  • tree hierarchy object management
  • object layer support
  • object & asset tag support
  • tree hierarchy asset management
  • json/lua(compiled/plain) object persistence, customizable through metadata
  • full object hierarchy clone
  • prefab support
  • cross-platform support: Win32/Linux/Macos
  • Unicode

Editor Feature:

  • Common:
    • preview within editor. Support suspend & step over.
    • Object editable in preview
    • customizable asset importer
    • automatic asset reimport when file get modified
    • child assetnode can be created for package asset type
    • editor canvas base support
    • selection base support
    • undo/redo base support
    • WxAui based dockable/persistable UI
    • easy menu/toolbar item creation
  • Object property editor:
    • generate from metadata or customized
    • builtin field editor: Int/Float/String/Color/Bool/Object Reference/Enumeration/Bitflags
    • generic table editor (Hashtable, Lua Table)
    • prefab modification affects instances instantly
  • Other:
    • hand-crafted icons/cursors
    • console supports script execution

Sub Systems:

  • Common:
    • Tree hierarchy transform
  • Lua:
    • OO style code
    • Bmax object exposure through Nilium's LUGI
    • Lua object/table edit/persistence/copy through virtual reflection
    • Lua method invoking through signal
    • Automatic script reload when modified
    • wxScintilla based script editor, with project/debugger support (wip)
  • Max2D
    • OpenGL based.
    • Camera supports perspective projection
    • Grid based culling
    • Image / AnimSprite / TextBox
    • Particle: builtin/ Magic Particle
    • Sprite animation assembler
    • PSD import through libPSD
    • Transform editor handle
    • Selection/Navigation tool
  • GUI (wip)
    • Hybrid api (IMGUI/RMGUI)
    • Skinnable
    • Builtin Scheme/Style Editor
  • Box2D:
    • Body/Shape/Joint
    • PhysicMaterial
    • Builtin shape/joint editor
  • Audio:
    • 2D Sound
    • 3D Sound Listener/Emitter
    • IrrKlang driver
GlossyBlue theme adapted by David Gilbert
Powered by PmWiki