Programmer sur Wii

Wii.jpg

Je ne pense pas en avoir encore trop parlé, mais de par mon métier, je suis amené à programmer sur un peu toutes les consoles actuelles (wii, xbox360, ps3, DS, …) et plus particulièrement sur Wii. Je vais donc vous dévoiler un peu les coulisses de la fabrication d’un jeu sur Wii.

Le premier contact avec la Wii lorsque l’on est développeur se fait par l’intermédiaire du kit de développement. Le kit de développement, c’est une machine que l’on relie à son pc et qui permet de tester son programme en simulant une console réelle. Cela apporte aussi d’autres fonctionnalités mais je ne vais pas entrer dans les détails.

Le kit Wii (aussi appelé NDEV), c’est un truc assez extraordinaire, et il faut le voir pour y croire. Malheureusement je n’ai pas le droit de montrer des photos, mais je peux le décrire. Il s’agit d’une grosse boite noire, genre boite à chaussures, mais dans laquelle ils ont sûrement rajouté des cailloux vu son poids. C’est très pratique pour relier à son pc, puisqu’il faut 3 prises usb (oui il y a bien 3 câbles usb entre le kit et le pc) et une prise série (vous savez la connectique que plus aucun pc actuel ne possède). Ensuite il faut un câble vidéo pour le relier à une télé ou à son écran, le capteur de wiimote et un câble d’alimentation. Ca fait donc 7 câbles qui s’échappent du kit, ce qui lui donne un look de grosse pieuvre noire. Sur le kit même il y a des voyants qui clignotent, et pleins de boutons qu’il ne faut pas toucher :) Lorsqu’on allume le kit, un petit air de vacances flotte au bureau, puisqu’on a l’impression d’être à laéroport, tant le bruit de la bête est monstrueux.

NDEV

Uns fois le kit installé, l’installation software est également très pratique, puisqu’il n’y a pas d’installeur et tout se fait à la rache à la main. Un gros zip fourre-tout à décompresser, des variables d’environnement à définir, cygwin à installer (mais attention pour que cela fonctionne, certains programmes ont besoin de versions bien spécifiques), des patchs et des bibliothèques supplémentaires à installer, les drivers du kit, l’IDE (programme qui sert à coder, débuger…), et les licences de tout le bazar… Une installation très intuitive donc, et qui est toujours un vrai plaisir lorsque l’on change de machine par exemple.

Normalement à ce stade là, le kit est fonctionnel, le SDK (software development ki) est installé et l’on peut enfin commencer les choses sérieuses, c’est à dire coder. Il faut savoir que dans le jeu vidéo, quasiment tout le monde utilise Microsoft Visual Studio pour coder, et c’est d’ailleurs pour cela que la xbox et la ps3 s’intègrent parfaitement à Visual Studio. Mais Nintendo en a décidé autrement et nous impose d’utiliser Freescale CodeWarrior. Rien que de prononcer ce nom me provoque des sueurs froides. Avec CodeWarrior, on a un peu l’impression de retourner des années en arrière. L’interface est non pratique au possible, la complétion automatique marche une fois sur 100. Je me rapelle encore de ma surprise lorsque j’ai vu pour la première fois une fenêtre de complétion s’afficher, alors que j’utilisais le logiciel depuis déjà un bon moment.

Sinon au niveau de la Wii même il y a des trucs sympathiques, comme par exemple la mémoire vive limitée à 64Mo. Alors qu’au même moment sur n’importe quel pc bas de gamme on trouve grand minimum 1Go de ram, soit 15 fois plus… Mais bon c’est bien ça rajoute un challenge technique…

Il y a aussi des choses assez aberrantes, comme pour la gestion du menu HOME par exemple (le menu wii qui s’affiche et qui permet de mettre en pause un jeu). Dans n’importe quel système bien conçu, c’est la console elle même qui gérerait cela, mais sur Wii c’est au développeur de le faire,en utilisant certes une bibliothèque, mais elle est tellement peu pratique que le code est aussi long que si l’on faisait tout soi même. Et en plus l’utilisation de cette bibliothèque dérègle un peu tous les paramètres existants, mais ils ne disent pas lesquels dans la documentation, donc il faut s’amuser à trouver quels paramètres ont été modifié.

Bref comme vous l’aurez compris, programmer sur Wii est un peu cauchemardesque, et j’ai encore plus de respect pour des jeux comme Okami quand je vois ce qu’il faut endurer pour sortir un jeu sur cette console. Et le pire dans tout cela, c’est qu’à force on fini par s’y attacher à cette bonne vieille Wii ;)

2 réflexions au sujet de « Programmer sur Wii »

  1. Super interessant, même si, en tant que simple consommateur de jeux (mais quel consommateur! ), je ne comprends pas tout ce langage pourtant simplifié au maximum j’imagine ^^ En tout cas bonne idée d’expliquer un peu le fonctionnement de votre côté de la barrière. Merci.

    • haha, c’est vrai qu’il y a peut être quelques termes qui échapperont à la plupart des gens, mais bon je pense que dans l’esprit le message est clair :) Je pourrai aussi faire un autre article sur la programmation DS un jour, mais après je risquerais de passer pour l’anti-Nintendo de service ^^

Laisser un commentaire