Le blog d'Arcade Village

The Island - chapitre 1

Bonjour, aujourd'hui je vous convie dans un voyage vers la programmation d'un jeu vidéo de survie possédant des mécanismes de vie réels.
Dans les jeux réalistes, nous parlons aujourd'hui de jeux reproduisant l'apparence de la réalité, avec de magnifiques décors en 3D, une faune et une flore collant au plus près de leurs apparences réelles. Évidemment, un programmeur seul ne peut pas imaginer atteindre de telles niveau de réalisme. Mais cela n'est pas ce que je cherche. Dans tous ces jeux, les animaux et les plantes ne se nourrissent pas, ne se reproduisent pas et interagissement entre eux sans but. Je vais m'intéresser à ces interactions pour que le joueur, même sur un plateau de jeu stylisé, ressente une impression de réalité.

Les articles se présenteront sous forme de journal avec mes progrès, mes réflexions et sans doute mes erreurs. Vous pourrez en permanence voir l'état d'avancement du programme ici :
The Island

Nous allons d'abord nous pencher sur les principaux concepts.

La programmation.


Je choisis le javascript pour sa facilité de programmation et sa possibilité d'être exécuté dans des navigateurs, ce qui est pratique pour montrer sur internet le résultat de mes progrès.
Je travaillerai avec des classes javascript. Les modèles orientés objets sont faciles à être traduits d'un langage à un autre et obligent une certaine rigueur.

L'univers


Notre jeu se déroulera sur une île, un lieu délimité en taille. La nature nous offre déjà les classes que nous aurons à programmer.

La classe Gaia



Gaia est le nom de la déesse représentant la Terre en grecque. Elle englobe le terrain de jeu et toutes les fonctions permettant d'y accéder ou de le modifier.

La classe Plot (parcelle en Anglais)


Un terrain est divisé en parcelles. Chaque parcelle représente une case d'un jeu vidéo. Le jeu minecraft a révolutionné la représentation d'un terrain par le principe de l'empilement de bloc. Je m'en suis inspiré. Une parcelle est donc un empilement de blocs. Elle peut aussi contenir un fournisseur, nous en reparlerons plus tard.

La classe Bloc


Cette classe représente un bloc ce matière (eau, pierre, terre, sable....). Comme nous aurons de la végétation, chacun de ces blocs peut fournir des nutriments et de l'eau.

La classe Biome


Un biome est un ensemble d'écosystèmes caractéristique d'une aire biogéographique et nommé à partir de la végétation et des espèces animales qui y prédominent et y sont adaptées.

La notion de Biome est particulièrement adaptée à la création d'univers infinis et variés dans les jeux vidéos. Il est par exemple utilisé dans Minecraft. Je vais en reprendre le principe dans mon jeu et, pour commencer j'utiliserai biomes de base comme la prairie, la montagne, la colline, le lac ou le désert.
L'avancement
Quand je programme, j'aime voir un résultat, même s'il est loin du résultat définitif. La programmation objet permet cela. Vous pourrez donc voir l'avancement du projet ici :
The Island

Voici une copie de l'écran actuel

Cet écran permet de voir les différents biomes et les mécanismes d'évolution de la végétation et des animaux.

Au chapitre suivant, j'aborderai plus en détail les classes, et vous verrez enfin du code javascript.