Monday, February 4, 2008

Past, Present, and Future

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.

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.

Past:


  1. Design Treescript programming language
  2. Design board-game components
  3. Design animation components
  4. Create web site documenting the Treenimation project
  5. Implement the Delphi version of the TIL Loader
  6. Start this blog
  7. Announce Treenimation project to OLPC Games mailing list
  8. Purchase XO Laptop ("give 1, get 1": buy a laptop and at the same time donate another laptop to OLPC)
  9. Install Linux on my home computer
  10. Install Windows version of Python on home computer
  11. Install PyGTK and Glade on home computer
  12. Write "Hello, world" program in Python (an ultra-simple program that does very little, but it works)
  13. Modify above program to display the user interface of the Delphi version of the TIL Loader
  14. Create basic classes of in-memory program tree using Python, for the TIL Loader
  15. Lay the foundations for the heavy-duty Python coding necessary to implement the TIL Loader
  16. Implement the core functionality of the TIL Loader
  17. Temporarily change the page size constant from 1000 to 50, in order to test the multipage functionality of the TIL Loader
  18. Translate the Delphi code which handles user input of arrow keys (to traverse the program tree) into Python
  19. Implement the non-core functionality of the TIL Loader
  20. Update web site: both Treescript and Python can be used to create games
  21. Install PyGTK and Glade for Linux on home computer
  22. Port TIL Loader from Windows to Linux (hopefully I can reuse my 3 Python source code files without modification)

Present:

  1. Apply to OLPC for web hosting of Treenimation project (application not yet processed)
  2. 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
  3. 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: http://www.treenimation.net/
  4. Hire the Chief Linux Developer, Jake Beard

Future:

  1. Sugarize the Linux version of the TIL Loader, enabling it to run on the XO Laptop
  2. Work on Treenimation development at least 16 hours/week (6 hours on the weekend, mostly on Sunday, 6 hours on Thursday, 2 hours on Tuesday, and a total of 2 hours on Monday, Wednesday, and Friday evenings)
  3. Implement the Treenimation Runtime
  4. Implement the Treescript Compiler
  5. Build the Treenopolis web site, a destination for users of Treenimation (both game developers and game players)
  6. 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)
  7. Donate 25 percent of gross income of Treenimation.net to OLPC
  8. Start version 2.0 of Treenimation, which adds support for animated games (not just multiplayer board games)
  9. Advertise Treenimation.net on PBeM Server mailing list (Play By eMail, a site for email-based board games boasting 2000 members)
  10. Implement Treescript versions of PBeM games developed by Cameron Browne, and pay him royalties