Tag Archives: game development

Weekly Recap #3

Another week has already gone by! This last week was quite eventful. On Thursday I discovered that, amazingly, a TIGJam event (indie game jam) was taking place in a nearby city. It was Max’s last day of his stay at our place, so together we spent Friday at TIGJam. We got a lot of work done on Crea and also met some really cool people. We played Munchkin with Rich Vreeland (aka Disasterpeace the composer of Fez). I even briefly met Edmund McMillen (Super Meat Boy and Binding of Issac), Derek Yu (Spelunky and Aquaria) and several more people. I’m absolutely looking forward to the next TIGJam. In the meantime, more Crea!

We have just about wrapped up the item tooltips. They have received a major style overhaul and several other enhancements. Researchable items now have a nice little icon on them, equipment now has colored names based on its quality, and the positioning of tooltips is improved. We’ll continue to work on tooltips next week.

way-shard-tooltip broadsword-tooltip

Max spent a large chunk of his time cleaning up the world generation. We managed a massive win with handling the underground generation. Previously, we would define a rectangle that would be considered the underground section of the world, but since the surface of the world is not flat there was always at least some space between the visible surface of the world and what the game considered underground. This lead to a large “fun-free zone,” as Max called it, large swaths of earth with nothing interesting going on. We came up with a solution where now we know exactly where the underground starts across the entire world. The difference is quite visible.

Old Underground vs New Underground

Old Underground vs New Underground

Water has finally been added to the world. This required a surprising amount of work. First I had to add in the concept of breathing and checking to see if the player was underwater. Along with that was the need of some type of visual indication of how much breath you have left. I decided to add it to the HUD.

Breath Meter

After that I had to add the water to world generation which was not too bad thanks to the changes Max has been making to it. Immediately after doing this though I discovered that having 30,000+ water cells in the world was a little too much for the cellular automation system. I then went to work on optimizing it even more and am pleased that now the game can handle an immense amount of water at a time.

A snapshot of a world with water in it.

A segment of a world with water in it.

Lastly, I have been working on finishing up the Way Crystals. Now Way Shards will slowly grow nearby the crystals and players can harvest them. Players are able to attune themselves to a single crystal and immediately transport there at anytime by using a shard. Additionally, shards can be used to quickly travel to other crystals when nearby a crystal. way_crystal Progress has been good and we are looking to keep it up this week. Here is what we have planned at the moment:

  • Implementing more sound effects
  • Implementing some music
  • Fall damage
  • Adding window icons on HUD (Talent, Craft, Research)
  • Help Tooltips
  • Bug fixing and general cleanup

We are getting amazingly close to a public beta release. I’m both excited and nervous. It is very likely beta will be happening in the next two weeks.

Equipment Upgrade

Up to this point, we have been very focused on implementing new features and adding in as much new content as possible – quantity over quality. A few weeks ago we started taking a harder look at our existing content and systems. It was then that we made the decision to switch our focus on polishing existing content rather than adding new content.

During one of our design discussions, we began to explore the idea of scrapping the linear equipment progression (iron sword -> copper sword -> silver sword, etc.) in favor of a more original equipment upgrade system. After a few more discussions we had refined the system design and come up with new equipment that is multitudes better than we had before.

The best way to explain is by example. Our swords start with the Wood Club and then progress to a Bronze Cleaver and then a Broadsword. This keeps things simple at the start but once you have the broadsword things start to get interesting.

weapon_concepts

The next best sword is obtained by upgrading the Broadsword by using it in a recipe to craft a Broadsword+. Going from there, the Broadsword+ can be upgraded to one of four different swords: Rapier, Greatsword, Sylic Blade and Artisan Broadsword. Each of these has a different focuses.

  • Rapier provides attack speed bonus
  • Greatsword provides knockback
  • Sylic Blade does magical damage
  • Artisan Broadsword focuses on raw damage
Upgrading Broadsword+ to a Greatsword

Upgrading Broadsword+ to a Greatsword

Each of these will upgrade to the corresponding “+” version and then can be upgraded to the next tier which have their own unique focuses. For example the Greatsword+ can be upgraded to either the Zweihander which can stun an enemy or the Executioner which does more damage the lower HP the enemy has.

Sketches of the sword progression by Max

Sketches of the sword progression by Max

Attributes carryover when upgrading equipment which makes your choices have a meaningful longterm impact. Such as a Broadsword you found with high Magic Attack bonus could make a good Sylic Blade. We have even talked about allowing the player to choose to reset their weapon to a Broadsword but choose to keep some of the attributes making it possible to create truly unique pieces of equipment – like a very fast Rapier type weapon with knockback.

Using a Greatsword to kill an oil slime

Using a Greatsword to kill an oil slime

Of course, swords are not the only thing that can be upgraded. In addition we currently have bows, helms, chests, and legs armor with upgrade tiers. We will likely add a few more weapon types with upgrade tiers as well. There are other items the player can obtain that do not have upgrade tiers or have smaller upgrade tiers. Gloves will grant bonuses for doing things such as gaining bonus TP (Talent Points). Boots provide movement type bonuses such as movement speed or jump height.

Quick concept art of early tiers of chest armor

Quick concept art of early tiers of chest armor

This is not everything that we have planned for equipment though. We have two other systems for making your equipment even stronger that we plan to implement once we get our first boss in. I know I’m really looking forward to seeing the final equipment – I hope you are too!

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)

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.

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!

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.