We are back and on a new host! Hopefully those that would have connection problems will no longer and that we will be free of the evil malware that plagued us before. Expect some real news very soon!
Feature – Crafting and Research
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”.
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:
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.
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)
Crea on Linux
Crea Release Date Email List
Lately a lot of people have been asking about when they can buy a copy of Crea. We’ve created an email list, so that you can be notified as soon as we’ve made Crea available for purchase! Just click here to sign up. We will not email you for any reason other than to let you know when Crea is available.
The link to this mailing list is also on the right sidebar of this blog, under “release date.”
If you’re a Kickstarter backer, it’s not necessary to sign up for this list, as we notify our backers about all major updates.
Thanks for your interest in Crea! We can’t wait to share it with you.
Realms
Because Crea’s biomes are randomly generated, they are always totally new worlds for players to explore. However, after playing in one world for awhile it starts to become too familiar. While it it’s wonderful to start from scratch and create a totally new world every once in awhile, sometimes players just want another dungeon to delve into. To remedy this, Crea will have what we are calling realms.
A realm is an entirely new area to explore separate from the main world but still accessible by special means. New realms can become available through exploration, unlocked by completing a quest, killing a boss, or any other means imaginable. Traveling between the world and realms is done through the use of Way Crystals; large crystals that mysteriously allow teleportation.
In Crea, certain rules apply to worlds, such that as players can build anywhere or that the world size is always very large. Realms, however, don’t have to stick to these rules. One realm could be as small as a single room. Maybe another realm doesn’t allow construction. By breaking the rules, realms enable the creation of areas and scenarios that were impossible before.
My favorite aspect to realms is that since they are loosely connected to the world they can be added and updated alongside existing worlds. For example, you could install a mod and through a quest gain access to an entirely new dungeon. Later you could get an update for this mod that builds additional content onto the dungeon. So realms can be continually evolving without interfering with the main world.
We plan to fully take full advantage of realms. Dungeons are a perfect fit. Some dungeons will be at a set level, while others grow in levels with your character so they will always provide a challenge. Most dungeons will be procedurally generated but some could be hand-crafted. All of the dungeons will be updated alongside existing worlds.
Dungeons are not the only use case though. We are considering some boss fights to be in special realms or perhaps at the end of a dungeon. We are also thinking other special areas could find themselves in realms. Casino?
Realms are currently planned for Beta Phase 3.
New logos!
You may have noticed something different about our blog – we finally got some professional logos made for Crea and Siege Games. I (Kelley) had designed some makeshift logos for our Kickstarter campaign, but I am no graphic designer. We needed professional help. Jasson is going to GDC next week, and needs some business cards, so we decided that this would be a good time for some rebranding.
This logo was designed by Herman Dawson. In high school Herman and Jasson used to make RPG Maker games together. Today Herman is a professional graphic designer. We really had no idea what we wanted for Siege Games, so Herman came up with this design that is strong and modern and reminds me of a shield or crest.
This logo was sort of a group effort by Herman, David and myself. We wanted a design that expressed the boundless opportunities for exploration in Crea. The globe illustration was drawn by me.
For comparison, this was our old logo:
Yeah……like I said, I’m not a graphic designer. This logo doesn’t say much, and certainly doesn’t give off a sense of excitement or adventure. It served its purpose during the Kickstarter, though.
What do you guys think of the new logos? Also, is anyone going to GDC?
A Maddening Hack
My hands flew across the keyboard like a hummingbird flapping its wings; there was a peculiar beauty behind the maddening speed. I continued to churn out line after line of code. There was no tomorrow. Occasionally, I would nervously glance over at our rivals. No one thought it would come down to the wire, but yet here we were head-to-head within reaching distance of the finish line. Every single second mattered.
A week before I suggested to a friend who was looking for jobs that he could apply to EA Games. While browsing the EA games website, I saw a link to some event I had not heard of before called “Hackathon Escape from /dev/null“. I found out that it’s a programming competition where each team (up to 3 people) would need to solve a series of programming challenges. I knew I needed to go. Putting together a dream team was easy since I am friends with some amazing programmers. With a little persuasion, I brought on board my friends and coworkers of MokaFive, Mark and Robbie.
The morning of the competition, we arrived at the impressive EA campus and learned about what was expected of us. We would be programming nonstop for the entire day and would use Python along with Crea’s engine. We were facing against 18~ other teams, and being in Silicon Valley, we knew the competition would be fierce. Mark, Rob and I believed that we almost certainly would not win. All we really wanted out of the competition was to hang out and have some fun. Oh, and I was on a mission to win a copy of the new SimCity for Kelley (wife).
We assembled in a large room, set up our laptops and cracked our knuckles. As soon as the flag went up, the team sitting at the table to our side sped ahead of everyone else. They were on the fifth challenge before half of the teams were done with the second. They quickly began to stack up small prizes and had a half dozen mini photo ops. How were they moving so fast? I had no time to seek the answer. I had hacking to do!
Mark, Rob and I began to fall behind the other teams. We were not fully prepared and at first resisted hacking things together, meaning sacrificing all structural integrity for immediate functionality. We said things like “Oh man, this is such a hack,” or “Don’t look at this!” These comments subsided once we realized we would have to fully embrace them. We had to become one with the hack if we were to stand a chance to win. This is when we learned the true meaning of a “hackathon”.
Time flew by and the day was a giant stream of colored text. Lunch was announced and by the time I managed to peel myself away from the computer, two hours later, what little was left of lunch was being put away. I fortunately managed to scrounge some food from the backroom and scurried back to the comfort of my laptop warm glow.
Mark and Robbie put together a great little Python engine run by the command line to perform most required actions while I worked on displaying the graphical data with Crea’s engine. We began to gain momentum. At one point we answered 4 out of the 16 challenges within 10 minutes. We entered the home stretch, but the leading team was already on the final challenge. We were closing in on them and you could feel the tension in the air.
Robbie worked his magic and within 15 minutes we had an answer to the second-to-last challenge. We looked around for a judge, but they were all crowded around the leading team. They must have had an answer for the final challenge. I was a little disappointed; we were so close! I thought, “oh well, even though it was stressful at the beginning, this event ended up being a lot of fun. I’m glad I came.”
But wait! The leading team didn’t fully solve the challenge. It was still on! We grabbed a judge and were moved onto the final challenge. Robbie and Mark began to work out the problem on paper while I continued to hack away. For a brief moment I felt myself enter a state of zen – like Neo at the end of the Matrix. Time and space warped around me as I frantically worked on a solution. Almost immediately I was calling for a judge. Robbie and Mark said “What? Already?” in amazement. But, much like the other team, we soon discovered that we hadn’t fully answered the challenge.
Approach after approach was made as we feverishly worked towards the real solution. A few minutes later, the winning team was displayed on the projector. We had won! Astonishment and disbelief swept over us. We were congratulated, presented our prizes and even interviewed. Although we had been programming for 12 hours straight, it all happened so quickly! I can still hardly believe it.
Best of all, my mission was successful! Kelley is playing SimCity at this very moment!
I want to thank Peter Svensson for organizing this great event and EA for hosting! I can hardly wait for the next one!
Upcoming Beta in Humble Store
Beta (phase 1) is finally in sight. We hope to have it released in about a week. As we mentioned in our earlier roadmap post, Phase 1 will include Windows/Mac/Linux support, multiplayer, leveling, skills, combat, crafting, randomly generated worlds with several biomes, character customization and our beautiful day/night cycle. Note that this phase of the beta is private. Crea will become publicly available starting with phase 2.
So far we have had only a handful of people regularly testing the alpha. Meanwhile, there are about 70 early beta testers eagerly waiting. Going from 5 to 70 testers could be a bit overwhelming for us, so we are planning to incrementally add beta testers. This will help us keep up with bug reports, so there isn’t a huge deluge of reports all at once. Also by doing it this way, we can fix any big game-breaking bugs without exposing everyone to them. We are planning to invite a group of early beta backers ($50+ Kickstarter Backers), if you are an early beta backer and want to be subjected to the earliest beta stage then send Jasson a message on the forums.
Starting with the beta, Crea will be distributed through the Humble Store! This does not mean we are going to be in a Humble Bundle. What it does mean is that you will be able to download the game through your Humble Store account. Steam keys can be easily claimed through the Humble Store if/when Crea is published on Steam. Also we will be selling Crea through the Humble Store via a widget on our site, siegegames.com. The widget will look something like this.
We know that you guys have been patiently waiting for a chance to play Crea, and we are super excited to be able to finally start sharing it with you. Thanks for your continued support and encouragement!
Update Time!
It has been far too long since I posted an update. I don’t have too much exciting news to share at the moment; however, I figured I could mention what I have been working on at least.
For the last month I have been slowly figuring out how to make multiplayer better. It has been a long road involving switching from TCP to UDP and all the insanity that contains. Things are finally starting to shape up though. I have it mostly stable while testing with myself and will start stress testing it soon.
All other features are in place for the first beta phase and we are working on adding in more content (biomes, monsters, items, and so on). In fact, this is exactly what our new developer is working on now. We will introduce him properly on the blog once we are past the trial period.
Some much more exciting updates are just around the corner. Stay tuned!
Seeking Developer
This position has been filled! Thanks again to all that applied.
After much internal debate, I have decided to look for an additional team member. This is a programmer/designer position for Crea and would preferably be long term (4+ months). Here are some details.
Requirements
- Advanced scripting knowledge
- Game design sense
- Available to work for 20+ hours a week for the next few months (at least)
- (major plus) Familiar with Python and/or C++
Duties
- Implement content using the modding API (Python)
- Design content such as items, monsters, biomes and so on
- Help write modding tutorials and documentation
- If you know C++ then you can help with the game engine as well.
Compensation
- Upfront payment and/or profit sharing (To be negotiated)
Location
- San Francisco area but remote work is fine.
If you are interested or have any questions, then please contact me at [email protected]. Be sure to include details about yourself and any projects you have worked on.
NOTE: The roadmap I posted yesterday was made under the assumption that I do not find another developer.