<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2635430090541537765</id><updated>2012-01-20T22:08:33.194-05:00</updated><title type='text'>Treenimation / VECSET</title><subtitle type='html'>A better way to create games</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-5409163781233379196</id><published>2008-10-28T20:17:00.003-04:00</published><updated>2008-10-28T20:28:36.443-04:00</updated><title type='text'>Vecset Prototype</title><content type='html'>&lt;span style="font-family:verdana;"&gt;I recently completed the design specs for the &lt;a href="http://www.vecsworld.com/"&gt;Vecset&lt;/a&gt; prototype. The next step is to finish debugging the Python code which I wrote some weeks ago, and that code will someday be the Vecscript code editor. When that's done I intend to post to the OLPC mailing lists (games and devel), advertising that I hope to team up with a Python programmer. That programmer's main role is to develop the Linux version of the Vecset prototype, and then building on that prototype to implement Vecset for the XO Laptop. While that programmer is working on the prototype, I will be developing in Java the Vecscript compiler (Vecscript is the built-in scripting language of the Windows version of Vecset). When the prototype is finished, I will translate relevant portions of that code, developing the Java/Windows version of the prototype.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-5409163781233379196?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/5409163781233379196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=5409163781233379196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/5409163781233379196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/5409163781233379196'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2008/10/vecset-prototype.html' title='Vecset Prototype'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-5219608117345086016</id><published>2008-10-09T17:17:00.006-04:00</published><updated>2008-10-09T17:38:05.766-04:00</updated><title type='text'>Vecset for the XO</title><content type='html'>&lt;span style="font-family:verdana;"&gt;This evening I intend to post a new project announcement on the OLPC Games mailing list for &lt;a href="http://www.vecsworld.com/"&gt;Vecset&lt;/a&gt; (which used to be Treenimation). That mailing list is subscribed to by developers of games for the XO Laptop. One Laptop Per Child (OLPC) is manufacturing millions of $175 XO Laptops for schoolchildren in developing countries. A scaled-down version of Vecset will be compatible with the XO Laptop. This version will use Python instead of my own Vecscript as its built-in scripting language, and will not support playing games over the Internet. You can still play multiplayer games with other nearby XO users, over its wireless network.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;This weekend I intend to finish debugging my Python code for what will someday become the Vecset Code Editor, and then start translating it into Java. I'm a newbie when it comes to programming in Java. I'm most comfortable programming in Delphi, and I learned Python programming a few months ago.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-5219608117345086016?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/5219608117345086016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=5219608117345086016' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/5219608117345086016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/5219608117345086016'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2008/10/vecset-for-xo.html' title='Vecset for the XO'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-8771423673258524853</id><published>2008-09-20T04:46:00.004-04:00</published><updated>2008-09-20T05:08:35.125-04:00</updated><title type='text'>Java</title><content type='html'>Today I installed Java (which is free) and created my hello-world app (newbie tip: a "hello world" program is the simplest possible program, which simply displays a message chosen by the programmer and contained in the "hello world" program).&lt;br /&gt;&lt;br /&gt;I like Java and I'm going to use it instead of Python to develop Vecset for Windows. Vecset will not run under Linux and will not run on the XO Laptop. Vecset will be closed source, not open source.&lt;br /&gt;&lt;br /&gt;If Vecset is successful, I hope to sign up at least 1000 paying members/gamers, each of whom pays $15/year, and at least 200 paying members/developers, each of whom pays $30/year: gross income = $21,000/year or $1750/month.&lt;br /&gt;&lt;br /&gt;Only gamers who are members can own real estate in Vecset World, and only game developers who are members can have customizable game rooms, located in the game building of their choice (game developers who are not members get the default game room in the default game building). Gamers who are members can store stuff, such as game-related info, in their virtual homes.&lt;br /&gt;&lt;br /&gt;Anyone can roam the streets, buildings, and game rooms of Vecset World, logged on as a guest. Also, guests can kibitz games in progress. To play a game, you must register first, entering your name, email address, and screen name. You don't need to download anything to play games, as all games run in your web browser. To create games, you must download the Vecset IDE (game editor).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-8771423673258524853?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/8771423673258524853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=8771423673258524853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/8771423673258524853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/8771423673258524853'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2008/09/java.html' title='Java'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-6889781808446129479</id><published>2008-09-15T18:08:00.008-04:00</published><updated>2008-09-15T18:28:37.518-04:00</updated><title type='text'>VECSET</title><content type='html'>&lt;span style="font-family:verdana;"&gt;The Treenimation project has a new name: Virtual Environment Construction Set, or &lt;/span&gt;&lt;a href="http://www.vecset.net/"&gt;&lt;span style="font-family:verdana;"&gt;VECSET&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;. When the development of Vecset is completed, users will be able to play games created using Vecset in their browsers. Users of the XO Laptop will also be able to play games with other XO Laptop users using its wireless networking capabilities.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;The next steps in the development of Vecset are as follows:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Finish debugging the newly added classes in the Code&lt;br /&gt;Editor&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Upload Python source code to Vecset.net&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Write an OLPC wiki for Vecset&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Apply to OLPC for project hosting&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Post a help-wanted notice on the OLPC Games mailing list&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Continue implementing the Vecset shell&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;strong&gt;New Vecset Business Model:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;Everyone can play/create games for free. Those who elect to become members (paying $15/year, or $30/year for game developers) can own places to live (and store game-related info) and customizable game rooms. Game developers who are non-members get a generic game lobby, located in the default game building (depending on its genre), and they can't customize it very much. So Vecset is a lot like Second Life.&lt;br /&gt;&lt;br /&gt;Unlike Second Life, the outer environment (when the user is not in a game) is 2-dimensional, consisting of 2 rectangular windows side-by-side (split screen). One window is always an overhead view, and the other window is split into 2 windows: left-side/right-side, or front/rear. The user uses the cursor keys to go forward (up arrow), left, right, stop (down arrow), or make a 180-degree turn (down arrow while stopped). Pressing Enter carries out the default primary user action, and pressing Space carries out the default secondary user action. Pressing Tab highlights the next command in an onscreen menu. Clicking the mouse in the non-overhead view toggles between left/right and front/rear. Ctrl+Left Arrow and Ctrl+Right Arrow rotates the overhead view 90 degrees in the given direction.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-6889781808446129479?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/6889781808446129479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=6889781808446129479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/6889781808446129479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/6889781808446129479'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2008/09/vecset.html' title='VECSET'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-7095497395537277828</id><published>2008-02-04T17:22:00.017-05:00</published><updated>2008-03-10T14:11:13.538-04:00</updated><title type='text'>Past, Present, and Future</title><content type='html'>&lt;span style="font-family:verdana;"&gt;I am currently getting down to the nitty-gritty of Python coding (I am a novice when it comes to Python programming). The Treenimation module I am currently implementing is called the TIL Loader. Its function is to take as its input the output of the Treescript Compiler (which is a text file), and to convert it into an in-memory program tree, which can then be processed by the Treenimation Runtime. (TIL stands for Treenimation Intermediate Language.) What follows is a roadmap of where I've been before, where I am now, and where I hope to be in the future, in regards to Treenimation development. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;For newcomers to this blog, OLPC stands for One Laptop Per Child, a non-profit organization which aims to distribute millions of $175 laptops to schoolchildren in developing countries. Each laptop (called an XO Laptop) is Linux-based, includes Python (a free programming language), and comes equipped with wireless, peer-to-peer networking.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;strong&gt;Past:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Design Treescript programming language&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Design board-game components&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Design animation components&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Create &lt;a href="http://www.treenimation.net/"&gt;web site&lt;/a&gt; documenting the Treenimation project&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Implement the Delphi version of the TIL Loader&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Start this blog&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Announce Treenimation project to OLPC Games mailing list&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Purchase XO Laptop ("give 1, get 1": buy a laptop and at the same time donate another laptop to OLPC)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Install Linux on my home computer&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Install Windows version of Python on home computer&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Install PyGTK and Glade on home computer&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Write "Hello, world" program in Python (an ultra-simple program that does very little, but it works)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Modify above program to display the user interface of the Delphi version of the TIL Loader&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Create basic classes of in-memory program tree using Python, for the TIL Loader&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Lay the foundations for the heavy-duty Python coding necessary to implement the TIL Loader&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Implement the core functionality of the TIL Loader&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Temporarily change the page size constant from 1000 to 50, in order to test the multipage functionality of the TIL Loader&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Translate the Delphi code which handles user input of arrow keys (to traverse the program tree) into Python&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Implement the non-core functionality of the TIL Loader&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Update web site: both Treescript and Python can be used to create games&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Install PyGTK and Glade for Linux on home computer&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Port TIL Loader from Windows to Linux (hopefully I can reuse my 3 Python source code files without modification)&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;strong&gt;Present:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Apply to OLPC for web hosting of Treenimation project (application not yet processed)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Advertise on the OLPC Games mailing list the position of Chief Linux Developer, which is basically an unpaid position, but if Treenimation eventually makes money, the Chief Linux Developer will receive 10 percent of the gross income of Treenimation.net&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Write the detailed job description of the Chief Linux Developer, who will implement the Treenimation Integrated Development Environment (TIDE), or code editor, including the design specs of the TIDE, and post it on the Treenimation web site: &lt;a href="http://www.treenimation.net/"&gt;http://www.treenimation.net/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Hire the Chief Linux Developer, Jake Beard&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;strong&gt;Future:&lt;/strong&gt;&lt;/span&gt; &lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Sugarize the Linux version of the TIL Loader, enabling it to run on the XO Laptop&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Work on Treenimation development at least 16 hours/week (6 hours on the weekend, mostly on Sunday, 6 hours on Thursday,&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt; 2 hours on Tuesday, and a total of 2 hours on Monday, Wednesday, and Friday evenings)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Implement the Treenimation Runtime&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Implement the Treescript Compiler&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Build the Treenopolis web site, a destination for users of Treenimation (both game developers and game players)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Implement the rating/membership system, whereby avid gamers who need to know their ratings/rankings in every game they play are charged an annual membership fee of $24 (all XO Laptop users play for free)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Donate 25 percent of gross income of Treenimation.net to OLPC&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Start version 2.0 of Treenimation, which adds support for animated games (not just multiplayer board games)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Advertise Treenimation.net on PBeM Server mailing list (Play By eMail, a site for email-based board games boasting 2000 members)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Implement Treescript versions of PBeM games developed by Cameron Browne, and pay him royalties&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-7095497395537277828?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/7095497395537277828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=7095497395537277828' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/7095497395537277828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/7095497395537277828'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2008/02/past-present-and-future.html' title='Past, Present, and Future'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-4410510798425498528</id><published>2008-01-07T08:26:00.000-05:00</published><updated>2008-01-07T08:34:11.427-05:00</updated><title type='text'>Goals of Treenimation</title><content type='html'>&lt;span style="font-family:verdana;"&gt;The following goals can also be found on the &lt;a href="http://www.treenimation.net/"&gt;Treenimation&lt;/a&gt; web site, under Introduction &gt; Overview &gt; Goals.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The all-encompassing goal of Treenimation is ease of use. Here are the other goals, in descending order of importance:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;The income from avid gamers, who are charged $24/year, exceeds expenses, such as web hosting fees, enabling Treenimation.net to donate a percentage of the profits to OLPC.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;OLPC kids (One Laptop Per Child, see &lt;/span&gt;&lt;a href="http://www.laptop.org/"&gt;&lt;span style="font-family:verdana;"&gt;http://www.laptop.org&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;), with minimal support from their teachers, can use Treenimation to create drag-and-drop multiplayer board games.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Non-programming adults and teens can easily use Treenimation to create drag-and-drop multiplayer board games, without being coached by Treenimation gurus and/or tech support.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Non-programming high school students and undergraduates can learn Treescript as a first programming language more easily than any other Graphical User Interface (GUI) programming tool.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Programming novices (who are already familiar with at least one other GUI programming tool) can master Treescript in one month or less, on their own, with little or no coaching from Treenimation gurus and/or tech support.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Advanced programmers can master Treescript as easily as falling off the proverbial log, unlike most existing GUI programming tools.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;A vibrant Treenimation community blossoms, consisting of game developers and game players from all around the world and including OLPC users.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-4410510798425498528?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/4410510798425498528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=4410510798425498528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/4410510798425498528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/4410510798425498528'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2008/01/goals-of-treenimation.html' title='Goals of Treenimation'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-4251242561615730448</id><published>2007-12-16T16:42:00.000-05:00</published><updated>2007-12-16T16:49:30.745-05:00</updated><title type='text'>Designed GUI of TIL Loader</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Today I used Python, PyGtk and Glade to design the form (screen layout) of the TIL Loader. I have already implemented the TIL Loader in Delphi. The next step is to translate it from Object Pascal (Delphi) into Python.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;I now have both Linux and Windows installed on my home computer. I installed the Mozilla Thunderbird email client, which is now working. Also I successfully modified the "grub.conf" file to boot up Windows by default. So things are moving along nicely.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-4251242561615730448?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/4251242561615730448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=4251242561615730448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/4251242561615730448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/4251242561615730448'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2007/12/designed-gui-of-til-loader.html' title='Designed GUI of TIL Loader'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-2934117437313000788</id><published>2007-12-10T12:31:00.000-05:00</published><updated>2007-12-10T12:47:40.576-05:00</updated><title type='text'>Installed Linux</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Yesterday and early this morning I burned the DVD and installed Linux on my home computer. It went (surprisingly) fairly smoothly. There are still 3 issues outstanding:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;I want to change the boot loader's default operating system from Linux to Windows.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Every time I log in to Linux, I must remove and reinsert the Bluetooth thing so I can use my cordless mouse/keyboard. Luckily I can use one of the USB ports on the front of my computer to make this task easier.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;I can receive but not send email. I emailed tech support but this is still an issue. I intend to ditch my email client and download Mozilla Thunderbird.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;I guess the next order of business would be for me to get busy learning the Python programming language and PyGtk, in both Windows and Linux environments.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-2934117437313000788?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/2934117437313000788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=2934117437313000788' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/2934117437313000788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/2934117437313000788'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2007/12/installed-linux.html' title='Installed Linux'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-8476525268395485042</id><published>2007-11-12T15:09:00.000-05:00</published><updated>2007-11-12T15:26:34.277-05:00</updated><title type='text'>Ordered XO Laptop</title><content type='html'>I just invested $400 in my Treenimation project, by ordering an XO Laptop (and donating one at the same time). So there's no turning back now, I'm committed to learning Python, PyGtk, Sugar, and Linux (or I will have wasted all that money). The next steps are to translate my TIL Loader into Python, and then install Linux/Sugar on a separate partition on my home computer. Later I must bring my computer to work so I can install our development tools on it (so I can work from home, only going in to the office on Mondays and Wednesdays).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-8476525268395485042?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/8476525268395485042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=8476525268395485042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/8476525268395485042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/8476525268395485042'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2007/11/ordered-xo-laptop.html' title='Ordered XO Laptop'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-8478885753205752193</id><published>2007-11-11T15:27:00.000-05:00</published><updated>2007-11-11T15:39:19.903-05:00</updated><title type='text'>All in Python</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Please disregard my previous post. I am not going to use Delphi to implement part of Treenimation. Instead, I am implementing both the Windows and Linux versions of Treenimation in Python. This month I intend to acquire an XO Laptop, which I will use to test the Linux version of Treenimation. The To-Do list in my previous post, Working from Home, is still valid, except I can skip Step 4 (I don't need Partition Magic).&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-8478885753205752193?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/8478885753205752193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=8478885753205752193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/8478885753205752193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/8478885753205752193'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2007/11/all-in-python.html' title='All in Python'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-8528903450216030399</id><published>2007-11-02T14:25:00.000-04:00</published><updated>2007-11-02T23:09:31.866-04:00</updated><title type='text'>Dual Treenimation Versions</title><content type='html'>&lt;p&gt;&lt;span style="font-family:verdana;"&gt;I plan to implement the &lt;a href="http://www.treenimation.net/"&gt;Treenimation&lt;/a&gt; Runtime in Python for both the Windows and Linux versions. However, I intend to maintain 2 versions of Treenimation Builder (the part that lets you create your own games): the full Windows version will be written in Delphi, and the less feature-rich Linux/XO version will be written in Python.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Implementation Phases:&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:verdana;"&gt;&lt;ol&gt;&lt;li&gt;Translate TIL Loader from Delphi to Python&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Install Linux/Python/PyGtk/Sugar etc.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Port TIL Loader from Windows to Linux&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Implement Windows version of Treenimation Runtime using Python/PyGtk&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Port Treenimation Runtime to Linux&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Implement Treescript Compiler using Delphi&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Implement Linux version of Treescript Compiler using Python&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Add animation capability to Treenimation Runtime using PyGame &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Implement Windows version of Treenimation Integrated Development Environment (TIDE) using Delphi&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Implement more limited Linux version of TIDE using Python&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Start building the Treenopolis web site (City of Games) for Windows/Linux&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;So after Phase 6 is completed, Windows users will be able to create games (using the text editor of their choice), and XO users will be able to play those games, but won’t be able to create their own games until after Phase 7 is completed.&lt;br /&gt;&lt;br /&gt;I’m still in the early stages of learning Python. It seems like a nice language but it’s a lot different from the Object Pascal/Java/C#-style languages that I’m used to. The Treescript Compiler is perhaps the hardest part of Treenimation to implement. Being able to use a familiar tool (Delphi) for that job seems less intimidating to me. That's how I rationalize it, anyway.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Phase 4 is a big job. Maybe by the time I complete that phase I will be confident enough in Python to ditch Delphi and just use Python to implement Treenimation Builder.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-8528903450216030399?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/8528903450216030399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=8528903450216030399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/8528903450216030399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/8528903450216030399'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2007/11/dual-treenimation-versions.html' title='Dual Treenimation Versions'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-6734258541202217062</id><published>2007-10-26T15:42:00.000-04:00</published><updated>2007-10-26T16:05:02.288-04:00</updated><title type='text'>Working from Home</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Yesterday my boss approved my request to work from home 3 days a week, and only go in to the office on Mondays and Wednesdays. So now I'll have a lot more time to work on Treenimation. But before I start working from home, I must set up my home computer with all our development tools, as well as install a Linux partition so I can develop the Linux version of Treenimation along with the Windows version.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;I'm almost finished reading the Python tutorial, and this weekend I hope to begin translating the part of Treenimation I call the TIL Loader from Object Pascal into Python.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;strong&gt;Benefits of working from home:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;More time to work on Treenimation&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Save money (don't need a car)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Less hassle (won't have a car to worry about)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;More environmentally friendly (no more driving to work)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Healthier lunches (fewer McDonald's/Wendy's meals)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;More exercise (going for walks in my neighbourhood)&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;strong&gt;To Do List:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Go to &lt;a href="http://www.laptop.org/"&gt;http://www.laptop.org/&lt;/a&gt; and find out which version of Linux they recommend&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Find out space requirements of Linux, Python, PyGtk, Sugar, etc.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Download Linux and burn it onto DVDs&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Buy Partition Magic&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Back up my home computer's data onto a CD&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Make partitions for Linux and Windows XP&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Install Linux at home&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Bring my computer to work (it already has Delphi 4)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Copy C:\Bdev (over 10 GB) from my work computer to my home computer&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Step 9 will take several hours&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Install Delphi 6 and all our development tools&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Take computer home (sometime in November)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Start working from home 3 days a week&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Install XO Laptop emulator on Linux partition&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Translate TIL Loader from Object Pascal into Python&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Port TIL Loader to Linux/Sugar/XO Laptop&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Verdana;"&gt;Apply to OLPC for web hosting&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-6734258541202217062?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/6734258541202217062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=6734258541202217062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/6734258541202217062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/6734258541202217062'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2007/10/working-from-home.html' title='Working from Home'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-2444807300020505141</id><published>2007-10-21T16:36:00.000-04:00</published><updated>2007-10-22T14:33:13.459-04:00</updated><title type='text'>Navigation Keys</title><content type='html'>&lt;p&gt;&lt;span style="font-family:verdana;"&gt;There exist 3 text-entry modes in the Treescript code editor:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span&gt;Free Form &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span&gt;Structure Editor &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span&gt;Code Menu&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;Pressing Esc toggles between Free Form and Structure Editor modes. Typing a question mark (?) enters Code Menu mode (except within comments and string literals; to enter Code Menu mode from inside those, press Ctrl+?). Pressing F1 displays context-sensitive help in all modes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Structure Editor:&lt;/strong&gt; a bottom-level token (e.g. a keyword, identifier, operator, or constant) or an entire list is often highlighted. Using the Shift key in conjunction with the Up/Down Arrow keys, it is possible to select more than one token/list at a time.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Esc - &lt;em&gt;enter Free Form mode&lt;/em&gt; &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Up Arrow - &lt;em&gt;go to previous list element &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Down Arrow - &lt;em&gt;go to next list element &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Left Arrow - &lt;em&gt;go to parent list &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Right Arrow - &lt;em&gt;go to first child element (if none, display text cursor following current bottom-level token) &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Shift+Up/Down Arrow - &lt;em&gt;select a range of tokens/lists &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Printable Char. - &lt;em&gt;insert token/list, display text cursor &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Backspace - &lt;em&gt;undo insertion of previous printable char. &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Delete - &lt;em&gt;delete current token/list &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Enter - &lt;em&gt;display text cursor, insert space after cursor &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Space - &lt;em&gt;display text cursor, insert space before cursor&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Ctrl+Enter – &lt;em&gt;if at end of line, append blank line (otherwise break line into 2 lines)&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Code Menu:&lt;/strong&gt; a popup menu above or below text cursor (and including text cursor) is displayed. The contents of this menu include all valid code elements in the context of the text cursor (ignoring anything after the text cursor).&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Esc - &lt;em&gt;show/hide code menu &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Up Arrow - &lt;em&gt;move selection up &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Down Arrow - &lt;em&gt;move selection down &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Left Arrow - &lt;em&gt;go to parent code menu (if none, exit Code Menu mode) &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Right Arrow - &lt;em&gt;go to lower-level code menu &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Enter - &lt;em&gt;go to lower-level code menu (if none, select current menu item, and display new code menu following token/list just inserted) &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Space - &lt;em&gt;go to lower-level code menu (if none, select current menu item and exit Code Menu mode)&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Printable Char. - &lt;em&gt;incrementally select matching menu item &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Backspace - &lt;em&gt;undo operation of previous printable char. &lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Question Mark - &lt;em&gt;exit Code Menu mode&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-2444807300020505141?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/2444807300020505141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=2444807300020505141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/2444807300020505141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/2444807300020505141'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2007/10/navigation-keys.html' title='Navigation Keys'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-6004388313334110581</id><published>2007-10-21T10:28:00.000-04:00</published><updated>2007-10-21T10:40:00.688-04:00</updated><title type='text'>Hello, World!</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Several weeks ago I used Delphi (a tool I have been using at work for 11 years) to program the very first part of Treenimation to be implemented: the TIL Loader. Later I created my OLPC project &lt;a href="http://wiki.laptop.org/go/Treenimation"&gt;wiki&lt;/a&gt;, and I was advised that I should use Python instead of Delphi to implement Treenimation. Yesterday I downloaded/installed Python, PyGtk, and Glade, and wrote my first Python Hello-World-style program. This little program displays 2 buttons. If you click on the 1st button, it displays its label in the main Python window (the shell). If you click on the 2nd button, it changes the label of the 1st button to a different value. If you click on the 2nd button again, it changes the 1st button back to its original value. This afternoon I'm going to go through the Python tutorial and learn the basics of Python programming. Soon I'm going to translate the TIL Loader into Python, and then I'm going to apply to OLPC for web hosting.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-6004388313334110581?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/6004388313334110581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=6004388313334110581' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/6004388313334110581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/6004388313334110581'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2007/10/hello-world.html' title='Hello, World!'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-3007479321946719237</id><published>2007-10-21T10:13:00.000-04:00</published><updated>2007-10-21T10:26:57.968-04:00</updated><title type='text'>One Laptop Per Child</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Treenimation has 2 target platforms: Windows and OLPC (Linux). &lt;a href="http://www.laptop.org/"&gt;OLPC&lt;/a&gt; is a project which aims to distribute millions of $175 laptops to schoolchildren in developing countries. Each laptop is equipped with Linux, Python (a free programming language), and wireless peer-to-peer networking. So kids can use Treenimation to create their own board games, and play them with their friends. Every OLPC project has an OLPC wiki. Please click on &lt;a href="http://wiki.laptop.org/go/Treenimation"&gt;Treenimation&lt;/a&gt; to visit my wiki.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-3007479321946719237?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/3007479321946719237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=3007479321946719237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/3007479321946719237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/3007479321946719237'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2007/10/one-laptop-per-child.html' title='One Laptop Per Child'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2635430090541537765.post-1279584972976582805</id><published>2007-10-21T09:52:00.000-04:00</published><updated>2007-10-21T18:41:37.467-04:00</updated><title type='text'>Welcome</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Welcome to Mike's Treenimation blog. I am Mike Hahn, the founder of &lt;/span&gt;&lt;a href="http://www.treenimation.net/"&gt;&lt;span style="font-family:verdana;"&gt;Treenimation.net&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;, which is the future home of the Treenimation software tool (now under development). Treenimation allows you to create web-based (real-time) and email-based multiplayer board games. Subsequent versions of Treenimation will add support for games with 2D animation (and ultimately 3D animation). Treenimation is based on a powerful yet easy-to-learn, object-oriented, built-in scripting language called Treescript. Non-programmers can create drag-and-drop games, and both novice and advanced programmers can use Treescript to add functionality to these games. Treenimation will run on both Windows and Linux platforms.&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;This blog is meant to document the design process and implementation process of Treenimation. I have been working on the design process of Treenimation (albeit very sporadically) for over 10 years. Recently I have begun to implement Treenimation for Windows, using Python and PyGtk.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2635430090541537765-1279584972976582805?l=treenimation.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://treenimation.blogspot.com/feeds/1279584972976582805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2635430090541537765&amp;postID=1279584972976582805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/1279584972976582805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2635430090541537765/posts/default/1279584972976582805'/><link rel='alternate' type='text/html' href='http://treenimation.blogspot.com/2007/10/welcome.html' title='Welcome'/><author><name>Mike Hahn</name><uri>http://www.blogger.com/profile/01851529791804870258</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
