Author Archives: jmcmorris

Weekly Recap #1

I (Jasson) am going to kick off these weekly recaps with a big one – we have a lot of catching up to do!

Back in March, I brought a new developer on board to help with Crea, Max. He is a freelance programmer and self-described “monster hunter” who supported our Kickstarter and ran a successful Kickstarter of his own. Two weeks ago, Max flew out from the East Coast to stay at our place for a while to make some serious damage to Crea’s task list. This is what Max looks like:

max_lg

As I mentioned in my last post, we are working on refining existing content and systems. Since Max got here we started doing a lot of designing and planning out how everything in Crea fits together. This includes things like items, game progression and bosses. Lots of fun stuff. This last week we heavily focused on equipment (weapons and armor).

There is so much to talk about regarding the equipment that I’ll save it for its own post. What I will say for now is that we completely scrapped all of the existing equipment in favor of a much more interesting system. Before our equipment was in tiers awfully similar to Minecraft and Terraria – i.e. “Copper Sword” -> “Iron Sword” -> “Gold Sword”. There is beauty in the simplicity but after talking we realized we wanted something else; something new. Now equipment will be upgraded and provide more unique attributes that will actually have an impact on gameplay rather than only increasing stats. Ok I’ve already said way more than I was wanting to…

Some sketches for the weapon progression

Some sketches for the weapon progression

The majority of our week was spent designing the new equipment and implementing it into the game. Kelley worked on the equipment art assets, Aaron helped implement the equipment content files and I finished off the equipment by working on the unique attributes.

winged_bow

The Winged Bow shoots 3 arrows at once!

Beyond equipment I did a plethora of small to medium changes:

  • Finished up a completely new physics system
  • Added in movement sloping (so players can run up one high blocks)
  • Trees and blocks emit particles when hit
  • Added tile placement preview
  • Fixed a handful of bugs
mine_particles

Look at those particles bounce!

Max spent the first half of the week finishing up some world generation enhancement with a focus on making the underground more interesting. The second part of the week was spent working on reworking the monster spawning system some because there was some fundamental problems with the frequency at which monster spawners were created. We are still going to have spawners but we are trying to get the rate at which monsters are around to fight to be just right. In the current beta version monsters are rather scarce and it breaks the pacing of the game completely.

IMG_1012

Some of Max’s monster idea doodles

This next week we have lots planned. Here is a quick highlight:

  • Crafting system needs to be updated to enable the new equipment upgrade system
  • Monster spawning is going to be wrapped up
  • Design and implement some equipment accessories
  • Water – Simulation is done but needs to affect gameplay
  • Waycrystals – Quick travel system

Alright, that’ll do it for this week’s update. Let me know what you think and if there are any parts you’d like us to go into detail more/less.

IMG_1007

Max and Jasson hard at work

IMG_1009

Aaron making a cheesecake, which directly goes towards fueling Crea’s development.

Early Beta Released

We finally got Crea into the hands of all early beta testers. This means that Crea now has roughly 80 testers, which is awesome! We have made some great progress on Crea’s stability, but of course always have room for improvement. Over the next few weeks we’ll be fixing bugs as they come up; however, our main focus will be on polishing existing systems and content. We have a great deal of work ahead of us between implementing the feedback from our testers and replacing the placeholder content for rough systems. Here are some of the changes we have planned.

  • Worlds are going to get a bit more interesting with some new smaller biomes being added and the underground getting a complete makeover.
  • Characters will be colored with HSV instead of RGB. This makes it much more possible to get the hair color you want.
  • Researching will use all materials given to research multiple recipes and partially discovered recipes will be prioritized.
  • Crafting in bulk
  • Spawn rate of monster spawners and monsters will be greatly enhanced.
  • Items are going to be completely overhauled with an entirely new design for materials and equipment.
  • Much much more!

Moving forward we are going to be changing our development process to be more agile. We will be iterating on Crea with weekly updates that will be reasonably focused on a few areas of the game. At the beginning of each week we define all of the changes we aspire to make which will be viewable under the “Current” tab in our project plan. Through this, we hope to tighten the feedback loop and increase project productivity.

Along with this I want to start posting weekly blog updates recapping what we managed to accomplish during the previous week and what we have planned for the next. Now that we finally have more to talk about and are getting closer to release we believe it is time to try to re-engage with the community. Like any good conversation, this needs to be a two way street – so feel free to comment and post in our forums!

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”.

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:

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 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

waycrystal

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.

waycrystal

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.

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!

Blurry cell phone pic by Kelley

Blurry cell phone pic by Kelley

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.”

Gameboard at the end. Each node represents a challenge.

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.

hackathon_prizes

Prizes: SimCity, Crysis 3, Dead Space 3, and $1000. Everyone got a cool hackathon shirt.

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.

Crea Humble Store Widget

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.

Shared access to Treasure Chest

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!