Crea is an easily moddable, 2D sandbox game with a lighthearted mood, colorful art and RPG elements. Drawing on the pioneers of the sandbox genre such as Minecraft and Terraria, Crea features combat and crafting in attractive, randomly-generated worlds for you to explore, tear apart and build back up in your own design.

Report article RSS Feed Crafting and Researching

A brief overview on how crafting and researching works in Crea. As well as a small preview of what modding item recipes will be like.

Posted by jmcmorris on May 17th, 2013

Overview

There was never any question that Crea would have a crafting system and from day one I knew what I wanted out of it. The goal was to make discovery a key component and not have players be dependent on a wiki. Since then it has been a matter of how will it work. For a long time I thought I knew exactly how it would; however, after implementing it and facing several design issues I decided to step back and redesign.

Before being able to craft an item you must first learn what materials are needed. This can be done two ways. The simpler but less common way is to acquire a recipe/schematic that reveals all materials needed to craft the item. These recipes will be rare and only found as dungeon or boss loot. The usual route to learning an item’s recipe is through researching.

As we have always planned, researching is done through the Researcher NPC. When you talk to the Researcher you are presented with the simple research dialog.


There is one item slot where you can drop a material in and click “Research”. By doing so you research the capabilities of that material. This is not free though and does consume one of the material. The result is that a single recipe is revealed. However, if the recipe has multiple materials then all must be researched before the entire recipe is available.


The “Materials” button opens a window that shows the progress of each material so you know when you’ve fully researched a material.


Once a item recipe is available you can easily craft it by opening your craft window, selecting the item and clicking “Craft”.

crea_crafting

Modding

Both the crafting and researching systems are fully implemented in Python and consequently are completely moddable. Since these systems are hundreds of lines long I’ll forgo including them in this post, but they can easily be found and edited with the game. However, the majority of modding regarding these system will be done with creating item recipes.

An item recipe is always defined with the item and can be as simple as the following:

python code:
craft = Craft(category='Armor', subcategory='Chest', level=4, experience=30, service='Anvil')
craft.material('mods/base/item/recipes/smelting/copper_ingot.ce', 6)
add(craft)

 

Recipes can be much more involved with several additional attributes.

python code:
craft = Craft(category='Basics', subcategory='Essentials', level=1, experience=15)
# Any number of materials can be listed.
# craft.material('path/to/content.ce, quantity)
craft.material('mods/base/item/materials/wood.ce', 1)
# Recipes can have multiple results based on the quality of the craft.
# result(quantity, quality) - This is a short hand.
# Here the player will receive 4 of this item always since quality is always 0+.
craft.result(4, 0)
# and here the player receives one additional quantity if quality is 50+.
craft.result(5, 50)
# Results can also be created long hand.
# By doing this it is possible to expand on the yielded items and their quantity.
# This result occurs at quality of 100+ and will yield 5 lumber and even another item!
result = CraftResult()
result.quality = 100
result.items.append(InventoryItem("mods/base/item/basics/essential/lumber.ce", 5))
result.items.append(InventoryItem("mods/base/item/basics/essential/super_lumber.ce", 1))
craft.results.append(result)
# Sets if a recipe can be learned through research. Defaults to True.
craft.isResearchable = False
add(craft)

 

Post comment Comments
PlaysGames11
PlaysGames11 May 17 2013, 7:03pm says:

Look good, tracking

+2 votes     reply to comment
Ausländer
Ausländer May 17 2013, 7:44pm says:

PYTHON hell yeah, representing the minority. Good luck on this game man, I'll definitely be tracking.

+2 votes     reply to comment
jmcmorris
jmcmorris May 17 2013, 9:00pm replied:

Haha, people always question my use of Python. Always glad to have people on my side. :)

+2 votes     reply to comment
Ausländer
Ausländer May 18 2013, 12:34pm replied:

'Tis the master langauge.

+2 votes     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Icon
Crea
Platforms
Windows, Mac, Linux
Developer
Siege Games
Engine
Custom Built
Contact
Send Message
Official Page
Playcrea.com
Release Date
TBD
Game Watch
Track this game
News
Browse
News
Report Abuse
Report article
Related Games
Crea
Crea Indie Single & Multiplayer Adventure
Related Engines
Custom Built
Custom Built Commercial Released Sep 1, 2007
Related Groups
Siege Games
Siege Games Developer