The GSB hull editor is a graphical tool for creating hull graphics and related configuration information for Gratuitous Space Battles (by Positech Games). The goal was to simplify the creation of new hulls compared to the manual editing of text files previously required, as well as allowing the design of new hulls using libraries of parts.
This tool is currently not available for download, though a preview video can be found on YouTube, embedded below:
- Programming: Python, wxPython, pubsub
Lessons learned / techniques used
This project allowed me to work with a new type of user interaction—allowing the user to place and move sprites on a canvas, including highlighting the “active” sprite and handling z-ordering. The canvas itself can also be dragged to allow the user to work on a larger area than would otherwise fit into the window. Additionally, there are several types of special sprite to indicate things such as target locations and engine glows that will be used by the game engine at runtime. Display of these can be toggled by the user.
The project also served as an introduction to the use of pubsub for passing messages between logically separated parts of the code. For example, the sprite information bar at the bottom of the window listens for messages regarding updated coordinates, allowing the canvas manager to provide these updates without explicitly requiring knowledge of the information bar. This means that multiple objects can provide updates and multiple objects can also listen for those updates, while still maintaining a modular, self-contained, and reusable design for each object.