Jump to content
Sign in to follow this  
  • entries
    31
  • comments
    13
  • views
    12240

Building Block Heroes - Freshleaf Forest

Sign in to follow this  
Aggroblakh

812 views

Building Block Heroes - Freshleaf Forest

Following on from last week's feature on Jollyville, I'm going to talk about the second area in the game, Freshleaf Forest.

Description

Freshleaf Forest is a dense and dark place with colourful flora and gigantic trees that cover the entire area in shade.

Map_Freshleaf.png

BackgroundFreshleaf01.png

I generally try to introduce some new gameplay feature with each new area, and in Freshleaf Forest players will encounter Leaf blocks. The player characters will fall straight through leaf blocks, but coloured blocks will not. It thus becomes necessary to place blocks on top of the Leaf blocks in order to traverse them.

LeafBlocks.gif

Naturally, this lends itself well to levels with bottomless pits in them. There is no damage, nor are there lives, in this game, so falling through the ground only results in being sent back to the start of the level. Nevertheless, it can set the player back a bit if they fall through when near the end of a level. Tread carefully!

Respawn.gif

The enemies in Freshleaf Forest are a bit more of an obstacle than those in Jollyville, but aren't too tough to deal with. The first moves back and forth like the enemies in Jollyville, but takes up two spaces rather than one. The second enemy in Freshleaf Forest moves vertically in the air, providing a different kind of obstacle for the player.

Enemy1.gif

Enemy2.gif

At the end of Freshleaf Forest, players encounter the second boss in the game, a giant mechanical spider that shoots legs out in six different directions while its front legs dangle uselessly in front of it. It's your job to work your way up to his glowing weak point even as he flings his long limbs at you.

Boss02Attack.gif

Having a friend to fight alongside you here is useful, as you will be able to attack from two sides.

Friendship.JPG

Design

Freshleaf Forest was inspired by similar jungle scenes in Rayman and The Lion King. I noticed that they made use of crazy and unrealistic colours for plants in these scenes, and wanted to incorporate the same variety in colour so as to break up the monotony of having green everywhere.

Foliage.JPG

Nevertheless, Freshleaf Forest does consist primarily of green. It was my job as the artist, therefore, to ensure that I used different shades of green to prevent everything from looking the same. I mentioned in a previous article that warm tones work well with highlights, and cool tones work with shadow.

The concept is demonstrated well here. Notice that foreground elements and leaves near the top of the screen - thus near the sun/primary light source - tend to consist of warmer and yellower shades of green, while foliage further in the background or closer to the ground tend to make use of more bluish hues of green.

Hues.JPG

Judging from the thumbnail of the background, it is plain to see that green and turquoise are the colours that really stand out. This deliberate association with green helps set Freshleaf Forest apart from the other areas in the game and give it its own "character".

It is also important to note that, despite the overwhelming focus on green, it doesn't feel too monotonous or repetitive due to the mixture of different hues of green, as well as the smattering of colourful foliage along the ground.

Thumbnail.1.JPG

For the music, I wanted to capture a jungle vibe, so I began by composing a percussion track consisting of conga drums and maracas. Once I had that nailed down I threw in some extra "percussion" using a bass to add in a "creepy-crawly" feel. From that point, coming up with a main melody to match the beat was relatively easy. Like the percussion, I made use of "ethnic" sounding instruments to make the track feel more exotic.

At the end, there was still something missing. It was my goal to give the players the feeling of traversing through a dark jungle while still encapsulating the cartoony look of the game. To emphasize the silliness, I added a string section to the percussion track, to include some of the same "bounciness" that Jollyville's music possessed.

Every area introduces its own challenges, and things will only get more challenging from Freshleaf Forest onward. I hope this was an interesting read!

Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Advertisement
  • Blog Entries

  • Similar Content

    • By OConquestGame
      Hello there!
      I’m the creator and producer of an upcoming visual novel / video game. 
      My team and I are looking for artists (character and background), writers (experienced in writing relatable characters and witty dialogue), and programmers (familiar with unity and creating mini games). 
      Our team is a group of close friends looking to break the mold of the traditional visual novel and create something new and positive. This game will be highly promoted and be a great portfolio piece. Rates are negotiable!
      If you are interested please contact/message us today! OConQuestGame@gmail.com
    • By Gas Lantern Games
      Hello!

      I have spent the last year and a half developing a game in my spare time in Unity! I am releasing it soon on Steam. Ant Empire is a strategic remake of some older games. It is influenced by games such as Ant Empire and Civilization.

      I am currently doing a kickstarter to help fund an AI before launch.

      I have attached some images (tried some gifs but they were too large) to show the current stage of Ant Empire, which is nearly completed.







    • By MarkNefedov
      So, initially I was planning to create a base class, and some inherited classes like weapon/armour/etc, and each class will have an enum that specifies its type, and everything was going ok until I hit "usable items".
      I ended up with creating UsableItem class, and tons of inherited classes, like Drink/Apple/SuperApple/MagickPotato/Potion/Landmine/(whatever that player can use) each with unique behaviour. I planned to store items in the SQLite database, but I discovered that there are not many ways of creating variables(pointers) with type determined at runtime (that preferably get their stats/model/icon/etc from DB). So, I think that I need to use some variation of the Factory pattern, but I have no idea how I should implement it for this particular case (giant switch/case 😂 ).
      It would be really nice if you guys can give me some advice on how I should manage this kind of problem or maybe how I should redesign the inventory.
      Inventory storage is an array of pointers. I'm working with CryEngine V, so RTTI can't be used.
      Example code:
      namespace Inventory { enum ItemType { Static, Building, Usable, Weapon, Armour }; class InventoryItem { public: virtual ~InventoryItem() = default; virtual ItemType GetType() = 0; virtual string GetName() = 0; virtual string GetIcon() = 0; virtual void Destroy() { //TODO: Notify inventory storage delete this; } }; class UsableItem : public InventoryItem { public: struct Usage { int Index; string Use_Name; }; virtual CryMT::vector<Usage> GetUsages() = 0; virtual void UseItem(int usage) = 0; }; class TestItem : public UsableItem { int Counter =0; ItemType GetType() override { return ItemType::Usable; } string GetName() override { return "TestItem"; } string GetIcon() override { return "NULL"; } CryMT::vector<Usage> GetUsages() override { CryMT::vector<Usage> Usages; Usages.push_back(Usage{1, "Dec"}); Usages.push_back(Usage{2,"Inc"}); Usages.push_back(Usage{3,"Show"}); return Usages; } void UseItem(int usage) override { CryMT::vector<Usage> uses = GetUsages(); switch (usage) { case 0: for (int i =0; i<uses.size(); i++) { CryLog(uses[i].Use_Name); } break; case 1: Counter--; CryLog("Dec"); CryLog("%d", Counter); break; case 2: Counter++; CryLog("Inc"); CryLog("%d", Counter); break; case 3: CryLog("%d", Counter); break; default: CryLog("WRONG INDEX"); break; } } }; }  
    • By glararan
      Hello,
      I am university student. This year I am going to write bachelor thesis about Vulkan app using terrain to render real places based on e.g. google maps data.
      I played World of Warcraft for 10 years and I did some research about their terrain rendering. They render map as grid of tiles. Each tile had 4 available textures to paint (now 8 by expansion WoD) However I found issue about this implementation, that's gaps between tiles. Is there any technique which solves this problem? I read on stackoverflow that guys find only solution in using smooth tool and fixing it manually. Main question: is this terrain rendering technique obsolete? Is there any new technique that replaces this method to render large map as small tiles?
      Should I try to implement rendering terrain as grid of tiles or should I use some modern technique (can you tell me which is modern for you?). If I should implement terrain as one large map to prevent gaps between tiles how textures are applied for such large map?
       
      Thanks for any advice.
    • By Effekseer
      Effekseer Project develops "Effekseer," which is visual software for creating open source games; on September 13,
      I released "Effekseer 1.4," which is the latest major version release. 
      Effekseer is a tool to create various visual effects used in games and others.
      With Effekseer, you can easily create various visual effects such as explosion, light emission, and particle simply by specifying different parameters.
      Effekseer's effect creation tool works on Windows and macOS.
      The created visual effects can be viewed on Windows, macOS, Linux, iOS, Android and other environments with DirectX, OpenGL and so on.
      In addition, there are plugins / libraries for game engines such as Unity and UnrealEngine4 to view visual effects.
      Effekseer 1.4 is an updated version of Effekseer 1.3 released in November 2017.
      This update contains the following changes:
      The renewal of UI. Support the tool for macOS. Addition of a function to read FBX with animation. Addition of parameters to protect collied effects and objects. Addition of parameters for easier control of the effects. In addtion I improve plugins/libraries for Unity, UnrealEngine4 and Cocos2d-x.
      Besides that, more than 40 new sample effects have been added and many bugs have been fixed.
      Effekseer 1.4 is available on the project website.
      The license for the software is the MIT license.
      Effekseer 
      http://effekseer.github.io/

      Github
      https://github.com/effekseer/Effekseer
      
      Sample Effects.
      Tool Demo
       

      View full story
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!