I'm hyped for Nocturne HD on steam even if there are bugs and it has me wondering: how do you get the skillset to port an 18 year old ps2 exclusive game to modern hardware? Like seriously where do you go to learn this stuff? "Reverse engineering software to emulate old hardware and older stuff we've lost the source code for" seems to be a fairly big industry. Is most of what you need in a computer science course or is most of it locked away in the heads of pro software engineers?
First, allow me to link an old post about [how emulation works] for those who want a little added context. Let’s also assume that the developers also lack the original assets or code for the original games. Games from 2003 were built using tools that are no longer supported on an OS that is also no longer supported using computer hardware that is mostly no longer available and stored using data formats that are no longer supported.
Now to your question. The principles of software emulation are, indeed, taught in university coursework. The university I attended taught the basics of emulation as part of their upper division computer architecture class. Delving further into the subject would have required graduate-level coursework, but it was definitely available for study if the students so chose. This would have gone over the concepts and theory behind emulation and virtual machines in general. However, this alone would be insufficient because you’d then need to figure out the specifics of emulating a Playstation 2 game in particular.
Thankfully, PS2 hardware has a lot of preserved documentation on how it works. There is also a history of emulation for the PS2 environment built for use with the PS3, and there are publicly available PS2 emulators for the PC as well. Enterprising software engineers can use this information combined with their knowledge of emulation in general to construct their own emulator to run on the platform they want and optimize it for the game they are emulating. They can probably datamine and replace the old assets in the game as well, similar to how modders do their current work. As long as they can reverse-engineer the file formats for the in-game assets, such assets can be swapped out as long as the file format of the new assets are still compatible with the way the old game handled them.
This kind of expertise in emulation and file/asset reverse-engineering is a specialized field in game dev today that doesn’t have a lot of crossover with new game dev. As a result, contract game studios that specialize in this kind of work have stepped up to fill this need. I’m sure you’ve seen the results of their work in the many remasters of old games. University learning can certainly prepare you to start, but it is only the first step of the process. The rest of it is research and experimentation.
[Join us on Discord] and/or [Support us on Patreon]
The FANTa Project is being rebooted. [What is the FANTa project?]
Got a burning question you want answered?
- Short questions: Ask a Game Dev on Twitter
- Long questions: Ask a Game Dev on Tumblr
- Frequent Questions: The FAQ