Exclusive Developer Blog: Harvesting!
Howdy everyone, Thomas Blixtev Blair here, and I’m going to chat with y’all today about one of the key gameplay systems that the Crowfall team has been developing for the last few weeks, Resource Harvesting! Since the team has been mainly focused on building combat and foundational architecture for the last year, it has been great to jump into one of what I would call the MMORPG “Bread and Butter” game systems. Harvesting is such a key component to a player run economy and all players will spend at least some time involved in it in some fashion, we wanted to tackle it next, as it is such a fundamental part of our core game loop.
I tend to look fondly back at my days playing and developing for Star Wars Galaxies, and reminisce about some of the emergent gameplay that arose from that sandbox title. One of the best examples was the idea of “harvesting” as a primary playstyle, despite the fact that there was no explicit skill progression system (what we called a ‘skill onion layer’) for it. (FWIW: there was a dedicated skill tree at one point, but it was deprecated in Beta). There happened to be just enough gameplay and the players filled in the missing gaps, and what emerged was a playstyle that was vital to the crafting economy and key to many players’ enjoyment. That playstyle can generally be defined as: the discovery, mass acquisition, and sales of bulk resources to the crafting community.
One of the things that has excited me about Crowfall is that we are designing the economy to be player-driven from the start. We aren’t trying to ‘bolt’ a crafting system onto an existing MMO advancement curve that assumes experience points and leveling and a traditional escalating power curve for equipment driven by player level. We have an opportunity to take lessons learned from SWG (and other MMOs) to design this system from scratch.
When designing Crowfall’s harvesting system I also looked at EVE Online’s fleet-mining operations for inspiration. Most notably: how harvesting asteroids can become a large group activity that involves multiple players with specialized skills and modules (mining foreman), players breaking the rocks (Hulk pilots), players hauling the resources (Hauler pilots), and players guarding the mining fleet from NPC rats (pirates!) or other hostile players. Just the chatter, buzz, and comradery generated from harvesting as a group generates some great gameplay, and inspires some really interesting ideas for how to build on a similar foundation.
Of course, applying these ideas to a Fantasy MMORPG isn’t a one-to-one mapping (no asteroids or mechanical harvesters in our context!) but we did use some of the existing genre tropes such as harvestable resource nodes. That being said, I think players will be pleasantly surprised to find that we set our goals quite a bit higher than traditional “whack a node” model of harvesting that has become the standard for Fantasy MMORPGs in the last decade.
My hope is to elevate the exploration, harvesting and transport portion of our economic game loop beyond what you’ve come to expect. We want this to be an experience that players find so enjoyable that some players will focus on it exclusively, and others will elect to invest skill training into it – even if their play style is typically combat-centric. (I know, I know… that’s a lofty goal – but you can’t break new ground unless you try!)
Let’s Dive in!
The most important aspect of resources in Crowfall is that every resource type is valuable in the crafting system! We are not making a standard resource progression where copper is replaced by a higher tier material, thus turning copper into a low-end trash resource only useful for new players. That isn’t to say there are more or less difficult resources to harvest, just that we want to ensure all resources have a use beyond “use this to make 12,324 of this widget to level up, and never use it again!” Since Crowfall uses a passive skill training model, this type of planned obsolescence would seem out of place anyways.
About a year ago, I unveiled some details about our alloy system, through which crafters can combine multiple resources types in meaningful ways to produce crafting components (or items) with interesting and varied statistics. (For example, copper and gold can be smelted to produce rose-gold metal, granting a bonus to the lifesteal stat, or copper and silver can be combined into sterling, which grants a bonus to harvest critical chance). If you missed it, you can see read that post in our archives
In defining our ‘core set’ of resources, we elected to have four primary categories that define most (but not all) of the materials used within the crafting system. These are the categories that made the most sense from a narrative standpoint, and lent themselves to best use of the environment. The categories are: Ore, Stone, Wood, and Animal. While there will be other types of resource in the future (such as gems for jewelry, or harvestable organs for necromancy) most of these will either be one-off additives, or derived from one of those four base categories. (Anything not contained within a base category will have a much smaller skill tree, as a result. For example Gem Harvesting would be a small skill tree off of the ore skill tree.)
Each of the resource types has 5 tiers of resource (Note: The Animal category gathers both Meat and Hide.)
Each of the resource types had 6 quality tiers, which ties directly to our item quality (and rarity) system: Poor, Common, Uncommon, Rare, Epic, and Legendary. The various quality levels produce different results when used in the crafting system (which is a topic for another day!) and remember that this rarity is implied, as a function of how easy it is to collect the necessary resources. None of these items are found on ‘boss monsters’ – which we don’t have. The only way to get these items is through the acquisition of raw materials (via harvesting) and the creation of the items by players (via crafting).
The first part of that, the harvesting of resources, is pretty straightforward: it relies on finding and using resource nodes.