Animations are super important in Knights Province. The game is meant to be playable in different styles, but one of the bigger focuses are - chill, laid-back experience where players can enjoy building their towns and interact with others towns (including AI). Animations help to reach and support that goal in several aspects:
Setting the Scene - Animations help create the right vibe in the game. They make the town and its people seem alive and active, adding a lively feel to the game world.
Reinforcing the idea that Building Stuff Feels Good - The game is all about taking your time to build a town, and animations make that process enjoyable to watch. Seeing buildings go up, trees and grain grow, and resources being moved around and processed keeps the game engaging and satisfactory.
Feedback that Works - Animations give feedback to players about execution of their orders. When you tell a building to be built, animations show the progress. It's a clear way to show what's happening.
Explaining How Things Work - Animations make it easier to understand complex game parts, like management and processing of resources. Seeing resources being gathered or worked on helps players grasp how the game economy works.
To sum up, animations are a big deal in Knights Province. They're not just there to look cool - they make the game feel relaxed, enjoyable, and engaging, exactly what the game aims to be.
Stepping one step down the abstraction ladder, it helps to categorize and describe what animations are there and which ones make the bigger impact (bang for buck). The most important ones are the units. They form up the majority of interactive and animated entities in the game. Each unit type has its own distinct look, tools and loads they carry and activities they do. Of course there are many other unit-less animations, but those ones are in a relative minority. We’ll focus on units for this article.
Breaking down an animated unit in the game, it consists of four parts: the unit model, rig (equipment), animation, and optional distorts.
Unit Model - The unit model is the visual representation of the unit in its base form. It includes the 3D character model, textures, and basic skeletal structure. This is the starting point for all animations and is what the player sees as the character. Typical unit starts his life in so-called A-pose:
Rig (Optional) - The rig in KP is a description of how different auxiliary parts get added to the unit - like a carry, work tools, interaction objects, etc. While optional, more than half of the unit`s time is spent having some rig applied. One additional use of the rigs is that due to game being still in development, rigs allow to easily take a base unit (e.g. Swordsman) and replace his default rig (sword and shield) with a rig containing a cap and an arbalet, thus making him look like a new unit (Arbaletman).
Animation - Animations are the movements and actions that bring the unit model to life. These include walking, attacking, working, or any other actions the unit can perform within the game. Animations are crucial for gameplay dynamics. Most of the animations are looped, meaning that they can be repeated seamlessly.
Distorts (Optional): Distorts are additional alterations applied to the unit animation. They include changes in skeletal animation values and boundaries. For example Porter carrying a heavy load needs to have his arms bent to hold the load and slightly different walk animation so that it’s clear that the load is indeed heavy and a burden.
While the unit model and animation are essential, the rig and distorts add an extra layer of sophistication and visual appeal to the animated units within the game.
All 4 components working together allow one basic walk animation to be adapted to several dozens of uses.
Now, there’s a new spin on that system - in-house work animations. They have kept me intimidated since the beginning, since I’m not that experienced with skeletal animations and I didn’t spend a proper amount of time analyzing the requirements. It all seemed just too big and fuzzy. Now, finally, I have had enough time and focus to address the thing. Analyzing the problem is the first thing to do. While looking and acting very similar to the unit animations, in-house animations have several key differences:
Combining Several Skeletal Models - while some animations are very simple (e.g. idle units just chilling and looking sides) there are also quite complex animations involving independently animated mechanisms (e.g. Tailors spinning wheel, or Brewers cider press).
Working with Tools and Objects - units need to change tools they hold and some of the tools that the unit needs to work with require special treatment. One such example is a baker’s rolling pin, it needs to be making good contact with both of the baker’s hands. Dough had to be in the equation too.
Non-Looped Animations - some of the animations are just intermediary between others, e.g. a unit walking out of his house into the working areas. It starts in one place and ends in another, without rewinding back. Others are seemingly looped, but without interpolation between last and first frame (e.g. Mill blades, always rotate on and on) which technically makes it non-looped, just really well aligned.
Non-Animations - it is rather handy to use the same mechanism for non-animated elements. For example, it’s much more handy to model the Brewery ladder as a straight standalone object and then move it into place tilting the right amount by all three rotation axes.
Special Non-Skeletal Animations - waving house flags are a good example of such animations that are much easier to be made without skeletal structure. They use a special shader for that and are not part of the in-house animations focus, same as burning particle effects.
Knowing the approximate set of requirements, it was time to evaluate possible solutions. Biggest problem seemed to be creating unit animations. Main requirement was a standalone tool focused on one thing that it does well. Preferably free or open-source, or at least not very expensive:
AccuRIG - a tool for automatic rigging of the skeletal models (here, the term “rig” is used in it’s industrial standard meaning - it refers to the creation of the skeleton and setting up vertex weights for the bones that affect those vertices). The tool features a big set of sample animations, some of which could be suitable for the Knights Province. Unfortunately, not all animations could be found in the stock library, and the resulting rigged model format and set of bones were quite unwieldy for the game’s needs.
Cascadeur - is a groundbreaking 3D skeletal animation tool. One of Cascadeur's standout features is its advanced physics-based animation system. Using principles of physics and biomechanics, Cascadeur can generate organic and lifelike movements that adhere to the laws of physics by specifying just a few key poses. Demo reel looks amazing. Its UI is quite sophisticated and not easy to grasp and use efficiently without spending time learning it though. The resulting rigged model format and set of bones are also not fully compatible with the game’s needs.
Both Lightwave and Blender - could be used, but both are mature complex tools with overwhelmingly large sets of features and it would have taken more time to learn them.
After tinkering with distorts, it appeared that the task was not so complicated. I could take an idling unit animation, fold its arms and make it look around. Voila - idle Baker looking out of his Mill! That ought to do it for simple animations, but more unique ones still required an animation to be created from scratch.
Choosing to develop custom animation tools presented a compelling alternative. Such an approach would allow to tailor the animation tool’s features and capabilities to the specific needs of Knights Province (which are quite minimalistic). It would keep unneeded features out (and keep the UI clean of their clutter). Third important point is WYSIWYG - animations would look exactly the same in the tool used to create and alter them as in the game. Moreover, the process of creating personalized animation tools offers a valuable learning experience and better understanding of the animation workflow.
Armed with the KISS principle (keep it simple, stupid), two separate tools were planned and made, each one focusing on one aspect of the games animations creation process:
Motion Rigger - a tool allowing to interactively set up Rigs and Distortions (since both are closely related and co-dependent). Handy for cases where base idle unit animation is almost enough, but the base unit’s pose needs to be changed to a leaning one and the head movement added.
Motion Animator - a tool for creation of new animations from scratch. Sometimes it is just simpler to create something from a blank slate. A good example is Stonecutters animation of sitting on a stool and shaping a boulder with a hammer and chisel into smaller stones.
Most of the time creating these tools was spent in two big areas:
Creation of UI - one of the main UI elements in both tools is the timeline. It’s there to control the skeleton bones movements over the animation length. This is done with keyframes - frames where exact bone orientations are set (majority of the time bones only rotate, they don’t change their length or offset). Orientation between keyframes is interpolated. Thus, allowing to set up a whole animation with just a few key poses (for both animations and distorts).
Timeline was created using games GUI elements with slight modification and expansion. For example, the lines themselves are based off of the game results charts. It would be next to impossible to make it in the VCL, which is good for simple interfaces, not the interactive charts. Overall I’m very happy about how it turned out. Knights Province GUI library is a powerful tool.
Creation of the Underlying Algorithms and Data Structures - animations sound easy on the surface, but there are several caveats. Firstly there’s groundwork required to allow for storage of the animation data with new keyframes information. Game’s older animation format used md5-like text files with aux data on a side. It was time to switch to something more structured and orderly - like XML. Another rework was concerning rigs and distorts - they were stored in the same file and processed in one flow, which is incorrect, since they are not really dependent on each other. Skeletal models handling had to be made more abstract, since before that it was assumed to be handling only units (with full skeletons). Game’s animation library itself was reworked and optimized, removing duplicate walk and idle animations (which the game had plenty of). Animations timing was also retouched, so that e.g. projectiles (and their sound effect) could be launched the instant the unit animation says so, but be “delayable” as the game engine needs it (to make archers act in slight dissonance).
To top it all off, there’s the PreviewHouse tool that was upgraded to allow it to set up and position workers, static and animated elements tied to certain house animations (which were refactored as well).
Creating the tools is one thing, creating the workflow is another level. Thanks to the tools sharing a lot of code and elements, being WYSIWYG and easily tweakable, the workflow came out naturally. Now the doors are open and the main limiting factor of animating the game to the brim is creativity (and time). Small note, mounted units are still an open question, but that’s a call for a future Krom.
Whole thing took around 5 weeks and ~400 commits. That’s a big hunk of work. Am I happy with the result - absolutely! Tools are simple, yet effective enough, allowing to create and tweak animations WYSIWYG, being fully modifiable and expandable. Now I’m feeling confident about in-house animations implementation, workflow and tools - they are here to stay.
Knights Province began its life almost exactly 10 years ago now with first semi-serious pre-production renders being made in the 3rd decade of September 2023 followed shortly by first code work. What a huge and never ending journey it led up to this day and beyond! On that note, I’m happy to reveal that Alpha 12 release is nearing!
It is mostly the same but the table of contents includes two new sections.
Acts of Worship
Experience, Levels and Stats
These are new sections I have added to towards the end of the manual which describe in more detail how these game mechanics actually work. I tried to included enough information in the game itself to allow the game to be played without reference to the manual, but this just gives a basic overview of how these things work.
Let's embark on an expedition to locate an experimental tank! Kara Winters' grandfather worked on its development, so there's undoubtedly something extraordinary about it. However, the journey takes us through treacherous marshes. Legend has it that a dangerous beast lurks there.
Would you dare to find out if the rumor is true? If so, join Operation Swampland! They say the swamp monster safeguards unimaginable riches: avatars, warpaints, resources, and the Swale Legendary camouflage for the 53TP Markowskiego. If this holds true, they could prove invaluable on our expedition!
How Do I Get the Rewards?
You need a Tier III vehicle or higher to participate.
The Operation includes two reward progressions, each consisting of 60 levels. The upper progression is available to regular Pass owners, in other words, to all players. The lower progression with more rewards is only available to Premium Pass owners. To receive rewards, increase your Pass Level by completing Operation missions.
Although the Pass Level increases automatically, you'll need to collect your rewards manually.
What Are the Rewards?
There will be tons of resources, a Collector tank, themed warpaints and avatars, a profile background, certificates for XP bonuses for victories, and a legendary camo for a researchable Tier VIII vehicle!
I have released a small hotfix update to address issues regarding saving the game. Players would sometimes get locked when trying to save the game, this issue should now be resolved.
On top of this, some minor animation issues have been corrected.
Fixing a few exceptions that caused the player to reload game from previous save. Dramatically improved performance of Character Creation for those running on lower end machines to at least allow them to play through this part of the play test. Will be working on optimization improvements for lower powered machines for the rest of the game.
Hello, good readers of the internet! A new month has dawned upon us and with it comes yet another progress report for the development of Mole Maiden! September was one emotional month!
Just what happened in September? Well, let's jump right in and find out!
Regarding the Situation with Unity:
I wanted to wait a bit before making a personal statement on this. As many of you may already know, Unity attempted to implement a rather predatory Runtime fee system that was slated to take effect in January 2024. Under this new pricing model, developers who reached a certain level of generated revenue or installed units would face a 20-cent tax every time a software created in Unity was installed.
What made this situation even more challenging was the lack of clarity regarding what exactly qualified as an installation, how these installations would be accurately tracked, or what the policy was for handling game piracy. This new model appeared to penalize indie studios and developers for their success, without making any significant effort to safeguard developers against piracy attacks. To compound matters, Unity intended to enforce this new fee retroactively, affecting all developers and studios with games currently in development or already released. Leaving many developers scrambling to figure out how to stay afloat with this new business plan that they had no way of knowing would be enforced when they initially signed up to make their game with Unity. Naturally, this had a personal impact on numerous games and studios, including Mole Maiden.
Fortunately, thanks to the collective efforts of the Unity Community, Unity employees, and the wider development world, Unity was compelled to retract its original plan and devise a more acceptable alternative. What is particularly fortunate for me is that Mole Maiden will not be subject to this new runtime fee, thanks to the version of the engine I am currently using.
While I am appreciative that Unity listened to our concerns and made the necessary adjustments, I cannot overlook the fact that Unity's leadership appears to have some significant issues. Consequently, while Mole Maiden's development remains undisturbed by this recent turn of events, my trust in Unity as a company has been considerably shaken. As a result, I will be exploring alternative game engines for future projects.
I hope that Unity will come to understand, in light of these developments, that they have a responsibility to their userbase as a leader in the industry and will fulfill that role with the integrity we rightfully expect from them.
The Cleveland Gaming Classic
The biggest thing that happened to me this month was that I attended the Cleveland Gaming Classic on September 22nd as an exhibitor. This was my first real public showing of Mole Maiden, and it went terrific!
Not only was the public’s reception to Mole Maiden unanimously positive, but I also took home the award for the Most Fun game at the show! Mole Maiden was one of five games at the show to win an award out of fourteen titles! Needless to say, I feel very blessed to have won an award.
I spent a great deal of time in September preparing for the show. I ordered stickers, created an original comic book, released a new trailer, and had a Penny face cut-out standee printed for people to take pictures with. By the time the show was over, I was so exhausted! However, the things I learned from attending were inscrutable. So, in case there are any aspiring devs reading, I would like to put together a list of the biggest lessons I learned while at the show.
1. Play Test Aggressively Before the Show This might sound like a no-brainer, but it is undeniably true: attending a show is just as much about presentation as it is about getting people to play the game. When you've spent a year and a half developing a piece of software, you become intimately familiar with it. You understand its intricacies, and how to play it without breaking it, ensuring a smooth play session. However, it's crucial to recognize that regular people will not play your game the way you expect them to. They NEVER do.
During the show, I observed many players die in the first room, something that almost never happened when I played the game myself. Which led to the discovery of many new game-effecting bugs on the show floor—a real nightmare situation.
My key takeaway from this experience is to complete your show demo as early as possible, ideally two weeks or more before the event. Afterward, hand your game to a sibling or friend who doesn't play games at all for playtesting. Their lack of gaming skill and fresh perspective will provide you with the most accurate insight into how the least experienced players will approach your game. This process will help you uncover bugs that might be more challenging to identify if an experienced player playtested your game.
2. Comfort is Key: Provide Chairs for Longer Demos One of the first lessons I learned at the Cleveland Gaming Classic was the importance of comfort during game demos. If you're showcasing a game with a demo that lasts longer than 5 minutes, consider having chairs at your booth. This simple addition can make a world of difference for attendees, allowing them to fully enjoy your game without feeling fatigued. Remember, a comfortable gamer is a happy gamer, and happy gamers are more likely to remember your game positively.
3. Be Generous with Promotional Materials Promotional materials are your currency at gaming conventions. While it's tempting to be conservative with your handouts, I found that being generous pays off. Even if your print run is limited, don't hesitate to distribute your materials freely. Think of it as a marketing investment; the more people walk away with your flyers, stickers, or swag, the more buzz you'll generate. Not everyone who attends will stop by your booth, so spreading the word through giveaways can have a significant impact.
4. Multiple Demos, Less Crowding Having multiple game demos running simultaneously can be a game-changer for your booth's traffic flow. During the event, I had two demos running at the same time, and my booth was often overflowing with eager players. To manage the crowds better, aim for at least three demos if possible. Additionally, consider making your demos shorter, ensuring that more attendees can experience your game within a reasonable timeframe. This approach not only keeps the traffic moving but also maximizes exposure to your game.
5. Leave Them Wanting More When crafting your demos, it's crucial to leave players wanting more. A well-designed demo should provide a taste of your game's core mechanics, story, or gameplay but leave room for curiosity. Give attendees a reason to look forward to the full release or follow-up updates. This creates anticipation and excitement, which can translate into a more engaged and loyal fan base.
6. Go to Shows Closer to Release Going to gaming expos is a great way to generate hype for your upcoming release, but it might not be the most effective marketing strategy. Mole Maiden is still about a year and a half away from completion, and some of the most frequently asked questions I received at the show was, "Where can I buy it?" "How much will the game cost?" and "Is it coming to consoles?" That last question seemed to be a common one for many other developers at the event as well. As an independent developer, attending conventions can be quite expensive and can consume a significant amount of time that could otherwise be spent on making progress with your game. If you're considering attending a convention long before your game's release, I would recommend participating in at least one show per year. However, when you're approximately five months away from release, that would be the ideal time to start attending shows and building excitement within your potential audience.
I think going to the Cleveland Gaming Classic this month was a wonderful learning experience. I got to put into practice a lot of important skills like marketing, creating and posting promotional material, making a budget and sticking to it, and finally, how to talk about and explain my game to the general public. Coincidentally, all of these skills will be used in full effect for my development plans for next month.
What’s next?
With the trailer, promotional materials, an overwhelmingly positive reception at a public showing, and a shiny new award to my name, it's finally time to start pitching to publishers!
October is going to be a month of writing and planning. I'll be wrapping up my pitch deck and reaching out to potential publishers. Additionally, I plan to complete my press kit and begin reaching out to various gaming journalists and news outlets to spread the word about Mole Maiden even further!
I'll also be dedicating some time in the engine to work on a crucial aspect of Mole Maiden's story that I've neglected for quite some time now. What is it? Well, you'll have to stay tuned for the next blog post to find out.
I want to express my heartfelt gratitude to everyone who has supported me on my game development journey with Mole Maiden. Your love and encouragement have been instrumental in making this project a reality. I'm eagerly looking forward to reconnecting with all of you in November for the next development update!
Finally, just in case you missed it. Here is the new Mole Maiden trailer for your viewing pleasure!