A downloadable game for Windows

Comment jouer à Spherium ?

Dans Spherium, vous êtes propulsés pendant environ 3 minutes aux commandes d'une ville qui dispose d'un hôtel de ville (turquoise), d'une caserne (rouge), d'une habitation (rose) et de quelques  sites de production de ressources : la mine (grise), la forge (bleue) et la scierie (marron). 

Des vagues d'envahisseurs viendront régulièrement semer le trouble dans votre ville pour exterminer vos habitants et détruire vos bâtiments. Repoussez-les en entraînant suffisamment de travailleurs à la caserne pour en faire des soldats (avec la touche espace et au prix d'une arme).

Collectez des ressources à la mine (fer), la scierie (bois) et la forge (armes) en y envoyant jusqu'à quatre travailleurs (pour une production plus rapide). La forge consomme du fer et du bois pour produire ses armes.

Deux habitants affectés à l'habitation vous apporteront régulièrement de nouveaux travailleurs. Un soldat affecté à l'habitation peut également redevenir travailleur par un appui sur la touche espace.

Pour déplacer une unité, sélectionnez là d'un clic gauche, et cliquez droit sur la destination. Pour sélectionner rapidement un soldat dans un bâtiment, cliquez gauche sur l'anneau extérieur du bâtiment. De la même manière, cliquez gauche sur l'anneau intérieur d'un bâtiment pour sélectionner un travailleur.


Ma participation à la jam 17

Je suis élève Premium de Gamecodeur depuis juillet 2018 sous le pseudonyme de Sephi-Chan.

J'ai développé Spherium seul en Lua/LÖVE, sans aucune autre librairie externe.  Le jeu ne contient aucune ressource, seulement du code. Cela représente environ 20h de travail.

C'était ma première participation à une game jam, et ma première expérience avec Lua et LÖVE. J'avais déjà une bonne expérience du développement avant d'entreprendre ce projet du fait que je développe beaucoup pour le Web avec Javascript (le plus souvent avec React) et Ruby ou Elixir côté serveur.


Post mortem

Du côté du gameplay en lien avec FTL, que j'ai découvert pour l'occasion, j'ai opté pour l'affectation de personnages à des tâches et la nécessité de faire des choix, d'autant que les déplacements peuvent être coûteux en terme de temps. Les combats sont très basiques.

Côté code, j'ai également découvert Lua et j'ai dû m'habituer à développer pour une game loop. J'ai trouvé le langage assez agréable mais un peu déroutant du fait de la pauvreté de son API, surtout concernant les tables et les listes (qui sont mélangées dans ce langage). J'ai été très surpris par l'incapacité de LÖVE à lisser les formes produites par remplissage : il a donc fallu ruser en entourant ces formes de lignes qui, elles, peuvent être lissées.

A ma connaissance, il n'y a qu'un bug que je n'ai pas réussi à résoudre : l'apparition (le temps d'une frame) d'un personnage sur son lieu d'origine quand il termine un déplacement.

C'était globalement une très bonne expérience, très prenante. Je suis déjà très content d'avoir livré un jeu complet, avec un but, un début et une fin. J'ai hâte de participer à la prochaine jam !

Pour ceux que ça intéresse, le code est sur GitHub : https://github.com/Sephi-Chan/spherium-jam.

Download

Download
Spherium.zip 3 MB

Comments

Log in with itch.io to leave a comment.

(1 edit)

Je trouve ton jeu très agréable et très plaisant à jouer. Note maximale car je suis fan !!! 

Sinon, je partage complètement ton point de vue sur l’ambiguïté du langage à mélanger tables et listes. On pourrait presque caricaturer en disant que quand on ne sait pas trop quoi faire, il suffit de mettre les { }. 

Félicitations pour ton jeu (j'ai même réussi à gagner...)  Hâte de voir la suite de tes réalisations !!!

Merci beaucoup, je suis ravi que le jeu t'ai plu !

As-tu eu des difficultés à prendre le jeu en main ? As-tu réussi du premier coup ? 

Les langages que j'utilise le plus souvent (Ruby, Elixir et Javascript) ont des API très riches au regard des collections, la chute est dure en arrivant sur Lua où tu ne peux même pas avoir le cardinal d'un hash sans itérer dessus ! :o

Au début, je n'avais pas trop compris les combats (je voyais des sphère noires, mais je ne comprenais pas que c'était des ennemis). C'est peut être le seul point qui manque un peu de lisibilité. Mais encore une fois, j'y ai rejoué et je prends toujours autant de plaisir