TREE HOUSE : THE AVOCADO MAYHEM making of
4.5 billion years have passed since this game ́s creation, now a new remake begins...
Originally a TRS-80 Color Computer II game where I wanted to test high resolution color graphic movements similar to sprites. Prior to this, my games were strictly character or block based. :)
Here is the powerhouse! Brazilian clone called CP-400 II
Using a resolution of 128x96 and 4 colors, I managed to get the players moving, the avocados falling and being collected, tree barks and bats, with the latter falling leaning towards you, and some intro and final score screens. At this very point, I ran out of memory and was too young to figure out how to go around, and the AMIGA was quite around the corner too :D
Here is more or less how it looked like
Update game play, graphics and sound, bring it to modern computers with the looks of an AMIGA styled game, is the object desired.
A bit about the original idea. At a time I lived close to a huge avocado tree and we kids used to play under it(mostly marbles), when avocado season, billions would fall and we would still keep playing under it. I recall we developed some sort of kid technology/behavior and the original game was intended to praise that. The tree is no more since around later 2k16, this is also in her memory.
The first quick re-designed layout
So, there is the layout, it has the basics from the original game plus a bit more, you have the kids, avocado, barks and a trunk. You score points and have heart like energy, should be enough to boot.
Being a lover of old school 320x240 resolution and also an owner of a Caanoo, I thought to keep the game at that res and scale it a few times for modern PC gaming.
So let's sketch it up, Some outlines mainly for proportion and whatnot, some shades, later adding up some textures after studying a bunch of avocado trees references. After the trunk , background and ground got more or less done, and it took quite some time, I thought to speed up the layout and use placeholders for the leaves and cheesy players until I get to the minimum game playing in code.
Here some background GFX evolution, the latter already has a bit of the AMIGA style
Game already running on the Caanoo, moves nicely with the analog control
Desktop version, clouds move smoothly on the background
It's alive! Yes, always a wonderful feeling when such milestone gets reached! :)
Players are 2 sprites animated for movement and 2 for when hit, avocados and barks are 2 frames each, normal and exploded, there is also a frame for the defeated players.
Player ́s movement has a small drag as to simulate real life and they can be controlled with either a joypad or an analog stick, keyboard too! I tried using the accelerometer on the Caanoo for control but it didn't work on such a fast and precision kind of game.
I added clouds with different speeds to add some parallax to the BKG.
With the game already flowing, better look at our heroes, I dug a bunch of references to help improve their look and, most importantly, fix its proportion as it is quite weird against the tree, like gnomes. :D
Better line art heroes and look at that Cooper fx styled degradee!
Dash and catch animations added, kids a bit superdeformed style, ye with big heads.
The dash is a fast movement that can also instantly change direction, its drawback is that the heroes almost halt when done. Dashes can be timed to avoid hazards or stretch to get that avocado or power up, but remember, if not raining, walking around is faster.
The base game is really complete and looks okayish, time to feature creep it till it explodes!
Better start some game design bible just to keep track. So there is going to be 100 avocados falling and they will randomly do so as time goes by and it can get to a few falling simultaneously.
As the number of avocados that felt gets closer to 100, extra hazards should also be possible to randomly kick in, therefore I want it to start smooth and to end chaotic but with so much randomicity that each gameplay gets unique...I hope.
These white physical thin slices of trees kind of serve as a third and fourth monitor
Let's add weather FX, winds! Their occurrence could happen more often as time passes and it will randomly choose between a set of speeds of winds as well as directions left or right. The winds move falling objects a bit differently and they also push the heros around.
Considering that, let's create the tree's leaves.
This poses a challenge as if I'd do it by hand it would take ages. The solution was to hand draw a few leaves and create 500 instances of it on a 3d application, make 2 frames and slightly transform their rotation. It works great but, as usual, requires a bit of clean up on the pixel art level. 3d render apps struggles with ultra low resolutions.
Spreading those leaves around
Final cleaned up image, wind leaf animation is also great
Just before those leaves got done, the game's resolution went through changes, mostly to better fit mobiles and full screen desktop resolutions while still supporting the Caanoo ́s old school set. It is now at 428x240.
While on the 3d set, better model a background topography and objects, crude render it to get some light shade, photoshop textures and pixel art the result. I'd like to keep a small level of antialiase as with the old arcades, to mimic a little level of depth of field, considering the main sprites are all sharp nearest neighbor.
I ́d also like the background to be able to darken up, at which point, thunder would start to flash. Might as well add rain weather FX too. So darkening up is just aesthetics while thundering will scare the kids into an involuntary shiver and rain will slowly drag players as it pours down. Rain can be on or off and happens on its own through the game ́s timeline, ye the 100 avocados to fall. Whenever there is rain and winds of at least a certain speed, there can be thunders.
Some castle and rocks
Final light and dark backgrounds
I also have leaves falling down the tree so to confuse players, their amount increases if winds are blowing higher, together with rain, it should pose a nice distraction. When the storm is really strong, splashes of water will also fall down and halt player ́s movement if hit. That covers for the weather FXs.
Let's look into the hazzards. So far we have avocados to catch and tree barks to avoid, but we are soon get introduced to tree trunks. They are big tree parts that once fallen on the ground, stays around for a while before disintegrating. Heros move at half speed while traversing it but it makes it disappears faster.
The tree is inhabited by monkeys, of course, and they will try to catch some of the avocados mid-air before you get the chance to. Later, some might slip off the tree and fall down, as they recover from the crash, they will enragelly return and climb up.
A set of hand draw monkeys
Old and new monkey thieves sprite sets
Monkey thieves won ́t do you any harm, barks will cost half a heart, trunks will double hit, half a heart and a full one, you want to avoid this at all cost. Finally, the fallen monkey, if over your head, will take a heart, and, as it runs back to the tree, if over you, can multiple hit up to another heart or so.
To cut a break, a yellow avocado will fall occasionally and it will restore one of you hearts as well as score as a normal avocado.
These, with all the weather FXs, composes the first part of the game, where those 100 collectable avocados fall, then, our heroes have to face a set of bosses.
Throughout both stages, darker avocados will fall. Those can't be collected for score, instead, you bounce them back up as a cracked dark avocado. If you try to catch it, it will hurt you for a heart, but on the other hand, that is your weapon and with it you fight the bosses. Cracked avocados will bounce back according to your movement direction and speed, including dashing, so use it to aim.
You can also hit other objects with it and it will cause both to shatter, do it a certain amount of times and a power up will materialize.
There are 4 ancient artifacts that, if caught, gives you certain powers through both stages of the game. It works as follows:
Gold Power: A higher number of yellow heart restoring avocados will fall through the first stage of the game, on the bosses, one will fall between each fight.
Cloud Power: Storms are eased up for the rest of the game, no thunders and no high speed winds.
Banana Power: No more monkey thieves and the fallen monkeys won't hurt you when rushing back to the tree. Beware though you still get hit if it falls over your head.
Lunete Power: During rains, all avocados naturally get dark making it impossible to distinguish between those you have to catch and those to bounce, with this power, you can see them. It will also make you see the last boss for a way higher amount of time.
Objects and Icons
Without getting into the bosses part, we already have a very challenging and hard to tune game. There are a lot of variables to deal but I ultimately want a progressively difficult game where power ups can make life very easy. Don't ́t get me wrong, it is to be a VERY HARD casual game and multiple endings based on score should give the players a will boast to try again. :)
The first stage timeline got changed a million times
The first boss, of course, has to be the bat. Its first attack is a surprise one, you have to be weary. While flying about, it can choose to dive attack, side attack or hide inside the tree top. You can bounce a dark avocado into him anytime except when he is on the tree top. His attack is a set of multiple bites that take half a heart after a few bites. It can be very dangerous if you get caught against the wind or over the scene ́s corners.
Nothing fancy graphic wise, I wanted him very flat almost evil face only. As he gets beaten, his flying animation changes to an ever more deteriorated aspect.
A bat full of himself
For the second boss, a monkey leader! A huge bike raider monkey that raids the screen left to right and performs super immortal jumps that destroy every object in its path when he is riding towards you. He will occasionally traverse the background, giving you some time to breath. Very difficult to hit as one has to count on either well done ballistics or a close encounter dash avocado bounce.
Visually, drawing the bike performing a rotation turn on screen would be quite some trouble to pixel, so better put some 3d on it.
Simple object, bonus for who can tell the reference
Work in progress
Third boss is about the tree becoming alive and letting hell break loose. It's shaking roots will get our heroes of balance and she will hunt them. She can either spit a powerful directed gish that will double hit for 2 hearts or vomit one of many patterns of smaller blobs that will also lose heroe ́s control. Hit her face to win.
Together with the weather FXs, this fight gets very intense and its balance can shift within seconds.
Tree animation started as a black outline attempting to mix its 2 parts.
Time to fill up those forms, create the transformation animation and spits and vomits.
There was to be an extra root attack by the tree, but it got cut off at the end, would make it impossible to beat. :D
A lot of frames, big sprites
Tree ́s transformation and movements - Guest Music: Basement Ingame [PUFFY64]
Final boss is the ghost that has possessed the tree, as you break it free, hit it to push it back to the castle ruins. Ghost stays very little on screen and the heroes have a very small window of chance to hit him, but if you study his movements, it can be predicted even as he fades away. If with the lunete power, he is visible for quite longer.
Final score table sketch, monkey boss, HUD and falling monkey
The final score is calculated by adding the number of collected avocados to 5 points for each full heart, 5 points for each destroyed power up, 5 points for each boss but 20 for the ghost.
Here is a full game test play with all of its elements in action.
It took me a while to beat the monkey...proper conditions were not favourable and I took no powerups. So even on the 8 minutes mark, the game fits around the 5-10 minutes experience for full run, less when beginner.
With the main game done, least some fine tunings, let's look into the intro.
A FUED card followed by a short visual story showing the kids discovering the Avocado Tree and then dreaming about making a treehouse. They can't agree on which kind of house but a falling avocado wakes them to the threat it is to make any at all.
An attempt of tree background where dream houses will pop up
Each time the intro is played, a set of dream tree houses from a poll comes into their argument, always random. Wanted to bring more value to the intro and possibly influence first time players differently by what they first experience and judge.
Different dream houses
And a title screen! Typography inspired by the Demo Scene we all love. ;)
Sketch by hand, cel photo and line art draw, extruded each letter into a 3d object and deformed, textured and photographed a scene. The output is used to create the final pixel art title.
Title work in progress, a bit street in shape and surf colored
Trying to find a good spot for both title and subtitle
Intro and title on the way, time to think about the outros, or endings.
The game is over if you either lose all hearts or pass the last boss with at least half one, this last case being considered a beated-the-game condition but, whichever case, you get one of the 10 different score based endings. The game can also end if you take too long to hit the monkey or the bat bosses.
Each ending depicts the house our heroes were score worth, with the idea that no themes are any of the introduction dreams and that they tell a story with all the characters of the game. :D The house structures were 3d rendered after assembling a bunch of pre created parts.
Some of the low poly objects that make the basics of each tree house
While coughing up the endings, I added an attract mode and its android version, so if left alone one actually sees how to play. Here is some draft video with the intro animation, without music, taking half of the video. Title animation and dithered transitions added.
Back to the endings, from the base tree house render, compose everything else!
This is the base render the 3d app outputs
Two stages of ending image ́s tests
This project was possible by the hands and will of a lot of people specially The GLBasic community and tool for being the best!
Musician GMChanfle, who made more than 10 unique tunes for the game and many more work in progress samples, is to be praised to no end! :)
You can catch up with some of his stuff here: https://soundcloud.com/user-732324439
If you haven't seen already, here is the final teaser and game play videos: