Nintendo provided developers with lots of tools to assist (and encourage) the development of games for their console :
- Dolphin SDK: The official set of APIs and useful libraries. This includes the GX library in charge of programming Flipper's GPU.
- C and C++ Compilers.
- Debuggers and Testers: Meant to be used with an official Dev Kit.
- Cygnus: Now known as 'Cygwin', it's basically used to replicate the UNIX environment on Windows.
- CodeWarrior: A de-facto IDE back in the days.
- Various assistance tools such as MusyX, Texture editors, Display Lists exporters, USB programmers, etc.
- Tons and tons of documentation! (available in PDF and HTML)
Specialised hardware
Apart from the software, the company supplied different hardware kits (which range in price) before and after the console was publicly released.
Probably the most popular one worth mentioning is the Dolphin Development Hardware or 'DDH' which consisted of a PC-like tower containing some of the GameCube's I/O and lots of dev-assisting hardware , it was mainly used as a debugging station while the game was being developed on a Windows PC.
Medium
Games are loaded from a proprietary disc called miniDVD, it's almost half the size of a traditional DVD disc and can hold up to 1.4 GB of data.
As an interesting fact, the disc reader operates in a Constant Angular Velocity or 'CAV' meaning that its data will be read at a faster rate if its found in the outer area of the disc (3.125MB/s) and slower if it's found in the inner area (2MB/s). This differs from Constant Linear Velocity systems (used by traditional CD/DVD readers) where the effects are the opposite.
Game saves are stored in a proprietary external accessory called Memory Card and there are enough slots for two of them.
Unusual controllers
Nintendo shipped an accessory known as the GameBoy Link Cable which plugged a Game Boy Advance into the GC controller port, so games could upload small programs to the GBA and treat it as a special controller. This interesting feature enabled unique interactions and content in some games.
Online Platform
Well, unlike the competition, not only did Nintendo require users to buy extra accessories to access online content, but they also didn't deploy any internet service that publishers could rely on , making developers solely responsible for providing the necessary internet infrastructure.
As a result, while online gaming was a possible feature, it didn't get widely adopted and only a tiny amount of games made use of this.