Treenimation

From OLPC
Revision as of 14:52, 21 October 2007 by Mikehahn (talk | contribs)
Jump to navigation Jump to search
OlpcProject.png Mike Hahn, volunteers welcome!

Treenimation is a software tool used for creating web-based (real-time), multiplayer board games (as well as email-based board games). Subsequent versions of Treenimation will add support for games with 2D animation, and ultimately 3D animation. Treenimation includes a powerful yet easy-to-learn object-oriented scripting language called Treescript.

I am Mike Hahn, the creator of Treenimation. I have recently finished programming in Delphi the first Treenimation module to be implemented: the TIL Loader. I am currently learning the Python programming language. When I feel more comfortable programming in Python, I intend to translate the TIL Loader into Python, and implement the rest of Treenimation in Python. Visit my blog for a play-by-play account of the process of implementing Treenimation.

Easy to Learn

Treescript, which is the built-in scripting language included with Treenimation, is at once powerful enough for professional game programmers to use to develop Treenimation-compatible game prototypes, yet so easy to learn that XO Laptop users (even children) can use it to learn how to program simple games, with only minimal intervention by an adult instructor.

Language Features

  • Operators precede their operand(s)
  • Optional infix mode for experienced Python/Java programmers
  • Structure Editor mode eases code entry for newbies
  • Type a question mark (?) at any time to display a context-sensitive popup menu of valid code choices
    • This feature disabled inside comments and string literals
  • Stepping-stone to learning Python programming:
    • Start them off in prefix mode (operators precede their operands), and later switch to infix mode (binary operators go in-between their operands)
  • RAD-style program development, in which user selects game components from a component palette, and edits their design-time properties
  • Game Editors:
    • Board Games (static)
    • Level Editor (animated)
    • Vector Editor (a vector is an animated/static object, which may be composed of other vectors)