Qui suis-je ?
Bonjour à tous, je m’appelle Abdelazer, j’ai 25 ans et je suis en master informatique à l’université de Fribourg (CH). Je suis inscrit ici depuis le début de l’aventure de ZdS (en contribuant un tout petit peu) et j’ai passé de nombreuses années sur le Site du Zéro.
J’ai présenté ici même, il y a un peu plus d’une année, un sujet sur Asylamba, un jeu par navigateur que j’avais développé avec quelques amis. Nous avons, après près de 2 ans d’activités et 5 ans de développement, quelque peu abandonné le développement du jeu pour un certain nombre de raison (qui sont expliquées sur ce billet de blog).
Cependant Oxymore, N03 et moi-même comptons bien profiter des quelques années d’études restantes pour développer de nouvelles choses dans le domaine du jeu vidéo.
Asylamba : Influence
Au tout début de notre réflexion sur ce nouveau jeu, juste après avoir pris la décision d’arrêter le développement d’Asylamba, nous avons posé les règles de ce que nous voulions ou ne voulions pas :
- Un projet single-player. Le précédant projet étant massivement multi-joueurs, nous voulions pouvoir mieux concentrer et calibrer l’expérience de jeu;
- Un projet à notre taille. Le développement d’Asylamba a couvert une durée de 5 ans. Même si une expérience de cette envergure a été très enrichissante, nous voulions quelque chose de plus court (et un peu moins prise de tête);
- Le projet devait permettre d’évoluer en terme de contenu assez facilement (ce qui implique en quelque sorte différents niveaux que l’on pourrait ajouter) tout en gardant les mêmes mécaniques. Ce qui permettrait de faire un proto rapidement puis, après quelques tests (et modifications éventuelles) de se lancer dans le level-design.
Nous avons commencé la conception du jeu vers mars 2016. Quelques temps plus tard, nous avons eu l’occasion de lier ce projet avec un cours de game design proposé par l’uni que nous suivions Estiocle et moi-même. Depuis, le projet a grandement évolué, et les régles de bases que nous avions intégrées au gameplay se sont très vite retrouvées enrichies par de nouveaux concepts !
Le jeu est multiplateforme, vous pouvez retrouver la démo sur le site d’Asylamba.
Présentation du projet
Asylamba : Influence est un jeu de stratégie aux concepts très simples. Vous incarnez une faction (une sorte de royaume dans l’univers proposé) et vous devez, à l’aide d’agents, influencer les civilisations adverses.
Il est basé sur le même univers, assez vaste et développé, qu’Asylamba dont vous pourrez trouver un grand nombre d’informations sur le wiki. C’est un univers futuriste mais qui comporte quelques ajouts : le système politique est très médiéval avec différentes maisons, des devises, la religion est très présente, …
Mécaniques du jeu
La carte représente une portion de la galaxie sur laquelle se trouvent des systèmes (les ronds sur l’image ci-dessous).
Sur ces systèmes, le joueur (ainsi que les IAs) peuvent poser des agents. Ces derniers sont de 4 types : scientifique, prêtre, artiste et marchand. Le joueur décide alors d’envoyer ses agents sur des systèmes proches pour commencer à y répandre la culture (au sens large) de votre faction.
Les systèmes possèdent 5 caractéristiques : la science, la religion, la culture et la richesse. Selon le niveau de ces caractéristiques, l’influence d’un agent sera plus ou moins grande. Par exemple, un prêtre envoyé sur un système avec beaucoup de religion sera peu efficace alors qu’un marchand envoyé dans un système très faible en richesse sera très efficace.
De plus, les systèmes ont une population qui donne à la faction qui les domine culturellement un certain gain d’argent; argent qui permet d’acheter de nouveaux agents et de payer les agents existants.
Les systèmes ont une appartenance de départ. Ils peuvent être, à l’origine, un système de votre faction, d’une faction adverse, ou un système non-aligné (les systèmes blancs). Tous les systèmes se défendent naturellement, c’est à dire qu’ils tendent à revenir vers leur appartenance de base. C’est pourquoi les agents envoyés sur un système doivent y rester, auquel cas le système redeviendra de la couleur de base. Lorsque l’influence d’une faction sur un système devient majoritaire, le système change d’appartenance (mais pas d’appartenance de base) et tous les agents précédemment basés sur ce système sont tués.
Les caractéristiques des systèmes possédés par le joueur s’additionnent pour augmenter le nombre maximum d’agents disponible. Si vous gagnez un système qui a 3 en culture vous aurez droit à un nouvel artiste.
Une couche de Gameplay supplémentaire vient encore s’ajouter, il s’agit des Édifices et des Pouvoirs.
Les Édifices
Sur chaque système qu’il contrôle, le joueur peut construire un (et un seul) Édifice, cette couche de gameplay a été ajoutée dans le but d’approfondir les stratégies possibles en permettant différents choix au joueur lui permettant ainsi d’adopter différents types de jeu. Les divers Édifices sont :
Les Pouvoirs
Afin de pimenter un peu plus le jeu, de le rendre plus dynamique, nous avons ajouté une dernière mécanique : les pouvoirs.
Une barre de prestige (qui se remplit de manière constante tant qu’elle n’est pas au maximum) permet d’utiliser 4 pouvoirs différents (qui ont chacun un coût différent en point de prestige) :
- Coup d’État : permet d’augmenter temporairement (mais instantanément) votre influence sur un système (cela peut permettre de donner un petit coup de pouce pour le prendre);
- Financement : donne instantanément 25 crédits;
- Assassinat : permet d’assassiner sur n’importe quel système visible un personnage ennemi.
- Pause : permet de mettre le jeu sur pause pendant quelques secondes, laissant ainsi au joueur le temps de réfléchir sans que les ennemis puissent agir.
Des campagnes et des actes
Le jeu est actuellement organisé sous la forme de campagne qui, dès qu’elle se termine, débloque la suivante. Chaque campagne se compose de plusieurs actes et dans chaque acte se trouvent un certain nombre de missions. La progression est linéaire.
Technologies
Un dernier petit mot sur les technologies utilisées pour la création du jeu.
NWjs est, en quelques sorte, un navigateur internet qui ne présente qu’un onglet et qui ne dispose pas d’URL (en bref hein ;)). Ceci permet d’utiliser les technologies web sur des programmes desktop. Donc le jeu se présente sous la forme d’un .exe qui lance une fenêtre en plein écran. On peut y utiliser JS dans un contexte web et NodeJS.
Donc au final notre jeu est codé en Javascript/HTML/CSS. L’interface du jeu lui-même (donc pas les menus) est presque entièrement en SVG.
Au niveau des libs que nous utilisons :
- jQuery;
- i18next pour l’internationalisation;
- snap.svg pour l’utilisation dynamique du svg (jQuery étant assez mauvais là-dedans).
La musique est composée en intégralité par N03 (ainsi que les bruitages) même si pour l’instant c’est assez sommaire Nous comptons faire un bel effort sur toute l’ambiance du jeu donc visuellement aussi cela va bien changer. N’oubliez pas que c’est un prototype.