Publier son jeu sur Steam, témoignage du collectif The Icehouse

Rédigé par The_Icehouse, publié le 11/09/2015, modifié le 15/09/2015
Partagez sur :

Aujourd'hui le collectif The Icehouse tente de répondre à une question : comment ça se passe pour publier un jeu sur Steam ? C'est vrai après tout, on connait tous Steam d'un point de vue "joueur" et on a pris des habitudes pour y retrouver nos jeux préférés, mais qu'en est-il lorsqu'un jeu indé est greenlighté ? Comment passe-t-il de l'état "accepté" à l'état "en vente" ? Si cela vous intéresse, suivez-nous. Petit tour d'horizon simplifié.

Cet article est un témoignage rédigé par The Icehouse, dans le but d'éclaircir développeurs et joueurs curieux quant au fonctionnement de la publication d'un jeu sur Steam.

1 - Découverte de SteamWorks

Cette fois ça y est : après de longs mois de dur labeur et une bataille acharnée sur les réseaux sociaux pour obtenir des votes, le développement de votre jeu indé touche à sa fin, et il a été greenlighté par la communauté Steam. C'est vraiment une bonne nouvelle, une sorte de consécration.

Voici le genre de courriel que l'on imprime, et que l'on encadre pour le mettre au-dessus de son bureau :

 

À ce stade c'est bien sûr un grand pas en avant, mais il reste encore à s'inscrire en tant que développeur officiel partenaire Steam, et à mettre le jeu en ligne.

À notre première connexion sur https://partner.steamgames.com on nous explique que tout sera fait pour nous guider durant le processus. Chouette ! On clique joyeusement, on entre des informations sur le développeur, tout va pour le mieux. Nous sont alors demandées nos informations bancaires pour les futurs virements, que l'on s'empresse de taper pour toucher les quelques euros que l'on mérite. Finalement, nous qui avions déjà connu quelques inscriptions de jeux sur Desura, on se dit que ce n'est guère plus difficile sur Steam.

"Veuillez entrer votre nom" : facile. "Veuillez entrer le nom exact de votre établissement bancaire" : ok. "Votre numéro SWIFT" : il est sur le RIB. "Votre numero IBAN ?" : Aucun souci. "Nous vous remercions. Nous allons maintenant vous demander de remplir un questionnaire en ligne pour finaliser votre inscription".

On en est déjà à la finalisation ? C'est presque une déception ! Alors on lance le questionnaire, qui a pour but de vérifier le statut de notre entreprise, l'endroit où elle se situe, etc. Ça va très vite, et on nous demande pour terminer notre numéro EIN, que l'on rentre bien docilement... ou pas. EIN ? Tiens, c'est quoi ça ? 

Nous avons beau retourner tous nos papiers de l'Insee et nos documents de l'URSSAF, on ne voit de numéro EIN nulle part. Ne serait-ce pas le numéro SIRET (= n° entreprise), tout simplement ? On ne nous l'a pas encore demandé, après tout. Mais non, c'est encore autre chose, et il va falloir trouver quoi. Nous allons donc essayer d'en savoir plus et d'obtenir ce numéro incontournable.

2 - Obtenir un numéro EIN

On va sur notre moteur de recherche favori, on tape "numéro EIN", et on nous explique que c'est un numéro délivré par l'IRS pour des histoires de taxes entre pays. Ok... On tape alors "IRS", et on découvre avec un peu de crainte que c'est en fait le service fiscal des Etats-Unis: the Internal Revenue Service. Nous on s'inquiète toujours un peu lorsqu'on a affaire à ce genre d'interlocuteur, parce qu'on n'est jamais très sûrs de faire les choses correctement malgré toute notre bonne volonté. Ensuite on découvre qu'il existe un traité entre les Etats-Unis et l'Europe, qui rend facultatif l'utilisation d'un numéro EIN car les taxes sont nulles entre ces pays. Super, alors on n'en a pas besoin finalement ?

Si ! Steam a mis une case EIN, alors il faut la remplir. Pas le choix ! Tâchons donc d'obtenir ce fameux numéro.

Ça commence mal, tout est en anglais sur le site de l'IRS. Heureusement, on se débrouille à l'écrit, mais on ne sait pas comment font les développeurs étrangers qui ne maîtrisent pas vraiment cette langue. Toujours est-il qu'il y a bien une page du site de l'IRS dédiée au numéro EIN, ou encore au numéro TIN, voire même ITIN, qui sont tous plus ou moins identiques et valides dans notre cas.

Pour obtenir l'un de ces numéros, il suffit de remplir un formulaire W7, ou SS4, ou W8BEN, ou parfois les trois... Débrouillez-vous pour trouver le bon, on a vite compris que l'IRS, c'est un peu "la maison qui rend fou". Nous on décide de faire le SS4 qui semble pas mal, surtout que le W8 est à remplir directement sur Steam plus tard. Et puis dans le W8, on nous demande notre numéro ITIN (= EIN) : on tourne en rond.

Certaines cases à remplir nous ont donné du fil à retordre, mais après des vérifications ici et là, on est satisfaits des informations que l'on a fournies. Il ne reste plus qu'à envoyer le document. Nous avons 3 choix :

  • Téléphoner directement à l'IRS et leur fournir les informations de vive voix
  • Envoyer le document par Fax
  • Envoyer le document par courrier postal.

(NB: il y a une 4ème solution, par internet, mais elle n'est possible que pour les résidents des USA)

La première option ci-dessus est la plus rapide : c'est indiqué que l'on peut obtenir le numéro dans l'heure. La seconde option marche bien aussi logiquement : ils disent qu'ils nous renvoient le document dans les 4 jours. La dernière option est trop coûteuse (envoyer une lettre aux USA, quand il y a d'autres options, on oublie en général). D'ailleurs pour cette 3ème solution, les formulaires ne sont étudiés que 2 fois par an lors d'une assemblée spéciale. Ouais ouais, on a choisi de téléphoner.

Le téléphone, donc. D'abord il faut appeler au bon moment (décalage horaire oblige). Ensuite, il y'a quelqu'un qui vous débite un charabia à une vitesse complètement folle et avec un accent digne de Clint Eastwood dans ses meilleurs westerns. Oh la misère ! Du coup on leur a dit : "We call you back later, ok ?" On décide de raccrocher gentiment et avec quelques excuses pour le dérangement. 

Là on est mal, on se sent un peu ridicule et on ne sait pas comment fournir les informations à une personne qu'on ne comprend pas, et qui visiblement ne nous comprend pas bien non plus. Vous savez, c'est déjà difficile de se faire comprendre par l'administration française, alors celle des Etats-Unis, vous imaginez !

On tente le Fax. A notre époque, plus personne n'en a, évidemment. Y'a quand même quelques services de télécopie en ligne, mais les seuls qui sont gratuits n'envoient rien à l'étranger. On ne va pas payer un abonnement sur un site de Fax, juste pour envoyer ce document, non ?! Fort heureusement, Free propose un service de télécopie gratuit, qui nous permet d'envoyer enfin ce bon vieux SS4 à l'IRS. Sauvés !

Au bout de 4 jours, une semaine, puis deux semaines sans nouvelles, on s'inquiète. En fait, on ne sait pas si le Fax est bien parti à l'étranger, s'il a été bien reçu, ou s'ils nous ignorent totalement là-bas outre-Atlantique parce qu'on a mal rempli le formulaire. C'est le silence total. On se dit forcément que ce n'est pas bon, que ça n'a pas marché. Alors on réessaye pour le même résultat, et finalement on retourne sur le site de l'IRS, on déchiffre encore quelques pages en anglais un peu pompeux, et on apprend qu'en fait ce service de Fax n'est valide que pour les personnes vivant aux USA... Le genre de truc écrit en tout petit, vous voyez ?

On va vous la faire court : on a finalement pris l'option "courrier", on a payé la Poste pour qu'elle gère le transport de notre précieux document à notre place, et on a attendu sagement. Il nous a fallu attendre plusieurs mois pour obtenir notre numéro (le temps de finaliser le jeu), mais on l'a eu. Patience et longueur de temps... Le vieil adage est vrai dans toutes les situations. On a pu finaliser notre inscription sur Steam !

3 - Le B.A BA du bon Steam Partner

Sur Steamworks nous voilà enfin tout puissants. On découvre la liste de nos titres qui ont été greenlightés et qui attendent d'être configurés et publiés :

Dans notre cas, on a vite fait le tour de la liste. N'empêche qu'on est contents, c'est plutôt classe de pouvoir gérer la partie admin de chacun de nos jeux. On clique donc dessus avec empressement pour voir à quoi ça ressemble. L'administration d'un jeu est partagée en deux :

  • App admin sert à configurer les fichiers du jeu et la façon dont on donne l'accès aux joueurs.
  • Store admin sert à configurer les principaux paramètres et la page du jeu telle qu'elle apparaitra sur Steam pour tout le monde.

La partie la plus simple, c'est sans aucun doute le Store admin. Les informations à entrer sont faciles à trouver : le site officiel, le titre exact, la configuration minimale requise, les langues, etc. En tant que développeurs du jeu, nous avons heureusement réponse à toutes ces questions. On peut aussi ajouter des bandes-annonces, des images, et des commentaires qui sont déjà parus dans la presse. Le but est bel et bien d'informer les joueurs et acheteurs potentiels, de les renseigner sur le jeu pour qu'ils puissent faire leur choix.

Bien entendu, cela peut prendre un peu de temps pour être rempli correctement, chaque onglet comprenant quand même pas mal de sous-catégories :

Intéressons-nous maintenant à l'App admin. C'est une autre paire de manches : ici on s'est vite perdus dans un méandre de termes peu évocateurs, de liens qui renvoient vers d'autres liens, ou de complications inutiles. Autant le dire franchement : Steam (= vapeur) porte bien son nom, si on le compare à une usine à gaz !

Parmi les catégories du menu App admin, il y'en a 3 très importantes et qu'il faut bien comprendre avant d'aller plus loin : Builds, Depots, et Packages. Ce sont les trois principales infos à retenir pour mettre son jeu en ligne, et elles sont toutes les trois intimement liées. On vous explique.

Il y a d'abord les Depots (dans le menu Installation). Bien qu'ils ne soient pas les premiers dans la liste des différentes catégories, ce sont eux qu'il faut créer en premier. Il faut les voir comme un espace disque que Steam nous prête pour mettre notre jeu. On peut créer jusqu'à 9 dépôts par jeu (utile pour les futures mises à jours), et nous avons commencé avec seulement 3 : un Depots par système d'exploitation (Windows, Mac et Linux), étant donné que notre jeu est compatible avec chaque.

Les Depots étant créés, il faut maintenant que Steam puisse les reconnaitre, et sache lesquels utiliser. En effet, si vous avez 9 dépôts, et que seulement 3 sont réellement utiles, il faut dire à Steam lesquels choisir. On a donc le système de Builds et de Packages.

Les Builds contiennent en fait tous les Depots actifs. On doit mettre à jour le Build à chaque fois qu'on télécharge de nouveaux fichiers dans un Depot, et c'est en fait une sorte de grosse archive Zip qui contient tout sur le serveur.

Les Packages, ce sont des packs ou paquets (comme leur nom l'indique) qui permettent de donner accès aux joueurs à telle ou telle version du jeu. Le dossier Packages contient 3 types de packs :

  • Pack développeur
  • Pack beta testeur
  • Pack utilisateur final

Chacun de ces packs peut contenir des Depots différents. Par exemple, si vous avez créé une version Beta privée, les testeurs auront accès à un Depot que vous aurez appelé Beta1 par exemple. Si entre temps vous avez fait une mise à jour du jeu dans un Depot Beta2, mais que vous ne souhaitez pas la partager avec les beta testeurs immédiatement (pour x raisons : vous n'êtes pas sûr d'avoir bien corrigé tel ou tel bug), alors vous pouvez partager ce Depot Beta2 avec des développeurs ou des personnes de confiance, en utilisant le Pack développeur, qui est un pack plus restreint.

Le partage des packs se fait en demandant à Steam de fournir des clés. Ce sont les fameuses clés Steam qui permettent de débloquer des jeux, et que vous connaissez bien ! Une clé développeur ne donnera accès qu'aux dépôts contenus dans le Pack développeur, une clé beta ne donnera accès qu'aux dépôts activés dans le Pack beta testeur, et ainsi de suite...

Tout cela vous semble un peu compliqué ? Rassurez-vous, nous aussi ! Il nous a fallu plusieurs semaines et pas mal de manipulations pour bien comprendre le fonctionnement du système. Mais une fois le processus compris, on s'y retrouve. Il suffit de bien choisir les bons dépôts, et de nommer correctement l'ensemble pour ne pas se tromper dans les partages de packs. En fait à ce stade, la question la plus importante est : où est le bouton "Upload" ? Car il est temps d'envoyer les fichiers du jeu dans au moins un dépôt !

4 - Mise en ligne

Petit récapitulatif des épisodes précédents :

  • Votre jeu a été greenlighté
  • Vous avez obtenu un numéro EIN auprès du fisc américain
  • Vous avez finalisé votre inscription en tant que développeur Steam Partner
  • Vous avez configuré les informations du jeu tel qu'il apparaîtra à tout le monde
  • Vous vous êtes familiarisé avec l'App admin
  • Vous avez créé un dépôt pour chaque version de votre jeu
  • Votre jeu est jouable (au moins en Beta)
  • Vous êtes prêt à uploader votre première version.

Bien, on peut vous dire qu'après tous ces efforts, on avait hâte d'envoyer les fichiers à Steam pour qu'ils puissent vérifier le jeu - parce qu'ils devaient encore le valider avant la sortie officielle. C'était un peu le stress, parce que s'ils avaient décidé que le jeu ne leur convenait pas, ils pouvaient tout à fait refuser qu'on le vende. Or on avait calé notre date de sortie officielle à tel jour précis !

Donc ce bouton "Upload", où est-il ? C'est un peu frustrant de découvrir que dans l'onglet Publish, il n'y a aucune option pour mettre les fichiers en ligne. On cherche, on cherche, mais on ne trouve pas. Heureusement qu'il y a une aide en ligne. Même si elle est en anglais et un peu complexe, elle permet quand même de progresser. On y apprend que l'Upload se fait avec le Steam SDK. Le Development Kit. C'est un fichier zip à télécharger, qui contient normalement tous les outils dont on a besoin pour envoyer nos fichiers sur les dépôts créés plus tôt.

C'est plutôt cool d'avoir un outil pour gérer les fichiers. On a un peu l'impression d'avoir notre propre logiciel pour gérer un FTP privé chez Valve, une sorte de FileZilla spécial Steam quoi. Du coup c'est avec optimisme qu'on décompresse le contenu de l'archive fraîchement téléchargée.

Malheureusement, on découvre de nouvelles difficultés. En effet, parmi les différents dossiers du sdk, on ne trouve rien qui nous parle clairement. On ouvre le malheureux fichier Readme.txt en espérant y trouver des informations, mais c'est en fait un simple historique des mises à jour. Donc on n'a pas tellement le choix, il faut retourner sur l'aide en ligne et espérer percer le secret des dossiers client, glmgr, steamworksexample, ou tools, et leurs nombreux sous-dossiers tels que ContentServer, ContentBuilder, drm et GoldMaster.

Il est expliqué que c'est le contenu du dossier ContentBuilder qui nous intéresse ici. Il va falloir bidouiller un certain nombre de dossiers et fichiers, à commencer par un batch (.bat) qui contient un script permettant de s'autentifier sur le serveur Steam, afin d'envoyer des commandes pour l'Upload. Concrètement, on ouvre le fichier .bat avec notepad, on y tape des lignes de commande et cela permet ensuite d'accéder à une fenêtre de type Dos, toute noire, où l'on pourra suivre la progression du transfert. Pourquoi faire simple quand on peut faire compliqué ?

Dans la pratique, le fichier run_build.bat permet d'ajouter des options à un autre fichier qui se trouve dans un autre dossier, le fichier steamcmd.exe. Ce fichier Exe va agir différemment selon que vous lui ordonnez telle ou telle chose. La première chose à faire, c'est de taper le script dans le Bat. Du coup il faut encore se creuser un peu la cervelle pour bien saisir le sens de tout ça, et taper les bonnes informations au bon endroit. Là, heureusement qu'on était plusieurs à s'entraider, parce qu'on a séché pas mal de temps !

On a suivi les instructions de l'aide en ligne, qui n'est franchement pas claire malgré la présence d'une vidéo. Voici en gros la traduction de l'aide :

"Pour configurer votre build, éditez le fichier run_build.bat avec votre compte/mot de passe Steamworks et reliez votre application à l'aide de cette ligne de commande :" (donnée).

1.    Steamcmd.exe se connectera sur Steam de façon sécurisée.

2.    L'application est enregistrée avec un MDS (Master Depot Server), qui assurera que l'utilisateur a les privilèges requis pour son application.

3.    Pour chaque dépot créé, une liste de fichiers est crée et configurée selon les règles définies dans le fichier de configuration.

4.    Chaque fichier est scanné et divisé en petits morceaux de 1 Mo.

5.    Ces morceaux sont compressés, encryptés, et uploadés dans le MDS.

6.    Un rapport final est généré pour cette version du dépôt; chaque rapport est identifié par une unique ID 64-bit.

7.    Lorsque vous avez terminé de gérer tous les dépots, le MDS termine la création de cette application et lui assigne une global buildID.

Et voilà qui rend les choses tout de suite plus limpides !

Bon on ne va pas insister, vous avez sans doute compris qu'à ce stade, les développeurs passent beaucoup plus de temps que prévu à découvrir le Steam SDK et à se familiariser avec.

Le plus important, c'est surtout qu'il s'agissait de la toute dernière étape avant que le jeu soit finalement prêt, et il ne reste ensuite plus qu'à attendre le jour J pour cliquer sur le bouton Publish et savourer la victoire.

Enfin, presque... Car il reste encore à convaincre la presse et les joueurs de l'intérêt de ce nouveau jeu révolutionnaire !

On espère que vous avez aimé ce petit tour d'horizon, et qu'il vous a permis de découvrir la face cachée de Steam. La route est certes semée d'embûches mais tout le monde peut y arriver, d'autant plus que tous ces services sont régulièrement mis à jour avec de nouvelles fonctionnalités (parfois des simplifications). Il suffit ainsi de patience et de persévérance, deux armes que chaque développeur indépendant doit apprendre à maîtriser. N'hésitez surtout pas à nous donner votre avis !

vignette pour les réseaux