Arcade Village Blog

The Island - Presentation

Hello, today I invite you on a journey to programming a survival video game with real life mechanics.
In realistic games, we speak today of games reproducing the appearance of reality, with magnificent 3D decorations, fauna and flora sticking as close as possible to their real appearances. Obviously, a single programmer cannot imagine reaching such levels of realism. But that's not what I'm looking for. In all of these games, animals and plants do not feed, reproduce, and interact with each other aimlessly. I will focus on these interactions so that the player, even on a stylized game board, feels a sense of reality.

The articles will be in the form of a diary with my progress, my thoughts and probably my mistakes. You can always see the progress of the program here:
The Island

We will first look at the main concepts.


I choose javascript for its ease of programming and its possibility of being executed in browsers, which is useful for showing the result of my progress on the internet.
I will work with javascript classes. Object-oriented models are easy to translate from one language to another and require a certain rigor.

The universe

Our game will take place on an island, a place delimited in size. Nature already offers us the classes that we will have to program.

The Gaia class

Gaia is the name of the goddess representing the Earth in Greek. It encompasses the playing field and all the functions allowing access or modification to it.

The Plot class

A land is divided into plots. Each plot represents a space in a video game. The minecraft game has revolutionized the representation of a terrain by the principle of block stacking. I was inspired by it. A plot is therefore a stack of blocks. It can also contain a supplier, we'll talk about that later.

The Block class

This class represents a block of this material (water, stone, earth, sand...). Since we will have vegetation, each of these blocks can provide nutrients and water.

The Biome Class

A biome is a set of ecosystems characteristic of a biogeographical area and named from the vegetation and animal species that predominate there and are adapted to it.

The notion of Biome is particularly suited to the creation of infinite and varied universes in video games. It is for example used in Minecraft. I will use the principle in my game and, to start, I will use basic biomes such as grassland, mountain, hill, lake or desert.
When I program, I like to see a result, even if it's far from the final result. Object-oriented programming allows this. You can see the progress of the project here:
The Island

Here is a screenshot of the current screen

This screen allows you to see the different biomes and the evolution mechanisms of vegetation and animals.

In the next chapter, I'll go into more detail about classes, and you'll finally see some javascript code.