About PyChan

PyChan is an open source and pythonic wrapper for the GUI library Guichan.
It is designed to be easy to use - and to provide a reasonable Python API to create a UI for games.

Code speaks more than words …

dialog = pychan.loadXML("contents/gui/why_pychan.xml")
return dialog.execute({ 'okButton' : "Cause writing GUI code should be easy.", 'closeButton' : False })

If your first reaction at the mentioning of yet another XML format is to run screaming, then wait a second and take a quick look at some XML examples.

Credits

PyChan wouldn't exist if it weren't for these fine software products.

Guichan
The underlying GUI library.

FIFE
The fine Flexible Isometric Free Engine which gave birth to PyChan.

SWIG
The powerfull tool used to export C++ code to Python.

Python
Dynamic, concise, powerful and sane programming language. Use it!

Status

Currently PyChan is in the process of being factored out from the FIFE game engine. As such there are some rough edges that can be found, as compatibility for the games already using PyChan is very important.

Still the API is mostly finished and should stay the same between releases. So you might consider it for your game, as it will hopefully mature over the time. Part of the reason for starting PyChan as standalone project was to attract new users and thus bug reporters.

Head over to the status and changelog page for current developments.

Is PyChan for me?

If you write a game in python - maybe.

I would say games that need a moderate to complex user interface could benefit from PyChan the most.

  • RPGs
  • Economy simulations.
  • Strategy games (realtime or not).

Currently PyChan is used by two projects - Unknown Horizons and Zero-Projekt. That's realtime economy simulation and a role playing game respectively. These are pretty much the genres that could benefits from using PyChan (or FIFE for that matter) the most.

Depending on your plans you might want to wait until the following features have been implemented and/or proven to work:

  • pygame compatibility.
  • pyopengl compatibility.
  • HTML style labels/text with images for ingame help. (Like in Wesnoth).
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License