Homebrew Misc How to Use AI Properly for Wii Homebrew Development

  • Thread starter Thread starter cmyksoda
  • Start date Start date
  • Views Views 852
  • Replies Replies 23
  • Likes Likes 11
Like I said, all my stuff is pretty heavily AI assisted. My most significant work has been what I've done on VectrexWii.

https://github.com/cmyksoda

Yeah I realized. As a wii homebrew dev that has been doing it for a long time I always encourage devs to create new stuff using whatever. So I have not seen much new Ai stuff in the wii scene. Its not like the wii scene has a flood of Ai slop as with the video, sound and image generation scene. Coding websites is super easy for Ai. There are tonnes of existing open source systems that it can copy/clone/steal with minor config changes. Because Wii homebrew is so niche the hard part is not the "prompting/formating/optimizing" its putting lots of disparate things together to make something new.

Without doing new stuff it doesnt really matter how much Ai you use. Always gotta be trying to create new stuff.
 
  • Like
Reactions: cmyksoda
Have you updated your WiiU in a while? The Aroma environment is very active and alive. I got new updates a few days ago after like 1 year and was shocked to see all the cool new developments honestly. I see the Wii as an integral part of WiiU and many projects are somehow related. Some people trying to run Wii games with higher clockspeeds.
I'd say the basic Wii has one of the richest homebrew libraries ever created for a system, besides Windows. And it is getting older and people grow into other things, still for younger generations, maybe they can be inspired for retro systems, besides this Roblox/mobile trash era of gaming lol.. I think at heart, the Wii was made for CRT monitors and with a good RGB cable it is an amazing system for lossless 240p SD resolution and emulator up to early 3d generation. The 480i/480p side of it, seen via RGB or Component is low res on HD monitors, means blurry washed out - not ideal. Dolphin and just any other system is way superior, if you want high picture quality. If you want the most authentic experience, Wii on HDTV is acceptable.
All to say, that I am very sure, there will be cool new Wii projects also, I think the system including the controller environment still has a lot to offer.
 
I find AI to be dumb at code generation and I do avoid it as much as I can unless I've ran into a bug that I don't understand how to fix because it's always either a typo (I have dislexia) or a syntax issue, and CMD is terrible at pointing out what went wrong UNLESS i explicitly write the debug in my scripts.

That said... AI is very useful at understanding things fast, and I very recently (as in 2 days ago) tried to reference Camera2 documentation and all the sites that held the info loads to 404 (https://developer.android.com/media/camera/camera2?hl=es-419) THEN with these kind of issues I go to Gemini and just simply ask:
- Can I use this for this?
- Can I get help understanding this?
- Why is the script crashing?
- How to fix this?
- etc.

Around 3 years ago when I heard about ChatGPT I did tried to come up with GDScript scripts but the bot was terrible at it... heck, it even stated wrong information, and eventually it's model got smarter... now instead of suffering with 404 or very niche info or debugging info specific to my environment, I could simply ask why and get a somewhat precise answer.
This mirrors my experience. For context, most of my work is in multimedia programming. Since I write my own game engine, and the existing libraries I use to talk to the system are not always sufficient, I sometimes need to write low-level routines for copying data around and deserializing assets into something understood by DirectX etc. I also have to handle my own resource counters etc. as I try to avoid certain C++ stdlib classes that introduce unwanted complexity. Basically, there is a lot of room for an LLM to royally screw up, and if I'm not careful and encounter UB, an LLM usually won't help me. I also find that all of the models are never concise or direct enough, and suffer from tangential speech or excessive handholding that is a waste of time to sift through. If I ask it to stay on topic, then it discards things that are important to know. It's like a box of chocolates. A lot of this is an inherent limitation in the fact these are language models and not brains, they imitate logic but they don't actually process it.

The only thing I have found AI to be good at is regurgitating things written at least partially in plain English. It's very good at picking out relevant documentation from numerous sources at once. And it thrives when asked to explain how my own game's API works using implementation details in my code. So it's still a good learning tool, if you're working with an unfamiliar codebase for the first time. Just not in the ways you want when you're working on a larger project.

Using something old-fashioned like a sanitizer helps me out a lot and takes way less effort.
 
Nice thread @cmyksoda!
In the future, I think we will see more and more stuff vibecoded, and it's gonna lead to more wilder ideas and less stress for developers, and save a bunch of time. It took me a whole month of work to make mobipeg, a Mobiclip encoder (proprietary format) and that was with Claude's help. It's a complicated format, and what I did is modify both ffmpeg and x264 to support it. This is something very hard to do by hand, but considering how much work it is, some might be surprised that it's entirely vibecoded.
Good work on the Mobiclip encoder!
Around march I was in the middle of a personal project and thought that Gemini could be of great help for optimization.
Handed my script, and literally asked it to optimize it for performance... it broke everything because to Gemini getting rid of functions, classes and libraries was the best way to optimize... my program launched but nothing worked. So if devs today are literally handling their code to AI in hopes to get a fully functional program by typing "Make this and make no mistakes"... oh boy... on top of not actually understanding it "as long as it works"...
Are there any examples of vibe coded wii homebrew? I tried vibe code optimizing a library for the NewoZero homebrew but it did not help in any significant way.
For optimization, profiling code gives LLMs a decent chance to identify bottlenecks, but as you have discovered this is not guaranteed. As far as vibecoded wii homebrew, simply browse this site and you can see a number of interesting projects. For example Halo CE is being ported to Wii now thanks to dedicated developers and AI assistance.
I also find that all of the models are never concise or direct enough, and suffer from tangential speech or excessive handholding that is a waste of time to sift through. If I ask it to stay on topic, then it discards things that are important to know. It's like a box of chocolates. A lot of this is an inherent limitation in the fact these are language models and not brains, they imitate logic but they don't actually process it.
It is surprising how well LLMs work given their limitations.
 
  • Like
Reactions: cmyksoda

Site & Scene News

New Hot Discussed User Submitted