Sunday, December 18, 2022

December focus: Flora System

During the month of December, I am focusing on the flora system.  To give you an idea of just how complex I want the flora system to be, consider that ASTS will have no less than twenty different species of trees, six bushes including 5 that produce berries, along with mushrooms and other fungi.  Each tree will have four growth stages: sapling, young, mature, and old.  Players will be able to plant saplings that will grow through these stages.  Each tree will also have seasonal sprites.  Keeping with the survival theme, many items will be harvested from the flora.  That is my focus this month, to code the harvesting of the various materials a player will be able to obtain from plants and to add more and more species.

Depending upon the species, trees will provide sticks (long and short), branches (deciduous) and boughs (coniferous), roots (for cordage, medicine), nuts, fruit, fibers (for starting fires), bark (for cordage and food), resin (for medicine, glue), sap (for food, medicine), mushrooms (both poisonous and edible), cones (for fuel).  Every individual tree will have its own random set of resources based on species, age, and health.

It is important to me that every aspect of the game is fun and rewarding.  To that end, even gathering materials from trees presents different levels of time, energy, and reward.  Since this is a 2D pixel game, there is a heavy reliance on sounds which draw upon the imagination. Let's take harvesting a root as an example.  Only certain trees allow the chance for obtaining roots.  Even if the tree has several root opportunities in its definition, the player may discover that the root he finds in a given search is simply too large to harvest.  But once he does find a good root, he will need to listen as his player scratches the ground, clears away dirt and then pulls up sections of the root, repeating this dig and pull cycle a few times before cutting the root free from the ground.  The sounds are all there and really make the whole experience open up in the mind, even if the character isn't animating every action.

I create almost all the graphics in my game.  Some are completely hand drawn.  Others are inspired from obtaining free and/or paid images of real-world items which are then morphed into beautiful pixel-things. Almost all the trees in the game came from images of real trees that were isolated, clean-up, touched up and pixelated into their final form.  I know this isn't the professional way to create 2D pixel art.  I don't have a set palette of colors I always use.  But then, nature is not limited to 32 colors, so why should I be? I do implement a few common effects to tie all the art together.  I will have to wait and see if my unorthodox methods come together or not.  However, when it comes to animating, I am admittedly intimidated.  Therefore, I am hiring pixel artists to do this work for me.  Let me just say, it is NOT cheap.  And since I am not made of money, I will introduce characters and NPCs over time as I can afford to hire out.

I truly believe it is important to be as detailed and intricate as I can be if I am to make a survival game worth talking about.  This is why I spend a long time researching game content and using real-world data.  Consider the trees.  I researched each tree and categorized and sized it on a scale of 0 to 10.  Here is a sample of the tree data which helps me produce the images as well as define the resources.

species (size)      young w/h    mature w/h    old w/h    health        hard/soft    zone    growth    max age

apple (0)            64/64              96/96             128/128    10/15/20    hard              7          fast          45

birch (3)            96/96              144/144         192/192    40/60/80     hard              3         medium   120

maple (6)          96/128            144/192         192/256    70/105/140  hard              7          slow        125

olive (0)            64/64              96/96             128/128    10/15/20     hard             10        medium   500

spruce (2)         64/96              96/144           128/192     30/45/60     soft              1          medium   200

 

The procedural generated maps will have growth zones where trees will be found.  This means an olive tree (southern) will never spawn in the same area of the map as a birch tree (northern).  This also means a player may need to travel north to find spruce roots if that is the kind of cordage he wants to make.  Or, he may need to venture south for olives to make oil.  But that is what it is all about, exploring and surviving!

Until next time...