The Licensing and Compliance Lab interviews Michael Zahniser of Endless Sky
Endless Sky is a 2D exploration, trading, and combat game set in space.
What inspired the creation of Endless Sky?
Partly, I just got tired of waiting for someone else to create a modern remake of one of my favorite games from my childhood, Escape Velocity.
But also, for years I've wanted to "give back" to the free software community in some way, and I've heard games described as one of the last areas where free software can seldom compete with the proprietary, commercial options. I've been playing The Battle For Wesnoth (another GPL-licensed game) for the past 15 years or so, and have seen how the Wesnoth community has created an enormous amount of content that has kept it fresh and interesting for that whole time. My hope is for Endless Sky to grow into something similar.
How are people using it?
It's a game; they're using it to waste colossal amounts of their free time.
I've also seen a video where a teacher was trying to use Endless Sky to teach basic economic ideas. In the game you have a mortgage to pay off, and you need to make choices of how to earn money - buying commodities at low prices and selling them high, etc. Make bad choices, or take on more debt than you can afford, and you can end up bankrupt.
What features do you think really sets Endless Sky apart from similar software?
I put a lot of thought into making it as easy as possible to add content to the game. A lot of other games rely on things like Lua scripting or UV-mapped 3D models, which creates a high barrier to entry for content creators. I wanted it to be possible for non-programmers to add their own content, using nothing but a text editor and a graphics program.
In Endless Sky all the data files, including saved games, are human-readable text. The data's structure is represented by the indentation, like in Python code, because I've found that non-programmers really struggle with keeping their brackets balanced, even in simple markup languages like YAML. (Of course, it turns out that non-programmers have trouble keeping their indentation correct, too.)
Why did you choose the GPLv3 as the license for your code?
I saw it as a choice between either working alone to create a mediocre, proprietary game, or attracting a community to create a much higher quality game that will eventually include stories and other content contributed by many different people. I chose the GPL for the code, and Creative Commons share-alike licenses for the artwork, so that anyone building on my work will continue making it freely available to the world.
How can users (technical or otherwise) help contribute to Endless Sky?
My biggest need right now is to find someone to implement more main story lines for the game - I don't have enough time to do that while also dealing with all the bug fixes and feature requests. I'm also hoping that people will expand the game universe by adding new alien species to discover, each of whom would have their own unique stories and technology.
Other more technical needs include updates to the universe editor (a Qt program), and eventually setting up some sort of server for plugins.
What's the next big thing for Endless Sky?
Ever since the Steam release I've had a flood of new bug reports and small feature requests to work through. I'm hoping that I'm now at a point where most of the bugs have been addressed and I can switch to experimenting with bigger, more interesting changes - a dynamic economy, missile tracking that takes your ship's size and temperature into account, better controls for commanding a large fleet, etc.
Enjoy this interview? Check out our previous entry in this series, featuring Guillaume Roguez, Ring Project Director.