TileGamer

From OLPC
Revision as of 02:06, 20 May 2009 by Mikehahn (talk | contribs)
Jump to navigation Jump to search
OlpcProject.png Mike Hahn, volunteers welcome!

TileGamer: Make Your Own Games

Welcome to the OLPC wiki page of www.tilegamer.com, the world's most easy-to-use game creation system. Non-programmers can use TileGamer (formerly known as Treenimation) to create multiplayer board games, as well as animated games, and programmers can add functionality to these games. Professional game developers can use TileGamer as a prototyping tool. All users can log on to www.tilegamer.com and play these games inside a web browser, or create their own games, absolutely free!


Games created with TileGamer can be converted into a Java applet and run in a web browser. Simple drag-and-drop games can be put together by non-programmers, and programmers can add functionality to these games. All games are written in a built-in scripting language called Treescript, which resembles Java. The game editor lets you switch between infix mode (like Java) and prefix mode (like Lisp, the default). The game editor compiles Treescript code into Tilegamer Intermediate Language (TIL), which is a text file. The TIL code is then loaded into memory and executed.


At runtime, the end-user runs the Java applet (or compiled Python code in the case of the XO Laptop). The game editor is written in Python, so it will potentially run on multiple platforms, such as Linux and Mac, not just Windows. The "Tile" in TileGamer indicates that most game elements are contained within the cells or tile-stacks of one or more onscreen grids. Also, all animated objects are either contained in a cell/tile-stack, or straddle the boundary between 2 adjacent cells/tile-stacks.

Older Versions of Vecset

Vecset is an evolution of an earlier project, Treenimation. The XO version of Treenimation was called Boardwalk.

Project Status

I am Mike Hahn, the creator of Vecset. So far part of Vecset for Windows has been implemented in Python: the VEC Loader and the initial code that will eventually become the Code Editor. In the very near future I will finish the Python coding, and then translate what I've developed so far (just the Code Editor part) into Java.

User Interface

Board Games

Drag-and-drop board games are constructed out of 5 basic components:

  1. Card, such as a playing card or chess piece
  2. CardStack, a stack of Card objects
  3. BoardGrid, such as a chess or Go board
  4. RackGrid, a collection of CardStack objects arranged in a row (or column)
  5. TableGrid, a more flexible version of a BoardGrid object (not just a plain grid), such as a Monopoly board.

Board Editor

The Board Editor is used to layout the board and attach components to event handlers. The event handlers are coded in Python, using a built-in code editor.

Animated Games

The default user interface is 2-dimensional, consisting of 2 windows side-by-side (split screen). One window is always an overhead view, and the other window is split into 2 windows, one on top of the other: left-side/right-side, or front/rear. All 3 windows are separated by splitters, so it's easy to resize them. Clicking on the point of intersection in the center of the screen resets the sizes of the 3 windows to their default values.

User Commands

The user uses the cursor keys to go forward (up arrow), left, right, or backwards (down arrow). Ctrl+Left Arrow and Ctrl+Right Arrow rotates the overhead view 90 degrees in the given direction. Clicking on an object carries out the default primary user action, and right-clicking on an object brings up a popup menu of choices. Pressing Tab highlights the next command in an onscreen menu. Clicking in the non-overhead view toggles between left/right and front/rear. Right-clicking in the non-overhead view and selecting Backpack (or typing Ctrl+B) displays contents of backpack in the window clicked upon.

Contribute to Vecset

I would like to team up with someone whose main role will be developing the Python/Linux version of the Vecset prototype, and then building on that prototype towards the final implementation of Vecset for the XO Laptop. Anyone interested in taking on that role is encouraged to visit the Vecset web site, and peruse Vecset for the XO for some background. As a full partner in VECSworld.com, your remuneration will be 50 percent of the profits (see Vecset for the XO and click on Python Collaborator).

To dive right in and view the design specs of the Vecset prototype, click on Vecset Prototypes, and for an explanation of how Vecset can make money (the Windows version), click on The Power of Vecset. After all that, if you feel up to the task of turning my design specs into a working activity, please contact me.