Est-il possible qu'un développeur indépendant travaille avec Nintendo ? La réponse est OUI ! Découvrez l'envers du décor avec cette interview de Jens Andersson, auteur de Colors!3D, une superbe application de dessin et de partage en ligne - sortie le 19 avril 2012 sur l'eShop européen.

par LordSinclair3DS

 

Jens Andersson

Pourriez-vous nous présenter Collecting Smiles (que l'on pourrait traduire par Chasseur de sourires), un nom de société qui représente parfaitement la philosophie de Nintendo ! Combien de personnes y travaillent, où êtes-vous installés ?

J'ai démarré Collecting Smiles comme une sorte de label que j'utilisais pour divers projets expérimentaux, alors que je travaillais dans l'industrie du jeu (à Starbreeze Studios à l'époque).

En fait l'histoire de ce nom est assez longue. C'était au départ le nom d'un projet que je comptais monter, mais je pense qu'il colle parfaitement à ce que nous essayons de faire: tenter des choses pour créer des expériences interactives fraîches et innovantes, qui permettent aux gens d'exprimer leur créativité.

Nous sommes basés à San Franciso (côté ouest des Etats-Unis). Bien que ce soit moi qui m'occupe principalement de Collecting Smiles, avec l'aide de mon amie Shara pour la partie business, je fais souvent appel à d'autres personnes selon le projet. Par exemple, pour Colors!3D, j'ai l'aide de Ernst qui m'a aidé pour l'interface utilisateur depuis Amsterdam; Rafael pour la galerie en ligne depuis Varsovie et Brian pour l'Assurance Qualité (les tests) depuis Portland. En fin de compte, je pense qu'on peut nous incarnons la définition de "développeurs en réseau".

Avant de parler de Colors!3D, pourriez-vous nous dire quel est votre jeu vidéo préféré de tous les temps, ainsi que votre jeu 3DS préféré ?

Mon jeu préféré de tous les temps ? C'est une question pratiquement impossible. J'avais essayé de me faire une liste il y a un moment, sans jamais réussir à descendre sous les 20 titres. Au plus haut de la liste ou tout près, j'ai des jeux comme Another World / Out of this World, ou Turrican 2 qui sont tous deux super vieux. Parmi des jeux plus récents, je pense que Demon's Soul est celui qui m'a vraiment donné une grosse claque.

Je n'ai pas beaucoup joué sur la 3DS jusqu'à présent. Je sens que des choses super intéressantes se préparent et il y a plein de jeux à venir que j'ai hâte de voir. Sinon j'ai passé de très bons moments avec Ocarina of Time 3D, que je viens seulement de finir.

A propos de Colors!3D

 

Venons-en à Colors!3D. Quelle est l'idée derrière ce logiciel, et pourquoi avoir choisi la 3DS pour cette version ?

Et bien, j'ai commencé à travailler sur Colors! en 2007, un peu comme un projet personnel sur mon temps libre. La communauté qui s'est formée autour l'a toujours soutenu. Et quand la 3DS est sortie, j'ai senti qu'il était temps de passer Colors! du petit passe-temps à un vrai projet. C'est juste une super plate-forme pour quelque chose comme Colors! 

Colors!3D apporte plusieurs choses intéressantes pour un logiciel de dessin: la galerie en ligne intégrée, le playback des dessins, les couches 3D, le dessin à 2 en simultané (en mode multi-joueur local), etc. D'après vous quelle est LA fonction clé principale dans tout cela ?

Sans hésitation le dessin en 3D.  C'est évidemment une fonction clé de la 3DS, impossible à mettre en œuvre avant elle, et Colors!3D met vraiment cela au premier plan. Je me rappelle encore la toute première fois où j'ai pu faire marcher cette fonction et la tester sur une vraie 3DS. C'est juste un truc que vous devez essayer vous-même.

A propos des possibilités de Colors!3D

Sur votre blog, vous avez écrit un article sur l'importance de la réactivité d'un jeu dans l'expérience utilisateur. Lorsqu'un joueur appuie sur un bouton ou trace un trait au stylet, l'effet à l'écran doit être immédiat et sans aucun temps de latence. Au bout du compte, avec Colors!3D, êtes-vous parvenu à ce que vous souhaitiez dans ce domaine?

Oui. Si je n'y étais pas arrivé, je n'aurais tout simplement pas sorti le jeu. Il tourne à 60 images par secondes à chaque fois qu'il le faut. Espérons que les joueurs seront en mesure d'apprécier tout le boulot que cela a nécessité ! :-)

Sur la version iPhone de Colors!, vous utilisez une sorte de gestion de l'opacité ou de l'épaisseur du trait, en fonction de l'inclinaison du téléphone. Est-ce que vous avez envisagé de répliquer cela sur la 3DS ?

La détection de l'inclinaison n'a jamais été envisagée pour la version 3DS. De toutes manières je ne pense pas que les gens aient vraiment apprécié cette possibilité sur l'iPhone. Mais même si cela avait été le cas, il est délicat d'incliner la 3DS tout en maintenant l'effet 3D. Donc je n'aurais jamais souhaité que l'utilisateur soit gêné par cela.

Toutefois, la 3DS a des boutons. J'ai donc décidé d'associer le haut et le bas sur le Circle Pad (ou l'un des deux boutons de droite pour les gauchers) pour modifier l'opacité du trait. En d'autres termes, vous pouvez jouer sur l'opacité au vol, pendant que vous dessinez. J'ai été étonné de voir que ça marchait finalement très bien. D'ailleurs mes séances de test ont montré que, bien que ce ne soit pas aussi bien détection de la pression du stylet, on en est sacrément proche.

Quand on dessine, comment les couleurs se mélangent-elles ? Est-ce qu'elles se comportent un peu comme de la gouache ?

Oui, un peu comme de la gouache. Cela n'a rien de compliqué. Vous contrôlez l'opacité de votre pinceau, ce qui sert à mélanger votre tracé sur le dessin. Chaque couche (ou calque) du dessin a aussi sa propre transparence. Si on voulait comparer cela à quelque chose de réel, ce serait de la peinture sur plusieurs couches de verre empilées.

A propos de la galerie en ligne: quelles sont les options de navigation ? Peut-on dire qu'on aime bien un dessin ou laisser un commentaire ? Chercher par mot clé ?

La galerie en ligne de Colors!3D est très similaire à celle que vous pouvez voir en ligne sur https://colorslive.com. Vous pouvez naviguer, commenter les dessins et dire que vous les "aimez".

C'est l'une des fonctionnalités les plus intéressantes de Colors!3D, grâce à sa communauté très active. Moi je ne fournis que les outils.

Y a-t-il des raccourcis claviers ou des fonctions cachées accessibles pendant qu'on dessine ?

Je me suis assuré d'utiliser à bon escient tous les boutons de la 3DS. Ils permettent de zoomer, scroller, d'utiliser la pipette, d'agir sur les couches et l'opacité dont je parlais juste avant. Bref, tout ce dont on peut avoir besoin au vol pendant qu'on dessine. Tout cela est fait pour que vous puissiez rester concentré sur ce que vous essayez de créer, plutôt que sur les outils.

A propos du développement sur 3DS

Etes-vous satisfaits du kit de développement 3DS et du support que Nintendo vous a proposé, en tant que tout petit studio - qui n'a pas tout à fait la même taille qu'un UbiSoft ou qu'un Capcom?

Le processus de développement a été très intéressant. Par le passé, j'étais plus habitué au développement de gros jeux consoles au sein de grosses équipes. Là, le principal défi a été de tout faire moi-même, comme par exemple la coordination de la traduction en 7 langues, ou le passage des normes sur l'âge comme l'ESRB ou le PEGI. D'habitude, ce sont des trucs dont s'occupe l'éditeur sur des gros développements.

Concernant le support de Nintendo, ils ont été géniaux. Je pense que Colors!3D n'est pas un projet habituel pour eux, et peut-être même un peu en dehors de leur zone de confort. C'est aussi pour cela que sa livraison prend autant de temps.

Mais ils ont été super conciliants quand il s'agissait de trouver des solutions pour faire tout ce que je souhaitais faire. Je pense qu'ils ont bien compris ce que nous avons essayé de faire et qu'ils souhaitent avoir plus de choses comme ça sur leurs plates-formes.

Pour quelqu'un qui utilise couramment le C++, combien de temps cela prend-il pour avoir une première application 3DS qui marche ?

Les outils fournis par Nintendo comportent des exemples et des démos, de telle sorte qu'avoir une première appli qui marche est très rapide. Après, cela dépend de ce que vous voulez faire. Colors! tourne déjà sur pas mal de plates-formes; ça m'a pris environ une semaine pour avoir une première version qui tournait sur la 3DS.

Par curiosité, pourriez-vous nous donner quelques lignes de code C++ tirées de Colors!3D ?

J'ai parcouru le code source pour trouver quelque chose de significatif et de compréhensible, mais j'ai eu du mal à trouver un morceau assez court qui puisse correspondre. Vous trouverez ci-dessous une fonction qui prépare le pinceau comme il était au moment de la dernière sauvegarde. Ce  bout de code est exécuté juste après le chargement d'un dessin, et juste avant que vous ne puissiez commencer à dessiner. 

void CDrwCanvas::SetLastBrush()

{

  for (int i = 0; i < MAX_USERS; i++)

    m_lUsers[i].m_Brush.Clear();

 

  int iCurUser = 0;

  int nCommands = m_DrwFile.GetNumCommands();

  for (int i = 0; i < nCommands; i++)

  {

    CDrwCommand Cmd = m_DrwFile.GetCommand(i);

    if (Cmd.IsSetLayer())

      m_lUsers[iCurUser].m_Brush.m_iLayer = Cmd.GetLayer();

    if (Cmd.IsColorChange())

      m_lUsers[iCurUser].m_Brush.m_Color.SetARGB(Cmd.GetColor());

    if (Cmd.IsBrushChange())

      m_lUsers[iCurUser].m_Brush.ApplySizeCommand(Cmd, m_OrthToImageScale.m_X, m_DrwLayers.GetMinBrushSize());

    if (Cmd.IsSetUser())

      iCurUser = Cmd.GetUser();

  }

}

Quelle est la principale difficulté de programmation que vous avez rencontrée sur Colors!3D ?

La performance. Alors qu'on pourrait croire qu'il n'y a pas grand chose de rendu à l'écran, j'utilise d'énormes textures qui sont totalement dynamiques. Il faut avouer que le hardware n'est pas optimisé pour cela. J'ai du passer un temps fou pour obtenir un résultat qui marche bien et qui soit totalement fluide, avec un nombre d'images par secondes maximum (NDLS: 60).

A l'inverse, qu'est-ce qui a été plus facile que prévu ? 

C'est le rendu 3D, qui a fonctionné plus vite que ce que j'imaginais. Nintendo a vraiment pensé à tout par rapport à ce qu'un jeu peut et doit faire pour afficher de la vraie 3D.

Y a-t-il des middlewares (logiciels destinés aux studios, pour que le développement soit plus facile) pour 3DS ? En avez-vous utilisé ?

Il y a des choses, comme des lecteurs de vidéos et autres, mais je n'en ai utilisé aucun.

A propos de l'eShop et de Nintendo

Suis-je totalement à côté de la plaque si je dis qu'un développeur indépendant comme vous touche environ 60% du prix public HT du jeu (NDLS : soit environ 3 euros par jeu vendu), pour chaque copie vendue ? 

Je ne peux pas révéler les vrais chiffres à cause des clauses de confidentialité que nous lient à Nintendo. Mais oui, il y a un accord de partage des revenus qui ressemble à ce que vous indiquez.

Pensez-vous que le futur du jeu vidéo portable appartient à Apple, ou pensez-vous que Nintendo trouvera toujours la petite originalité qui rendra leurs consoles portables uniques et viables ? En tant que développeur, pensez-vous pouvoir faire plus de profits avec l'eShop de Nintendo qu'avec l'AppStore d'Apple ? 

Apple a évidemment fait un tabac ces deux dernières années. Mais si quelqu'un a prouvé que vous pouviez réussir en continuant d'innover encore et toujours, c'est bien Nintendo. A l'heure où je parle, le marché des appareils iOS est beaucoup plus grand, donc a priori le profit potentiel également. Pour autant, il y a pléthore de développeurs sur iOS et il est difficile d'émerger dans tout ce bruit.

Personnellement, je suis très content de voir que la 3DS décolle vraiment depuis quelques mois, et je crois que j'ai fait le bon choix en me focalisant sur la Nintendo 3DS avec Colors!3D. 

Si vous aviez une baguette magique qui permette à Satoru Iwata (NDLS : président de Nintendo) d'exaucer 3 vœux, quels seraient-ils ?

Haha... Ce serait cool ! Je demanderais la détection de pression sur la tablette de la Wii U, un nouvel Advance Wars et... en dernier, qu'il m'appelle pour me demander si Colors !3D ne pourrait pas être inclus dans la future Nintendo 3DS Lite :-)

Le futur

Et ensuite ? Avez-vous d'autres projets de jeux ou d'applications ? Sont-ils Top Secret ou pouvons-nous avoir quelques pistes ?

Dans les temps qui viennent, je vais rester concentré sur Colors ! La communauté me réclame une version Android depuis longtemps, et je pense qu'il est temps de la faire. Il y a aussi d'autres nouvelles plates-formes que j'aimerais explorer. A la fois la PS Vita et plus tard la Wii U semblent super cool, et je suis convaincu que Colors! leur irait parfaitement bein.

Pensez-vous développer un Colors! pour Wii U ?

Je l'espère. La Wii U devrait être une super plate-forme pour Colors!, mais je ne sais pas encore si ça va se faire ou pas. Cela dépend du coût et de la disponibilité des kits de développement Wii U, de la manière dont Colors!3D va marcher, et de manière générale de quelle sera la meilleure plate-forme en terme de priorité.

Merci beaucoup cher Jens, et bonne chance pour Colors!3D !

Merci pour toutes ces questions et pour m'avoir laissé la possibilité de parler de Colors!3D. Je suis très impatient qu'il sorte enfin et de voir ce que les gens vont faire avec.

 

Note : Colors!3D est disponible sur l'eShop européen depuis le 19 avril 2012, pour 6 euros. Il les vaut largement !

 

• Suivez l'actualité de Jens sur son blog (en anglais) : www.collectingsmiles.com/news

• Découvrez notre preview de Colors!3D