Emerald Woods – Graphics Overhaul! (0.2.6)

It’s been one month since the last public release. We have packed a lot of work in this version, hope you enjoy it! You can download it for free from the page at itch.io.

As we continue pouring work into this, we get closer to a point of proving and Earlier Access version via itch.io. That will probably happen for version 0.3.0 which is not extremely far away. For now, this version remains completely free.

The overall goal for v0.3.0 in the roadmap is improving Farming, so that has been the criteria guiding the development of these new versions. Besides dev work we continue organizing the project and keeping track of the tasks and plans, you can see the current roadmap here.

Visuals

There’s a lot to talk about the work we put into the visuals, but images are worth more than words.

At first, I worked on improving how trees were rendered so that they took up a little bit more space and didn’t look just like flat icons on the map; in order for this to work I had to break away from the grid, and activate the transparent rendering mode. This then led to adding some exceptions to how the tinted 1bit tileset worked, so that the trunks of the trees could have a different color.

Now that we had transparency it longer made sense to have the plants and animals rendered with an opaque background, which led to pixel work to add outlines or remake tiles so that they looked fine against the ground background.

All this continued accumulating until I decided to go ahead and remove the ultra-low colors mode, replacing it with a full-blown 64 colors tileset with no restrictions per sprite based on the original pixel art concepts designed by Mateo Robayo. There were several iterations looking for something that would remain close to the roguelike aesthetic but was still readable and looked good.

A lot of pixel art had to be done in order to cover all of the game objects, terrain, animals, new recipes, and ingredients. This is what had mainly prevented me from doing the jump, and it accounted for a lot of work, but I figured out this was something we had to do in order to reach more people.

But the work didn’t stop there, now that we had more colors, I needed to push things a bit further to add perspective. This included adding vertical offsets to the sprites to give a better illusion of depth with creatures and trees appearing as standing “billboards” instead of seeming to be laying flat in the ground, coupled with allowing any sprite to be bigger than the grid (not just trees) so that there can be big animals and items. Walls are also now rendered as chunky “blocks”, to give them some depth.

Another important change was adding support for rendering “rules”, effectively creating a layer of abstraction between the world model and the tiled sprites representation. The following rules have been implemented:

  • Boundary: Renders a different texture if a tile in the world has another type of tile above. This is used to draw the borders of lakes and the “cut-off” version of walls so you can see what is behind them.
  • Perlin: Pick the texture to render from a list, using Perlin noise having the coordinates of the object as input. This simple but effective rule allows for adding a lot of variety to the representation of the world.
  • Anchor: Select the texture to render based on the immediate solid tiles to the sides. Used for things like doors and gates to display vertical and horizontal variations.
  • Grid15: Simple heuristics to select the texture to draw based on the neighbor solid tiles, from a set of 15 tiles covering cases not only for vertical and horizontal representations but also for corners and tips. Currently used for the fences.

Finally, I added variations to the player sprite so you can see when it is resting, sleeping, working, or when it’s struggling to do work because of fatigue.

On a side note, as a result of the big overhaul, this version sadly does not support the characters-based display (i.e. ASCII/Unicode mode). That UI will need some work to get on pair with the graphics one, and we also need to (re)define a whole bunch of appearances and colors to use, for the updated content.

Farming

Added persistent plants that give fruits periodically, including berry bushes, coffee shrubs, and avocado trees. These shrubs are now “solid” so you must plant them strategically.

Guided by the addition of the new recipes, and to some extent the developments of the plot, we have new crops including carrots, avocado, sugarcane, garlic, red rice, giant wheat, and onion.

There is also a new command, “P”lant, useful for some seed items you can either consume or plant (including sugarcane).

Cooking

Add a new batch of recipes (note that some of them still can’t be done due to missing ingredients), some items are also now liquid containers, and can be filled with water or results of the recipes (like black coffee, or some soups).

The list of recipes is now filtered so that it only displays the things you have ingredients for unless it is an “inspirational” recipe (as in, things we want the player to seek to cook). This means you can also do simpler recipes, for example, all kinds of meat can be grilled for added nutritional value.

For the inspirational recipes, a message with the ingredients missing was added in case you attempt it.

Procedural content generation and vegetation

This release is not heavy on procgen improvements, however, there were some tweaks in the population of the vegetation, including adding scattered nuts, a new type of mushroom, and the addition of “tall grass”, which you need to cut in order to be able to farm (a new tool, the Machete, was added for that in addition to some other uses for resource gathering). There are also stones scattered around so that you have to clean up the area you want to farm on, or gather and use them as resources.

Also, as mentioned before, the berries were replaced by shrubs, which required tweaking the values a bit to prevent exploits.

Achievable Goals

As an open-world experience, you can pretty much put your own goals in Emerald Woods. However, we are adding some “achievable goals” you will be able to select to guide your journey (or at least they will serve to show the player examples of what they can do within the game).

For now, there are four, fixed achievable goals:

  • Capture one of each animal species.
  • Grow one of each available crop.
  • Discover the Genco offices.
  • Build a big house.

These achievable goals are displayed in the HUD along with the progression on them.

More goals have been designed but have yet to be integrated.

Gameplay

Some balancing was done, adding more starting seeds and food for survival, and increasing the nutritional values of gathered food.

There is now a heavy health penalty when sleeping in an unsafe location (no campfire).

A new command was added to “rest in place” for some minutes, just in case you need a slight recovery without taking a nap.

Crafting and building things now has stamina and time cost, so you have to do some resource management if you want to make big buildings!

Rocks are now solid, and you can break them with the pickaxe.

Paint recipes (and painting in general) have been disabled for now, until accommodations are made for the new visuals.

Modding

Most of the data is now being loaded from external JSON files instead of being hardcoded into the game, this includes the visual appearances, items data, recipes, animal races, plants, and even the tileset configuration. This will make it easier in the future to support mods (both official and player-made)

We are considering creating the first of such mods for this year’s 7DRL challenge, we’ll see how that goes.

Genco Plot

There has been a lot of narrative work in the subplot of the game involving Genco corporation. Some of it has been added already as documents scattered in the cabins in the woods but this is just the beginning. The intro has also been updated with hints of this narrative.

User Experience

A chain of tips was added to onboard players into the game, explaining the basics of farming and interaction. There is also a blocking alert shown for long actions (like Saving Game) or when important things happen (for instance the warning when you don’t sleep well)

Design

Here’s a briefing of stuff we have good progress on the design front but no implementation yet

  • Seasons system
  • Animals behavior
  • Genco narrative (more content)
  • More crops and forageable plants
  • Crafting furniture and a lot of items.
  • Pets system

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s