This is PySoy's Frequently Asked Questions page. These are not a selection of questions that we think will be frequently asked; they have been frequently asked. Choices ¶ why did you…

Q: license the engine under the AGPLv3?

A: Many people have commented that PySoy would be more popular if licensed under a MIT/BSD style license. While likely true, our goal is to promote and enable the creation of copyleft games. The AGPLv3 license best protects player's freedoms to use, modify, and redistribute PySoy-based games.

Q: build the engine for Python?

A: Python was chosen due to it being easy to learn, fast to develop with, and because it's the scripting language used in both 2d and 3d art software ( Blender, GIMP, etc). It's also in fairly wide use in the proprietary games industry, both for add-on scripts and the core engine, and is cross-platform. With all the speed-intensive functions in C, there's really not a noticeable difference to players.

Q: base the engine on OpenGL 1.4, isn't that really outdated?

A: While many game engines are based on OpenGL 2.0+, we aim for PySoy-based games to be playable on virtually any modern system including netbooks and smartphones. We've decided to focus on convenience and fun for everyone, not just "gamers".

Q: use a threaded architecture? isn't that pointless in Python?

A: Much of PySoy runs in GObject-based threads which never need to hold Python's Global Interpreter Lock (GIL), and thus, PySoy can utilize all available cores on a server.

Q: use so many Gnome libraries?

A: PySoy's primary development target is the Gnome desktop, as is used by Ubuntu and most other modern GNU/Linux distributions. As these libraries are cross-platform PySoy is also available on MacOSX and Windows.

Q: use XMPP for networking?

A: We've seen from existing free software game networks that dedicated chat systems fail at building a viable player community. By implementing XMPP (aka Jabber) we allow any player using any PySoy based game to chat with any user on a federated server. Players will be able to log in using their existing account(s), join chat rooms for different games, utilize teamspeak-type chat via the Jingle extensions, and advertise their own servers with servers also. The actual game play is done via ICE-UDP for minimal latency