How to reverse-engineer a game and fix its laggy netcode?

Hello everybody!
Wow! I just discovered this website and forum thanks to a very niche hardware search, and here you are game developers too!

This forum seems pretty hard core on any topic it covers!

So, I thought, heck, this is the place to ask my burning question!

Saint Seiya: Soldiers’ Soul.
WONDERFUL fighting video game.
Ported to PC from PS4.
Online multiplayer mode: lags like hell.

Example:
dropbox_com/sh/1fufg1evmv2jl9n/AAAcDjUTR0R9paIvTt3twUP_a?dl=0

(Just add the https and www things and replace the underscore with the dot, I can’t post links yet).

  1. Hypothetically, is it possible to reverse-engineer the software to get its code nice and shiny?

  2. Hypothetically, is it possible to fix the code to solve the lag issues?

  3. Ultra-hypothetically: would it be possible to turn it from delay-based netcode to rollback netcode?

  4. If any of you feels able to do that, how much would you charge for the job?

IMPORTANT:
This problem goes beyond the ‘natural’ lag that occurs when one or more players have a crappy connection. It even happens between players with excellent, low ping, fiber connections, among other odd things, such as:

A 3rd player enters the lobby and lag starts. We play lagged for a while. The 3rd player leaves the lobby (the host still being the same, everything returning IDENTICAL to how it was before the 3rd player entered), but the lobby remains lagged. We have to create a new one.

Yes, it sucks that much!

THANK YOU SO MUCH!!!

I’d show you some AMAZING battles (not lagged) among me and other pro players, but I wouldn’t want this to seem a self-promotion spam thing. So, for now, let’s focus on fixing this darn’ problem. Then I can share crazy videos if you want.

Generally no, not to a degree required for what you need. Developing software is hard enough when you have access to code and documentation and people who wrote the original work you’re now developing further. Doing it from a reverse engineered product is very very very very very hard.

For a low double digit number of millions of $; you could negotiate licenses to IP and source code (or basically just buy a part of Dimps since they probably reuse code between games) and could probably hire/fund a combination of original devs and fresh devs for a year and you might get lucky and get them motivated to do what you want.

In any scenario, I would not recommend it.


Perhaps a better approach would be to use various soft tactics, e.g. beg, send donuts, snacks, flowers to their offices (homes) every day for a year with a love note “please change to rollback netcode <3”, but not too often since they might consider themselves failures for warranting such attention , and then change the message to happy pi day and so on every geeky holiday, or maybe a joke of the day on the day.

2 Likes

LOL!
It seems more difficult than I thought initially…

Thanks for the suggestions, all I need now is to figure out their names and home addresses.

In theory, yes.
In practice, unlikely.

It is possible to reverse-engineer server applications to keep a game running after the developer abandons it.

1 Like

If you are interested in seeing what this takes I imagine the people who got Test Drive Unlimited 2 back online could maybe show you something.

It also appears that Loadout is on its way to being back online, it is offline playable right now and I think they are working on the online, so they can show you it in progress.

Phantasy Star Online for the Dreamcast also had a fan made server project that worked. and a few emulators have rebuilt network functionality. if you are looking for other such stuff.

It is not easy, it is pretty rare it happens but there are groups out there that do it.

2 Likes

Testing area and some maps are working, yes.

2 Likes

Japanese games have terrible netcode because their internet is so godly it doesn’t matter

2 Likes

That and they’re still coding with VS6 on windows 95.

1 Like

4:3 resolutions

oh my goodness! Thank you so much. I noticed this only now, sorry

1 Like

lol