Author Archives: jmcmorris

Weekly Recap #18

We’re edging closer and closer to the next release and finally beta phase 3! At our current pace it’ll be about two weeks depending on how demanding the bug load is and how much more work multiplayer support is going to be. Multiplayer is so close to working but needs another push.

This entire week was devoted to adding new skills. Kelley and I have made some great progress  and only a few remain. One thing to note is that these new skills are not merely an extension of the existing skills. Much more has been going on!

Cleaned up Talent UI

Cleaned up Talent UI

First of all, we gave all skills an unlock level. Once your talent reaches the skill’s unlock level then that skill becomes available to level up. The primary motivation behind this is to limit the number of options the player has to choose from. I believe it was a little too overwhelming for a player to have to choose between all of the skills up front. Not to mention this was for 4 different talents totaling nearly 40 skills. Now each talent starts with 3-4 skills unlocked at level 1 and more unlock at levels 5, 10 and 15.

There was another major change to the talents. The existing “Magic” talent was split it into two – “Arcane” and “Divine”. Arcane magic focuses on elemental offensive magic and Divine magic focuses on support magic.

Arcane talent has a total of 16 skills at the moment. There are 4 different types of magics and 4 elemental types of each. The spell types are: projectile, enchant melee weapon to do elemental damage, area of effect around the player, and pillar magic. I decided it would be easiest to treat all elemental types equally and that is why each element has a similar magic type.

Casting Freeze

Casting Freeze

Divine talent has 12 skills which consist of healing, positive status effects and a few passives. Just because they are support doesn’t mean there are not game changers! Stoneskin will absorb some damage, making it possible to take harder hits or fall further. Invisible makes you invisible and monsters wont aggro you. Fun stuff!

Casting Invisible

Casting Invisible

The Arms talent has also received many new active skills to keep up with the magics. However, Gather and Craft talents are more or less the same. For now, I’m happy with where they are at.

As you can see, lots of good stuff! This next week I’m wrapping up the remaining skills and moving back onto working on the underground. I’ll also start looking into some bugs that are in 0.6.0 and beginning to prep things for v0.6.1. Most likely, there will also be a v0.6.2 to fix issues in v0.6.1. Then I plan to launch Crea’s greenlight page and the next beta phase.

Rolling over some very low level monsters with Firestorm

Rolling over some very low level monsters with Firestorm

Weekly Recap #17

Wow the weeks are flying by. Already at week 17 on these recaps! Are you guys enjoying these recaps? I appreciate the comments you leave on these posts.

This week I worked on fixing up colored lights, gave lava a light source and started reworking the talent skills. I already showed off the colored lights and lava earlier in the week in this post.

The skill rework is fairly extensive. Much of it has been behind the scenes so far. I am restructuring some things and prepping for many more skills to be added. Not all of the changes are in the infrastructure though.

The Talent UI has been needing some love for quite some time. Here is what I came up with so far.

skill_ui

In addition to looking much better, there are a few other improvements. The character’s current skill level is now displayed in the upper right corner. I may change the placement in the future, but I just wanted to get it in there and move onto more important things.

Another improvement is when hovering over the skill icon, a tooltip for the current level (or level 1) appears. When hovering over the button to level the skill up, a tooltip will appear to explain the next level. Soon tooltips will include the cost and cooldown time for active skills.

This next week I’m going to continue working on the skills. There are many new skills that will be added. These will likely keep me busy for the entire week. If I do manage to finish them up then I’ll move onto working on the underground once more.

Tribulation of Colored Lights

I was hoping that the issue with colored lights would slip under everyone’s radar. Oh how foolish I was! Nearly everyone who played for more than a few minutes would not only notice but feel compelled to point out the oddity of the Way Crystal’s blue light.

crystal_light

There are a few parts of Crea’s engine that I try to avoid due to the inherent complexity of the system – lighting is prominently at the top of this list. I was tempted to leave things be but when I started working on lava I realized lava wouldn’t look right without giving off a warm red glow. Thus began my tribulation with colored lights.

Lighting Background

My first attempt was kind of a mess with the lighting affecting the background

I managed to hack my way around it though.

Lighting Working

Mostly working lighting with many colors

Had some fun playing with the brightness, saturation and contrast of lights

Had some fun playing with the brightness, saturation and contrast of lights

After playing around with the lighting I found two small issues with it and both were due to my hack. One is that when something was transparent it would look weird at night. The other issue was that sometimes the background would show through the ground. It is hard to see since it is a few pixels scattered about.

lighting_alpha

Death particles with weird black edge

Background bleeding through

Background bleeding through

After hours of attempts to resolve these issues I conceded defeat. While beginning to write this blog post I had an epiphany and managed to resolve the core issue and abandon the hack. Yay!

While I had these two issues I reworked the lighting system some to enable light sources coming from anywhere instead of only entities. Now particles can be a light source or even lava!

lava_flow

Weekly Recap #16

Progress! This week has been a productive one. Kelley and I are now settled in to our new home and have been putting our new workspace to use.

IMG_1412

The long wait is finally over – the newest Crea beta build is available to download from the Humble Store! If you don’t already have beta access, you can preorder here. Shortly after the next big patch (2~ weeks from now) the price will drop from $25 to $20 for the bundle, with an additional $10 option for just the game. At that time, we will also finally launch our greenlight page and give access to the rest of our ever-so-patient kickstarter backers. Exciting times are just around the corner!

Two months of development has gone into this newest build. As you’d expect, there are quite a lot of additions and changes! Here is a preview of the v0.6.0 changelog.

  • New Monster Spawning – ‘Conflict System’
  • Monsters are now more aggressive and frequent at night
  • Added new attacks for some monsters
  • Completely rework content files
  • Engine now supports Realms
  • Reworked inventory UI
  • Add dashing with double tap in direction

As usual there are some known bugs but nothing too major. One downside for this release though is that multiplayer is not functional at the moment. I did not want to delay this release any more. Multiplayer will be a high priority for the next release. Seriously!

This week I spent most of my time working on bug fixing. However, I did manage to work on the underground biome. I began working on playing with the distribution of holes, caves, stone, ores, and gems – mostly increasing them. I worked on optimizing water simulation some and even began to work on lava.

Latest World Gen Map

Latest World Gen Map

This next week I’ll be fixing any critical bugs that are found, working on more underground changes and starting to work on revamping talents and skills.

Weekly Recap #15

Kelley and I are almost done moving into our new place! The new Crea update is almost ready too. It is currently in the hands of some testers and I’m fixing bugs as they are found. Not too much to report on this week due to the move and fixing miscellaneous bugs. However, I did make two welcomed additions.

When mousing over an interactable item it glows

When mousing over an interactable item it glows

Vines can now be cut with a swing of a sword

Vines can now be cut with a swing of a sword

I’m anxious to get this next release out and then move onto refining the underground part of world generation to get it much more interesting. I’m going to keep it short this week since I have unpacking to get back to!

Weekly Recap #14

Alright, another week. It has been a good week of progress for Crea. I finally was able to finish up the new monster spawning system, known as the conflict system. Here’s how it works. A world is broken up into many regions. Each region has a hostility level that rises over time. Killing monsters and spawners lowers the hostility and eventually the region will become neutral. If left alone, a neighboring region’s hostility will spread into the neutral region; however, soon it will be possible to purify a region and prevent it from becoming hostile.

When in a hostile area, monsters can spawn from spawners or offscreen. This alone solves many issues with the previous system, such as ensuring that every type of monster will be present in every world. The number of monsters is now based on several factors, such as number of nearby players and the time of day. One change I’ve already laid the foundation for is to allow for more interesting occurrences in hostile regions, such as monster nests, minibosses and even more crazy stuff. However, I first want to get feedback on what I have done so far.

Speaking of which, I have been working on cleaning things up in order to release a new update. There is a great deal of testing and bug fixing to be done over the next few days. Once I get most of the obvious bugs out of the way, I’ll be releasing a build to the Omega testers and after a few days of that I’ll hopefully be releasing the new version onto the Humble Store. I’m somewhat hopeful this will be happening next Monday, depending on how testing and our apartment move go.

Oh, one other quick feature I finally got around to adding is a status during World Generation. Nothing too clever but it gets the job done! world_gen_status

Weekly Recap #13

We made some good progress this week. Most notably, I am nearly finished with planning out the next several months of development. My pages of notes are now laid out in a rough schedule which I’m currently translating to Crea’s project plan.

IMG_1310

As for other progress this week, I managed to fix a huge rendering issue that has plagued me for quite some time. When anything would be slightly transparent it would get a white tint added to it. This was caused by how the lighting was rendered. The main reason for fixing this finally was because I wanted to add in a trail effect when you dash.

Dodging an oil slime attack

Notice the trail effect when he dashes backwards from the monster

Another small feature we got in this week is the ability to do colored text in our chat. This was done by Matt, the new developer, to help get his feet wet.

colored_text

This next week I am finally finishing up combat changes and cleaning various things up. Matt will be looking into getting multiplayer to a more stable place. Kelley is working on the new skill animations. We’ll have a lot to show off next Monday!

The next beta update will be ready soon. It will include a major overhaul on the skills, with many new skills being added. There will also be improvements to the underground biome.

Once that update is released and proven to be stable, I am thinking I will finally release Crea beta phase #3 and start our Greenlight campaign! Beta phase #3 will include the first boss and a few new features, such as a type of magic called “remna.” Then we will finally see the addition of NPCs! Lots of exciting stuff coming up. Just have to get over this development hump.

Weekly Recap #12

The beginning of last week was rough. Being a programmer at heart, balancing is often hard for me to do because there is no obvious right answer. My goal has been to improve combat; however, this is much trickier than I would like.

There are two major constraints that are making this much more challenging than it should be. First is that the terrain is randomly generated and players can change it around. Secondly, adding animations to our characters can be troublesome. Despite these constraints, combat is starting to come around. Some things I have done so far:

  • Refine timing of some monster attacks
  • Oil slime second attack
  • Sand Runner (now called Ortomi) second attack
  • Scrapped shields and dashing
  • Brought back dashing with double direction key press
  • Started working on new monster spawning system dubbed “Conflict”
Oil Slime Attack #2

The Oil Slime’s new ranged attack

Beyond combat, modding API reference documentation has finally began to take shape. Even though it still has a long ways to go it still is looking good. Here is a sample of what it looks like.

api doc

Right now nearly all functions look like this Player.canEquip() with no named arguments and no description text. I would like to eventually have all functions documented (or at least all of the frequently used) like Player.loadInfo() with nice arg names and docstrings. This documentation will also provide how-to mod tutorials. However, this work that can quickly become outdated, so I will cautiously work on it and may seek outside help. If you want to work with me on writing documentation, let me know. Once complete, this will undoubtedly prove to be an invaluable resource to modders.

Lastly, I finally convinced myself to plan the next few months of development which involves several features and much content. For most of Crea’s development I just have been designing as I go, but lately I have found myself getting slowed down by having to context switch too frequently. I am just about done planning things and am quite excited with the results which I will divulge later. Now I just have to implement them!

This next week I am hoping to wrap up these combat changes and the conflict system, which will probably take up the majority of the week. I am anxious to get a new beta build out so I will be working towards getting things cleaned up and ready for a release.

Weekly Recap #11

I have been wanting to get back to posting the recaps on Monday so I’m skipping this week and will post a full recap on Monday. I’m currently waist deep in planning and designing upcoming updates. I’ve had my head in the code for far too long and started to lose sight of what exactly needed to be done and how it should be done. See you on Monday!

Weekly Recap #10

Double digits for weekly recaps! Yay! Some good stuff has been happening this week. A decent chunk of my time went into admin stuff like looking for a new developer, which has gone really well. But more on that later. The rest of my time has gone into designing combat related things.

Proving just how much I really follow my timeline, the first thing I did after some design was implemented the “inventory condensing” that I had earlier planned to be done in about a month. I realized it wouldn’t take that long and have a large positive impact as well as clean up the toolbar. Now your inventory is all on one window which you can now open with ‘i’.

condensed_inventory

This inventory change is a welcome change but not nearly as impactful as the change I made to the toolbar, which was given a major makeover! I scrapped the secondary toolbar. Now each toolbar slot has two items assigned to it – left and right mouse click.

toolbar

The right click item is only shown for the active item. I’m hoping that players will be able to remember what is assigned to the right item by looking at the left item in the toolbar. If that doesn’t work out then I’ll have to rethink the design some. So once the next beta update rolls out definitely let me know what you think!

The rest of my week is being dedicated to continue my efforts on refining combat. More specifically, I’m working on getting timing down for the Oil Slime as well as adding a new attack. My goal is to get the Oil Slime to be a good example to build the rest of the monsters off of. Beyond refining monsters, I plan to tackle monster spawning which I will go into more detail next week.

Other than that, I might be spending some time helping get the new developer caught up to speed. However, I can already see I wont need to do this too much since he appears to be quite brilliant and very self-sufficient. I will give him a proper introduction soon.