Zorn
About Zorn
Zorn (pronounced "TSORN") is a 2D top-view space shooter written in Python, using SDL and OpenGL.
Status
Past status reports can be seen in the Development Diary page.
2007-02-22 Debugging tools
While testing the restructured networking code, I found some indications of buggy behaviour. One seems to be that clients are told about an object appearance, but not about the dissappearance of an object. Symptoms include a single shot coming from nowhere, crossing the screen and going on forever, or an asteroid nothing will collide with.
Another symptom, of a different problem, is a player ship remaining on-screen after a player dies and respawns. This player ship can be collided with, and in one bizzare case, continued to spin and fire without any player controlling it. Unlike the above problems, this has to be server-side object debris, because the client doesn't do collisions or firing.
These problems would be simplish to debug, except that they only occur on a truly networked client in a multiplayer game. This leads me to implement the following strategies:
- Assert more invariants. For example, I should move the FreeID handling into the object collection, and check that at all times, every ID is either listed as free, or as used, or as deleted.
- Invariant checking over module boundaries. The object update system may need to inspect the network message stack to assert that each object either will be updated or does not need to be updated. Crossing module boundaries is not nice, though.
- Implementing a pause function and an object dumping facility. The object dumping should be handy for savegames (where nothing is planned yet). The pause system is something I have been thinking of, though, and will be writing a brainstorming text on in the documentation area.
News
2007-01-06 Zorn 0.1.7 release
Version 0.1.7 has been released and can be found in the downloads area. This version adds round timers, powerups, a line mode and stand-alone servers.
2006-08-12 Time engine documentation
The documentation area now contains some information about the upcoming time engine. This engine will allow speedups, slowdowns, latency corrections, game pausing and more. It is necessary for ending and starting game rounds.
2006-08-07 Level changing documentation
The next entry in the documentation area is here: an essay about level changing mechanisms.
2006-08-04 Time control documentation
Another file has been added to the documentation area, concerning "time control". Time control is an essential part in level management.
2006-08-01 Zorn 0.1.6 release
Version 0.1.6 has been released and can be found in the downloads area. This version adds Windows binaries, a star background, zooming, and the new menu system.
2006-07-31 New screenshots
Some more screenshots of the current CVS version have been placed in the screenshots area. The new star background and new menu system can be seen.
2006-02-12 Zorn 0.1.5 release
Version 0.1.5 has been released and can be found in the downloads area. This version adds player colors and "intelligent" enemies.
2005-12-27 Zorn 0.1.4 release
Version 0.1.4 has been released and can be found in the downloads area. This version allows a lot of configurability.
2005-12-18 Zorn 0.1.3 release
Version 0.1.3 has been released and can be found in the downloads area. (Yes, I failed to announce 0.1.2, but not many people should be affected yet !-)
2005-11-13 Zorn 0.1.1 release
Version 0.1.1 has been released and can be found in the downloads area.
Notice: The version available on 2005-11-13 had a packaging error. Please download this version again if you are expiriencing startup errors.
2005-11-06 Zorn 0.1.0 release
Version 0.1.0 has been released and can be found in the downloads area.
2005-08-04 Mockup version playable
The mockup version (in CVS, downloadable source soon) is feature complete. And could, in theory, be played. More screenshots in the screenshots area.
2005-06-02 Mockup version almost playable
The mockup version (still CVS only) now adds asteroids, collisions, weapons, weapon energy, shields, a radar and a score. It is now "playable" in such that two or more people can compare their skills in it, with measurable feedback. Screen shots are available in the screenshots area.
2005-03-08 Mockup version has movement
The mockup version in CVS now has actual player movement. Move with the cursor keys. Also includes arena bounds. A screenshot is available in the screenshots area.
2005-03-02 Mockup version underway
A first mockup version has been committed to CVS. It currently only opens a window with a green grid and a blue triangle, but you can already rotate the screen with the arrow keys.
2005-01-26 First code
The first code is online: the network module. Currently only in CVS.
2005-01-09 Even more documentation
I've started the technical design document in the documentation area.
2005-01-05 More documentation
I put up the functional design document in the documentation area.
2004-12-19 Project started
The project was started today. Let the fun begin!
Ben Deutsch