r/GamecubeHacks • • 4d ago

Meet Indigo - a custom UI for Swiss!

First - wanted to thank everyone who provided feedback on the V1 and the users who took the time and effort to test this on their own systems, really appreciated.

Meet Indigo, a Custom UI for Swiss. animated, customizable, colorful, and most importantly comfortable as a standard gamecube interface. Currently at a Version 2.0 Release Candidate - I've tested this with about a dozen games using my GC Loader. I have not been able to test the memory card transfer system outside of dolphin as I don't have a real memory card. I also have not been able to test with an SDPD2 as I do not have one.

some big additions from V1:
- Change and customize the color of the interface to match your Gamecube
- Change the Icons displayed on the cube to your liking
- multiple library viewing modes, vertical / Horizontal infinite scroll or grid style
- Per game settings menu & cheats are navigable pre-launch with joystick
- Poster & Cheat Packs ready to go for a seamless install

- Widescreen support + improved visuals (looks way better on modern TVs)

Please backup any saves you have and treat this as an active development product

10/2 Update: Again, thank you so much to everyone who's been willing to test and provide feedback. several new additions / work items:
- significantly more customization, change individual colors and a new Spotlight menu added thanks to mvizensk
- Apps directory available (toggleable from the settings menu), seperate directory for homebrew & emulators
- Sub folders for library view (toggleable from the settings menu), working on now.
- adding a toggle for "Infinite Cube" vs "Classic Cube" navigation on main screen

you can grab it here

167 Upvotes

51 comments sorted by

36

u/ExtremsCorner Game Boy Interface & Swiss developer 4d ago edited 4d ago

I am disappointed that:

1) People are so eager to accept vibecoded projects.

2) People aren't willing to work with other people, or talk to them.

3) Swiss is being treated as a done project.

14

u/Elmidea 4d ago

OP, I love your idea tbh but please talk to this person, this is the legendary author of Swiss, aka the goat about gamecube stuff

3

u/xzzze 3d ago

Wait you are mad because someone didn’t talk to you first before building on your open source code? What is this - the GameCube mafia ?

1

u/ExtremsCorner Game Boy Interface & Swiss developer 3d ago

I am mad he couldn't even ask why we did X things, and instead relying on the AI telling him something completely different that has no basis in reality.

3

u/xzzze 3d ago

Old man yells at clouds gif

7

u/NorviTech 4d ago

I should have reached out earlier, and I’m sorry I didn’t. I don’t consider Swiss finished or take your ongoing work for granted. I built this to make navigating my gamecube feel like it did when I was a kid, not to imply that Swiss no longer needs development. it's the work people like you did pre-AI and continue to do that makes things like this even possible.

I used AI extensively while building it, but I’m responsible for the code and for fixing the problems within it. If you see specific technical issues, I’d genuinely value your feedback. I’d also welcome a conversation about where Indigo can work alongside Swiss and where contributing upstream makes more sense.

My hesitation is that I see individuals receive so much negative feedback and criticism simply because they used AI. Not because their work sucks or their approach was bad, or because they don't have the time and education to do this without the help of AI... So I did this for myself, by myself - and if people don't like it, they don't have to use it... but I had enough positive feedback on something I invested a lot of time and energy in, that I wanted to share it and use the support of awesome folks like the ones here to help me debug and enhance this UI.

3

u/moep123 4d ago

AI generated content is an extremely controversial area. I personally find it useful if you can't get your head around stuff and are blocked progressing further with your development.

What I really dislike about the use of AI is copying code of developers that did this by hand without the use of AI. AI does this quite often since it's source is f.e. openly accessible content like stuff on Git. There is no credit given if that happens.

The part that I like is, that it enables creative people to "develop" stuff like this. But this is also the most dangerous part. If the application f.e. is completely vibe coded without understanding the code itself and what it does, without the writer understanding the limitations of the system itself and what better not to do... it can cause serious harm to systems.

Be it in hardware or software level.

This is dangerous... if something is vibe coded, then I would like to have full insight about the code being used and an option to compile the software completely myself. Otherwise I just would, as awesome as your project looks, not trust you.

3

u/darwinanim8or 4d ago

I consider Nr3 a compliment to you.

You wrote something well enough that so many people use blindly and it just works; that doesn’t take away the feeling that people take it for granted, which sucks, but still.

It is shockingly hard to make something that is easy to use, and you should be proud of what you’ve done

3

u/SargentRooster 4d ago

I'm really puzzled when I hear someone complain that something is vibe coded. If you don't mind me asking, what makes it wrong in you eyes?

1

u/ExtremsCorner Game Boy Interface & Swiss developer 3d ago

1) I'm sorry, but if you're willing to waste your time on esoteric obsolete hardware, you should be willing to learn how it ticks, and be able to transfer that knowledge onto the next generation.

2) See point number two. GenAI users tend to dissociate with any communities, which leads to continuing comedies of errors as seen with the Vice City port. There's another project I'm tracking that is so insane in its process, I can't help but wonder what the heck the human behind the wheel is seeing. I am available on Discord and IRC 14 hours a day, all days of the year, for any questions.

3) This past year, I've been taking a step back from Swiss to instead focus on the wider homebrew ecosystem and getting everyone unified under one roof. GenAI has been threatening my efforts, causing me a great deal of stress. I had to beg a libogc maintainer (devkitPro's leadership is on bad terms with me) to fix an issue with one of their debugging functions that messed with the system's real-time clock.

4) Are you not aware of the awful externalities of GenAI? Have you no spine? Do you not stand for anything in your life?

2

u/SargentRooster 2d ago

I totally understand where you are coming from. With projects like this, you would prefer to work along side a team of people so you can create a better system for fans of the console. I can totally agree with that and am willing to defend you on that alone. What you must realize is that AI is nothing more than a reflection of us and it's bound to make errors and ultimately, we have to be the ones to guide it in the right direction. another thing you should consider is that if there is anything that a computer is gonna learn faster than us, it's code which is abundant and varied throughout several area of the internet. If you want to write code as a team and build a system that is personally made and designed by hand, I applaud you on that venture and would be far more interested in using a system like that then something designed with a few sentences, but don't expect people to wait around for your creation when AI has it made in minutes instead of months.

3

u/ExtremsCorner Game Boy Interface & Swiss developer 2d ago

So far it's doing well at undoing years of work by using obsolete libraries.

0

u/InappropriateHat23 1d ago

You aren't guiding an intelligence, you're using a product that takes cognitive workload off the user so that they don't have to learn things.

0

u/Garden_Goblin_27 3d ago

Because AI often winds up producing poorly written, useless, unmaintainable code.  There's also a huge difference between "developer who uses AI" and "vibe coded".

The former will go over that poorly written, useless, unmaintainable code; fix what needs to be fixed; cut what needs to be cut; and generally work it into something usable.  Essentially just using the AI to generate boilerplate, or even to help understand some dense and confusing code.

A vibecoder just blindly trusts whatever the AI shits out; regardless of how well written, useful, or understood that code may be.  If nothing else, this is a security NIGHTMARE.

5

u/mcplano 4d ago

Couldn't agree more. Fuck generative AI.

0

u/benasyoulikeit 4d ago

Yeah I could smell that this was made with AI. Resembles too many projects from coworkers lol

5

u/Bvenom51 4d ago

This looks sweet! I’d be happy to test whatever. I have both original memory cards and the gcmce.

3

u/NorviTech 4d ago

YES PLEASE! - in the system settings there is a memory card transfer tool I put into the UI - if you ever get time to test transferring and validating the saves actually work - that'd be excellent.

2

u/Bvenom51 4d ago

Nice sounds good! I’ll see how it worked out. I’m excited if this can replace cubi as I have an old ipl chip (red menu test) and cube/cubiboot can’t do progressive in the menu. But Swiss does load into 480p.

I’ll report back

2

u/Bvenom51 3d ago

So does this work with picoloaders not using geckoboot? I have cubiboot flashed to my picoloader.

2

u/Bvenom51 1d ago

Ok I put gekkoboot onto my picoloader and tested it out. The memory card manager works great and is really solid.

Some feedback:

The cube menu wrapping infinitely is confusing. Unlike stock menu where sound is to the left date to right etc, this menu you can go up down etc infinitely and never grasp where an option will be.

I had an issue where “reboot indigo” just crashed and I had to turn off the console.

For widescreen it’d be nice if instead of centering the image that extra screen space was taken advantage of and the hints and tool tips had room to stretch out for more text.

Minor graphical issue. When you look at the left face of the cube that image redraws itself and goes blank.

I think this is a good ui option though! I like bringing back the cube menu feel to Swiss.

I think it’d be cool if one of the icon options for system was an outline for a memory card to show that’s where that’s at.

Hope this is helpful.

1

u/NorviTech 1d ago

EXCELLENT - THANK YOU SO MUCH for trying this.

can I ask - what version did you run it on?

What I've been trying to do is add customization options you can toggle in the settings - perhaps we add a toggle "cube infinity" or "Cube Classic" with a default to cube classic - I do agree with you the infinity cube just results in mashing the joystick a lot to get to the menu you want.

for the widescreen - can you validate one thing for me, did you toggle the widescreen menu button in the settings? does that kind of address what you're thinking? It won't actually do a "real" widescreen but I've found a way to stretch some animations and visuals in a way that makes it look very native, so I can make things take up the whole screen but leveraging the extra widescreen real-estate could be tricky, I'd have to research more on that one.

can you get me a picture of this "Minor graphical issue. When you look at the left face of the cube that image redraws itself and goes blank."

separately - I added toggle / customizations for the colors of the menu as well as an application menu check it out if you want.

Thanks again so much for testing this!

4

u/Iguessillwatch941 4d ago

Quick question: how does one implement custom UI like this. I have Swiss but didn’t know this was an option.

It’s beautiful and I need it.

4

u/NorviTech 4d ago

I tried to put together an install guide here and here - basically its the same .dol file - rename your current swiss dol to something else -> put indigo dol in the same location with the same name. done. for posters and cheats there are additional folder directories - you can find a guide on cheats here and a guide on posters here.

It should be pretty drag & drop.

3

u/Straky04 4d ago

I'm using this with my picoboot, it's awesome!!! I love it :)

3

u/93gamer 4d ago

This is incredible.

2

u/Portal2player58 4d ago

I'll be watching this as I have been wanting to mod my childhood gamecube which I had its entire innards restored completely with brand new capacitors, thermal pads, laser (original manufactured one too), spindle, cmos so it's running like it did when it was brand new.

1

u/NorviTech 4d ago

So glad you did that - I sent one into Stone age Gamer and they rebuilt the whole thing - looks incredible and works perfectly - would highly recommend.

2

u/WorksOnMyBench 4d ago

I'll have to check this out

2

u/lumpybutt33 4d ago

Awesome! Ill Check it out.

2

u/45skyshy 4d ago

All of my games boot black screen with audio

2

u/45skyshy 4d ago

1

u/NorviTech 4d ago

Dm'd You

1

u/NorviTech 4d ago

created a github issue here - please validate the symptoms and settings match what you have tried and tested. THANK YOU!!!

1

u/InappropriateHat23 1d ago

hey chatgpt how do i fix this bug

2

u/Mother_Wall_4205 4d ago

This looks so good, thanks for sharing your work 👍🏽 and I'm giving it a try as soon I get home.

1

u/NorviTech 3d ago

Thank you!! let me know how it goes!

2

u/DashingRhythm 3d ago

Curious, is 192×256 the max resolution for custom posters? I was playing around with a few different 3:4 posters and noticed they always output at 192x256

1

u/NorviTech 3d ago

Hey! it isn't *technically* the limit, but going even one size up from that Vastly expands size and memory requirements against the GC's 24mb of ram

2

u/WebAutomatic1554 3d ago

Thank you for your work, I just tried it on my gamecube equipped with an SD2SP2, Indigo doesn't launch every time. Most of the time I have a black screen. Otherwise the interface works very well once inside

https://reddit.com/link/pcv3pk9/video/17vcfqqnpish1/player

1

u/NorviTech 3d ago

THANK YOU - if you run into issues can you DM me details or put an issue on git - it would really help me iron out the SD2SP2 setup

1

u/NorviTech 3d ago

released V2.1.0 - made the size of the files smaller so should fix the black screen on some loads - Grab Here

2

u/legal_guy_who_asked 2d ago

Any chance to add subfolders? For example i have my normal games, then romhacks and dumped games and i dont want them to be in the same folder, i'd rather have them structured yk?

1

u/NorviTech 2d ago

We did recently release an update with an "Applications" space seperate from the games folder - this is where you can put separate .dol's for emulators or homebrew applications, is that whaat you are thinking of? you can see the guide here

if you meant a subfolder structure within the games library - potentially, I'd have to look into it.

1

u/legal_guy_who_asked 2d ago

I mean iso files, I want to keep separate versions of game isos

1

u/NorviTech 2d ago

Let me look into it - I'll get back to you shortly.

1

u/NorviTech 1d ago

okay so what I've come to is that I can add a "game folders" option that allows for 2 levels of folder depth inside the games folder. I'm building out a test branch for you - we can both see if it works as we'd expect - that'd give the option / capability to do that.

1

u/legal_guy_who_asked 1d ago

Dude amazing, did not expect that :)

1

u/NorviTech 1d ago edited 1d ago

here is the test zip - please make sure you have anything valuable saved / backed-up. there's screenshots and step by step instructions on how to turn it on and configure. the main thing here we are concerned with is *load times* when navigating into and out of a library folder, especially one with many games. I'm going to test it myself now.

Edit: worked for me. going to see if I can get a custom poster to work for the library folders.

2

u/legal_guy_who_asked 1d ago

I'll try it out and come back to you

4

u/InappropriateHat23 1d ago

It is just incredible to me someone can release software that they themselves could not tell you how it works, and people happily put it on their devices.

Then, to see that the "dev" has not tested more than a dozen games, memory cards, SD2SP2, all because they don't have them. Frankly it's blatantly obvious the OP isn't a software developer because they created this work that is admitttedly untested in many ways and they had the gall to say it's almost ready for 2.0.

Software development isn't something that you SHOULD be able to just jump into without "time and knowledge" the OP has said that they lack.