TileGamer: Difference between revisions

From OLPC
Jump to navigation Jump to search
 
(12 intermediate revisions by the same user not shown)
Line 3: Line 3:
{{olpcboxbottom}}
{{olpcboxbottom}}


== TileGamer: Make Your Own Games ==
== Virtual Environment Construction Set ==


Welcome to the OLPC wiki page of [http://www.tilegamer.com 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!
[http://www.vecsworld.com Vecset] is a software tool used for creating multiplayer games, such as
board games and animated games. There are 2 versions of Vecset: a Windows version, and a scaled-down
version for the XO Laptop. The Windows version will be implemented in Java, and the XO version will
be implemented in Python. The Windows version includes a built-in scripting language called Vecscript, and enables users to play games over the Internet (in their web browsers). The XO version uses Python as its scripting language, and users cannot play games in their web browsers. Instead they can play games with other nearby XO users, over the wireless network.


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.
=== Older Versions of Vecset ===


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.
Vecset is an evolution of an earlier project, [[Treenimation]]. The XO version of Treenimation was called [[Boardwalk]].


=== Project Status ===
=== Older Versions of TileGamer ===


TileGamer is an evolution of 2 earlier project, [[Treenimation]] and [[Vecset]]. The XO version of Treenimation was called [[Boardwalk]].
I am [[User:Mikehahn|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 ==
=== Join TileGamer ===


TileGamer is a very ambitious project. I could really use the help of the OLPC Developers' community to pull it off. If you're interested, please visit [http://www.tilegamer.com TileGamer], and click on OLPC Links > TileGamer > Implementation Plan > Help Wanted. At this point, the implementation phase of the TileGamer project is in its infancy. Hopefully I can ramp it up and actually start writing code in the weeks and months ahead.
=== Board Games ===

Drag-and-drop board games are constructed out of 5 basic components:
#Card, such as a playing card or chess piece
#CardStack, a stack of Card objects
#BoardGrid, such as a chess or Go board
#RackGrid, a collection of CardStack objects arranged in a row (or column)
#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
[http://www.vecsworld.com Vecset] web site, and then peruse "Vecset for the XO" for some background. 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.


[[category:software]]
[[category:software]]

Latest revision as of 07:12, 20 May 2009

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 TileGamer

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

Join TileGamer

TileGamer is a very ambitious project. I could really use the help of the OLPC Developers' community to pull it off. If you're interested, please visit TileGamer, and click on OLPC Links > TileGamer > Implementation Plan > Help Wanted. At this point, the implementation phase of the TileGamer project is in its infancy. Hopefully I can ramp it up and actually start writing code in the weeks and months ahead.