24
Update 54: Source Code Release · Limit Theory: An Infinite, Procedural Space Game
www.kickstarter.comHello everyone,
At long last, it's time for the source code release that I promised years ago. Today I'll be releasing four open-source repositories on GitHub, representing three different times in LT's development history.
Limit Theory Prototype (2013)
https://github.com/JoshParnell/ltprototype
As you all may remember, I sent an early combat prototype to KS backers of the $75+ level in 2013. This prototype still exists and, despite being a very early glimpse of LT, is actually the most playable thing that I've got to show. The source code is no longer available, as the prototype ultimately turned into the LTC++ codebase and I have no versioning information to go back to. However, the installer and patcher still exist and work just fine, so I've released them in this binary-only repository.
Installing and playing LTP is pretty self-explanatory, and doesn't require any tools or any touching code!
---
The next three repositories are provided in source code form. I've fixed and streamlined all the (Windows) build processes to make it 'relatively easy' to set them up, but you're going to have to download some tools and follow the instructions to get them running. I have no plans to make a binary release of these. After all, this is mostly of interest to people who want to see and play with the code, since there's not much else to 'play' here.
Limit Theory -- C++/LTSL (2012-2015)
https://github.com/JoshParnell/ltheory-old
Here's a snapshot of the old LTC++ codebase from the first phase of LT's development. The snapshot is only the most recent version (dating to 2015), with no real version history. This codebase is probably the meatiest one -- despite being very much unfinished, it touches gameplay concepts that were never revisited in subsequent development. It's also an interesting showcase of the Limit Theory Scripting Language, which I discussed at lengths in the old dev logs.
Limit Theory & LibPhoenix -- C/LuaJIT (2015-2018)
https://github.com/JoshParnell/ltheory
https://github.com/JoshParnell/libphx
Finally, we have two repositories from the latter four years of LT's development. I've split them into separate packages to delineate gameplay code from engine code. The Phoenix Engine may still be of interest to anyone who cares to figure out how to use it. The ltheory repository contains the vast majority of the Lua code that was written in the last four years of development, and demonstrates the LuaJIT -> C Engine paradigm that I developed to solve the issues that arose with LTC++. It's also the codebase in which the PAX demo once existed, however I no longer have the version control information to roll back to that demo (yes, I've learned my lesson about version control..). Still, the component pieces are there.
State of the Code
At most points during LT development, the actual playability state of the code was not great, and these releases are no different. I've fixed what I can fix in a reasonable amount of time, but the most you'll be able to get, gameplay-wise, out of the source code repos is some flying around and aimless shooting in space, perhaps while enjoying some procedural scenery. LTP is, again, the only thing that qualifies as 'playable,' as you can actually buy & outfit ships, take simple missions, and control a fleet.
Further Discussion & Help with Building/Usage
On both the ltheory and ltheory-old repositories, I've enabled the 'discussions' tab in GitHub. I suggest using this as a place to ask others if you need help getting the game running. It's also a good place to post if you want to share anything interesting that you figured out how to do with LTSL or Lua.
Regarding the official LTheory.com site and the forums, I have no plans to shut either of them down, but I also have no plans to maintain them. If and when they break, they break. It's for this reason that I recommend using GitHub to communicate about the repositories.
Farewell
As for me, I'm ready to finally close this chapter of my life, a chapter onto which I've been holding in angst for the past three years. It's taken me far too long already to face the finality of doing so. Releasing the code...it would finally be the end. But it's time. I imagine you have all moved on, and it's time for me to do so as well.
To all of you who participated -- from those who engaged directly in our theorycrafting and spirited forum technobabble and IRC shenanigans, to those who quietly kept up with the dev logs, to those who tossed a pledge my way and vanished -- thank you. It was a priviledge to have been given the opportunity to pursue my dreams at such a young age, by a group of kind, space-keen strangers no less. While it didn't turn out as I had hoped, I'll never regret the passion that invested into trying to create a universe.
Sincerely, I wish you all the best.
~Josh
all failed kickstarter projects should do something like that, if the assets and code make it possible. Chapeau to the devs – the backers definitely got something for their money.