Remix.run Logo
PlayStation 2 Recompilation Project Is Absolutely Incredible(redgamingtech.com)
132 points by croes 4 hours ago | 41 comments
emodendroket 2 hours ago | parent | next [-]

This is cool but of course it's only going to be a small handful of titles that ever receive this kind of attention. But I have been blown away that now sub-$300 Android handhelds are more than capable of emulating the entire PS2 library, often with upscaling if you prefer.

observationist 18 minutes ago | parent | next [-]

Moore's law never ceases to amaze (the vulgar version where we're talking compute/dollar, not the transistor count doubling rate.) It won't be too long before phones are running AI models with performance equal to or better than current frontier models running on $100 million dollar clusters. It's hard to even imagine the things that will be running on billion dollar clusters in 10 years.

freedomben a few seconds ago | parent [-]

I do hope you're right, but I'm quite skeptical. As mobile devices get more and more locked down, All that memory capacity gets less and less usable. I'm sure it will be accessible to Apple and Google models, but models that obey the user? Not likely

jkingsman an hour ago | parent | prev | next [-]

It really is incredible. I've been playing through my childhood games on retro handhelds, and recently jumped from <$100 handhelds to a Retroid Pocket Flip, and it's incredible. Been playing WiiU and PS2 games flawlessly at 2x res, and even tackling some lighter Switch games on it.

reactordev 39 minutes ago | parent [-]

It truly is. My issue though, like in 2010 when I built an arcade cabinet capable of playing everything is you eventually just run out of interest. In it all. Not even the nostalgia of it keeps my attention. With the exception of just a small handful of titles.

- Excite Bike (it’s in its own league) NES

- Punchout (good arcade fun) NES

- TMNT 4-P Coop Mame Version

- NBA Jam Mame Version

- Secret of Mana SNES

- Chronotrigger SNES

- Breath of Fire 2 SNES

- Mortal Kombat Series SEGA32X

- FF Tactics PS1

I know these can all be basically run in a browser at this point but even Switch or Dreamcast games were meh. N64/PS1/PS2/Xbox was peak and it’s been rehashed franchises ever since. Shame. The only innovative thing that has happened since storytelling died has been Battle Royale Looter Shooters.

Novosell 14 minutes ago | parent | next [-]

Outer Wilds, Baba is You, Blue Prince, Hades 1&2, Disco Elysium, Hollow Knight, Slay the Spire, Vampire Survivors, Clair Obscur, What Remains of Edith Finch, 1000xResist, Return of the Obra Dinn, Roboquest, Rocket League, Dark Souls, etc. I could go on, and on, and...

Not rehashes. Original, phenomenal games covering damm near every genre and if there is a genre you're missing, I can find a modern game to match.

Do you actually engage with modern games?

reactordev 5 minutes ago | parent [-]

Ok, I’ll give you Rocket League. That’s an entirely new spin on a genre I didn’t see coming. The rest are just RPGs or platformers you like. Good games, but not innovative.

Yes, I have over 1,000 games in my Steam library going back to 1999. I engage in most games that make the top 500 and have so since I was a teenager making games myself.

haunter 3 minutes ago | parent | prev | next [-]

>The only innovative thing that has happened since storytelling died

lol

There are countless already classic modern story driven games which pushing the boundaries of video games forward.

I know nostalgia is a very strong drug and I also love the games I grew up with in the 90s but it's pure ignorance to say that 1, "storytelling died" 2, no innovation happened in video games in modern times (whatever that even means)

mlyle 20 minutes ago | parent | prev | next [-]

For the oldies but goodies in my list:

- Any one of the 194_ games

- Legend of Zelda: A Link To The Past

- Super Mario World

- Final Fantasy VI, VII, IX

- Chrono Trigger (agree)

- Street Fighter 2 Championship Edition

- Metal Gear Solid 1-3, MGS: Peace Walker

But I think there's been good stuff since.

- The Super Mario Galaxy games

- Super Monkey Ball

- MGS4, MGS5

- Witcher 3

- The Bioshock games

- Minecraft-- probably the game with the most replay value of anything of all time.

I don't know what will stand the test of time. I don't want to play any of these games now, since I've burnt them out, but at some point I'll likely want to play them again...

- Undertale

- Bravely Default

- The Octopath games

- Dispatch

- AstroBot

- Clair Obscur

fragmede 7 minutes ago | parent | prev | next [-]

Paradox of choice. When you were single digit/low double years old, and you only had 3 games, you had to play the shit out of them. With every game available at your fingertips, there's no such compunction.

reactordev 5 minutes ago | parent [-]

[delayed]

irishcoffee 21 minutes ago | parent | prev | next [-]

> N64/PS1/PS2/Xbox was peak and it’s been rehashed franchises ever since. Shame. The only innovative thing that has happened since storytelling died has been Battle Royale Looter Shooters.

I was a kid when ps1/n64 came out so I also have a lot of nostalgia about that era of gaming.

However…

There are a ton of great games out there from this era. Hell, the Uncharted series and Expedition 33 will get you 100-200 hours of excellent gameplay, Elden ring is another 200. Lies of P is a fantastic game, 50-100 more. The star wars Legos and star wars Harry Potter games are a lot of fun to play with kids, and Breath of the Wild/Tears of the Kingdom are the Zelda games we wanted on n64 as a kid, I love those games. And they’re not a rehash, at all.

There’s a lot of fun things out there to play if you poke around. Your local library might surprise you with the collection for completely free games you can borrow. Modern games even.

techpression 6 minutes ago | parent | prev | next [-]

What? Dreamcast was a marvel when it came to games, Crazy Taxi, Virtua Tennis, Power Stone, Jet Set Radio, Grandia, SoulCalibur etc.

reactordev 3 minutes ago | parent [-]

[delayed]

wahnfrieden 27 minutes ago | parent | prev [-]

The Demons Souls lineage titles are another valuable innovation (I understand the earlier inspirations it had but those aren't playable like these modern ones)

For MAME I recommend trying Pang and Super Buster Bros

grimgrin 44 minutes ago | parent | prev | next [-]

I'll take a longbet with you that this or successors tackle more than a small handful of titles

We live in interesting times

Onavo 22 minutes ago | parent | prev | next [-]

I suspect we will see a proliferation of emulator development in the next few years.

In a lot of ways, emulators are the perfect problem for vision/LLMs. It's like all those web browser projects popping up on HN. You have a very well define problem with existing reference test cases. It's not going to be fun for Nintendo's lawyers in future when everybody can crowdfund an emulator by simply running a VLM against a screen recording of gameplay (barring non deterministic éléments).

They can't oppress the software engineering masses any longer through lawfare.

flykespice an hour ago | parent | prev [-]

What the dev of AertherSx2 did to run games smooth, even on my midrange 2019 android phone, is wonders.

Too bad the dev is a very emotionally unstable person that abandoned his port, despite his big talent.

dottjt an hour ago | parent | next [-]

On the flip side, maybe those traits are what lead to the existence of the emulator in the first place. Better something than nothing.

Sarkie an hour ago | parent | prev [-]

Wasn't he hounded by users as usual?

siev 18 minutes ago | parent [-]

Yeah and he didn't want to deal with receiving death threats for working on a passion project. Which I guess is considered being "emotionally unstable".

bananaboy 19 minutes ago | parent | prev | next [-]

Link to the actual project rather than just a news article about it https://github.com/ran-j/PS2Recomp

OneDeuxTriSeiGo an hour ago | parent | prev | next [-]

On this topic of ports/recomps there's also OpenGOAL [1] which is a FOSS desktop native implementation of the GOAL (Game Oriented Assembly Lisp) interpreter [2] used by Naughty Dog to develop a number of their famous PS2 titles.

Since they were able to port the interpreter over they have been able to start rapidly start porting over these titles even with a small volunteer team.

1. https://opengoal.dev/

2. https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp

wmf 2 hours ago | parent | prev | next [-]

An application of the first Futamura projection. https://en.wikipedia.org/wiki/Partial_evaluation

jszymborski 2 hours ago | parent | next [-]

I read this as Futurama way too many times

suprjami 2 hours ago | parent [-]

So did I. Considering there is a PS2 Futurama game, it seems a reasonable mistake.

jszymborski an hour ago | parent [-]

honestly I kept thinking of this https://theinfosphere.org/Futurama_theorem

masfuerte an hour ago | parent | prev [-]

Is it? It would be if it partially evaluated a MIPS emulator on a particular game. But it doesn't seem to work like that.

wmf 27 minutes ago | parent [-]

"Decoding the MIPS R5900 instructions in each function Translating those instructions to equivalent C++ code Generating a runtime that can execute the recompiled code The translated code is very literal, with each MIPS instruction mapping to a C++ operation." It sounds like a MIPS interpreter that gets statically unrolled.

masfuerte 13 minutes ago | parent [-]

Yes, it's like the result of unrolling a MIPS interpreter, but there never was an actual MIPS interpreter.

I thought the point of the Futamura projection was that there was actually partial evaluation happening, i.e. you take a real interpreter and specialize it in some automated fashion. That's what makes it interesting.

But I could well be wrong about the naming. It doesn't really matter what it's called if we're all clear about what's actually happening.

xnx an hour ago | parent | prev | next [-]

Emulation is already amazing. What can be done with recompilation is magic: https://github.com/Zelda64Recomp/Zelda64Recomp

ChrisMarshallNY an hour ago | parent | prev | next [-]

This sounds very cool, but I can practically hear the IP lawyers sharpening their buzz-axes...

doublerabbit 35 minutes ago | parent [-]

Or as in cartoons, IP lawyers with dollar symbols in their eyes.

denkmoon 17 minutes ago | parent [-]

Only in terms of their own salaries and bonuses. For all their litigiousness over emulation I can't imagine it really makes them money.

flykespice an hour ago | parent | prev | next [-]

I wonder how they will tackle the infamous non-conformant Ps2 floating-point behavior issue, that is the biggest hurdle on emulating Ps2.

mikepurvis an hour ago | parent | next [-]

Some context for others who were unaware: https://github.com/PSI-Rockin/DobieStation/issues/51

EDIT here's potentially a better link: https://www.gregorygaines.com/blog/emulating-ps2-floating-po...

realusername 10 minutes ago | parent | prev | next [-]

Probably the same way as the emulator themselves, with a list of titles needing the real PS2 floating point.

A lot of titles don't actually need it and work fine with standard IEEE floating point.

kmeisthax 11 minutes ago | parent | prev [-]

PS2 floating-point behavior is one of the few hardware misfeatures so awful it affects emulation of competing systems[0]. The game True Crime: New York City is so dependent on PS2 floating point that the GameCube port installs an error handler just to make 1/0 = 0. Which isn't even PS2 hardware behavior. But it is "close enough" that the game does not immediately throw you into the void every time you step on a physics object.

[0] https://dolphin-emu.org/blog/2021/11/13/dolphin-progress-rep...

imtringued 2 hours ago | parent | prev [-]

As far as I know, static recompilation is thwarted by self modifying code (primarily JITs) and the ability to jump to arbitrary code locations at runtime.

The latter means that even in the absence of a JIT, you would need to achieve 100% code coverage (akin to unit testing or fuzzing) to perform static recompilation, otherwise you need to compile code at runtime at which point you're back to state of the art emulation with a JIT. The only real downside of JITs is the added latency similar to the lag induced by shader compilation, but this could be addressed by having a smart code cache instead. That code cache realistically only needs to store a trace of potential starting locations, then the JIT can compile the code before starting the game.

bluGill an hour ago | parent | next [-]

Yes, but in practice that isn't a problem. People do write self modifying code, and jump to random places today. However it is much less common today than in the past. IT is safe to say that most games are developed and run on the developers PC and then ported to the target system. If they know the target system they will make sure it works on the system from day one, but most developers are going to prefer to run their latest changes on their current system over sending it to the target system. If you really need to take advantage of the hardware you can't do this, but most games don't.

Many games are written in a high level language (like C...) which doesn't give you easy access to self modifying code. (even higher level languages like python do, but they are not compiled and so not part of this discussion). Likewise, jumping to arbitrary code is limited to function calls for most programmers.

Many games just run on a game engine, and the game engine is something we can port or rewrite to other systems and then enable running the game.

Be careful of the above: most games don't become popular. It is likely the "big ticket games" people are most interested in emulating had the development budget and need to take advantage of the hardware in the hard ways. That is the small minority of exceptions are the ones we care about the most.

duskwuff 31 minutes ago | parent | prev [-]

How many PS2-era games used JIT? I would be surprised if there were many of them - most games for the console were released between 2000 and 2006. JIT was still considered a fairly advanced and uncommon technology at the time.