Python Programming/Game Programming in Python

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

Contents

[edit] 3D Game Programming

[edit] 3D Game Engine with a Python binding

  • Irrlicht Engine[1] (Binding is no longer maintained and seriously out of date)
  • Ogre Engine [2]

Both are very good free open source C++ 3D game Engine with a Python binding. However the Python binding is an afterthought so most often late versus the C++ engine when usable at all. Python bindings are very inefficient and limited.

[edit] 3D Game Engines written for Python

Engines designed for Python from scratch.

  • Blender is an impressive 3D tool with a fully integrated 3D graphics creation suite allowing modeling, animation, rendering, post-production, realtime interactive 3D and game creation and playback with cross-platform compatibility. The 3D game engine uses an embedded python interpreter to make 3D games.
  • Soya is a 3D game engine with an easy to understand design. It's written in the Pyrex programming language and uses Cal3d for animation and ODE for physics. Soya is available under the GNU GPL license.
  • PySoy primaly branched from Soya 3D, later rewritten.
  • Panda3D is a 3D game engine. It's a library written in C++ with Python bindings. Panda3D is designed in order to support a short learning curve and rapid development. This software is available for free download with source code under Panda3D Public License v2.0. The development was started by [Disney]. Now there are many projects made with Panda3D, such as Disney's Pirate's of the Caribbean Online, ToonTown, Building Virtual World, Schell Games and many others. Panda3D supports several features: Procedural Geometry, Animated Texture, Render to texture, Track motion, fog, particle system, and many others.

[edit] 2D Game Programming

  • Pygame is a cross platform Python library which wraps SDL. It provides many features like Sprite groups and sound/image loading and easy changing of an objects position. It also provides the programmer access to key and mouse events.
  • Phil's Pygame Utilities (PGU) is a collection of tools and libraries that enhance Pygame. Tools include a tile editor and a level editor (tile, isometric, hexagonal). GUI enhancements include full featured gui, html rendering, document layout, and text rendering. The libraries include a sprite and tile engine (tile, isometric, hexagonal), a state engine, a timer, and a high score system. (Beta with last update March, 2007. APIs to be deprecated and isometric and hexagonal support is currently Alpha and subject to change.) [Update 27/02/08 Author indicates he is not currently actively developing this library and anyone that is willing to develop their own scrolling isometric library offering can use the existing code in PGU to get them started.]
  • Pyglet is a cross-platform windowing and multimedia library for Python with no external dependencies or installation requirements. Pyglet provides an object-oriented programming interface for developing games and other visually-rich applications for Windows, Mac OS X and Linux. Pyglet allows programs to open multiple windows on multiple screens, draw in those windows with OpenGL, and play back audio and video in most formats. Unlike similar libraries available, pyglet has no external dependencies (such as SDL) and is written entirely in Python. Pyglet is avaible under a BSD-Style license.
  • Rabbyt A fast Sprite library for Python with game development in mind. With Rabbyt Anims, even old graphics cards can produce very fast animations of 2,400 or more sprites handling position, rotation, scaling, and color simultaneously.


[edit] See Also

Personal tools