Azeri - Postmortem
Another Unreal Jam has come and gone, and whilst we weren’t able to win, we were able to standout amongst some brilliant other titles, we are quite happy with what we managed to make and with the feedback and result that we got.
In this post-mortem, we will discuss some of the things that we felt went well, and what we could have done better had we more time to plan and develop the project. Generally, we will be typically looking into it as an overview, and plan to create more specific posts regarding the different disciplines.
What Went Well
Metroidvania with Animal Abilities Works
So, let’s begin with what went well. We think overall in terms of a small vertical slice of the game, we had really interesting ideas and designs around our core gameplay mechanic, which is switching between animals.
When we started concepting the idea, we knew we wanted an experience that felt like a metroidvania, where you’d see an obstacle first and find the solution to it later, in order to unlock a new area. Overall, we believe we did achieve that with most of the game, with an example being the first tree you come across, that you can’t cross before unlocking the Stag.
As such we feel like there is a lot of potential to expand on this unique combination of genre a bit further in order to create some even more satisfying puzzles and giving more player agency in terms of how they approach the obstacles.
Of course, we completely think that a lot more substance could have been added, something we will definitely do if we ever feel like expanding this project more.
The Animals Felt Unique to an Extent
We used two different animal asset packs for this gamejam project, one being Farm Animals, and another being Animal Variety Pack, both by the excellent Protofactor Inc. Naturally this also meant limiting our design to what we had available since we did not have a dedicated animator or 3D modeller who could help us create unique content in time.
We ultimately decided on the Fox, Stag and Goat, where we felt that they could each have some unique enough abilities to help us sell their importance in this little project.
Fox was always the first animal we had in mind, as our original idea was quite similar to Shelter, where you had to find food to survive, but then when we saw that it was possible to be able to create three characters in time, we decided to take the leap. Fox became our efficient jumper, the Stag was able to ram into things with its antlers, and the goat could climb really steep surfaces, just like you would expect them to.
It helped that the pack came with some fantastic animations that paid attention to the weight and mannerisms of the animals. So all we had to do was sort through them in order to stitch and paste to our needs. We balanced the speed based on weight to each animal of course and threw in some unique sounds for each animal. We got some good feedback regarding this differentiation.
The Goat Literally Breaks Everything
This phrase was not only true for our game, but it basically became our motto and in turn inspired our name “Reckless Goat Studios”.. Unknowingly we had created a Spider-Goat of sorts that could
do everything a spider could climb basically everything. Due to shortage of time, this of course meant we had to make it the absolute last animal that players could get.
Luckily the people who were helping us test the game initially absolutely loved the goat and found it their favorite, so it definitely was the right call not nerfing it too much, as both early testers and general players quite liked the goat.
Narrative Wasn’t An Afterthought
We Reckless Goats like to do things a bit different than some other developers, we usually try and come up with a story for the characters and the world of our game before delving deep into the nitty gritty of gameplay details. For us, it is just as much about what we can do to connect players to the world, as it is to deliver satisfying gameplay.
For this reason, we were able to lock down the theme and identity of our game pretty quick. As we were controlling a fox that could shapeshift, we knew it had to tie in with rich mystery, and what better example of rich mystery than myths themselves. For this we decided to establish Azeri as an ancient that awakens when it is finally needed, so you will notice that our logos and designs have a very paint marking sort of look to the art, something which wouldn’t go amiss on a cave wall.
We wanted to keep the story super simple as well, at least as much considering we were dealing with a shapeshifting animal. So in the end we went with one where you basically had to absorb animal spirits and bring them along with you as the world and Azeri (with it being really old) is dying.
As such we decided to tell the story in a very warm and gentle tone, highlighting more of the positives than the negatives (i,e. Use of encouraging adjectives like Mighty, Dextrous to promote the animals, but refraining from using those that would add any sort of a dire theme)
The Game Looks Visually Pleasing
One of the best things about using Unreal is the amount of free content you get, and its not just any content, but something that would fit right into an expensive triple A game. With fantastic lighting, terrain, and material tools, compared to other engines, it is much easier to make a game look beautiful. Of course, its how you use these in combination that really makes everything work.
The mixture of different elements in our world also blended well, with snow that covers everything, the crystal that stands out in the background, with abandoned nordic structures buried around the map,. This all came together to form an interesting identity, it helped that the strucures showcased that some life had existed before this and putting the exact setting of the game up to the player’s judgement.
The UI Elements Got A Lot of Praise
One visual aspect that we got a lot of praise for was the game's UI, and how we kept a consistent theme, making the controls of the game as readable to the players as possible. We approached it in a manner where it gradually built up based on progress, unlocking new animal icons and more.
Our UI/UX designer will go more into detail regarding the designs and his process, but overall our goal was to have all prompts available to players from the get go, whilst not overcomplicating/crowding the screen. It definitely seemed to have worked!
What We Would Love to Improve
Remove the exposition text from the beginning
The small demo begins with a quick one screen introduction to the world to get players on board, and in our opinion it was something absolutely vital as we didn’t have enough time to invest in more means of storytelling.
So we employed the good old Star Wars/ Flash Gordon route, where the audience would be quickly explained what the setting is and they would be on board in a snap, no big exposition sequence, or flashback, just a few lines of text and the audience is ready to go! It’s a very effective format in our opinion, something that benefited the lack of time we had.
That said, if we had more time we would have definitely tried and utilised more cutscene and voicework to present the setting in a more meaningful way rather than just a wall of text. Narration could have definitely gone a long way, and with the right actor, it would hone in on our gentle but magical setting. As it is, the current narrative delivery might stick out as being a bit long for people who like to jump into the game as quickly as possible.
Improved Animal Spawning
The issue that stood out the most for us was easily how janky it felt at times to switch between animals. Currently, the way this system works is we have three different actors setup in game, one for each animal, and the way we switch between these is basically by destroying one actor, and spawning another at the point where the last animal was.
Of course, it isn’t the best technique for switching animals, but for the purposes of a limited time development window, going in with a prototypical approach was fine. However of course, it came with some issues that hindered a bit of the experience.
Key of which you might have noticed is that the game just glitches out at certain times when you switch to another animal, and you have to press the tab button to reset. The reason this is happening is due to collision issues with the mesh where we spawn the actor as well as some other factors.
Now we did account for that quite a bit with our level design, ensuring that we created spaces that would not hinder with the spawn of an object, but it was only a temp solution that didn’t completely fix the problem.
If we were to continue this project, the first thing we would definitely do is look into changing the animal in just one blueprint, perhaps just switching the mesh rather than the entire actor as this would not only allow us to make the gameplay more seamless as the camera orientation and position would remain the same, but we would be able to better track the progress and state of the characters.
Currently our blueprint for theCrystal acts as the manager that tracks your progress, an amusing coincidence considering that the Crystal narratively fits that description.
Overall, despite not winning the Jam, we are very happy with what we were able to achieve in just 3 days as we started the project a bit later than others due to our life commitments, and we were able to do it in a way where it looks and feels quite nice for what is available. People seemed to enjoy it, and we sat comfortably on the first row of the Jam Entries page when sorted by popularity for a decent amount of time.
Hopefully this blog gives you a little insight into what we were thinking and what kind of problems we faced, and others will be able to make some use out of this knowledge, especially those just starting game development!
We will definitely go a little bit more into detail into different aspects of the game, where a different member will reflect on their part, so be sure to stay tuned for updates if you want to read more about the narrative, level design or UX/UI work.
Get Azeri - Journey's End
Leave a comment
Log in with itch.io to leave a comment.