Since I started development in early October a whole lot has happened. I thought I should take some time to do kind of a catch up/update post just to go over the changes that have happened throughout development so far. Plus I wanted to show off sort of a timeline in photos to demonstrate all the progress I’ve made so far.
So let’s start out with the very first asset I made for the game before I even knew what I was making it for, the base character model.
So I “blocked” out a really basic character to match my core design principle at the time: Stupid Simple Gameplay.
Little did I know that I’d soon go from stupid simple to an open world multiplayer adventure RPG, nearly the exact opposite.
After the character was done I started experimenting with gameplay mechanics to see what I could do. This meant figuring out if I wanted combat in the game, which is usually my first question when I start a new project. I started toying with ways to handle combat to decide whether it was a stupid simple mechanic, or if it was going to be overly complex.
Since I’d changed at this point to a 3rd person over the shoulder adventure style camera from the top down point and click gameplay, combat was relatively easy, so I settled on a sphere cast that check if any actors were in the attack zone when the mouse 1 was pressed. It worked out pretty well and looked great once I’d worked out additive animation blending in Unreal Engine.
Next was the first step down a slippery slope. I wanted to add a basic inventory system. For a long time I’ve been really interested in using a micro inventory bar, similar to an MMO or Minecraft, but far more limited. I thought it’d be easier to work with if I only had one row of inventory and I only allowed them to be selected/deselected with the mouse wheel and shoulder buttons on a gamepad. This would mean no drag n drop functionality and much simpler to set up.
After probably a day building the basic system, integrating a data table and structure set up, making a couple test weapons, setting up sockets so the character could hold the weapon I finally had a very basic, and very buggy inventory.
You could pick up items with F, scroll between them to change the displayed item in your hand, then drop the item with Q. But the dupe bugs were unreal. I magically created about 3 dozen swords to demonstrate the power of bugs:
Next was the second step down that slippery slope. I decided to add split screen multiplayer. The basic setup was pretty easy thanks to Unreal. Really, split screen complications only started to show up later on when the game started filling up with content and of course when I started creating more UI elements.
I ran into a pretty hefty bug where I couldn’t get the inventory hotbars to display separately on each screen. I ran into a similar issue with healthbars.
But that didn’t stop me. I finally got it set up and then it was time to call in the Mrs. to test with me. This was when I realized what kind of game this needed to be.
Once testing how simple it was to set up drop in/drop out multiplayer during run time it was pretty easy to blow my project’s scope out of proportion.
Just before starting this project I’d been attempting to play the new Divinity: Original Sin 2 release with some friends. But, while the multiplayer is fantastic, it really only works if you’re all on a set schedule, as it’s not really possible to just miss a session without major complications. And if my wife decided to join in later on when she found free time, she’d have to play someone else’s character and really wouldn’t just be able to make her own. And while this system sounds frustrating, it worked fine for their game.
But my new goal with this project was to create a dynamic drop in/drop out system that let players play with anyone at any time without feeling like someone has been missing out or can’t catch up, or that they’re hindering the first player’s playthrough, or that they’d have to play through the same content over again in their own game.
So the major design had been established and it was time to start working on making it a reality. So the summoning shrine was born. Along with some really preliminary placeholder art. The summoning shrine was a simple way to add immersion to the drop in mechanic. A player can use the shrines to save their game as well as invite a second player into the world. At this time it always starts a brand new character, but the tribulations of saving and loading isn’t far off from this point.
You might also notice that I’d added gold to the game and the ability to purchase items which were marked for sale. This also was a pretty unique mechanic I’m quite proud of. Instead of making a grid based shop UI, I wanted to keep the purchase mechanic just as simple as looting an item. So I designed them to work the exact same as a loot drop, but they won’t despawn and they require gold to pick up. This gives me a lot of interesting gameplay possibilities in the future and the ability to set up shops on the fly anywhere on the map.
With the shop mechanic working relatively well it was time to fix the item pickup/inventory system. So I spent several hours on that and also build a decent little popup widget UI that shows the item stats.
You’ll also notice that our main character is now sporting an overly flashy red, metallic armor I threw together for some more socket/equipment testing. This was long before I had any idea how I would handle armor/skins, but I wanted to make sure I could get visual armor working before I got too excited about it.
Also note that standing in the pickup range of two items at a time was the bane of my existence for a very long time during this development.
So the next step, if I remember correctly was just me adding some more content to the game. This included what, to me, is the most exciting portion of the game; spells.
So here are the first two spells that went in. Fireblast was originally a very broken, high damage projectile spell with an awful cooldown mechanic. I knew I needed a way to prevent the player from spamming it indefinitely but also a way to prevent them from dropping the item and picking it back up immediately to cheat the cooldown. So I just prevented swapping items or changing inventory during the cooldown, which just felt bad. Finally I just added a magic resource that replenished relatively quickly in order to use it as a cooldown system.
This actually felt very good when it came to adding Magic Scales. A spell that blocks all projectiles (quite necessary after enemies could use bows) for a short amount of time. The spell started out with a 6 second duration and it cost 30 magic, but it was quickly buffed to 10 seconds to make it more viable. I’m certain this will be changed again in the future as now it feels a bit overpowered for melee characters who don’t really need magic at all.
The visuals of this spell have also changed drastically since this.
After the spell/item use system was in a whole lot of content and art work was done. And you’d think I’d have more screenshots of this portion, but it was actually a lot of dark work because I wanted to surprise everyone with the massive visual progress.
And in the process I broke the inventory, again.
Added some trees and mountains.
And some other pretty details for the environment.
I also created a handful of new characters including a female warrior skin (needs a hair model still) a rogue and an orc.
Since these updates progress has slowed down a bit because I built a website, named the game, designed a logo and spent about a week on a title screen menu, then scrapped it entirely… Ugh.
But I’m back to making progress and this last week I’ve created a world zone for the orc camp, a skeleton race, an entire set of dungeon/cave assets for some indoor areas and some new items.
So these are much better examples of what the game looks like and will probably look like up until release. I’ll be redoing a good chunk of art to meet this level of quality throughout the game.
The rest of the devlog information will be posted in easier to digest portions as separate posts going forward. But I wanted to do a big long catch up post for anyone who really wanted more about the game or wanted to see the process.
I hope to see you stick around for the rest of the development!