Completing The Saga
opensaga is an open source effort to preserve and modernize LEGO® Star Wars: The Complete Saga, and possibly other Traveller's Tales LEGO® games in the future.
We are currently decompiling the Android x86 build of The Complete Saga.
Applications
Saga progress
Matching statistics, source files, and function sizes.
Saga web build
Experimental browser build. Requires your own game files.
nusave save editor
Inspect and edit PC and Android saves, or create a new save.
nudat archive explorer
Browse DAT and OBB archives, preview files, and extract them.
Frequently Asked Questions
Why are you doing this?
These games have largely been left to rot in varying states of unplayability depending on the platform (for example, the macOS build no longer functions on modern systems). We want to first decompile a single release of the game to establish a baseline "correct" implementation, and then create a more modern, portable build of the game for the next generation to enjoy.
Why are you decompiling the Android x86 build specifically?
Early on, we found this build to be the most promising for a number of reasons:
- It is unstripped and contains debug symbols.
- Many functions were compiled with little to no optimization.
- It has a highly portable OpenGL ES 2.0 renderer.
Can I play it yet?
It really depends on what you mean by "play," but yes, you can try out the current state of the decompilation in the experimental web build.
Do I need my own copy of the game?
Yes, you'll need to provide your own copy of the original game assets. opensaga does not distribute copyrighted game assets.
What does matching decompilation mean?
A matching decompilation aims to recreate readable source code that compiles into exactly the same machine code as the original game. Doing this helps us verify that our reconstruction has exactly the same behavior as the original.
Does this project use AI?
Yes, this project makes heavy use of AI agents for decompilation. But since it is a matching decompilation, the only slop that we are producing is slop that was originally produced by a human decades ago.
Like it or not, AI agents have revolutionized decompilation, and the progress we have achieved in under a month using them has far outpaced anything that would have been possible previously.
For many of the reverse engineers who had previously dedicated their free time to painstaking hand decompilation (myself included), this can feel like a gut punch, but it is how the world is now, and we are making the best of it by producing high-quality matching decompilations that have never before been feasible.
When will you work on LEGO® Indiana Jones, LEGO® Batman, or other games?
For now, we are focused on The Complete Saga. After that, Indiana Jones and Batman are next, since they use very similar, often shared engine/gameplay code.
How can I help?
Check out the GitHub repo and join the Discord to find out what we need help with!