Solutions

Industry solutions

Services

Business needs

  • Systems integration
  • Strategy
  • GDPR Compliance
  • ADA Compliance (accessibility)
  • Infrastructure management

Products

Technologies

  • Python
  • Django CMS
  • Drupal
  • Angular
  • Joomla
  • Wordpress
  • SasS
  • Bootstrap
  • JS
  • HTML5
  • CSS3
  • JQuery
  • Mysql

How Python is Enabling a New Generation of Open-Source Game Developer

Unbeknownst to many in the continually growing community of Python programmers, a rising number of inventive game makers have come to find Python as suitable for their game.  While Python as a language has made major strides in popularity over its approaching 30-year lifespan, it is only comparatively recently that it has begun to see use within gaming.  In recent years, however, the rising popularity of Python has led to inventive game developers trying their hand at bringing their game ideas to life with the clarity and efficiency that Python brings to the table – and having great success.  A number of lauded major-release titles have been coded using Python, in addition to a great collection of independent and experimental games.

What Games of Note Have Been Coded in Python?

Probably the most recognizable of titles coded largely in Python is Sid Meier’s Civilization IV.  While much of the game was written using the Gamebryo engine that is based in C++, a majority of the game’s tasks are coded in Python.  Released to soaring critical acclaim, Civilization IV represented a major advancement in the series of games, which dates back to the very beginning of the 90s.  Fittingly, the game’s use of Python allowed it to be characterized by a major step forward in complexity and player challenge due to improved mapping, AI, and aspects of civilization management.

Another incredibly popular title, while more niche in comparison to the Civilization series, that utilizes python is Eve Online.  Eve Online is a Massively Multiplayer Online Role-Playing Game (MMORPG) set in space.  It is characterized by its innovative simulation of space warfare and commerce, as well as its particularly permanent world, which has led to fascinating internal politics, warfare, and business among players.  Eve Online utilizes Stackless Python to allow player’s CPU to better handle the sheer mass of the game universe.

In the indie sphere, Frets on Fire is a game that had a breakthrough in popularity, being written entirely in Python and utilizing the Pygame set of Python modules (this set will be explored in the next section.)  Frets on Fire was a unique PC-based interpretation of the rhythm and music game genre that had been most recognizably characterized by games like Dance Dance Revolution and Guitar Hero.  One of the major feature offerings of Frets on Fire was the unique, built-in song editor that allowed musicians and hobbyists to make their own tracks for use by players.  The game also supported various control types, allowing drum, guitar, and piano controllers to be plugged into the game for a more authentic feel.

What Tools Does the Python Community Have for Aspiring Devs?

The earliest and most important tool for game development that has been offered by the Python community is Pygame (mentioned above.)  This set of Python modules serves as a game development engine within the Python ecosystem.  Pygame was originally released in late 2000 with the goal of creating a tool to separate the more system-intensive functions of the running of a game from the game logic itself.  It has continued to be sustained as a tool to this day with its most recent major release being at the beginning of 2017.

Another important tool that has been utilized widely by independent game companies, animators, and modelers is Blender.  This free and open-source tool focuses around 3D modeling, visual effects, and animation.  Written largely in Python itself, Blender allows for users to script in Python both from its game engine and in its animation/modeling engine.

Additionally, for enthusiasts of retro-shooters, a fantastic level design tool for the Quake engine known as Quake Army Knife (or QuArK,) written in Python, allows for complete creation of game maps.  QuArK allows for the importing and exporting of all types of game assets, as well as tools for creating new assets entirely.  Over the years, QuArK has expanded the engines it can work in, adding support for other major games such as Half-Life 2, Team Fortress 2, and Doom 3, and newer Quake sequels.

Because Python is free and open-source, starting to learn the programming language is easier than many other languages.  The non-profit Python Software Foundation, located at python.org, ensures access to the language and editing tools to all aspiring developers.  In addition to source codes and language installers, the Python Software Foundation offers an incredible amount of learning resources directly through its home page.  Offered learning resources include links to unique integrated development environments (IDEs,) video tutorials, and links to free books about learning the language.  Once you have a grasp of Python as a language, downloading Pygame is a worthy next-step.


You can also seek guidance from experts who know the tools and are ready to teach.  Nixa is one such group, providing access to qualified professionals who can guide you to development success.  Visit Nixa.ca today!

 

At Nixa, we are passionate about design and new technologies. We would be glad to share our passion with you.

Contact us
Nixa logo digital people