r/starcraft • u/Lynx914 • 2h ago
Video Hyperion: a StarCraft: Brood War source port
This is my love letter to a series where it all started.
I've been working on this for quite some time, as I wanted to make sure this project was taken seriously down the line and not be simply easily dismissed.
Because of the matter related to AI usage I want to make my usage and stance very clear to get out of the way, but also make sure enough context is given. This project did use AI heavily as a tool to get to this point. Over the past several years I went heavily into automation and AI development. Began learning numerous tools, platforms, low-code/no-code tools. Before AI became relevant in 2019 I was already using sql databases to do machine learning models to do automated accounting for my practice. Since then I went for several certifications include a NVIDIA Gen AI LLM, HTB Certifications for Offensive AI and then Certified Web Exploitation cwee. I then began to deep dive into exploitation and reverse engineering as a massive interest to learn more. During this time I've become more versatile with using AI as a tool to keep pushing with projects and working numerous development client projects.
I say this because of how the overall divide is on using AI. Some are dismissing as pure slop once any AI is used. (Of which in many cases I can agree with their feelings to an extent.). While others are perfectly fine with it, so long as the product is good and has someone that willing to actually commit to the project and not simply put something that is forgotten and never to be committed to again. I see myself in the camp of using AI as a tool, as the lever of orchestration and planning to get to this point, with much more to be done, is not something I would ever be able to attempt or accomplish in my lifetime.
This process started way back earlier this year when I began reverse-engineering the original build of StarCraft broodwar 1.16.1. The idea was simple, byte-to-byte match the original binary so that some code would be usable enough to work with going forward for a source port. While I did make decent progress for a few months, the progress didn't really pick up until I ran into someone else working on a similar project in Nathan Braggs discord. You can probably even find my original message on there if retained. He along with other contributors have been working on reversing the code for 1.17.0 an unofficial release that got leaked. This release was special as it lacked obfuscation protection, which was a big deal in terms being able to more quickly match code when using AI.
This had me slightly change course and begin on my own to start with 1.17 decomplication from ground up on my end. I didn't want to work off their set as they have a non-AI stance on the project. As such I prefer to respect that position and did my work untied to what they accomplished. Note while I will be open sourcing this work, the original starting point of the finalized decompiled code for 1.17 will not be shared for now. Out of respect of the other team to complete their work. The individual has access to my finalized decompiled code and can confirm it does not match with theirs. Plus, every commit from day one is verifiable, along with all my mistakes and dead ends.
Hyperion is a source port that takes the classic game engine and aims to push it further. My goal is to have the community help give guidance on the overall direction and expansion of this. Developer feedback is also appreciated and I will be seeing on having others join this project to further expand on it. My main request that I want this to project to keep, is that it stays open. Hopefully if the community wants, it can be the starting point of pushing existing mods further with endless possibilities. This project has been a solo project since, so experienced or eager devs if interested let me know.
Before this goes into a even longer essay, I did my best putting together a video on this. Sorry if too long, I had to cut out a lot of stuff as it was already pushing to 15 mins. Marketing or showcasing isn't my strong suit. Will post discord link as I get closer to release with the native builds and repo setup.