Monday, January 7, 2008

Goals of Treenimation

The following goals can also be found on the Treenimation web site, under Introduction > Overview > Goals.

The all-encompassing goal of Treenimation is ease of use. Here are the other goals, in descending order of importance:

  1. 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.
  2. OLPC kids (One Laptop Per Child, see http://www.laptop.org), with minimal support from their teachers, can use Treenimation to create drag-and-drop multiplayer board games.
  3. 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.
  4. 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.
  5. 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.
  6. Advanced programmers can master Treescript as easily as falling off the proverbial log, unlike most existing GUI programming tools.
  7. A vibrant Treenimation community blossoms, consisting of game developers and game players from all around the world and including OLPC users.

Sunday, December 16, 2007

Designed GUI of TIL Loader

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.

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.

Monday, December 10, 2007

Installed Linux

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:
  1. I want to change the boot loader's default operating system from Linux to Windows.
  2. 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.
  3. 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.

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.

Monday, November 12, 2007

Ordered XO Laptop

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).

Sunday, November 11, 2007

All in Python

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).

Friday, November 2, 2007

Dual Treenimation Versions

I plan to implement the Treenimation 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.

Implementation Phases:

  1. Translate TIL Loader from Delphi to Python
  2. Install Linux/Python/PyGtk/Sugar etc.
  3. Port TIL Loader from Windows to Linux
  4. Implement Windows version of Treenimation Runtime using Python/PyGtk
  5. Port Treenimation Runtime to Linux
  6. Implement Treescript Compiler using Delphi
  7. Implement Linux version of Treescript Compiler using Python
  8. Add animation capability to Treenimation Runtime using PyGame
  9. Implement Windows version of Treenimation Integrated Development Environment (TIDE) using Delphi
  10. Implement more limited Linux version of TIDE using Python
  11. Start building the Treenopolis web site (City of Games) for Windows/Linux

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.

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.

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.

Friday, October 26, 2007

Working from Home

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.

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.

Benefits of working from home:
  1. More time to work on Treenimation
  2. Save money (don't need a car)
  3. Less hassle (won't have a car to worry about)
  4. More environmentally friendly (no more driving to work)
  5. Healthier lunches (fewer McDonald's/Wendy's meals)
  6. More exercise (going for walks in my neighbourhood)

To Do List:

  1. Go to http://www.laptop.org/ and find out which version of Linux they recommend
  2. Find out space requirements of Linux, Python, PyGtk, Sugar, etc.
  3. Download Linux and burn it onto DVDs
  4. Buy Partition Magic
  5. Back up my home computer's data onto a CD
  6. Make partitions for Linux and Windows XP
  7. Install Linux at home
  8. Bring my computer to work (it already has Delphi 4)
  9. Copy C:\Bdev (over 10 GB) from my work computer to my home computer
  10. Step 9 will take several hours
  11. Install Delphi 6 and all our development tools
  12. Take computer home (sometime in November)
  13. Start working from home 3 days a week
  14. Install XO Laptop emulator on Linux partition
  15. Translate TIL Loader from Object Pascal into Python
  16. Port TIL Loader to Linux/Sugar/XO Laptop
  17. Apply to OLPC for web hosting