PlayStation 2 Recompilation Project Is Absolutely Incredible
Posted by croes 6 hours ago
Comments
Comment by pwdisswordfishs 1 hour ago
Besides the library, the PS2 is the most successful video game console of all time in terms of number of units shipped, and it stayed on the market for over ten years, featured a DVD drive, and at one point was positioned by Sony not just as an entertainment appliance but as a personal computer, including their own official PS2 Linux distribution.
In a more perfect world, this would have:
(a) happened with a hypothetical hardware platform released after the PS2 but before the PS3, with specs lying in between the two: a smidge better than the former, but not quite as exotic as the latter (with its Cell CPU or the weird form factor; whereas the PS2's physical profile in comparison was perfect, whether in the original form or the Slim version), which could have:
(b) resulted in a sort of standardization in the industry like what happened to the IBM PC and its market of clones, with other vendors continuing to manufacture semi-compatible units even if/when Sony discontinued it themselves, periodically revving the platform (doubling the amount of memory here, providing a way to tap into higher clock speeds there) all while maintaining backwards compatibility such that you would be able to go out today and buy a brand new, $30 bargain-bin, commodity "PS2 clone" that can do basic computing tasks on it (in other words, not including the ability to run a modern Web browser or Electron apps), can play physical media, and supports all the original games and any other new games that explicitly target(ed) the same platform, or you could pay Steam Machine 2026 prices for the latest-gen "PS2" that retains native support for the original titles of the very first platform revision but unlocks also the ability to play those for every intermediate rev, too.
Comment by delaminator 1 hour ago
to avoid EU import taxes
Comment by joshu 37 minutes ago
Comment by emodendroket 4 hours ago
Comment by observationist 2 hours ago
Comment by freedomben 2 hours ago
Comment by timschmidt 2 hours ago
It's really fun to have useful hardware that's easy to program at the bare metal.
Comment by direwolf20 12 minutes ago
Comment by deadbabe 38 minutes ago
Comment by jkingsman 3 hours ago
Comment by reactordev 3 hours ago
- 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.
Comment by Novosell 2 hours ago
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?
Comment by chongli 1 hour ago
The puzzle games in your list have no equal though. The NES is pretty light on puzzle / adventure games, though it did receive really nice ports of the MacVenture games (Deja Vu, Uninvited, Shadowgate) as well as Maniac Mansion, and it has a couple of unique ones with Nightshade and Solstice that blend in a bit of action while remaining primarily adventure games.
Comment by CoolGuySteve 1 hour ago
The NES and SNES had 1-3 frames of latency depending on the game.
Comment by anyfoo 1 hour ago
Comment by phatfish 2 hours ago
Only VR has come close recently, but that hasn't hit in the same way because it is still too expensive and cumbersome.
Comment by reactordev 2 hours ago
The first one was Team Fortress. Remember that? Still strong today as a ftp title TF2. The second one was a spec-ops style delta force mod (I can’t remember the name) but it gave the 3rd modder the idea that a modern setting could work. Counter-Strike was released as an early alpha on my forum and the rest was history.
I mention this because this was a tuning point from fixed function pipelines to programmable pipelines (shaders).
There was this awe of what we can do, what could be possible, and today’s modern games are a fulfillment of that. I feel this same sense of awe when it comes to some of these foundational models. It’s just incredible what they are capable of.
In reality, while AAA titles have been pumping out annual titles to keep shares high and pigs fat, there have been some wonderful indie titles, smaller budget games, that have made a significant impact on the games industry as a whole.
Comment by lgl 34 minutes ago
Half-Life used the GoldSrc engine [0], based mostly on Quake 1 and also some parts of QuakeWorld and Quake 2
Comment by anyfoo 1 hour ago
Outer Wilds, Disco Elysium, Dark Souls, and Return of Obra Dinn were among the mentioned titles. All of these games tell a story, each of this game does it in its own, magnificent way.
You act a bit like those kind of games are hard to find, but some of them are highly popularized best sellers that keep getting remasters (I don't mean remakes), and still find a huge audience in entirely new YouTube Let's-Plays alone.
Comment by reactordev 2 hours ago
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.
Comment by mietek 2 hours ago
Comment by reactordev 2 hours ago
Comment by gambiting 1 hour ago
Like the other commenter said - I hope I don't become jaded like this about video games, it still brings me joy to see how every new game twists the known formula a little bit more and in new and exciting ways, I believe there are several nieches where we haven't seen the game of that genre yet and I can't wait to see it emerge and how and who is going to do it.
Comment by reactordev 1 hour ago
I have a feeling you haven’t played those games otherwise you’d see the similarities.
Yes, I am ABSOLUTELY looking at the mechanics of the game. I’m also looking for innovation. Take something someone tried (maybe it was a big part of their design) and make a full blown out version of it. Pushing the genre in either a new direction or opening one up. Outer wilds did neither. Not to say it wasn’t a good game. That’s not at all what I’m saying. I’m saying outside of those that played it, it will be forgotten. It changed nothing. It came, it endeared, it left.
Comment by TimorousBestie 2 hours ago
Comment by reactordev 1 hour ago
Comment by anyfoo 1 hour ago
I'm sorry to say, your nostalgia-colored-glasses are so strong, you're actually blinded by them. I grew up in the same gaming era as you (started around early to mid 90s, but the peak was later), and I too have fond memories. But there undeniably has been some magnificent progress in pretty much all aspects of gaming.
Somewhere between 2005 and 2010, I thought I had outgrown gaming, and that no game would have anything to offer to me anymore. But years later I learned that that was just because I was stuck thinking that JRPGs were the pinnacle of gaming, it turned out that I had grown out of those. Obviously your story will be different, but I bet there is some story to you somewhere.
Comment by lgl 28 minutes ago
Comment by Novosell 1 hour ago
Comment by reactordev 1 hour ago
Are they fun? Yes, they are designed to be addictive. So you spend money on pixels.
Comment by Novosell 1 hour ago
Outer Wilds, 1000xResist and What Remains of Edith Finch all moved me to tears. I still can't casually listen to the soundtracks of Outer Wilds or 1000x, as they simply evoke too many emotions.
Stop conflating Call of Duty and the like with "modern gaming".
You're jaded, and I feel sad for you.
Comment by anyfoo 1 hour ago
Comment by charcircuit 1 hour ago
Comment by reactordev 1 hour ago
Comment by charcircuit 27 minutes ago
Comment by anyfoo 1 hour ago
Comment by gambiting 1 hour ago
Calling outer wilds or Clair Obscur "not innovative" just tells me you haven't played these games from start to finish, and I don't mean any offence saying this. Unless you mean just mechanically?
Comment by reactordev 1 hour ago
Comment by haunter 2 hours ago
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)
Comment by reactordev 2 hours ago
Comment by josephg 1 hour ago
If you're looking for deep narrative from AAA games, then the best you'll find are games like Cyberpunk 2077 - which have some decent writing in between all the action. But if you want something that'll really scratch a strong narrative itch, you gotta go deep on indies. That's where all the experimentation is happening.
You might also just be getting more genre savvy with age. When you're a kid, story beats are mind blowing. But most narratives - especially in games - tack pretty close to classic hero arcs. Once you've seen 100 of them you can often predict the entire narrative arc once you've seen the end of the first act. In other words, it might not be that games have gotten worse. It might just be that you've gotten better at understanding classic narrative structures, so it takes more to surprise you.
Comment by reactordev 1 hour ago
Don’t get me wrong. I love games. Obviously. I just see, as you said, 300+ games being released weekly and have really no desire to pursue them. I’ll occasionally jump on the bandwagon of steams top 100 but I don’t feel connected to the games I play anymore. I still play them. It’s good entertainment. I don’t care about buying battle passes, season passes, trinkets, cosmetics, DLC content, etc. If the game is good, sell the game.
Comment by gambiting 1 hour ago
Be honest- you guessed the plot of Claire Obscure before you got to Act 3? Or the plot of Death Stranding 1 & 2 before you finished them?
What kind of games have you played since 2018? Because yeah, there is a lot of predictable cookie cutter AAA games out there, sure. But each year there are games which are surprising in their storytelling, same as somehow there are still new and surprising films despite film being much older than gaming. Not to mention books.
Comment by reactordev 1 hour ago
By Act 2 the story was already falling apart. The game just leaves you feeling depressed. I guess since you felt something that makes it GOTY.
Comment by leguminous 51 minutes ago
* Roguelites have proliferated: Hades is the most obvious example, but there are a variety of sub-genres at this point.
* Vampire Survivors (itself a roguelite) spawned survivors-likes. Megabonk is currently pretty popular.
* Slay the Spire kicked off a wave of strategy roguelites.
* There are "cozy" games like Unpacking.
* I don't recall survival games like Subnautica or Don't Starve being much of a thing in the PS2 era.
* There are automation games like Factorio and Satisfactory.
* Casual mobile games are _huge_.
* There are more experimental games, sometimes in established genres, like Inscription, Undertale, or Baba Is You.
Not to mention that new games in existing genres can be great. Hollow Knight is a good example. Metroidvanias were established by the SNES and PS1 era, but Hollow Knight really upped the stakes.
I'm sure I'm forgetting things and people will have some criticism, but I really don't believe games have stagnated in general.
Comment by mlyle 2 hours ago
- 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
Comment by reactordev 2 hours ago
Most of my buddies at the time would come over, have a beer, immediately hang it on the boat-coozy cup holders (the ones that gyro) and go to town shoulder to shoulder playing SF2. The cup holders gyro would prevent the beers from spilling as the arcade cabinet rocked back and forth from two grown men having a virtual fist fight. Best times.
Comment by chongli 1 hour ago
Recently, I have played through Faxanadu, Dragon Warrior, Blaster Master, and am now working through Fire Emblem (translated from Japanese).
Comment by RGamma 1 hour ago
Comment by bluescrn 1 hour ago
As a grown adult, nothing can recreate the feeling of exploring a new game as a child/teen. Especially during the 80s/90s, where gaming as a whole was new and rapidly-evolving.
But revisiting old favourites for the nostalgia can still be enjoyable.
Comment by fragmede 2 hours ago
Comment by reactordev 2 hours ago
Comment by irishcoffee 2 hours ago
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.
Comment by techpression 2 hours ago
Comment by reactordev 2 hours ago
Dreamcast’s only hit was Crazy Taxi.
Comment by egypturnash 23 minutes ago
Comment by wahnfrieden 2 hours ago
For MAME I recommend trying Pang and Super Buster Bros
Comment by pjmlp 2 hours ago
My Android phone is more powerful than the four PCs I owned during the 1990 - 2002, 386SX - P75 - P166 - Athlon XP, all CPU, GPU, RAM and disk space added together.
Comment by PlatoIsADisease 2 hours ago
Its fine with Fedora, but Windows 11 is terrible.
Comment by pjmlp 1 hour ago
They aren't to blame, management is.
Comment by josephg 1 hour ago
Software engineers are hired to be the expert in their field. If you don't learn your craft, managers aren't going to do it for you.
Ideally new hires would be mentored by senior engineers who understand performance, and who can teach new hires how to write (and ship) good, performant software. But unfortunately that doesn't happen anywhere near as often as it should.
Comment by PlatoIsADisease 47 minutes ago
Previous to that director, I built stuff in python for 5 years under a different director.
Comment by grimgrin 3 hours ago
We live in interesting times
Comment by lysace 2 hours ago
Comment by PlatoIsADisease 2 hours ago
Apparently now iphone allows it. Eventually Apple gives features that are standard elsewhere. Veblen goods...
Comment by Onavo 2 hours ago
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.
Comment by flykespice 3 hours ago
Too bad the dev is a very emotionally unstable person that abandoned his port, despite his big talent.
Comment by Sarkie 3 hours ago
Comment by siev 2 hours ago
Comment by dottjt 3 hours ago
Comment by bananaboy 2 hours ago
Comment by ZX8301 2 hours ago
However that approach will probably suit the least-ambitious PC-ports to PS2 (by studios that didn’t appreciate the difference) - rather as an ST emulator was a short cut to run the simplest Amiga games.
Comment by OneDeuxTriSeiGo 3 hours ago
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.
2. https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp
Comment by wmf 4 hours ago
Comment by jszymborski 4 hours ago
Comment by suprjami 4 hours ago
Comment by jszymborski 3 hours ago
Comment by masfuerte 3 hours ago
Comment by wmf 2 hours ago
Comment by masfuerte 2 hours ago
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.
Comment by xnx 3 hours ago
Comment by bri3d 2 hours ago
Note that this "recompilation" and the "decompilation" projects like the famous Super Mario 64 one are almost orthogonal approaches in a way that the article failed to understand; this approach turns the assembly into C++ macros and then compiles the C++ (so basically using the C++ compiler as a macro re-assembler / emulation recompiler in a very weird way). The famous Super Mario 64 decompilation (and openrct and so on) use the output from an actual decompiler which attempts to reconstruct C from assembly, and then modify that code accordingly (basically, converting the game's object code back into some semblance of its source code, which this approach does NOT do).
Comment by brcmthrowaway 16 minutes ago
Comment by colordrops 2 hours ago
I would think that emulation of the original game as closely as possible would be the gold standard of preservation, and native ports would be a cool alternative. As described in the article, native ports are typically not faithful reproductions but enhanced to use the latest hardware.
Comment by snvzz 9 minutes ago
pcsx2 is pretty good today in terms of running games (there is a single digit list of games it does not run), but it's far from accurate to the hardware.
Porting to current systems via recompilation is cool, but it has very little to do with preservation.
Comment by hn_user_9876 1 hour ago
Comment by ChrisMarshallNY 3 hours ago
Comment by chippiewill 17 minutes ago
They actually used an open source Playstation emulator when they released the "Playstation Classic" in 2018.
Comment by doublerabbit 3 hours ago
Comment by flykespice 3 hours ago
Comment by toast0 2 hours ago
https://github.com/ran-j/PS2Recomp/blob/91678d19778891b4df85...
#define FPU_ADD_S(a, b) ((float)(a) + (float)(b))
(etc)But if you wanted to handle it, you'd presumably macro expand the floating point operations to something that matches the PS2 fpu (or comes closer).
Comment by mikepurvis 3 hours ago
EDIT here's potentially a better link: https://www.gregorygaines.com/blog/emulating-ps2-floating-po...
Comment by kmeisthax 2 hours ago
[0] https://dolphin-emu.org/blog/2021/11/13/dolphin-progress-rep...
Comment by realusername 2 hours ago
A lot of titles don't actually need it and work fine with standard IEEE floating point.
Comment by imtringued 3 hours ago
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.
Comment by bri3d 2 hours ago
Emulation actually got easier after around the PS2 era because hardware got a little closer to commodity and console makers realized they would need to emulate their own consoles in the future and banned things like self-modifying code as policy (AFAIK, the PowerPC code segment on both PS3 and Xbox 360 is mapped read only; although I think SPE code could technically self-modify I'm not sure this was widespread)
The fundamental challenges in this style of recompilation are mostly offset jump tables and virtual dispatch / function pointer passing; this is usually handled with some kind of static analysis fixup pass to deal with jump tables and some kind of function boundary detection + symbol table to deal with virtual dispatch.
Comment by bluGill 3 hours ago
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.
Comment by bri3d 2 hours ago
Comment by duskwuff 2 hours ago
Comment by bri3d 2 hours ago
The PS2 is one of the most deeply cursed game console architectures (VU1 -> GS pipeline, VU1 microcode, use of the PS1 processor as IOP, etc) so it will be interesting to see how far this gets.
Comment by duskwuff 1 hour ago
Comment by bri3d 37 minutes ago
Comment by vyr 1 hour ago
Comment by keyle 59 minutes ago
2 out of 4 links in the article are messed up, that's mind boggling... On a tech blog!
Is that how far deep we've sunk to assert it wasn't written by AI?
Comment by simondotau 33 minutes ago
Those who can, do (and sometimes become teachers when they get older). Those who can’t become journalists.