Dienstag, 2. August 2011

Development Diary #2

Topics:
  • Python and Eclipse
  • version control
You know from my last posting, that I wanted to start my career in the gaming industry with the Python script language and the PyGame library. You really should use a 2D engine if you want to create a 2D game and not try to fit it into a 3D engine. ^^
The installation of these two tools is pretty easy under windows and mac. I currently use the python version 2.6 and the appropriate pygame version. I want to recommend Eclipse as an IDE, for which you can get the addon PyDev from the official page or the Eclipse Marketplace (available in all Eclipse versions except "Classic") to comfortably write python scripts ;). The next Eclipse Addons, which I use are a better XML-editor (e.g. Rhinzo XML editor) and eGit.


And this Addon leads to the next topic of version control! All of you which never used such a thing should plan a fairly amount of time for setting it up, because you will need it at the latest in project with a greater team than one person.
A version control system delivers:
  • the chance to access on files from multiple work stations and attach them with a timeline, which enables you to restore previous versions of the project.
  • the creation of "branches", on which you can make some experiments with your code without messing in the original version and do merging when things are fine.
  • a system to merge changes of the same file, which were contributed from different project members.
It should be clear, that a "dropbox" can't fullfill all these features! ;)
I worked with the version control systems Subversion(SVN) and Git. Both have roughly the same features but mainly differ in the property that SVN needs a working server which stores your files and timeline to work with the history of your project. Git has a distributed approach and stores the whole course of project in a local copy on every working station. So you can work offline or when the server fails.To cut a long story short, I do not want to join a religious argumentation about these two systems and will try Git. It also offers a nice community, which gives a free storage for "Git-repositories" to smaller projects. But you have to accept, that your code is public, if you wnat to use this free offer. You have to visit GitHub and follow the tutorial to create your first project. An alternative documentation of the git commands is provided by the Community Book. If all this stuff is very new for you, it will certainly take its time to feel comfortable with git. The Eclipse addon eGit does not have a great overvalue in comparison to the command line and so beginners should use the latter to do their first "pushs" and do the programming with Eclipse. Btw: github has a nice GUI for Mac.

My username is fastpath you can observe my current progress at https://github.com/fastpath :)