Happy new year!
Wait, what? Is it February already? All I can say is time flies when you’re having fun. This update is a bit overdue but as always, if I’m a bit tardy in posting on the devlog it’s because I’m making our dream game.
The new year has been a torrent of making cool plans, have Covid wreck it all and instead write awesome code!
Our big carrot of Q1 2022 was that Raw Fury and I were going to GDC in San Francisco to promote Skald. We always knew it was a risky prospect and as Omicron ramped up over Christmas we reconsidered and canceled the trip. And let me tell you: I’m almost glad we did!
It’s given me time to dig deep on a few areas that I always wanted to improve in the game. I’ll try to summarize some of the latest developments:
The GUI System
I’ve rewritten the GUI system. Yes, pretty much all of it. It was pretty much one of the last components of the game where I used Unity’s built in system but it was a bit of a mess. I’m sure someone who’s better at Unity could pull it off, but I really just want Unity to compile my game and leave me alone beyond that.
Thankfully, the Skald engine is really good at drawing pixels on screen with perfect precision and so I was able to use my engine to do stuff like draw fonts, UI-elements and handle transitions and mouse interactions.
One of the first big advantages is that I can now have the game scale perfectly to the screen so it gets pixel perfect resolution.
If you zoomed in on the game in full-screen mode, it used looked like the left image. Now everything scales perfectly and it all looks like the right image. Crisp enough to make your eyes bleed.
For a pixel-purist like me, another advantage of the new system is that we can swap Unity’s vectorized fonts for home-made “real” pixel fonts.
I also added the ability to insert big illuminated first letters at the start of the script. I need to polish the graphic design a little bit but all in all I think it’s going to look amazing.
But there’s more: The new system allows for highlighting of keywords in the text that you can mouse over to get helpful info. Naturally this will also be possible on menus like the character sheets where you can mouse over attributes to get a description or on the map where mousing over objects will allow you to get info in pop-up boxes.
Finally, note how the menu above slides on and off the screen for a bit of a smoother transition.
With all the UI stuff, the technical stuff is now done but there’s still work to be done to really take advantage of its full potential. Stay posted for more updates!
The Animation System
The moment I signed with Raw Fury, one of the first features I knew I wanted to expand upon a bit was the animation system.
Building an animation system that cycles through frames of animation is easy enough. The trouble is scaling it. There are basically three types of models in Skald:
- Simple Models: These are models like the rats in the demo. They have few animation frames and very few customization options. This works because for the most part, you won’t see them doing anything outside of combat so all you need is a few idle frames and some combat frames.
- Custom Models: These models have more complex animations so we can have it perform more complex actions. A great example of that is the big monster below. These are very cool and expressive but costly to make since each frame needs to be hand drawn. The upside is that there isn’t a ton of them in the game.
- Humanoid models: This is the tricky part and where the Skald engine shines. The humanoid models in Skald are “paper-dolls”. That means you can swap costumes, items, skin-color, hair etc and have it show up on the model. They also need dozens of animation frames (and perhaps hundreds by the end). This means hundreds of thousands of different frames to account for all possible permutations of costumes and animations.
Fear not! The Skald engine solves this by doing humanoid animation in a semi-procedural way. Basically each model consists of a dozen components drawn using a kind of animation skeleton. Legs, torsos, arms, heads, hair, items etc are drawn in relation to each other and colored according to specifications. This means that for each new behavior we want to animate, we’ll only ever have to add a very few frames.
As an example, look at the image above again. The character falling to his knees is not a unique animation. Any of the characters on-screen would perform the same animation if given the command.
The awesome part is that adding that particular animation strip to ALL HUMANOID MODELS in the game took only about 20 minutes.
Anyways, you’ll be seeing a lot more of this system as we go. Here is an example of me experimenting with adding some animation frames to the player’s attack animation:
Trust me; the system works – it’s just that I’m not a very good animator 🙂
The Level Editor
This one is the Golden Goose for me. My level editor has been a pretty big bottleneck so far. I just couldn’t get it right and I lacked a clear vision for what a great tool would even look like for Skald. Then I saw the amazing “Tiled” editor and I was saved.
“Tiled” had a simple suit of features that were all I had ever asked for and I knew I needed something like that for Skald. I had two options:
1) adopt “Tiled” (it’s free) and use it for Skald or 2) try to write my own version of it? Well, I just told you I rewrote my whole GUI system to get nicer fonts so I doubt you’ll be surprised to hear I made my own in-house version of Tiled.
This may seem excessive, but a good level editor is critical and this way I get one that is seamlessly integrated with my other tools. I also don’t have to depend on external software. Most importantly though: All the Skald tools will now be collected in a single application so the Skald community can eventually get to mod and create their own application using the exact same tools I used to make this game.
I still have some development to do on the editor before it’s fully functional but as soon as it is, I’ll be doing some streaming of me making levels in style!
So in broad terms, the next big step is doing a major overhaul of the demo to be released in spring / summer. This is primarily to show off and test the new features and it’s also a hugely important tool to get Skald on the radar of press and content creators.
To that end, we’re also going to redo the Steam pages, the website and make a new trailer.
We will be doing more Beta testing before then as well but I’m waiting till things are a bit more stable so I don’t get swamped in reports of issues that are already known. Testers are a limited resource and we need to save it until it really counts.