Homebrew ioQuake3-Wii

  • Thread starter Thread starter Mayo1990
  • Start date Start date
  • Views Views 6,358
  • Replies Replies 85
  • Likes Likes 16
As far as updates go, I'm getting to the end toward this project. There's some new stuff though:

First of all, the bad news:
  • I tried to drop the interpreter and make it run with actual Wii instructions - I already did this and there wasn't much gain. Quake 3 does have a "fallback" in case it can't run in JIT and runs back in Interpreter. I managed to make it run in JIT and the performance stayed pretty much the same and the real bottleneck is OpenGX here.
  • Even without the Interpreter the highest the game can reach during busy action is 45 FPS, even with lower LoDs, effects and such. 60 FPS just seems a bit difficult to pull off until I ditch OpenGX for an actual GX renderer. I'd rather let it stay capped at 30 because I'll be sure that it won't go lower than that and provides enough stability.
  • Still no Team Arena support. It can't load a map, no matter how hard I trim. There isn't enough memory for it to hold both Q3 and Team Arena at the same time.
But not everything is bad, I also put some new QoL changes:
  • Menus will run at 60 FPS from now on. It was pointless to make them run at 30.
  • Since last update each controller had their own config file, but now they will also display their respective button key in the menu. This will let players know whatever key they bound to a certain button on the controller.

I will investigate if vWii with patches can run the port at 60, or try more optimization approaches. The most impactful of them all would be to drop OpenGX entirely, but I'm not ready for that yet.

I think you're being too harsh on yourself as far as the FPS goes, even 45 FPS is quite nice and playable during heavy fire, I've been playing this port of Quake 3 as is with keyboard and mouse and having a blast. For comparison the dreamcast port will frequently drop to even the 20s and 10s without losing playability, observe:

Plus also you're doing tests with bots and bots are always going to have a huge performance impact on limited hardware no matter what, I had the same issue on my old laptop. The important thing in this case is how well it performs with just rendering the game itself during heavy scenes, bots can always be offloaded to a server instead of running on the same machine.
 
  • Like
Reactions: Mayo1990
I think you're being too harsh on yourself as far as the FPS goes, even 45 FPS is quite nice and playable during heavy fire, I've been playing this port of Quake 3 as is with keyboard and mouse and having a blast. For comparison the dreamcast port will frequently drop to even the 20s and 10s without losing playability, observe:

Plus also you're doing tests with bots and bots are always going to have a huge performance impact on limited hardware no matter what, I had the same issue on my old laptop. The important thing in this case is how well it performs with just rendering the game itself during heavy scenes, bots can always be offloaded to a server instead of running on the same machine.


I'm also doing tests connecting online, most of the weight was made by OpenGX (which was expected, but at that point I started excluding everything so testing out JIT over Interpreter was also a good approach). I still stand by the opinion that I can reach 60 by ditching OpenGX or reducing its calls to the bare minimum.

Until then I'd rather keep it stable at a framerate (30) rather than see it dance between 30s and 40s
 
  • Like
Reactions: Disorarara
I'm also doing tests connecting online, most of the weight was made by OpenGX (which was expected, but at that point I started excluding everything so testing out JIT over Interpreter was also a good approach). I still stand by the opinion that I can reach 60 by ditching OpenGX or reducing its calls to the bare minimum.

Until then I'd rather keep it stable at a framerate (30) rather than see it dance between 30s and 40s

Excellent work either way as always, this port has been stellar so far and I'm looking forward to the next release! Really the only issues for me are the sensitivity on the gamecube controller (and presumably others?) still not being correct, regardless of what the sliders are set to. I guess I should elaborate it's not really a sensitivity issue so much as it seems like there's a lack of sensitivity at all, regardless of how little you're pushing the stick it will behave as if it's being pushed at full tilt which makes aiming very difficult. That and I'm not sure what's going on with certain textures not being loaded and instead just showing a flat shaded gourad polygon, memory related issues perhaps? It's especially noticeable in the player skin selection screen where certain skins will not load completely but it also shows up every now and again on some levels.
 
  • Like
Reactions: Mayo1990
Excellent work either way as always, this port has been stellar so far and I'm looking forward to the next release! Really the only issues for me are the sensitivity on the gamecube controller (and presumably others?) still not being correct, regardless of what the sliders are set to. I guess I should elaborate it's not really a sensitivity issue so much as it seems like there's a lack of sensitivity at all, regardless of how little you're pushing the stick it will behave as if it's being pushed at full tilt which makes aiming very difficult. That and I'm not sure what's going on with certain textures not being loaded and instead just showing a flat shaded gourad polygon, memory related issues perhaps? It's especially noticeable in the player skin selection screen where certain skins will not load completely but it also shows up every now and again on some levels.
Yeah some textures aren't being fully loaded due to memory. Which should TECHNICALLY get fixed the moment I drop OpenGX. The controller issue may be a deadzone issue at this point. I should try adding making the controller less sensible but the risk of it being too slow is huge.
 
Yeah some textures aren't being fully loaded due to memory. Which should TECHNICALLY get fixed the moment I drop OpenGX. The controller issue may be a deadzone issue at this point. I should try adding making the controller less sensible but the risk of it being too slow is huge.

I know you said mods don't work right now but some skins and custom maps do work, not all of them of course you don't want to load maps or skins that take up a lot of memory but the skins and maps that are lean on resources run fine actually!
 
I know you said mods don't work right now but some skins and custom maps do work, not all of them of course you don't want to load maps or skins that take up a lot of memory but the skins and maps that are lean on resources run fine actually!
That's quite good to know! Although I only tested Team Arena and Open Arena and the latter didn't load properly sadly. I know there's a Simpsons map that is widely known to be too heavy

Also, I tried two more things:

First one is to start replacing GX calls overriding OpenGX rendering and it straight up murdered the performance. I have to value whether It's a viable choice to drop OpenGX for a theoretical performance gain.
Second one is that I hooked my WiiU because I'd like to get it working on the Wii U gamepad as well as making it use the higher clock speeds to make it reach 60 FPS.
 
  • Like
Reactions: Disorarara

Site & Scene News

Popular threads in this forum