L'activation du javascript est fortement recommandée !

en travauxEnglish version not finished yet

Etherium

Ça c'est du jeu!

Update du 25 mars 2015

Le jeu est désormais en vente sur steam ! Le voici : http://store.steampowered.com/app/245370/

Septembre 2013, retour dans la bonne voie, après tout, le jeu c'est ma vie. Me voilà donc chez Tindalos-Interactive et ça fait du bien de faire ce qu'on aime. Voici donc Etherium, premier vrai développement de jeu et non un portage. C'est un RTS futuriste pour PC uniquement, via Steam. Sans attendre, voici le teaser.


Let's the game begin

Etherium est donc un RTS futuriste. L'histoire se passe "far far away" mais pour comprendre, il faut revenir à un futur plus proche. L'humanité a réussi à conquérir l'espace et explore de plus en plus loin dans la galaxie. Mais ce n'est que le balbutiement de l'exploration à l'échelle galactique. Un jour, une équipe tombe sur une planète inconnue. Aussitôt, un vaisseau apparaît et tente la coomunication avec les terriens.

Cette ancienne race sont les gardiens de l'Etherium, le Conseil. Ils expliquent que cette planète est protégée, qu'elle fait partie de la route de ponte de créatures rarissimes et néanmoins colossales. Les oeufs de ces créatures atteignent plusieurs mètres de diamètres et sont très convoités pour ce qu'ils renferment : pas les petits, mais l'énergie qu'on peut tirer du liquide interne. Cette énergie est quasiment sans fin et c'est pour ça que les Gardiens protègent les petits. Le cycle de ponte étant d'un millénaire, il faut se dépécher pour en récupérer le plus possible avant l'éclosion. Et justement le prochain cycle de ponte arrive bientôt.

Les humains se jettent sur cette opportunité, qui ne voudrait pas résoudre les problèmes d'énergie ? Seulement ils n'avaient pas pensé aux autres races de la galaxie qui comptent sur cette énergie colossale. Les humains se font donc botter les fesses correctement et n'ont réussi qu'à récupérer une toute petit portion d'Etherium.

Un millénaire passe, l'humanité a évolué. Le Consortium humain se rend donc aux six planètes sur la route de ponte et se tiennent prêts. Leurs adversaires aussi, deux adversaires pour être exact.


And back to work

Mon travail dans tout ça n'est pas fermement défini. Au début j'ai fait du gameplay : ajouter l'aviation, intégrer des unités, des attributs spéciaux, des skills de commandement ... Ensuite j'ai commencé le gros morceau : la GUI. Honnêtement, je pense avoir été embauché pour mes compétences en GUI, notamment avec Scaleform. Pour ceux qui ne sont pas au courant, Scaleform est un outil de Autodesk permettant d'afficher du contenu Flash dans un moteur de jeu (typiquement UDK et récemment Unity).

Une graphiste design l'interface en flash, je la rend fonctionnelle avec l'AS3 et le C#. Un bouton est cliqué ? Une fonction est appelée, une animation se lance, tout ce qu'on peut imaginer. J'ai intégré toute l'interface à l'intérieur du jeu en lui-même, les panneaux de création d'unité, de ressources, de compétences de commandements, la minimap. En ce qui concerne les menus, j'ai intégré le lobby multijoueur et le listing des serveurs (pour plus de détail). Ce qui nous amène à ma deuxième plus grosse tâche.


La vapeur, c'est le futur

L'intégration Steam ou plutôt le remplacement du Master Server de Unity. Gros travail de recherche en premier lieu étant donné que personne ne connaissait. Après un échange avec Eric Audinet, Technical Director chez Amplitude, j'ai trouvé un wrapper C# libre sur internet pour Steam : Steamworks.NET.

L'exemple fourni m'a permis de commencer l'intégration petit à petit en commençant par les achievements puis les stats (qui font parties des achievements), les amis et enfin les serveurs et lobby. Les serveurs sont des ... eh bien des serveurs qui sont recensés par Steam (enfin par les jeux qui utilisent l'API Steam) et qui permettent une connection n'importe quand au cours d'une partie. Ce n'est pas du tout le mode de fonctionnement d'Etherium. Les lobbies, salles d'attente, sont fait pour nous, ils servent à mettre des joueurs en relation et, quand les conditions sont remplies, de lancer le jeu (ou autre).

C'est donc les lobbies que j'ai utilisé, que ce soit pour le multijoueur classique ou les parties classées (les joueurs ne se voient pas mais le système les connait). Quand un joueur crée un serveur, avant il informait le Master Server Unity et les autres joueurs pouvaient alors demander au MSU et recevoir une liste de lobbies libres. Maintenant, c'est la même chose mais c'est Steam qui garde les lobbies en mémoire. Une fois que toutes les conditions sont remplies, le jeu se lance de la même manière qu'avant (qui a été fait avant mon arrivée).