Homebrew ioQuake3-Wii

  • Thread starter Thread starter Mayo1990
  • Start date Start date
  • Views Views 8,230
  • Replies Replies 111
  • Likes Likes 17
could this be ported to Wii U as well? (with GX2 support, obviously)
if so im willing to lend a hand

maybe it could use gx2gl? when it's more mature obv. Otherwise i'm already pretty used to writing for GX2, i used it for sonic3air and srb2 and rsdkv4 so..

i could also take a crack at GX, but i'm not sure how well that'd turn out tbh
 
Last edited by siahisaforker,
could this be ported to Wii U as well? (with GX2 support, obviously)
if so im willing to lend a hand

maybe it could use gx2gl? when it's more mature obv. Otherwise i'm already pretty used to writing for GX2, i used it for sonic3air and srb2 and rsdkv4 so..
I tried to port it back then to Wii U and ANGLE+CafeGLS didn't feel mature enough for it to run well (I would get garbled shaders + corrupted textures). I did manage to get the QVM to port though. Just the renderer side (which is, ironically enough, the biggest issue) the caveat, but I have no plans in working on the WiiU port for now until I sort my other ports first.
Post automatically merged:

In case, here's a small preview. The whole release is going to be this weekend too in case I don't run into issues.

A few things to consider:
  • This build no longer has the OpenGX wrapper in. Everything is running using the native Wii (GX) renderer. The build is also running in JIT for stability reasons. The downside are somewhat longer loading times but it pays off since it no longer crashes when loading many maps.
  • Build is capped at 60 FPS (yes, even in game). Just try it and provide me with some feedbacks

Things that needs to be done: Stability fixes. I'm still not done with the GX renderer as I'm missing a few more things, but like, 90% of the GX renderer is there, so there's that.

When trying and reporting stuff, also state which Wii you're using. If It's PAL or NTSC.

Let me know if you run into issues.
 

Attachments

Last edited by Mayo1990,
I tried to port it back then to Wii U and ANGLE+CafeGLS didn't feel mature enough for it to run well (I would get garbled shaders + corrupted textures). I did manage to get the QVM to port though. Just the renderer side (which is, ironically enough, the biggest issue) the caveat, but I have no plans in working on the WiiU port for now until I sort my other ports first.
ANGLE has improved alot, either way i'd still use GX2 as i tried using ANGLE for sonic3air and it wasn't enough + what was enough was super laggy (and that itself is a 2d game). Plus gx2gl is a little more performant but still ran into the same performance issues, going GX2 the gpu barely even breaks a sweat

although i find GX2 far less documented, it is way more powerful
 
I tried to port it back then to Wii U and ANGLE+CafeGLS didn't feel mature enough for it to run well (I would get garbled shaders + corrupted textures). I did manage to get the QVM to port though. Just the renderer side (which is, ironically enough, the biggest issue) the caveat, but I have no plans in working on the WiiU port for now until I sort my other ports first.
Post automatically merged:

In case, here's a small preview. The whole release is going to be this weekend too in case I don't run into issues.

A few things to consider:
  • This build no longer has the OpenGX wrapper in. Everything is running using the native Wii (GX) renderer. The build is also running in JIT for stability reasons. The downside are somewhat longer loading times but it pays off since it no longer crashes when loading many maps.
  • Build is capped at 60 FPS (yes, even in game). Just try it and provide me with some feedbacks

Things that needs to be done: Stability fixes. I'm still not done with the GX renderer as I'm missing a few more things, but like, 90% of the GX renderer is there, so there's that.

When trying and reporting stuff, also state which Wii you're using. If It's PAL or NTSC.

Let me know if you run into issues.

Wow you weren't kidding, this build runs an order of magnitude better!! If there's any framerate dipping it's down to the high 50s. It also looks far better now that minor details are being rendered properly, the material sheen that covers a lot of items and walls is more properly rendered and really looks fantastic! Besides the z-fighting on decals and also the microstutters that come from loading new assets (especially noticeable when a round ends) I would say you're fast approaching a commercial quality release, if not already there :yaywii:
 
  • Love
Reactions: Mayo1990
ANGLE has improved alot, either way i'd still use GX2 as i tried using ANGLE for sonic3air and it wasn't enough + what was enough was super laggy (and that itself is a 2d game). Plus gx2gl is a little more performant but still ran into the same performance issues, going GX2 the gpu barely even breaks a sweat

although i find GX2 far less documented, it is way more powerful
I'll give it a look and see if there could be some forward improvements.

Wow you weren't kidding, this build runs an order of magnitude better!! If there's any framerate dipping it's down to the high 50s. It also looks far better now that minor details are being rendered properly, the material sheen that covers a lot of items and walls is more properly rendered and really looks fantastic! Besides the z-fighting on decals and also the microstutters that come from loading new assets (especially noticeable when a round ends) I would say you're fast approaching a commercial quality release, if not already there :yaywii:
Yeah, it was no secret that the OpenGX wrapper was too heavy so no matter how much I trimmed at the edges, I eventually had to ditch it if I wanted that boost in performance. That plus dropping the interpreter gave the actual gain I needed.

I'll address the micro stutters and the z-fighting issue once I'm done implementing something extra for the memory. It may shift the weekend schedule I wanted to chase depending on how much regression I'll face but better a 1.0 release that does address these issues with a slight delay than having another 0.9.9999999 release that feels rushed and may have some other broken things around.

Performance wise I think I'm basically there. Everything and I mean everything that could have been the suspected bottleneck has been addressed as of now.

Also, an issue I noticed in the previous builds was that I couldn't load Q3DM11, but now I can do Q3DM0 -> Q3DM11 -> Q3DM10 and so on in a single session without crashing.

(I mentioned Q3DM11 and Q3DM0 because they're the heaviest maps)
 
  • Like
Reactions: Disorarara
Yeah, it was no secret that the OpenGX wrapper was too heavy so no matter how much I trimmed at the edges, I eventually had to ditch it if I wanted that boost in performance. That plus dropping the interpreter gave the actual gain I needed.

I'll address the micro stutters and the z-fighting issue once I'm done implementing something extra for the memory. It may shift the weekend schedule I wanted to chase depending on how much regression I'll face but better a 1.0 release that does address these issues with a slight delay than having another 0.9.9999999 release that feels rushed and may have some other broken things around.

Performance wise I think I'm basically there. Everything and I mean everything that could have been the suspected bottleneck has been addressed as of now.

I tried doing some stress testing to see how low I can get the FPS (8 bots all at once on a local server) and the lowest I've gotten it to do is around the low 20s which is insane for running on just the one machine

Also, an issue I noticed in the previous builds was that I couldn't load Q3DM11, but now I can do Q3DM0 -> Q3DM11 -> Q3DM10 and so on in a single session without crashing.

(I mentioned Q3DM11 and Q3DM0 because they're the heaviest maps)

I was going to actually mention that too! Previously it wouldn't load with an error message. Q3CTF2 still won't load however.
 
let me know
I suppose It's still this one?

https://github.com/snickerbockers/gx2gl

I tried doing some stress testing to see how low I can get the FPS (8 bots all at once on a local server) and the lowest I've gotten it to do is around the low 20s which is insane for running on just the one machine



I was going to actually mention that too! Previously it wouldn't load with an error message. Q3CTF2 still won't load however.

I didn't even think it could survive with 8 bots, best I tried myself was like 3-4 on modest maps. Then again, the real comparator would be Quake 3 running on a Mac G3 (basically Wii's equivalent) and the performance is kind of the same.

I'll investigate Q3CTF2 (I also got confused, I meant Q3DM10, not Q3DM0) and see how much it needs. But I'm starting to touch the ceiling in terms of what can be done now.

Anyway, the two issues you reported have been fixed.
 
  • Love
Reactions: Disorarara
yes that one for legacy gl, as gx2gl 3.3 core won't work here. either way i vote going full GX2
ioQuake3 only supports GL1 or GL2. There's also a client that supports GL2 ES.

Full GX2 is the best choice nonetheless because It's native. On a machine like Wii it was mandatory because wrappers often have a huge cost performance-wise, but in WiiU's case It's trivial
Post automatically merged:

@Disorarara you're gonna love the next release so much :)


1781204169514.png
 
Last edited by Mayo1990,
  • Love
Reactions: Disorarara
ioQuake3 only supports GL1 or GL2. There's also a client that supports GL2 ES.

Full GX2 is the best choice nonetheless because It's native. On a machine like Wii it was mandatory because wrappers often have a huge cost performance-wise, but in WiiU's case It's trivial
Post automatically merged:

@Disorarara you're gonna love the next release so much :)


View attachment 577599

I can't wait to try it! The amount of progress you made since the first release is insane for such a short amount of time, it went from a visually buggy 30fps to a smooth and polished 60fps! Incredible! I'm also looking forward to seeing how much better OpenArena fares now.
 
I can't wait to try it! The amount of progress you made since the first release is insane for such a short amount of time, it went from a visually buggy 30fps to a smooth and polished 60fps! Incredible! I'm also looking forward to seeing how much better OpenArena fares now.
I fixed most of the stuff I had to fix. I'll release the 1.0 version this weekend. Just want to check a few things to be sure I didn't miss anything.

A few more things:
  • The default will be 60 FPS and JIT (30 FPS and Interpreter will be dropped from the 1.0 release) now that It's stable
  • Loads most stock maps, can also survive map changes now, even with big maps
  • Can now load back in the emulator
Noteworthy discoveries:
  • Loading is tied to the read speed. So TECHNICALLY USB is much faster. I need to confirm this on real hardware though.
  • Open Arena was indeed heavier than Quake 3! I expected it to be lighter, since it was built to be much lighter than Q3 in mind. When swapping to JIT I discovered that it couldn't load Open Arena anymore (offline). That issue has been addressed and fixed
  • Since the main menu in Team Arena does eat a lot of memory it could be wise to disable the cinematics and see if it has enough room to not hang and let me play it effectively. May need to investigate a bit more though.

1781208684480.png
 

Site & Scene News

Popular threads in this forum