Stylistic experiments & change of workflow (eventually)

For the past week I’ve almost not spent any time in Unity, but GG Maker instead. Maybe it was nostalgia, or maybe it was a desire to try something new. Probably nostalgia. Either way, I downloaded and installed it Wednesday last week and have been using it for a few hours almost every day since then. This does not mean that the desert island project is cancelled or put on hold, it’s still alive. It’s just not been my focus for a few days.

However, after using GG Maker for a week, I’ve decided to split my workflow in two; Unity for smaller, more focused prototypes and using GG Maker for creating more adventure games within the same lore-universe as the desert island game. I still plan to finish it before making the final switch,  as cancelling it at this point would just be stupid considering how much time I’ve spent on it. The reason for this change is that GG Maker allows for much faster iteration for RPG’s with more or less all the systems already in place for creating branching dialogue, proper inventory management and lots of flexibility. Instead of rewriting the code I’ve made for the desert island game to work with other games in the future, I’ll use Unity for more experimental projects.

One week in the making

isometricTownIf you follow me on Twitter you may have already heard about this project. I decided to challenge myself with the style of this game by using the NES color palette, and only those colors. It has proven a bit harder than anticipated, but also a lot of fun. The project I’ve been working on has been a isometric adventure game with more focus on the dialogue and level design, encouraging the player to take different choices to reach various goals. It also uses voxels for the various objects throughout the scene, like those trees, except for the characters which are flat 2D sprites. It certainly gives the game a unique look. Below is a test scene inspired by the desert island game.


That’s all for this week, ya’ll know you’ll get a new post next week.


For the past week I mostly spent time on equipment and the underlying systems of getting and using new items and displaying it on the player character. I’ve also made some tweaks to the combat AI, enemies now attempt to taunt you during combat by shouting comments at you. The overworld map is also nearing completion in terms of layout, but enemy placement and optimization still remains.


Testing armor, Leather Armor and Iron Armor.


Armor setup in the Unity Inspector.

Armor have four primary variables, Damage Resistance, Enchant, Enchant Strength and Speed Modifier. Damage Resistance is how much damage is removed from an incoming attack, Enchant is the current enchant on the armor. Possible enchants include reflect damage, speed increase and poison resistance so far. Enchant strength is purely how powerful the enchant is. Speed modifier works like weight, and can both increase and decrease the characters top speed.  When equipping new armor, the Skin is applied to the character, and the models for helmet and shoulderpads are cloned onto the character.


Player character with leather armor on.

Work has been started on a new dungeon with a fire theme. I’ve only placed the rooms and made the color palette, but I intend to have it complete soon.


Fire Dungeon

Sorry for such a short post this week compared to others, but I hope to have a longer one next week. Until then, take care.


Mostly visual tweaks for the past week

For the past week, when not playing Black Desert Online(which is pretty damn awesome), I’ve mostly been doing various visual tweaks and not that much code. I like to change things up and do visual one week and code the next to not get completely exhausted at one thing and risking losing interest. This means that for next week, the main focus is code again. Now, let’s look through some of the changes made this week.

New Equipment Window

Last week I showed of the new item screen, which was the first preview. This week it’s almost finished, preview below.


When opening a chest, this window pops up, showing you your current item of the same type found in the chest. Since the player can only have one item equipped per slot and no inventory to store them in, it gives you the choice of either leaving the item or taking it with you. If you choose to take the new item, your previous one is destroyed without the possibility of getting it back. So it’s usually a good idea to not instantly take the new item, but look over the stat changes and enchants. On the task list for next week: Green text if the stat is better, and red if it’s worse. The item slots available are as follows:

  • Main Hand
    • Swords, axes, bow.
  • Shield
    • Use a shield to block damage, obviously. Can not be used with the bow.
  • Armor
    • Armor sets contain a chest piece, sometimes a helmet and new boots.
  • Lockpicks / Keys
    • Used for unlocking doors and chests.

Character texture changes


Character heads made more like arrows to better show what direction they’re facing.

Characters have also received some visual tweaks, most notably in their color schemes and their heads. Previously their heads were squares, but I changed their shape slightly by making the faces pointier instead to make it more clear which way they are facing and also making them seem a bit more “natural” by scaling joints to get some curvature and different shading over the models. These changes are most notable when a character enters ragdoll-mode with arms and legs flying all over. Fun stuff.


New clothing and color palettes. Also decided to remove the face textures and go with a clean look instead. More colors are in the works.

Doing animation tweaks and changing the base mesh lead to the attack animation getting screwed up, as well as the walking animation not looping properly. The running animation loops perfectly though. Weird. In the second screenshot you can also see that the player holds the sword out to the side, and trying to attack somehow inverts the animation. For some reason this has only affected the player and not other objects, despite them being the same mesh with a different texture applied to it. Aiming to have this fixed until next week.

Enterable buildings without loading

Previously if you were to enter a house, the game would load that house interior as a separate scene. I’ve been experimenting some with having the houses be actual objects in the overworld scene allowing you to enter them without any loading, just open/unlock the door and enter and the roof disappears. Preview gif below.houseRoof

Although the houses are cramped and small, this fits well with the overall design of Querden and the architectural style of the island. With most of the population being poor, having a bigger house is reserved for the elite. Not all houses are enterable, but those who are will be marked with various patterns that you should be able to recognize. Sometimes a house may be enterable, but the door is locked. If you have the key you can unlock the door, but if you don’t you should try to get your hands on some lockpicks to pick the lock.

That’s all for this week. Check back in 7 days for a new post about development.I’ll try to limit my hours with Black Desert and get some more work done this week. I might write a small review of the game if I find that I have the time for it, we’ll see.

Dungeon crawling

For the past week, the primary focus of development have been to get a dungeon prototype working. It’s a little rough around the edges still, but it works. And that’s the most important. Dungeon layouts are inspired by the first Legend of Zelda on NES, being made up of rooms that must either be cleared, have a puzzle solved or a key to unlock doors in order to continue. With the basic groundwork laid out, it is now time to create all the different elements to create puzzles and more interesting rooms. So far I have created buttons, hit triggers and boxes that can be pushed around, as well as some traps.


Entrance room of the testing dungeon

Whenever you enter a room with enemies in it, the doors are locked and you must defeat them in order to unlock the doors again. Should you die, you’re returned to the dungeon entrance and must start over again. Since death comes easy, dungeons often contain a well of restoration to restore your health which you can return to when you need some health. Beware though, as they have a limited supply before they run dry and you can’t drink from them any more.


Well of Restoration room

Another important aspect of dungeon crawling is the loot you’ll find. Dungeons contain the most powerful items in the game, and it’s often crucial to get it in order to defeat the boss. Boss rooms are clearly marked, so you’ll always know when you’re about to enter it. It’s usually a good idea to save a few drinks in the well before going in. Defeating a boss rewards you with a health boost and some sweet gear.


Getting new equipment


Boss room door

Another tweak added by popular demand of people who have playtested the game so far is different control schemes based on if you’re using a gamepad or not. Previously the player character would look in the direction you’re walking, either with WASD or the arrow keys. Now you can walk freely and look in the direction of the mouse instead. Basic stuff, but it’s much easier to get used to. Using a gamepad you walk with the left stick and look with the right stick. Standard top down controls in other words.

That’s all this week, come back next tuesday for more.

NPC chatter & dungeons

Over the past week I managed to get Unity working properly again, which means I’m back to developing more or less daily. Most of the past week has been spent on finishing the various areas of the map and planning what to put in them and design of dungeons. They’re coming along slow but steady.

NPC Chatter

I also made a small system that lets the NPC’s say random stuff from a predefined list. I posted a link to a GIF of it in action to Twitter, but in case you missed it, here it is again:


It simply instantiates a UI Text element in a world space canvas and positions it over the agent, removing it from memory after five seconds. Every NPC will have custom dialogue/comments specific for them, each with a unique personality. You might even be able to get some hints for treasure or quests by listening to what people have to say. There are a lot of possibilities with this to create some fun situations, and new lines can easily be added during gameplay, making it possible to have the world react to your actions throughout. But that might be a bit of a overkill, I’m just one guy working on this after all.


When it comes to dungeons I have mapped out a few on paper, but I still have to create a variety of “tile sets” that can be snapped together in Unity to create the dungeons and caves and whatnot.  I have yet to decide a total number of dungeons, but I want all of them to follow the same philosophy of the overworld; clearly defined style to make it easy to recognize what type of dungeon you are in, but also keeping that sharp low-poly style. Another important thing that is going to take up some time is the dungeon flow design. Not only do they have to look unique, they have to feel unique as well. Different enemies, unique loot, traps, events, some backstory and hidden rooms. The checklist for each dungeon is long, but as soon as I have made a few sets of modular objects the development should be sped up considerably.

That’s all for this week, make sure to come back next tuesday for a new post with more development news of the game.

Activities and thoughts on other engines

I am back once again to write about my game, which I still have yet to name. This time it’s about activities on the island. Sadly, the past week I’ve not been able to find much time for development for two reasons. One is Easter vacation from work which lead to dedicating my time to being with friends and family(read: partying). The other is a recent Windows update that broke a driver with the built in Intel card on my laptop, resulting in Unity’s renderer stopping to work, requiring a restart in order to function again. At least I was able to save, the only issue was that the screen would not update. Frustrated, I decided to check out Unreal Engine 4 and CryEngine for a little bit while waiting for driver updates, tinkering with them in the late hours of the night. Read more about that at the bottom of this post. I haven’t found any driver updates yet, but I found a workaround to halt the crashing; just keeping the Intel Control Panel open while using Unity. I hope this is only a project-specific error so I won’t have to deal with it in upcoming projects once this is done. But that is months away, I still have lots of objects to model, quests, dialogue, lore and code to write, optimization and overall polish. I’m feeling confident that in about a months time I’ll be ready to release a small demo, so stay tuned for that.


Because of these engine errors, most of the development have been done on paper the past few days. Here are some of the planned activities and side objectives you can partake in:

  • Barber
    • Change your hairstyle and color.
  • Fishing
    • If you’re able to acquire a fishing rod, you can cast your line in a body of water and try your luck at catching various fish and sometimes new treasure. Different water types and locations yield different rewards.
  • Treasure Hunt 
    • Find treasure maps around the island and try to decipher them to find valuable equipment.
  • Upgrading and enchanting equipment
    • By visiting the blacksmith in Querden you’ll be able to upgrade your equipment to yield and deflect more damage. If you’re able to find the Wizard Tower you can also enchant your weapons with powerful enchants giving you a edge in combat.

More activities will be included as time goes on, but for now these are the only ones planned. Once these are done though, I would really like to start working on some more, four isn’t really all that many.

Thoughts on Unreal and CryEngine

A few days before writing last weeks post, Crytek announced that CryEngine V would go into a “pay what you want” model with support for C#. I was obviously intrigued, having used CryEngine 3 when they allowed for indie developers to use it a few years ago. Even back then, it was quite hard to use, but I managed to create some simple terrains, but that was about it. And of course, my computer at the time gave me around 25 fps even on low settings. Not really optimal for development. It also required a special plugin for Maya(I use Blender) to export 3D models to their own proprietary format, and from what I understand it still does. So even there it stops for me. The layout was much more refined in V compared to 3 though, but this time I wasn’t even able to create a terrain. Because of CryEngine waiting this long to target indie developers, there is also a severe lack of documentation and community built around it to consult when getting started. This will get better as time goes on though, and I’d really like to try it out once there are some proper tutorials for learning how to use it. It’s such a powerful piece of tech, maybe a bit too powerful for the simple style I go with. But it sure can make even simple stuff look good with some amazing lighting and blurring effects. My main draw towards it was the support for C#, as this is my primary language to code in.

With Unreal on the other hand, I was able to create a level with custom models within ten minutes of clicking buttons, since importing models is super easy by just exporting as .FBX and importing them through the Content Browser. The material editor seems super powerful, and it was very easy to get a grasp of how it worked. The only thing I struggled a bit with was the Blueprints script editor, ironically, but it would obviously become easier after using it for a while. It reminded me a lot of the script editor in 001, but more intimidating at first with more complicated and sometimes strange names for the functions. The lighting effects, like in CryEngine, are quite nice, but I did struggle a little bit with static shadows becoming completely black and not looking all that nice. It would be nice to learn to use it to create mods for Unreal Tournament though, which by the way is a fantastic free shooter! You should check it out if you haven’t already.

My biggest gripe with both of the engines is that starting the launchers and loading projects take quite a while, even when there is nothing in them. They are both oozing with professionalism, that’s for sure! If I were to choose one of them however, it would probably be Unreal, since the community is much bigger and the accessibility is higher. But then again, switching game engine is no easy task, especially when you’ve been using the same for several years and gotten integrated in a different workflow. So it’s going to be Unity for me as my main tool, but maybe I’ll try to teach myself Unreal on the side whenever I feel I have the time for it. Only time will tell. This became quite a long post, I hope you enjoyed reading it. Until next time, take care!