Live data from Hacker News

Rewriting wipEout

phoboslab.org

1–10 of 64 posts

Re: Rewriting wipEout

#4
> Each new release was decidedly worse than the previous one. Compare the original PSX version (video) to the DOS release (video): The vertex lighting on the track is gone, everything looks flat, there is no transparency and the speedometer was redrawn by a programmer. The ATI Rage Edition (video) carried this mess forward, introduced visible seams in the geometry everywhere, somehow corrupted the software z-sorting and then screwed up the text rendering with ghastly letter spacing.

I played a lot of Wipeout XL on the Playstation in my late teens/early 20s. I mean a LOT. The only thing I really wished for (other than less frustrating maps and smarter AI) was a higher resolution and farther draw distance. At some point, I found the Windows version in a bargain bin at some store and snatched it up. 640x480 Wipeout XL would be glorious!

Unfortunately whoever ported it was brand-new to programming or something because they pinned the game speed to the CPU speed, or screen refresh rate or similar. Net result was that it ran way too fast even on a modest computer at the time. It's like nobody even bothered to test it. There was a patch floating around to fix the speed at one point, but there are so many other problems with it that's just far easier to run the PSX version in an emulator and call it a day.

Re: Rewriting wipEout

#5
post #4

> Each new release was decidedly worse than the previous one. Compare the original PSX version (video) to the DOS release (video): The vertex lighting on the track is gone, everything looks flat, there is no transparency and the speedometer was redrawn by a programmer. The ATI Rage Edition (video) carried this mess forward, introduced visible seams in the geometry everywhere, somehow corrupted the software z-sorting…

I played the WASM version and the controls/physics feel about right!

For the other Wipeout aficionados out there, note that there IS a modern game on Steam called BallisticNG. Supposedly created by (some of?) the original Wipeout developers. It was one of the first things I bought for my Steam Deck when it arrived. Unfortunately, I can't make heads or tails of it. It doesn't seem to be the kind of traditional Wipeout game where you start off with slow ships on slow maps and unlock more as you work your way up. In Ballistic NG, it seems like you just sorta pick your ship and and your map and then go racing against the AI. Or something like that. Maybe I just can't figure out the menus, I'm not sure.

All of this is a long-winded way of saying I support this rewrite and hope to see it evolve to adopt Wipeout XL/2097 features and maps eventually. (But not Wipeout 3, that was a disaster.)

Re: Rewriting wipEout

#6
This is so cool! My first entry in this series was WipEout Pure on PSP; such a great experience and remastered twice with HD and Omega Collection. Impressive how the PS1 original can run at 60 fps in a browser.

Re: Rewriting wipEout

#7
I loved everything about Wipeout, except the racing. The controls where impossible and the difficulty ridiculous.

But the music, the art style, the concept and attitude of that game was awesome. I spent many hours playing it on PSX as an early teenager.

Re: Rewriting wipEout

#8
post #5
post #4

> Each new release was decidedly worse than the previous one. Compare the original PSX version (video) to the DOS release (video): The vertex lighting on the track is gone, everything looks flat, there is no transparency and the speedometer was redrawn by a programmer. The ATI Rage Edition (video) carried this mess forward, introduced visible seams in the geometry everywhere, somehow corrupted the software z-sorting…

I played the WASM version and the controls/physics feel about right! For the other Wipeout aficionados out there, note that there IS a modern game on Steam called BallisticNG. Supposedly created by (some of?) the original Wipeout developers. It was one of the first things I bought for my Steam Deck when it arrived. Unfortunately, I can't make heads or tails of it. It doesn't seem to be the kind of traditional Wipeout…

i play ballisticng when i have 10-15 min to blow in between other things

i kind of like booting a game, going into a race, and just having it "go", kind of rare these days i guess

Re: Rewriting wipEout

#9
> The PSX devkits came with a library called LIBGPU, which handled the rendering. Since the PSX GPU didn't have a z-buffer, all primitives you wanted to draw (triangles, quads and sprites) needed to be submitted into an “ordering table” or OT for short. This table had (typically) 8192 slots allowing for 8192 different z-levels. The GPU would then rasterize the list back to front. The result would not be perfect (in some situations neither of two polygons will have all pixels in front of the other one), but close enough.

This is actually implemented in a slightly funky way on the PS1. The DMA unit responsible for sending commands to the GPU allows for a display list to be built in memory as a linked list of variable-length packets, each of which can hold zero or more commands. What Sony's libraries do is essentially generating the ordering table as an array of 8192 empty packets linked to each other, then allowing actual command packets to be allocated elsewhere (typically using a simple bump allocator) and "spliced" into the link from one empty packet to the next one. The PS1's vertex transformation coprocessor, the GTE, also keeps track of the Z coordinates of the last 4 vertices processed and has an instruction to quickly average them out so that the resulting value can be used as an index into the ordering table.

I wrote a few SDK-less bare metal C examples showing how to build an ordering table [1] and leverage it for 3D polygon sorting [2], should anybody want to check those out.

[1] https://github.com/spicyjpeg/ps1-bare-metal/blob/main/src/07...

[2] https://github.com/spicyjpeg/ps1-bare-metal/blob/main/src/08...

Post reply on HN