Aller au contenu

[Projet] Spirits Of Heaven


Recommended Posts

Bonjour !

Je vous présente ici un projet que j'ai commencé il y a quelques temps (un peu plus d'un an) : Spirits Of Heaven.

Il s'agit d'un RPG Tactique (un peu du style King's Bounty pour le système) mêlant des éléments de Science Fiction et de magie.

Intro

Membre d'une équipe composée de scientifiques et de son escorte, partie enquêter sur des aberrations dans des mesures énergétiques, le héros débarque sur une planète jusqu'ici inconnue. Il découvre assez vite une tribu d'autochtones livrant bataille, et les militaires de l'équipe interviennent pour calmer le jeu. Mais le temps se fige et une forme vague parait au héros, se présentant comme un Esprit Supérieur, et annonçant joyeusement qu'il réquisitionnait ce corps au nom d'un noble cause...

Lorsque le héros reprend connaissance, son équipe gît morte, ainsi que les autochtones. Guidé par cet esprit qui semble accorder peu d'importance aux vivants, il s'embarque dans une quête, qui aboutira peut-être au salut d'un peuple - ou plus.

Description du jeu

Le jeu comportera deux parties :

- Une partie exploration, où le héros pourra se déplacer en temps réel sur une carte, discuter avec des PNJs, ...

- Une partie combat, en tour par tour, où le héros pourra, éventuellement aidé d'esprits, venir à bouts de moults dangers

Une éventuelle partie multi permettra de mener des combats à plusieurs en coop contre des boss, où même de se taper dessus entre potes.

Le jeu sera prévu pour être joué en full-tactile (mon premier engin d'essai était un Archos 5 IT), mais des raccourcis seront là pour les touches également.

Avancement :

- Carte : Le déplacement sur la carte fonctionne, le héros peut changer de zone et interagir avec des objets (à peu près).

- PNJs : les PNJs peuvent se déplacer sur la carte, ont un mouvement aléatoire borné (ils ne s'éloignent pas trop de leur position d'origine), les arbres de discussion (qui prend en compte des conditions pour certains dialogues) sont fonctionnels.

- Combats : Les créatures peuvent se déplacer et utiliser des actions : des capacités. Toute action est une capacité. Attaquer est une capacité, lancer une boule de feu aussi, boire une potion aussi.

Il existe 2 types de capacités :

- Les capacités basiques, offerte par un objet (par exemple, une épée équipée offre la capacité "Attaquer au contact", une potion offre la capacité "Boire une potion")

- Les capacités avancées, acquises par le héros (boule de feu, etc. )

Le jeu est encore en développement très actif et intensif, et beaucoup de choses ne marchent pas, ou pas entièrement.

Pour l'instant, le site dédié est complètement vide :

http://spirits-of-heaven.com/

Seul le site git pourrait vous intéresser pour le moment si vous voulez l'essayer :

Gitweb :

http://git.spirits-of-heaven.com/

Dépot git :

http://spirits-of-heaven.com/git/

Oui, je distribue les sources : Sprits Of Heaven sera un jeu gratuit, et open source (licence à déterminer, pas vraiment une priorité). Donc n'hésitez pas à jeter un coup d' oeil, corriger un bug (:-' ) où simplement faire une remarque ! :)

Voici quelques captures d'écran jointes :

- Un combat.

- Sélection d'une capacité

- Dialogue avec un PNJ

- Choix de réponse avec un PNJ

- Déplacement sur la carte (le héros est le point noir, le point rouge est un PNJ, la maison permet ici de changer de zone - vers une zone "maison")

Comme vous le voyez, je suis plutôt orienté codeur que graphiste (et je n'ai fait absolument aucun effort jusque là).

J'engagerai probablement un graphiste pour remplacer toutes les textures quand le jeu sera un peu fonctionnel.

En ce qui concerne la partie technique, le rendu est en openGL pour les combats, Canva pour la map (car pas encore de besoin de perf, peut éventuellement changer vers openGL).

Les (très très nombreux) fichiers de config sont en JSON, les sauvegardes aussi (éventuellement compressé avec ZLIB s'il le faut).

Je teste en ce moment l'appli sur mon téléphone, un HTC Désire, aussi le jeu n'est en ce moment utilisable que sur une résolution 800x480. Dès que j'aurai prévu le support de n'importe quelle résolution, j'aurai probablement besoin de braves testeurs, n'ayant moi-même pas d'autres résolution de test disponible.

Si vous avez des questions, des remarques, n'hésitez pas ! J'ai pas mal d'idées, mais je suis aussi ouvert aux suggestions, critiques et jugements divers.

Lien vers le commentaire
Partager sur d’autres sites

Les combats

Plus d'info sur les combats :

Les combats se font au tour par tour (1 tour = une unité agit). Chaque tour, une unité peut :

- Bouger

- Utiliser une capacité (skill, objet, attaque, ...)

- Re-bouger s'il reste des points de déplacements

- Finir son tour

Chaque fois qu'une unit fait une action, elle gagne (pour la durée du combat uniquement) des points (pas encore de nom, on les appellera points A pour le moment), dont je parlerai plus bas.

Puis, en fonction de ce qu'elle a fait, son prochain tour est délayé dans la file. C'est donc du tour par tour par unité et pas par équipe.

Les jours

Chaque tour est associé à un "jour". Il y a 5 jours dans une semaine. (c'est, dans le screenshots, l'image à droite du bouton "Turn List")

En plus, chaque unité a un "jour" spécial (intrinsèque à l'unité, ne change pas pour le héros / ses esprits).

Lorsqu'une unité joue pour son jour spécial, elle entre dans un autre mode (une espèce de mode "transe") avec d'autres actions possibles, en général plus puissantes.

Ces actions coûtent des points A, et fournissent des points B.

Les points B sont utilisables (même hors du mode "transe") pour faire des super-actions.

Après avoir passé son tour en mode "transe", on passe en mode "post-transe" (ou "récupération") jusqu'à son prochain tour.

Si une unité est tuée en mode "post-transe", elle rapporte (beaucoup) plus de points.

Jouer à son jour spécial est donc utile pour faire plus mal, mais laisser l'adversaire jouer pour son jour spécial est également intéressant pour récupérer plus de points - tout en étant dangereux, car on lui laisse un tour plus puissant.

Pour ça, il est possible de :

- passer immédiatement son tour, sans bouger, sans agir, sans rien : ainsi, le jour NE CHANGE PAS pour le prochain tour.

- attendre à la fin de son tour pour délayer son prochain tour, et ainsi agir plus tard.

Ces deux actions permettent de faire avancer ou reculer le jour d'un tour prochain. Exemple :

- Je joue un tour. Si mon jour spécial est le jour J, mais que mon prochain tour tombe un J-1, je peux attendre en fin de tour pour délayer mon prochain tour et jouer un J.

- Si mon prochain tour tombe un J+1, mais qu'une unité à moi (un esprit) joue avant, il pourra passer son tour pour que je puisse jouer en J.

... et une tactique équivalent existe pour que le tour d'un ennemi tombe sur son jour spécial.

Pour prévoir un peu tout ça, le bouton "Turn List" permet de voir les tours des deux prochaines "semaines" avec les jours des unités jouant à chaque fois. De même, l'option "attendre" affichera clairement la liste et une manière aisée de s'insérer où l'on souhaite.

L'environnement

Le terrain de combat est composé de cases de plusieurs "type" :

- Simple : une case normale, on peut marcher dessus, tirer au travers, ...

- Eau : les unités avec une certaine compétence peuvent marcher dessus, on peut tirer au travers.

- Trou : les unités volantes peuvent passer dessus, on peut tirer au travers. (utile aussi pour certains obstacle).

- Mur : les unités volantes peuvent passer au dessus, on ne peut pas tirer au travers.

- Bloc : on ne peut pas le traverser ni tirer au travers.

L'environnement sera en partie destructible : il sera pas exemple possible de casser un arbre(type mur) pour bloquer une route tout en pouvant tirer par dessus (type trou), de défoncer un mur si on a le bon matos, de faire des ponts de bois au dessus de l'eau, ...

Par contre, pas de relief : un seul étage, pas d'unités empilées, ...

Pour l'instant, tout ça n'est qu'un projet, ce n'est pas encore implémenté (sauf les jours, mais ni la fonction "attendre" ni le mode "transe" ne sont encore là).

Lien vers le commentaire
Partager sur d’autres sites

Les esprits

Le seul humain que le joueur contrôlera sera le héros de départ, tous ses compagnons seront des esprits.

Il aura relativement peu d'esprits (1 ou 2 au début, moins d'une dizaine au max à la fin) : les esprits ne pourront pas être "capturés" n'importe quand, leur arrivée colle avec l'histoire.

Formes d'esprits

Un esprit a un élément et des caractéristiques propres.

Un esprit peut avoir plusieurs rôles en combat :

- Forme externe : l'esprit est "matérialisé", il peut se déplacer et agir sur la carte comme les autres unités. Un esprit en forme externe vole.

- Forme interne : l'esprit est à l'intérieur du corps du héros et lui fournit divers bonus / capacités

- Forme d'équipement : l'esprit se matérialise sous la forme d'un équipement dont le héros peut s'équiper. Ces équipements sont en général plus puissants que les équipements traditionnels et peuvent également apporter des capacités supplémentaires.

Chaque esprit sera plus ou moins performant dans chaque domaine.

On ne pourra pas changer la forme d'un esprit en combat.

Progression

Un esprit a deux modes de progressions qui se complètent :

- Un mode majeur, dans lequel l'esprit change de stade, d'état. Chaque esprit a un arbre de progression possible, et le joueur choisit de faire progresser son esprit suivant telle ou telle branche.

- Un mode mineur : à chaque état, un esprit peut apprendre plusieurs compétences (ex : capacité en forme externe, bonus en forme interne, en forme d'arme, ...). Un esprit garde toutes les compétences apprises aux stades précédents, mais ne peut pas forcément apprendre les compétences d'un stade précédent qu'il n'a pas apprise (quoique certains stades se chevauchent).

Pour progresser, un esprit utilise des points, acquis principalement grâce aux combats. Ces points sont communs à l'équipe et pas spécifiques à chaque esprit.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...