© 2003-2004 by mikel evins
Hansa moved to common-lisp.net
Why has Hansa moved?
For several reasons:
If you'd like to contribute to the development of Hansa, please send mail to mevins (at) common-lisp (dot) net, and consider joining the Hansa-devel mailing list.
I'm still working on the new release of Hansa2. I have made a lot of progress, but I am not yet ready to release the software. Because a number of people are following the development of Hansa2 somewhat closely, I thought I'd post a progress report.
I hope you'll all continue to be patient with me. I am continuing to work on Hansa2, but game development of this nature is time-consuming, and I'm doing it in my spare (hah!) time.
I've made available screenshots of the software as it exists today; the screenshots and comments are in the left-hand column of this page.
Following is a summary of status details:
The map (Mac OS X) editor is complete and working, but some
portability work remains to be done on the map-file
format. Map-files are in fact directories ('bundles' in Mac OS X
parlance), named "
Why Common Lisp?
No one has asked, but I'm sure some people are wondering why I've chosen to write Hansa2 in Lisp. Basically, I'm an experienced Lisp programmer, and Common Lisp is a very good language in several ways for writing a game of this sort. It is a rich language with an ANSI standard, good portability, excellent performance, and very good development tools that work on a variety of platforms. It is very well suited to modeling strategies and other data structures useful in games. It supports incremental development very well, and I'm much more productive in Lisp than in any other language, especially when I work on a project in little bits of time here and there, as is the case with Hansa and other projects that I do for love and not for money.
Lisp has been used in the development of commerically successful games as well. Naughty Dog, for example, uses Lisp in the development of its very successful games.
Hansa2 is an implementation of the trade game Hansa, invented by the economist David D. Friedman. The game is generally similar to games like Empire and Risk: the goal is to dominate the world. The great difference from other games is that in Hansa you expand, not by conquering your neighbors, but by persuading them to join trade leagues. How can you persuade them to join? By offering them a better deal than they can get elsewhere.
But can't you just bribe your way to victory, then? Not so fast; other players could try the same strategy. The only way to be sure you can beat them is to be able to offer better deals to more neighbors than they can, and that means you must make deals that pay off, deals from which you profit, or else you'll run out of resources with which to make offers.
Hansa is not only a game of strategy, it is a game of economics. You have to learn the principle of comparative advantage, and how to use it to make both yourself and others better off.
Hansa2 0.9.1 is not yet a playable game. The main user interface is mostly done, and the framework of turn-based play and single-player and multiplayer games. I'm working now on the game engine; the Mac OS X graphical client program is essentially done except for its connections to the game engine.
Hansa2 is hosted at Sourceforge, where you can get the source and binary versions. The Hansa CVS repository will be available soon for those who simply must have the very latest code, and for developers who wish to contribute to the project. Contact mikel evins if you want to be added to the project.