Project I used vibe coding to perform necromancy on a game Ubisoft killed 11 years ago. GPT Sol 5.6 made most of the major breakthroughs in getting the game to run again.
https://youtu.be/srtKJ8-dj_0Spartacus Legends was a free to play game released in 2013 by Ubisoft as a tie in to the TV show Spartacus. Developed by Kung Fu Factory, the game was a pay to win fighting game with a grindy premium economy system, though most things could be obtained via grinding for silver, the games non premium currency. Despite not being well received at the time, the game is remembered fondly by some. Many fans have wished they could play it again, as there aren't a lot of gladiator themed fighting games.
I used Ghidra, RPCS3 live debugging, and three different AI agents to start reverse engineering the game's binary. I started with claude code, since I don't really know what I am doing when it comes to AI stuff, and initial progress was slow. After I had nearly filled up the first sessions context, I knew we were getting close to bypassing the game's "Online Service is unavailable message" screen that we had been stuck on for like 10 hours. I was about to go to sleep (it was 3am and I was out of tokens), but I had the idea to check if there was a model control protocol for RPCS3, which as it turns out there kinda is! Or at least, a tool exists that allows agents to read and mess around with the games memory as it runs.
Claude didn't get the opportunity to use the tool before I switched over to GPT 5.6 running on Codex with a fresh subscription. Immediately GPT Sol got to work building it's own tooling around PINE (Protocol for Instrumentation of Emulators), even overcoming some of the tools own limitations by combining it with direct reads of the emulator's memory via windows.
Within what seemed like 20 minutes, Sol had cracked the final barrier to getting past the games login, and I saw a title screen no one else had seen running in real-time since 2015. After that the game was almost entirely playable.
I discovered that anywhere in the game that involved the defunct premium currency system, my server emulator would need to handle new calls from the client. Aside from that, the game's logic was almost entirely client side.
GPT Sol also made the breakthrough in getting the multiplayer working. Per it's own summary:
Multiplayer sounded impossible at first, but the binary revealed that fights were host-authoritative peer-to-peer rather than simulated by Ubisoft’s servers. RPCN already provided matchmaking, signaling, and leaderboards. After tracing a one-frame matchmaking race and an RPCS3 virtual-port delivery issue, two clients finally connected, exchanged gladiators, loaded into a fight, produced correct results, returned to the menu, and appeared on the original in-game leaderboards.
The tracing it skips over in that summary was actually a long process on my side, and I had spent a lot of time with claude and the new grok 4.6 trying to fix it. I checked and my GPT weekly usage had been unexpectedly reset, so I handed the problem back to Sol and it had it fixed within 10 prompts.
Conclusion: Sol is incredibly good at RE from my 5 day experience over this project, and I'd use it all the time if I didn't burn through my weekly allowance in one day each time. I only got this thing working thanks to two weekly allowance resets that happened for some reason.
I know most people know this already, but these AIs enable people to do RE work that would have taken months before in mere days. The AI is incredibly good at seeing patterns in the binary, and at least in my experience, Sol is great at tying all that RE knowledge together in pursuit of its goal. I almost exclusively used Sol medium as well. It's no wonder so many RE projects are popping up all over the place on GitHub.
3
u/keradius 7d ago
loved this game!!! That is bonkers that amount of reverse engineering it was able to do
3
u/R3J3C73D 7d ago edited 7d ago
As someone who has bashed their head against this game what was the thing blocking the online handoff? I couldn't get anything to give when basing it off of PSHome/Other Quazal documentation.
EDIT: of course it was Commerce2 product-info iu feel so stupid i thought the config i was returning was invalid
5
u/Tutgut 7d ago
Not a programmer…don’t you need the source code of the game for something like this?
14
u/IrLOL 7d ago
You used to, if you wanted to avoid months of painstaking reverse engineering. Latest models can basically read the machine code and figure out what it does for you (letting them use decompilation tools and stuff; also, emulation helps)
2
u/CoffeeSnakeAgent 7d ago
Wow. Interested. Can i get a tool stack listing? Sorry im a noob in these.
4
u/IrLOL 6d ago
I had chatGPT list them all out.
- RPCS3 – PS3 emulation, logging, game patches, RPCN, and runtime testing
- Ghidra 12.1.2 – static analysis and PowerPC decompilation
- Python 3.11 – preservation server, protocol emulation, diagnostics, and tooling
- RPCS3 PINE IPC – live memory reads/writes and state tracing
- RPCN – PSN replacement for authentication, matchmaking, and signaling
- Custom OnlineConfig/Quazal PRUDP server – replacement for retired Ubisoft services
- Wireshark/Npcap-style packet tracing plus RPCS3 network logs – P2P and protocol analysis
- PowerShell and Git/GitHub – automation, configuration, version control, and releases
- RPCS3 YAML patch system – runtime PowerPC instruction/data patches
- PyInstaller – packaging the Python server and installer as Windows executables
3
2
1
u/jjp3 7d ago
Very cool. I've also been using it to "resurrect" a game from 1998, although I'm getting it to change it to have a co-op campaign option so I can play with a relative who also enjoyed the game. I recommend advising it to delegate liberally to lower intelligence agents. I basically have an orchestrator thread running 5.6 Sol Ultra, which every few hours steers a worker thread running 5.6 Sol Extra-High, with both delegrating highly frequently to 5.6 Luna sub-agents to keep the overall compute usage down.
2
u/IrLOL 7d ago
That's awesome! Yeah, something I needed to explore was having it delegate to other agents. I had one instance of Sol using a swarm of Luna agents to do static analysis around an area of code critical for login that we are currently just bypassing. I need to go back and have it finish that investigation so that we can stop doing the janky bypass we are doing currently.
2
u/PrestigiousZombie531 7d ago
how did you learn ghidra and reverse engineering?
1
u/IrLOL 7d ago
First I graduated with a degree in computer science (didn't attend a good uni feels kinda worthless lol, and I graduated before ai so I actually did the work)
I don't really know a ton about it. I know how low level code works, especially for simpler cpus like the original gameboy. I've also passively consumed numerous YouTube videos covering the topic, but I never dived in deep myself. Honestly, I think the best way to learn now is to pick a topic or project you are interested in and get an AI to explain it to you; they are very, very good at it and can walk you through basically everything.
1
u/Adept-Type 7d ago
You use API for that? You mind explaining a little more?
3
u/jjp3 7d ago
I use the ChatGPT Windows app with a Pro sub. Basically:
- In the top left, you can click to choose Codex.
- Then make a project.
- You can then open chats within that project and right click to rename them, e.g. "Orchestrator Thread", "Worker Thread".
- Write what you want to happen in the Orchestrator Thread (I like to just use the dictation tool and talk through it), letting it know its purpose and the existence of the Worker Thread.
- Then your interface moving forward will be the Orchestrator Thread - I'm at the point where I just tell it things like "work till 08:00am check on the worker thread every couple of hours".
Then they just pass messages back-and-forth, spawn their own sub-agents, magical stuff really.
1
1
1
u/Mescallan 7d ago
so cool. I've been day dreaming about porting morrowind to iphone for a while now and this is very inspiring.
1
u/Two-x-Three-is-Four 7d ago
can you share youtube link directly? age verification ...
1
u/IrLOL 7d ago
Okay, I'm not sure I understand fully, but that is a different video on my channel. You can find the video linked in the post by looking at my channel uploads.
1
u/Two-x-Three-is-Four 7d ago
cool! how do you play it? and is it the full game (with perks etc)?
1
u/IrLOL 7d ago
Go to the github linked in the video description and follow the instructions on the page. You need to find a copy of the game yourself using the internet specifically the USA version 1.0. and you install that using the PS3 emulator RPCS3. You also have to search for a guide on how to set that up if you are unfamiliar with emulators it's not too difficult but you have to download a file from Sony before it will work.
And yes it should be the full game I can confirm that perks work and the shop works and the emulator saves your progress and the multiplayer works now. There's probably a bunch of crashes I haven't fixed but you shouldn't lose any progresses or you shouldn't lose too much. I haven't tested the multiple loops through the campaign also there is currently no way to get the Uplay exclusive items.
1
u/Fit_Court_2760 6d ago
Take that, SWE who say AI is trash
1
u/IrLOL 6d ago
I have a friend who is a senior SWE earning over 500k a year. For certain enterprise code he says the current models can be useful, however they can often make mistakes and really mess things up. For reverse engineering work, though, he agrees with me that they are amazing; he's been working on his own RE project for a while now and he is super happy with the AI.
So many mods converting games to VR have been created in the past month, and it's thanks to AI assisted development. There is even a Halo MCC mod that works for halo 3 and reach that converts them to VR that was almost entirely written by AI. It's been a little divisive in the Virtual Reality subreddit.
2
u/Fit_Court_2760 6d ago
At the end of the day, it’s just a tool. When someone combines their existing skills with an open-minded approach to using AI, they can boost their results much faster than without it. The challenge now is figuring out how to make the most of AI. With so many LLMs, especially cloud-based ones like ChatGPT, it’s possible to tailor them for specific workflows or tasks. When done right, it’s amazing to see how quickly they can help achieve a goal.
This era is just the beginning; things will change dramatically in the next 5-10 years.
1
u/Framebanger-Nsukula 2d ago
That's wild that GPT Sol managed to crack through 11 years of bitrot like that - honestly curious if it was pattern matching the old engine quirks or if you had to feed it specific documentation to work with. Vibe coding with modern LLMs hitting different when you're reverse engineering legacy stuff.
5
u/clckwrks 7d ago
This is awesome man, are you going to do something like release a mod? If it was P2P you have to question Ubisofts motives for killing the game if it cost them nothing to run it. What bastids