Devlog

Forager is being published by Humble Bundle and it will have a LOT more content!


presentedhumble_red (1).png

Hey everyone!

Really big news this time! Forager is being published by Humble Bundle, the amazing company that has raised ridiculous amounts of money for charity and brings us all awesome video games at very affordable prices.

Besides that official announcement, I wanted to write about the upcoming features and changes that the game is going to have in the following months. If you don't want to read all of this, we have made a short 5 minute YouTube video talking about these things!


So the main things are the following:

  • The game will come out mid-late 2018 on Steam & the Humble Bundle Store, and it won't be free to play anymore. This is a decision that some of you may not LOVE at first, but you will be glad to know the amount of content the game is going to have is more than triple what you can play with the demo on itch.io
  • Forager will now feature an Open World that you can explore non-linearly at your own pace.
  • There is going to be combat.
  • There are going to be NPCs and characters to interact with.
  • Inventory management is going to be much simpler this time around.
  • The game will technically... work better. And also have more technical features. Details below!

 

We will post more detailed video updates and blog posts on each of the these features once we have them 100% implemented in the game. For now, this is just evil teasing.

Alright so, with that said, let's get started!

 


OPEN WORLD

 

Forager was always procedurally generated. This was a decision I originally made due to technical constraints. For the game jam, I just didn't have enough time to design a map by hand, and then for the itch.io demo version, I didn't have the resources (again, time and money) to commission enough art to make the game visually interesting.

However free exploration was always one of my main design pillars. I wanted a feeling of finding secrets and solving puzzles as you explored a big, vast land filled with resources and creatures.

Procedural map generation is not the best approach to the whole "go on an adventure and find cool secrets!" idea. Mainly because the way it was implemented in the demo, you would just buy lands around your small island and slowly expand outwards. And yet, you had no meaningful input on what exactly spawned. Players weren't really "exploring" as much as they were rolling the dice and checking out their rewards.

With the support of Humble Bundle, I can proudly say I am finally delivering on that "adventure & secrets" idea. With the constraints and limitations lifted, I have been working on a big, open world experience in which players will get to explore different areas with distinct biomes/creatures/resources.

World map concept art, using assets from Minish Cap & Fairune.

World map concept art, using assets from Minish Cap & Fairune.

It's much more fun to discover secrets and collectibles when you are expected to do "something" to get to them. They are not just there, appearing in front of you. You need to work to find them. Maybe solve a puzzle, maybe go where you are "not supposed to go", maybe defeat a big bad creature, or anything really. Just the fact that you can have an impact and you get to make a meaningful choice makes the experience of exploring much more exciting.

Besides the inclusion of new areas & biomes, we also have a working day/night cycle which means an added mechanic on top of the resource collect-a-ton. Forager is a game about exploring, gathering resources and using them to build your base & craft interesting items and equipment. There SHOULD be different things to find (challenges & resources) in different places.

Desert area concept art by @Gaziter

Desert area concept art by @Gaziter

Another thing on secrets and puzzles: They currently suck. On the Forager demo I mean. They are spread too far apart or they are just too confusing/obscure. I am streamlining the puzzle-solving to make it more consistent and more fun in the new version. This doesn't mean that puzzles will be "easier", but only that they will be more accessible and well... make more sense.

Spooky graveyard concept art by @Gaziter

Spooky graveyard concept art by @Gaziter


COMBAT MECHANICS

 

Not a lot to talk about this yet, unfortunately. It's going to be there, combat is going to be there. We have some general ideas of how things are going to work, but we will touch base on details on a future devlog update.

Here are some concepts/ideas we have:

  • Enemies that roam around the place and drop unique materials and resources.
  • You have a dodge roll. It's gonna make moving around and evading strong attacks a lot of fun!
  • There are elemental attacks, inspired by Breath of the Wild. These elements have properties that interact with other objects in the world. You can freeze water with ice, melt ice with fire, zap water with thunder, etc.
  • Enemies will have unique attack patterns and movements. We will also have boss fights!
  • We are working on equipment and usable bombs & potions.
  • You will be able to recruit NPCs and form a sort of "party" that you lead. This will be useful when attempting to clear the endgame dungeons.
  • Yeah, we are gonna have dungeons!
  • Enemies may raid your base, and you will need to build defenses and walls to protect your friends/resources/structures. There is a bit of a fun tower defense minigame going around here!

NPCS AND CHARACTERS

Ah yes, one of the most requested features so far!

NPCs in Forager will be found when exploring, some will be very approachable, some may be rather hidden. A concept we had very early and that I really liked was to get to establish a little depth in the relationships with them. Meaning each individual player should be able to decide who to make friends/enemies with, who to do quests for, who to kill for no reason at all, etc.

I am working on a "Friendship System" that will allow players to gain a sort of reputation with each character they meet. Of course helping them with quests and giving them gifts is going to score you points with almost all characters (we have a fella that HATES gift giving), but the interesting thing comes from the fact that each NPC will have it's own set of "rewards" or triggered "events":

  • NPC will send the player gifts and teach her crafting blueprints.
  • NPC will join the player's party and assume one of many combat roles depending on the character itself (healer, dps, assassin, tank, etc)
  • NPC will aid the player with fetch quests and other smaller quests.
  • NPC will tell the player about secrets, puzzles or just general rumors on where or when they can find cool stuff.

The goal is to give characters some personality without having to use walls of text.

Druid_female.png
Miner.png

Also, I am reworking the animal AI to make them behave more naturally. On the final version of the game, we will have more animals than in the demo (cows, pigs, chickens, etc). Maybe some rare/weird ones as well!

I will write more on those systems once they are fully implemented ingame, you can also expect an accompanying devlog video with it!

 


REDESIGNED MENU SYSTEM

 

Inventory management is a tricky thing to design. It's inherently unfun by nature. You are placing arbitrary limits on player abilities or experiences, so there MUST be a good justification to WHY things are they way they are.

The jam version of Forager had a really crappy inventory system. You had a set number of slots that could hold any number of each type of item, and to get more slots you had to craft and drink Strength Potions or open enough treasure chests to find upgrades.

The demo version of Forager on itch.io did it a little bit better, by removing most of the limitations on slots and how/when you get them. The inventory would just expand if you needed more slots, for free, instantly! This would work until you had so many different items that the width of the inventory was larger than the screen size (about 21 different items I think).

Originally there weren't many different resources to collect in the game. This has changed somewhat with the demo version and even more again for the final version, so things needed to get easier on the inventory management side of things for sure.

I am being inspired a lot by Breath of the Wild...

I am being inspired a lot by Breath of the Wild...

Most items don't need to be "selected" in the way the old inventory system allowed you to do. Why do you want to hold a piece of wood/rock? Sure you can try to hit people with it but... WHY THO. YOU HAVE A PICKAXE/SWORD!

Since most items only have one or two uses (consume, place, equip, discard), a proper grid type of system just made more sense to me. Not only I can display more items on the screen at once, I can now also allow players to just do whatever they want with the items quickly. 10000 times better UX wise for sure.

Besides the "Items" tab, we also have "Gear" (where you can see equipment, collectibes, and secrets found a la Zelda), "Quests" & "Options" (this time with actually working options...)

 


GENERAL IMPROVEMENTS

 

This will just be a list. Just general improvements and bugfixes. And probably some features that should have been in the demo already:

  • More resources, buildings, characters, etc. More of EVERYTHING you liked. More content!
  • 4k resolution support and constant 60-fps. I should have fixed this ages ago.
  • Controller support (for both xinput and directInput)
  • Better UI/UX (choose how many of a certian item to craft, cancel crafting without having to destroy a structure, more readable menus, etc)
  • Faster resource gathering, which will make the game less grindy and focus it more on the exploring experience.
  • Support for more languages. And also the infraestructure for community based translations.
Placing & removing structures is now a thousand times more efficient and fun

Placing & removing structures is now a thousand times more efficient and fun


That's pretty much everything I can talk about for now!

I am very excited to tell you everything about the details of these updates, so we will continue with the open and transparent development from now on!

Some useful links:

 

Thanks for reading!

Saving, Loading, Difficulty and Performance Optimizations in Forager

Hello all!

The past couple of weeks of work on Forager have fortunately been insanely productive!

Besides some additional secret content, and the usual bugfixing, the following big features have been added to the game and are now fully functional:

  • Saving and loading games
  • Major performance optimizations
  • Difficulty settings

SAVING AND LOADING GAMES

When designing the save/load states of the game, the following considerations were taken into account:

  1. Input from the player shouldn't be required. Players shouldn't go into menus and click a bunch of options to save their game. The game should auto-save itself in a smart way.
  2. Savefiles should be encrypted to avoid exploits. This is a fully singleplayer experience, but since it's riddled with secrets (and possibly achievements in the future), savefiles should have at least SOME form of encryption, and of course, become corrupted if data is modified by the user.
  3. Saving shouldn't pause, freeze, or stop the game in any way. It should be instant and quick.

 

I tried several systems to get this one to work. I tried several encryption methods too. Ultimately, there was a direct correlation in encryption and processing times when saving. A stronger encryption meant a slower saving time.

This has a few issues, but the most important to notice is that after the player has been playing for an hour or more (and the map is filled with structures, terrain, particles, objects, and entities), saving would freeze the game for up to 3 seconds. Which of course, was unacceptable and pretty bad UX design.

I ended up having to make a choice between strong encryption and slow save/load times, or mild/moderate encryption and instant save/load times. I chose the latter.

The final version of the saving/loading system automatically saves the game every 5 seconds. And it's quick and seamless! But it also takes into consideration a few other things (is the player about to die in 5-10 seconds from hunger? Then don't save, it's frustrating to load a game and instantly die). Players can drop out of and into games really quickly and seamlessly.


PERFORMANCE OPTIMIZATIONS

The whole game is now being compiled with YYC (YoYo Compiler). The way this compiler works is best explained by reddit user danredux in the /r/Gamemaker subreddit:

 

The standard compiler converts code like “NAME=’HELLO’” to machine-code, which is basically a list of instructions like “SET VAR NAME TO ‘HELLO’”. When you play the game, it starts up a program called a “runner”, that loads in the list of instructions and starts executing them. That is to say, it would see “SET VAR NAME TO ‘HELLO’”, and it would find the NAME variable in memory, check that it exists, possibly convert it to a string type, then set it to ‘HELLO’.
The YoYoCompiler takes it one step further. It compiles those instructions into machine instructions, which do not need to be read by a program, but are instead read directly by the computer chip. So, “health=10” would be convert to the bytecode “SET VAR health TO 10”, which would then be converted to the simple machine code “MOV 0x1000, 10”. The computer can understand this directly.

Essentially, compiling in this new way greatly improved performance on Forager. I have of course noticed many of you having FPS drop issues after playing for a couple of hours, and I am glad to let you know this is now solved!

Silky smooth 60 fps! (Well kinda, the actual gif is 30 fps)

Silky smooth 60 fps! (Well kinda, the actual gif is 30 fps)


DIFFICULTY SETTINGS

Inspired by games such as No Man's Sky, Forager will now feature 3 distinct difficulty options (or game modes) to choose from at the start of each game.

No Man's Sky difficulty system.

No Man's Sky difficulty system.

I will get to tell you more about the modes next month, but for now, here is the gist of it:

  • PEACEFUL: A relaxing experience. Geared towards chilling and building a big base while not being bothered by enemies. Some enemies and dungeons WILL spawn, but the player will ALWAYS have the choice to engage in combat first. This means enemies can't raid you or attack you unprovoked in this game mode.
  • SURVIVAL: This will be the "normal" game mode. Very similar to Peaceful mode, except enemies will occasionally spawn and raid your base. Also, the terrain generator can choose more "aggressive" lands to spawn (such as lands containing mini-bosses and combat oriented challenges).
  • HARDCORE: A real challenge! Enemies will raid you on a set timer, resource generation may slow down (not sure about this aspect yet). And dying means it's game over for good! That's it, permadeath in the very sense of the word. Upon dying, the savefile will be deleted for good. This game mode is geared towards experienced players seeking for a challenge in their replayability.

That's all for now! I suspect this build will be available to test at the end of August.

IF YOU WANNA TEST THIS BUILD OUT, YOU HAVE TO BE SUBSCRIBED TO OUR MAILING LIST!

Reworking the Skill System in Forager

Hello all!

As some of you may have already noticed, the whole skill system is currently being reworked for future versions of Forager.

The Alpha Demo on Itch.io will still contain the old skill system, while people subscribed to my mailing list will get to help me test the upcoming versions with the new system included!


 

THE OLD SYSTEM

When enough experience is reached, players level up and get a choice of two random skills from an available skill pool.

When enough experience is reached, players level up and get a choice of two random skills from an available skill pool.

The old skill system had a few things I personally liked, but after a bunch of testing players brought to my attention a series of flaws and issues that I had overseen.

 

PROS: 

  • Random elements incentivize replayability. It's also very fun to wonder what are you gonna get next.

 

  • Easy to implement and expand. I was reusing code from another game (Impossible Dungeons!) and the system was both proven to work fine and proven to be fun.

 

 

CONS:

  • Random skills can be useless or unexciting. You may be level 10, with an expanding empire in need of trade and coinage and suddenly get the choice between "better berry picking" or "faster building times", none of which is of use to you anymore.

 

  • The system doesn't leave much space to playstyle choice. When I first started Forager, there wasn't a whole lot of different ways to play the game; you would just hit stuff and use the resources to build things. Now the game has gotten bigger and more polished, and there are several ways to approach gameplay. Players may want to focus on building a nice village, so they want to pick building and decoration related upgrades. Or maybe they prefer to raid dungeons and fight bad guys, in which case structural decorations are less useful to them than say, weaponry or combat upgrades.

 

  • There is no clear sense of character progression. Players not always feel like they are getting stronger or better at the game when skills don't scale off previous ones.

 

 

After a lot of discussing with the testers, I have come to the conclusion that a traditional skill tree-type of system would solve all of these issues while still providing a sense of replayability.


THE NEW SYSTEM

Players will now start with a choice of four possible paths (Building, Magic, Combat and Foraging). Upon learning a skill, the adjacent ones become available for learning in the future.

Players will now start with a choice of four possible paths (Building, Magic, Combat and Foraging). Upon learning a skill, the adjacent ones become available for learning in the future.

The new skill grid system allows for much more flexibility in regards of choosing a playstyle. You may start with Combat, which unlocks Hunting and Strength. Then, after choosing Hunting, you would also unlock a skill for the Foraging branch! (Since every learned skill unlocks the adjacent ones, regardless of specialization).

Some juicier animations :)

Some juicier animations :)

This new system really promotes hybrid playing styles, and it remains replayable because you are most likely not able to learn the whole skill grid in a single playthrough.

 

This is what the 64 skill grid looks like!

This is what the 64 skill grid looks like!

That's all for now! I am really looking forward to you guys testing this new system out!

The next test build should be ready for the next weekend (of Friday 23th of June of 2017).

 

IF YOU WANNA TEST THIS BUILD OUT, YOU HAVE TO BE SUBSCRIBED TO OUR MAILING LIST!