Hiya, Maja here! As usual, I have been creating things for the game and doing admin work, which is also a huge part of the process. The game development and concept art is the most enjoyable in my opinion.
This month has gone to a bit of concept art. I made many different designs for saddle pads and I have even more in mind. All of these have had mostly black as their main color or as the secondary color. I’ve made 5 different patterns for them to give them some more variation than the color only. As an equestrian, I know how easy it is to start collecting saddle pads, so it’s important to create a variety of designs for the players to choose from.
I’ve also started on an update on Einar’s concept art. The poor guy’s art is over 2 years old, and was created when I had two jobs, so I did not spend as much time on it as I initially wanted to. He also needs to fit the current art style for the characters. In addition to this, I started sketching out some ideas for the aunt-character.
I’ve also started on a few drawings that will be visible in the game as paintings on walls and such, though these take a bit more time than the saddle pads do.
Like last month I’ve been working on the horse creator UI. I’ve made the layout for coat colors, markings, and so on. I’ve created icons for the markings and I am really excited to test it together with the community when it’s ready! I showed the community a sneak peek on this in the work-in-progress channel in our Discord server and on Instagram.
Tack fitting, manure, and a new breed reveal
By Mathilde - Community Manager, 3D-artist
I started this month preparing tack for the inventory update we are working on. I and Tirna have been collaborating on the tack pieces for the horses, although I definitely give her all of the credit for the beautiful tack pieces. My task was to first go over the individual pieces and make sure that they can be worked on with symmetry and making final adjustments to the mesh as a polish. After this, I sent the pieces back to Tirna for her to create the UV-maps (where the textures go) and the textures. Once I got the tack pieces back, it was time for fitting! I fitted all of the different pieces of tack to all of the current breeds I have in the project. At this point, it was the Norwegian Warmblood, Norwegian Fjord, Icelandic, Arabian, both Percheron types, and the Norwegian Dole horse.
The show jumping tack set fitted on the Norwegian Warmblood, Arabian, and French-type Percheron.
The dressage tack set fitted on the same breeds as above.
These two tack sets are what we will be introducing in the update that includes the first iteration of our inventory system. I am very excited to not only get the bridles into the game, but also the addition of changing tack and removing it.
Next up is something we all know we need in a horse game, but never thought about. Horse manure! And yes, this month, I have been creating modular poop. And by modular, I mean that I’ve modeled the single pieces of manure that can be used as building blocks to create different mounds of horse droppings. Cool, right? At least, it was a fun task and there were some giggles during the development.
Let me just go ahead and add a spoiler for this image. You know, just in case. Just hover the black bar to reveal the photo. On the left are the modular parts and the three piles to the right are all composed by using all of these modular pieces.
Moving on to bigger tasks, the Alter Real got most of my attention this month. I have been looking forward to making this breed for quite some time, and I was happy to finally have this breed on my plan. I already teased this breed on our Patreon page, but now is time for the final reveal of the Alter Real.
This is how the Alter Real turned out. Previously, when we announced the Alter Real breed chosen by one of our amazing Kickstarter supporters, there were some concerns regarding if the Alter Real is a separate breed or not. While it is a breed derived from a Lusitano line, it is still considered a separate breed by many. But we hear you and we have a surprise for you. Not only will the Alter Real be introduced to Astride, but so will the Lusitano! The Lusitano (PSL) will be using the same detail maps and a similar model as the Alter Real, but will have different color genetics, a slightly different build, and they will be considered two separate breeds in the game.
Eldheim Environment
By Tirna - Project Manager, 3D-artist
Well, April has been a bit slow for me as I fell ill. My main focus at the beginning of April has been on company-related work, so not so much on the development side of things.
After that, I went over every part of the new stable modules, preparing them for texturing. I really hope that they will be ready and in the project (in Unity) at least before we go for summer holiday in July. When the stable will be available for you depends on whether the textures and shaders work as we plan or not.
Last month, I made a test environment, but now we are focusing more on Eldheim! As for now, there isn’t much to show yet, but we can share with you the mood board for one part of the map. Something exciting I can share is that I’m getting help and guidance from a very talented 3D artist, who also created our characters; Josef Najjar.
Breeds & Tack
By Marius - Animator
Earlier this month, I wanted to have a look at a possible future breed system as we want to start implementing other horse breeds soon. To start off, I decided to keep it simple and just see if I could make a prototype of a selection between breeds. I did have access to the Norwegian fjord horse model and began to see if I could find a good way to change between them, that could in theory also be further worked upon to allow breed mixing, but we cannot say if this is a possibility or not just yet.
In the end. I got a prototype working (after some disagreements with hierarchy list order navigation). Although the prototype does not work in-game outside of Unity as I did not have access to the UI Ouroboros and Maja have been working on. It only changes the body shape and some of the tack so far.
As Ouroboros have been working on an inventory system, I decided that it was time to look at scripting a code that applies tack correctly, as I am the most familiar with the rig setup and requirements. This turned out to be a little tricky and I am glad I found a video that talked a little in depth about game object attachment scripting, because we use SkinnedMeshRenderer, which in short means that the game objects follow the skinning weights on the rig and not just attached to a bone. This comes with a few problems that I personally would not have figured out without being told. The main issue is a reference field that needs to be set up that is not visible in any available menu, so you would need to know or find out as you can’t infer what the problem is from what you see in Unity.
After some back and forth, I managed to make the script work as intended, although it is a very manual approach so far. The only job this script has is to apply the game object correctly, because if not: the game object will be invisible.
Camera & Scoreboards
By Green Horse - Programmer
I’ve added a camera follow mode to the game by pressing C on the keyboard or Right Stick Down on a gamepad. It makes the camera follow the horse at a fixed angle instead of free movement. I’ve also looked at other games for inspiration on how to make the camera look towards where you are turning but that will be implemented at a later time.
We don’t have any in-game scoring yet, but that didn’t stop us from having our very first impromptu show jumping competition and a few more throughout the month. Using a totally accurate stopwatch on my phone, I timed each contestant and handed out some shiny gold medals. The competitions highlighted some issues with the striding planes, so I rewrote the code a little bit and made some improvements on how the striding planes become visible, making it easier to jump. The average time for everyone improved after that.
I had no idea what drill teams were before someone showed me. I appreciate these moments on the livestream because it makes me think about how we can implement these as fully functioning game modes. It’s also fun to see that people are organizing these through Discord.
I want to give a special shout out to the Patreon testers and the livestream viewers. Thank you for giving constant feedback, testing out new features and finding bugs in the game. Also I would like to thank you for making my life as a developer better and giving me something to look forward to every week. Having said that, I would really appreciate it if you stopped pushing my horse into the water whenever I’m distracted.
With much love, Green Horse
Inventory, Quests, and Saving
By Ouroboros - Programmer
I started this month by implementing a basic version of the quest system. This also resulted in some improvements to the dialogue system to make it more versatile. I then created an event system that is responsible for communications between the quest system and the rest of the game. The last part was to make a reward system (so many systems) that gives the player rewards for completing a quest. I have been a bit stressed about quests since it is such a complicated system, so it feels good to have the base ready and working.
The second thing I’ve worked on this month is a save system. We haven’t really had a standard for the structure of saved data and where in the code it should happen, which hasn’t been a problem since not much has needed to be saved so far. That is changing with the implementation of inventory and quests, and we’ve gotten to a point where a proper save system is necessary. I had already implemented saving and loading of the inventory, so I used that as a starting point. The result is one system that is responsible for saving all the data, and one that is responsible for loading the data.
I have spent the last few days of April on the inventory. It has seen some changes as I’ve worked on the quest- and save system, and now it’s time to do the finishing touches before the first version of the inventory is ready for release.
-
Please be aware that the content featured in these devlogs represents an ongoing work in progress and may be subject to further changes. We are committed to continuously developing and refining our game. To stay informed about the latest updates and connect with the rest of the Astride community, we invite you to join our dedicated Discord server community here! For additional information about Astride, please visit our official website.
Astride Patch 0.3.11
A new patch for Astride is now available. Here are the new features and changes/fixes that have been made. More patches and updates will come soon.
You may have to restart your Steam client if the update is not immediately available.
Patch highlights
Added content & features
Listen to the clippity-clops as your horse moves on the terrain, hoof sounds are now added amongst other sound effects
Music and ambience sounds have made their way into the game, adjust the volume levels in the settings menu
The horse’s hooves now leave behind a faint trail of dust particles while it is gracefully moving across the map
Petting the horse from horseback while moving and standing still, press G to give it a nice pat on the shoulder for working so hard
Greying and tobiano patterns now affect the horse’s mane and tail colors
Hyperpigmentation before a horse turns grey has been implemented
The visuals for the striding indicator has been updated and refreshed with a new look and feel
Added the option to toggle on/off the visuals of the striding/striding help
Option to toggle the gait text on/off in game settings
A show jumping course has been added in the indoor arena, start the course by using the board outside the arena
Options for VSync to sync PFS with monitor refresh rate or half of refresh rate
Added FPS Limit option for when Vsync is disabled
Horse pathing has been implemented, the horse will automatically follow the road when pressing V on the keyboard or the North Button on the gamepad
The horse will now automatically speed or down up to the required speed for gait changes when switching gait, making gait changes easier especially from canter to trot
Fixes & adjustments
The horse will no longer spin out of control over jumps when approaching them at a turn, the horse has has been told to maintain its composure for the future
Players can now mount the horse while crouching without getting stuck underneath it
Press “,” to hide UI in case you want to do some cool recordings without disturbing elements
The textures for the horse’s teeth, tongue, and gums are assigned and are no longer just white and lifeless (also, why are you looking inside the horse’s head?)
The normal map of the mane and tail has been tweaked to add more depth
The chestnut coat textures have been slightly desaturated in order to for the horses to not look like carrots
Fixed a minor animation problem in hands while riding
Fixed a crash that happened when players disconnected while holding a ball
Added collision to some stones that did not have colliders
Fixed some areas where the striding plane would hover above the ground
The main menu splash art has been replaced with something more seasonally appropriate
The human character is no longer bald
The horse now speeds up and slows down more quickly to make it easier to handle when riding through courses
Removed the Terrain Detail Density option
Some tweaks to post-processing, and lowered the bloom intensity
Fixed shadows sometimes disappearing from horse, this was due to reflection probe placement
Added a second texture option for greying, this has previously been available but at random
Known issues
The horse sometimes disobeys the follow-road command
The game crashes when shutting down a server if there are players online in that server
The ambience and music might cut out if there are too many sounds playing at once
Sounds for character footsteps, the ball and the Eldhests have not yet been implemented
The in-game music will play every track after each other and then stop
Authentication issue when you've recently disconnected from a server and you're trying to re-join
Cannot change horse tack
The gray option in the horse creator doesn’t completely gray out and currently has only one gray texture option
Some horse animations, like turning while standing and the piaffe, won’t play as they should while standing still
Petting animations not aligning properly at some speeds and while turning
If the horse is turning slow and the striding plane appears jittery or laggy, enable on VSync and set it to Every V-Blank, this should solve the issue
Devlog #38: March 2024
A new update is right around the corner, and our focus for March has been around this. Additionally, progress has been made on the inventory, dialogue, and quest systems, laying the groundwork for future updates.
Visual Updates & Creating UI
By Maja - CEO, Concept Artist
Hi, Maja here. Wow, March just flew by in an instance!
As some of you may have already noticed, I have given both the Astride Logo and Raidho Games logo a makeover. It was made back when Astride was just an idea, and some years have passed since then. I always kind of liked the Astride logo, but the main issue with it was that it was not very symmetric and hard to place in documents and such. And the lines were quite thin. The logo upgrade happened as I was preparing a style guide for Astride’s Social Media and documentation.
Of course the goal was to make it more symmetric and more compact with thicker lines as seen below. I also got some great pointers from a fellow 2D artist. The base idea for the logo is a Viking ship and a rune horse.
The Raidho logo just got some simple tweaks to make it more square and fuller.
Tirna asked me to create a painting or for one of the walls in the stable that we are preparing. So I’ve also been focused on that task this month. It’s currently featuring a Nordland horse and I can’t wait to continue on it further.
I've also had to step into new waters. I’m setting up the UI in Unity! And this is not just making the visual assets for it. Ourboros has been guiding me to learn the Unity UI toolkit. It’s been a bit confusing since I’m used to working more visually and not by text and in-engine, but it’s getting easier every day that I’m working on it. I’ve had a plan to change up the horse creator for a while. First, the player will choose a breed, then choose the coat color and genetics that are available for the chosen breed. They will then choose between available markings for the face and legs. Then choose mane and tail style. I’ve also prepared a page for stats and personality, though it won’t be available until the system for that is ready. At the end, there will be a “passport” page where the name, gender and age for the horse is chosen, and a summary of the choices that are made for the horse.
I also planned for a randomize button on each tab. I’ve made many icons for this too.
I am so excited to get my UI into the game. It will probably change here and there when it’s tested by the community, but it’s fun to make it either way.
Show Jumping Course & More
By Mathilde - Community Manager, 3D-artist
In March, I have been kind of all over the place trying to tie up loose ends, helping the rest of the team, and doing fixes here and there in preparation for the next update. Again, I've been spending some time on the Game Design Document so that features that are coming up in the development schedule are properly planned and explained for the programmers. This is very important to make sure that the development flows smoothly, avoiding as many hiccups as possible.
What I found the most exciting, however, was that I learned how to create new show jumping courses. Ouroboros has done some amazing programming which made creating show jumping courses a dream in addition to the fact that other developers can now create show jumping courses, ultimately relieving more time for the programmers to work on other features. It's still a work in progress, but it's definitely a start. I tried creating a course that used all of the jumps inside the riding arena and that the pathing between the jumps made sense. Some parts of the course can be a bit tricky, but I have really enjoyed both creating it and riding through it to test it out. For later, we (or mainly Ouroboros) will test out toggling between different show jumping courses and switching them out.
Above is an excerpt from the work-in-progress post I published on our Discord server. See the full video with better quality and framerate there.
I've also been helping out Maja with some of the genetic aspects of the new UI for the horse creator. Since I am the one sitting on the genetic "system" (at least the planned system for the game that is currently residing inside my head and in the Game Design Document), I help out where I can so that the UI matches how the genetics will work out.
As I mentioned earlier, I've been all over the place this month. I've done some tweaks here and there, changed up the splash art in the game menu, wrote a Patreon-post detailing the Dole horse, began preparation for making the Alter Real (finally), created some icons of markings, helped our technical artist with some horse color parameters, I've been writing the patch notes for the next update coming very soon, and I fitted all of the new tack to all of the current breeds that have been made. Fitting the tack is in preparation for the inventory system coming in Q2 of this year where players can change and remove the tack. I'm looking forward to how it will turn out!
Testing An Upgraded Environment
By Tirna - Project Manager, 3D-artist
First and foremost, we want to thank NatureManufacture for crafting such an array of amazing asset packs! We've had our eyes on them for months, although initially, we felt they were too hyper-realistic for our vision at first. However, as our horses and human characters evolved, the nature assets we relied on started to feel overly stylized for our game. I can't wait to create exciting but also relaxing landscapes for you to explore, and we hope that you will enjoy taking photos with your horses here! We need to mention that this environment will only be accessible in our Itch test scene as we need to figure out a few details before we put this, or something similar to the Steam version.
This environment will also contain fields filled with a good variety of flowers. I'm also excited to share a neat little trick with you.
The bottom photos are in the same spot of the map. In the left picture, it's a but flat and isn't as lush as we imagined. However, in the right picture, we swapped out the ground texture for one brimming with heather and flowers. This means we can make the meadows look lush without having a huge impact on the performance.
We need to revisit numerous textures later to ensure everything matches seamlessly. Fortunately, I've worked on a strategy for that, and I believe it won't consume as much time. Some of you may already know that I've been working on the new stable modules, and they're designed with this level of quality in mind. I also want to mention that the water in the Itch test scene is currently glitchy and very much temporary—we're working on fixing it.
At this stage, there isn't much more I can tell you about our environment since it's just in the test scene. But trust me, I've got a lot of ideas and inspirations bubbling up, ready to be put together to create Eldheim!
Since there isn’t much more I can share, other than pictures, Let’s have a look!
This is from a forest trail and a test of a rockier mountain.
This is a little blooper that happened when the sun broke. But it is kind of a mood, don’t you think?
And just for fun, keep in mind that this is just a photo edit, with the horse and rider form another shader and light setting than the environment behind it, but it is just to have somewhat of an idea where we are going with our visual style.
Horse Petting & Hair
By Marius - Animator
After I made the interacting animations last month, I had to set up a system to play the animations while also not disturbing the riding animation. Luckily I have already dabbled in this before so it wasn’t too hard to get into again. What I needed was to set up a layer mask; a layer mask is for masking out parts you don’t want to be affected and is used in other programs as well like photoshop. The difference in Unity is that what you decide is what bones on the rigg should be affected by the animation on this layer. This opens up having animations that only affect the fingers or in this case the upper body.
After making the mask and testing if it worked as it should, I had to program a system to activate that animation layer and play the animation with a button press. While making this system I also found some settings that would be essential to make the interaction work with more flexibility, this makes the animation layer blend with the base layer instead of overriding it completely; opening up the possibility to have it work on other animations than the idle animation. Though it will clip with only that in some animations it does make it more flexible. Doing it while turning is a surefire way to break the animation as of now though, haha.
Going more into system work, I wanted to start making it possible to change between genders. While it is not possible in the game yet and still have some quality checks to go through before programming it into the game fully. I made a script that made it possible to change it in the game engine, though there were some problems along the way that got me to look at the way I exported the models and animation anew. After a lot of troubleshooting and searching the web, it turns out that while exporting I also exported the dependencies I had in Blender. Dependencies that I use to test the blend shapes in Blender and in animations, but also do not work in Unity. I falsely believed that since they don’t work in Unity they would not be in the export… I was wrong; the dependency information just locked up all the blend shapes to be reset at every frame, so the blend shapes could never be changed and stay during gameplay.
If anyone is in need to know what I am talking about it is the “relative” check box in the shape keys tab in object data properties. It should be unchecked if you have drivers in your blend shapes.
Within the team we were pretty unanimous in thinking that the baldness of our character had gone on for too long. I tried to find the original file from our character modeler, but could not find it among all the backups I have (you can never have enough backups), so I asked him and got it anew and started working on it. He also had made some improvements since last time, as it was now made with the helmet in mind.
After I added it to the model something weird happened though. All character animations played at half the speed. We could not fathom what the problem could be. So I looked through the last few versions and updates we made within our project and found out that for some reason it was the hair model that did it; not code, not animation information, but the hair. I tried exporting it into the character file again, but it had the same problem. A note here is that usually I export in .FBX format as it keeps more information during transfer. So I had a thought, what if I export it as an .obj into Blender instead as .obj is a little more rudimentary. To my surprise and relief it worked, even though I still don’t know exactly why it happened.
Next up and what I am still currently working on is a system to change the horses’ breed. A lot of the basic system is similar to how the system I made for gender adjustments, but a lot more complicated as I need it to be forwards compatible. Though, sadly, it is not functional as of yet, so there is not much to show at the moment.
Big Fixing & Polishing
By Green Horse - Programmer
March was a month of fixing bugs, polishing, and getting a build ready for release. Thanks to a group of Patreon playtesting heroes, who keep joining my livestreams, I’ve had my hands full fixing bugs that they kept on discovering. I’ve been settling into my routine of streaming three times per week and I might try to do more Patreon-related development because of how quickly I got feedback on changes and how much that helped with the development. We’re incredibly lucky to have such a dedicated community to help us out.
Between fixing bugs and everything I’ve been researching other games like Half Life 2 on how to handle interaction of physical objects. They seem to have a pretty solid design on picking up and carrying physical objects so I want to implement that design in Astride.
Dialogue & Quest System
By Ouroboros - Programmer
March has ended up being a bit of everything. I have worked on the inventory, code for UI, dialogue system, bug fixes and tweaks, show jumping courses, and I have started some preliminary work on the quest system. The inventory is coming along nicely, but there is still work to be done before we are ready to release the first version. The base for the dialogue system is done, but it won’t see much use until we get further with the quests.
Test of loading and displaying dialogue.
When it comes to the quest system, I am trying to stay a few steps ahead. It won’t be released until autumn, but it is a complex system that will require a lot of work to get right. It needs information from other systems (inventory, dialogue, dressage, show jumping, etc) to keep track of the progression of quests. It should also be relatively simple to make and add quests without having to change any code. This is easier said than done since a quest could be anything from “win the show jumping championship” to “pick up an eldhest”. Adding to that, one quest can have multiple steps to it, and even prerequisites that have to be done for the quest to become available at all.
The preliminary work for quests includes planning how to implement everything so that it works the way we want. This mostly comes down to how the different parts should be split into components and systems, what entities are needed, what data the different parts will need access to, and making sure it will be possible to add to it later without everything breaking. It is also important to have a good idea of how the quest system will be implemented when doing more work on the inventory and dialogue, since they have to be able to communicate with the quest system when relevant events happen. There’s a lot to take into consideration at every step, but I always enjoy a challenge.
-
Please be aware that the content featured in these devlogs represents an ongoing work in progress and may be subject to further changes. We are committed to continuously developing and refining our game. To stay informed about the latest updates and connect with the rest of the Astride community, we invite you to join our dedicated Discord server community here! For additional information about Astride, please visit our official website.
Devlog #37: February 2024
In the month of February, our focus has been on designing Nordic-themed tools and educational posters, the Dole horse, interior design for the stable, implementing dynamic music and terrain-dependent hoof sound effects, developing AI for horse pathing, and laying the groundwork for an inventory system.
Tools & Anatomy
By Maja - CEO, Concept Artist
Hi, it’s Maja here! For the art part of February, I’ve been drawing concept art for a few assets and tools like a spray bottle, fork, bucket, broom, and shovel. I decided to make them out of wood and metal. Which gives them a very Nordic and historic appearance. I wanted them to have a wood carving design which makes them look quite unique compared to standard plastic barn tools. For the spray bottle, I wanted to use the fjord as the model, since it’s kind of the icon of Astride. And I wanted it to seem like it’s designed for horses in cold countries. So I went with Aurora Shine so that when someone uses this spray the horse will shine just as beautiful as the Nordic lights. I will make the bottle art rendered and nice for the game since this is just a sketch.
In most stables I’ve been in, there has always been an anatomy chart of a horse somewhere in the stable. This poster showcases the horse’s skeleton and muscles with names for each part. It’s very educational to look at. It often comes with advice for when the horses get hurt and what to do, and it also tells you to call the vet. We horse people always want the best for our horses, so this can be very helpful.
It will be something educational to look at. I of course had to put the iconic Fjord in once again, however, these posters are almost always made from a Warmblood horse. Which is cool, but I really wanted the Fjord to be showcased in Astride. To draw a Fjord is not an issue for me, it went pretty fast. But when it came to the skeleton part I had to do tons of research to get it to fit the Fjord as much as possible. And there is a huge difference between a Fjord and a Warmblood. The skull itself was very different. It’s so large compared to the body and it’s very wide. I already knew that the Fjord can have quite large heads. Often they can use like 135 in blankets and cob-sized leg protectors and such, but the head sometimes is the size full. The Fjord is also a small draft breed, so that’s that.
I had a Livestream in our Discord channel for the supporters on Patreon and Kickstarter. It was very nice and people seemed to enjoy it. But I was too scared to speak and I did not know how to play music during a stream. So I will look into that next time. Anyway, when the muscle horsie is complete, I want to add lines and names for each muscle and bone part when I make it into a complete poster.
Horses & Game Design
By Mathilde - Community Manager, 3D-artist
I know that February is a shorter month, but it flew by fast! This month, I have had a lot of things to work on. The biggest task has definitely been the Norwegian Dole horse model. While working on the Dole horse, I’ve also been back and forth between working on tasks inside the Unity Engine as well as writing a lot in our Game Design Document.
When it comes to the Game Design Document, it is very important to have specific details around the gameplay and game functionality so that our programmers can get a picture of how the result will be. I’ve been writing about how the horse AI should work, and how horses should behave in different situations that are based on the real-life reactions of horses. Thankfully, I already have a lot of experience with horse behavior, so I could translate this into a language (mostly if-statements) that the programmers can use. Since we want the horses to feel like real, individual, horses, it is really important that the AI reflects this.
The Show Jumping has also had a major information dump in our GDD. Mainly about how the jumping should work in different settings, such as training and doing lessons at home, competitions with NPCs/other players, and how a course designer should work for players to design courses at home and share them. And of course one of the most important factors - is the tutorial/introduction where players will learn about how to set up a horse perfectly to the jump (speed, striding, angle), the rules for competitions, and more. This is still a work in progress, but it’s starting to shape up.
Back to the Dole horse, it is finally reaching the finish line. While it doesn’t have feathers (yet), it is coming along. For the feathers on the legs, this is a much bigger task to figure out as the hair cards will need to be placed in a certain way for it to look good. Not only that, we will also need different types of feathers since the feathers on an Icelandic vs Dole are different. There will be at least two or three types of feathers depending on the horse’s breed and heritage. But more on that later down the road! With the Dole, I‘ve used the same approach as the other breeds. It has its own high poly model which is baked on top of the low poly model, making it visually different from the other breeds.
As a last addition to my devlog, I can reveal the next horse that I will be working on. The Alter Real will be my next priority and I am looking forward to creating a baroque breed this time.
Making Rooms
By Tirna - Project Manager, 3D-artist
Last month, I was working on the main structure of the stable. February mainly focused on making the interior, which includes different rooms such as the stable office, tack room, and feed room.
Since the stable was bought by a well-established horse breeder, we aimed for it to be in better shape than just "some stable." While we understand that many people like the opportunity to develop and customize the stable themselves, we view that as a significant risk in terms of game development for now. Therefore, we aim to create a stable with high standards from the beginning! However, this doesn't mean that we have completely excluded some sort of customization. But please keep in mind that if we include it, it may be restricted since we want to focus on other aspects that are more related to gameplay.
The stable office has a classic look with vintage elements. We wanted the office to be high-end! You might spend time here with NPCs like staff or clients, and if you play online, it can be a cool hangout with friends. Therefore, we decided to add a cozy lounge area in front of the fireplace and a large window that will hopefully offer a nice view.
In the feed room, the player can find the horses' food. Each stall has its own shelves. This room is inspired by both a laundry room and a kitchen to elevate the style of the stable. Usually, stables aren't this luxurious, but we thought, why not make it look like a dream place when it doesn’t cost us anything more or less to make it exclusive?
Last but not least, we have the tack room. It has a similar style to the feed room to maintain a cohesive style for the entire stable. As before, each stall (or here, each horse) has its own designated place where you can find their tack. The shelves and bench at the back will be decorated with relevant items.
I can't wait to texture all of this and see how it all works together in Astride. So far, I've only started small-scale texturing a few models and have been working on a setup where the walls can be seamlessly put side by side without showing any seams.
Sound & Music
By Marius - Animator
Last month, I meant to make the music change depending on if you were in the main menu, making a horse or running around in the game. This turned out to be more complicated than I envisioned as personally I have not worked with the menu system at all, and Ouroboros was working on an overhaul of the fundamental UI system; which meant that anything I could get from the menu system would be changed in the future. This led to the problem of how could I make a script that needs to know if you are in the menu without access to the UI system? The solution turned out to be scenes.
For those not in the know: scenes are as the name suggests a container for everything that you would need to be loaded in in that scene. For example: The world you play in would be one of the major scenes containing everything from terrain, buildings, horses and sound emitters. While the horse creator is a smaller scene that loads in when needed. You can think of it as an instance in MMOs often used for specific self contained areas, like inside houses or PvP maps.
Back to the music: The solution was to look for active scenes in the game! The main playing area and horse creator would be easy with this approach as they are self contained scenes that are only active when in use, the main menu was a head scratcher though. For when you are in the main menu there is only one scene active, which is a scene containing just scripts, UI and sound management. The problem is that this scene is always active, so I can’t use it as a reference and rather make the script ignore the scene altogether. So after some brainstorming I came up with making the script play the main menu music when no scenes are active, excluding the management scene.
Please excuse the background noises as I didn’t realize the mic was on.
As I got the hooves to make sound last month, my next step (chuckle) was to make it dependent on the terrain surface. This meant that I needed to detect that there is a surface beneath the hoof stomp object before anything else. I did this by firing a raycast downwards from the stomp object and seeing if it hits anything tagged as terrain, the raycast itself will get information about the first object it hits so I can easily know if I am directly on the terrain object, on a rock or a floor of any kind.
After making the script detect if it is on terrain or not the next step was to get the information on what surface you where standing in the terrain. This meant that I needed to know what texture was currently under the hoof stomp object. First and foremost I set the default sound effect to stone, this is because at least for now about everything you can ride on that is not terrain are stones. This means that if it does not detect the terrain it will default to the sound of walking on stone.
During this I requested from our sound designer to get access to the other hoof sounds, which I got with a warning that the other sound effects were not properly started on yet so they would not sound good. Which was okay for I just needed them to test the sound change system so the sound design was not a concern at the time.
Next I did was to extract the x/y coordinate position of the hooves position on the terrain. Which is hard for me to explain, but the raycast the hoof object sends, gets information on where on the terrain object it hits in coordinates that can be cross referenced with the coordinates of the texture map of that terrain tile. Now you know where the hoof is placed on the texture map and can find what pixel you stand on, and can then get what type of texture brush is used on that pixel. You do get every layer of brushes used on that pixel and to what degree though so I simplified it to only pass on the brush with the highest number and thrush the most prevalent brush on that pixel. Then I had to set up a script that translates this number into different sound identifying names or numbers in this case. For example: you stepped on a spot that is gravel transitioning to grass, you get 0.245 of gravel texture and 0.755 grass texture. It will then send the grass texture ID number as it is the highest, to the script that translates it into the sound ID number for grass and changes the surface sound parameter to correspond with that sound ID number.
A problem I noticed is that sometimes the hoof clips slightly though the surface object, if it is a rock or the actual terrain. This makes it possible that the raycast gets started below the surface and tries to find the first thing downwards, which leads to it either finding the terrain surface while you are on a rock or if you are on the terrain it will find nothing; and if it finds nothing it will play the default sound, which is the stone sound. So to fix that I had to lift the origin point for the raycast a few centimeters upwards.
After making the hoof sound play and change based on surface texture it was time to break it. In other words there were some things in the setup that led to performance issues and had to be reworked. The main offender of this was that a new object spawned every time a hoof struck the ground. I did talk a little about this last devlog also and had put a limit on how many were active at a time. Otherwise all the functionalities that made up the hoof sound system were across several scripts with their own dedicated function that got referenced into a main script. This is not a good coding practice and would need to be restructured. So the first thing I did was place the sound emitters (and particle systems) on the hooves instead of the object that I spawned earlier. To spare details and a lot of back and forth I restructured the scripts from six into two, the main manager script now had all functionality scripts and the last script was unchanged as it is a library and translates the textureID to soundID. The library script is just referenced and not placed in any object but the main manager script got fused with the code that originally spawned the objects that held the sound emitters, I just reused the functionality to change and play sounds instead.
At this point I needed a break from coding and started some interaction animations with the horse. As of now I started with stuff you do from the horseback like petting, stroking and scratching the base of the neck. Other interactions will need some more advanced functionality that I need to research before making.
In the last week while preparing to export I started to look into updating the human rig a little to remove clipping through clothing and maybe even make it possible to use the masculine model. I did this by designating segments of the body and making blend shapes that shrink the designated body segments. The part that shrinks should be everything completely covered by clothing, like the torso and hips when you have for example T-shirt and shorts equipped.
To make the masculine character usable will take a little more work though and may need to affect the animations themselves, but the body segment shrinking goes a long way to fix the issues it currently has.
Horse Pathing
By Green Horse - Programmer
February has been a month of focused AI development. Inspired by Red Dead Redemption 2’s cinematic mode, where the horse automatically follows a path, I’ve been exploring ways to enable that type of feature in Astride. It’s extremely simple for now, but it will become more advanced over time. The goal is for the horses to act and behave like real-life horses. The technical terms for how I want horses to behave are “Flocking” and “Boids”.
To make horses follow roads, we need to provide the AI with information on where the roads are. I’ve implemented this as a simple node graph system where path nodes connect to nearby path nodes to form a traversable graph. With the help of bezier curve math used in the dressage gamemode, we can create smooth curves between the points and have the horse move along the curve. It’s experiencing some issues with overshooting at high velocities, but that’s a problem to solve later.
Some other features have also been worked on. The striding indicator has been toned down and made more intuitive. Instead of showing each striding point as a dotted line in front of the horse, we only show the points inside the striding plane as spheres and make them green when they’re inside the green jumping zone. This will make it much easier to see if your striding is aligned at a distance.
Inventory System
By Ouroboros - Programmer
My focus for February has been to work on an inventory system. This first iteration is a simple implementation that allows the player to put certain items into the inventory, and spawn items from the inventory into the world. The inventory is saved between sessions, so now it will be much easier to keep track of all the eldhest figures. With that said, the inventory system won’t be ready for release for a while yet. Some features still need to be implemented, and some issues need to be ironed out.
For a small change of pace, I have spent the last week of February working on a system for dialogues and texts in general. This will provide a good foundation when starting work on quests and tutorials. I have also worked a little more on the new UI by adding gamepad support and fixed some bugs.
Please be aware that the content featured in these devlogs represents an ongoing work in progress and may be subject to further changes. We are committed to continuously developing and refining our game. To stay informed about the latest updates and connect with the rest of the Astride community, we invite you to join our dedicated Discord server community here! For additional information about Astride, please visit our official website.
Devlog #36: January 2024
In January, we focused on giving Astride some exciting upgrades. We polished up the plans for UI for show jumping and dressage, brought in a bunch of new obstacles, streamlined building workflows, and explored the world of sound design. We also tackled crashes, improved game performance, and had some fun with hoof sounds and visual effects.
UI design
By Maja - CEO, Concept Artist
UI for both showjumping and dressage has been the main focus for me. I’ve done research, sketched out ideas, and brainstormed together with the team. I’ve also asked our dear and kind Patreon supporters for their opinion on the show jumping part and I have gotten a lot of great feedback and insights, which has been quite helpful. The key to creating UI for the kind of style we have for Astride is to make it very simplistic and clean while also being easy to understand.
For show jumping, many people would like the option to turn off the UI, this is something we have already planned, so it's great to hear. However, the actual visual UI is there to guide the player to complete the courses so it is important to create something easy to understand. The striding system will also be getting a new UI, but we have to do a lot of testing on this to discover what’s the best way to go.
Dressage is the hardest one to create because there is a lot of information that needs to be delivered to the player in a short amount of time. One thing is to make the player know where to go. Another thing is to give the player the information to know when and where to do the right gait, move, or desired speed. For example, flying changes, which is to switch between right and left canter in a certain tempo. Or trotting from C to M and then starting a passage move from a certain spot.
After some brainstorming, we found a great solution to this. I will be continuing to create the first iteration of this. When you are riding a dressage program in real life, there is no visual representation of where you are supposed to ride and what to do where, and when. All in all, there is a huge amount of text within these programs, and for a game where things will be kind of fast, it’s important to get the player to understand what they are supposed to do and when. This will be interesting to test in the future.
Colorful obstacles and horses
By Mathilde - Community Manager, 3D-artist
A new year of development has just begun and I am excited for the year to come. Lately, I’ve become more hands-on within the Unity engine and I am glad to be of more use directly connected to the development and not just the creation of assets.
The start of the month was spent mostly on planning the year, making schedules, and adding more features and content to our Game Design Document that will be needed for this year.
While I have started working on another horse breed for Astride (spoiler; it’s the Norwegian Dole horse), I’ve been more prioritized with making the game more fun with what features we currently have available. At the end of December, I shared my first attempt at creating a new obstacle that the players could jump with their horses. The result was a few logs placed around the map that were jumpable. While this was a very fun thing to work on, it was just that one type of log and did become a bit dull after some time.
In January, I challenged myself and not only created more natural jumps, such as logs, fallen trees, and cross country obstacles that Tirna made a while back, but I also created more diversity in the show jumping obstacles. Different verticals, oxers, triple bars, cross rails, and ground poles. I really enjoyed working on the new jumps as it instantly gave more diversity and colors.
Since we don’t have a system for switching through or creating custom show jumping courses yet, I wanted to switch up the jumps in the indoor arena and the big outside arena. For the inside arena, I wanted to see if we could get a show jumping course with 12-13 jumps under one roof. With help from Maja to design the course, I removed all of the previous jumps and replaced them with new ones. I also played around with the colors of the poles so that they’re not all just in one uniform color for each jump. For the big outside arena, I wanted a drastic change from the randomly placed jumps. I wanted to give it some intention, and what’s better than exercises to test player skills? This was also a great way for me to test distances between jumps and stride lengths in both canter and trot.
When I had all the new jump/obstacle variations finished, it wasn’t long until the newest patch was going to be released. I was adamant to get the new jumps in place for the patch and I am glad that I was able to push for it. Post patch release, it looks like people have been enjoying the new jumps and that the big outside arena has turned into a playground of different jumping exercises.
Building modules and Viking tack
By Tirna - Project Manager, 3D-artist
As many of you already know, we went through a lot of changes right before Christmas. This involved defining the core elements of our game, making tough decisions, and taking necessary steps to ensure the game reaches its most complete state by the end of 2026. In the process of these changes and planning, we also revisited older pipelines and documentation. One of the pipelines I've been focusing on is related to buildings, specifically the stables. This indicates that we are likely to introduce a stable model later this year!
As mentioned above, one of the pipelines we are addressing pertains to buildings. The initial iterations leaned towards creating as unique elements as possible, but they weren't optimal. Therefore, the new workflow is based on simple modules that can be assembled to create a somewhat "boring"-looking shoebox or other shapes. The key to making them stand out lies in the details and decorations placed on this model. The primary reason for adopting this method is to enhance the level of detail at the lowest cost. It will be more based on materials rather than creating unique textures, saving us time that can be allocated to more critical tasks, such as environmental design.
The new workflow makes it easier to change out materials and rapidly construct stables, houses, and other buildings. We can't guarantee that this will affect the gameplay, but for us at Raidho, it translates to a faster pipeline and setup in Unity with better-optimized buildings and higher quality textures. The previously made stables and stable modules will be taken into consideration during this process.
This tack set is a one-of-a-kind, which means this tack set will only be available from a certain Patreon level in the future. These are details we are yet to figure out, but we know that we want to give back to our loyal supporters. The 3D model will not be available in other skins in the game either. So, it is truly a one-of-a-kind tack set. It is inspired by different types of tack, both baroque, medieval, and Viking. The decorations are heavily based on the Viking patterns that they carved into wood and other materials. It still might go through a few minor changes and polishing, but this is basically it!
The Viking fantasy tack set includes: - Saddle - Distance bridle with unique detachable bit, for bit and bitless/halter option - Saddle pad - Saddle bag - Decorative harness and chest collar
The sound of hooves
By Marius - Animator
On the animation side of things we are at a place where I feel comfortable enough to temporarily shift my main focus, so I started 2024 with shifting my main focus to sound. I have mainly been working on building the framework for playing sounds in-game and discussing with our sound designer.
First and foremost I needed to be able to play the sounds. At the start of the month it was scarce with the variety of sounds I had access to, so I started with the music as I already had the files I would use in the beginning. Most of the work there was just learning the basics of the sound software and how to integrate it into Unity. I set several progressing goals for myself as I am quite green in this area of development.
The first goal was very basic: Play one melody on loop at startup. This was about as simple a task I could think of that had a clear testable benchmark for when it was done. In retrospect it was maybe too easy, but then and there; it was a lot of knowledge I just didn’t have yet and served as a good starting point. There were a lot I could infer, like I see there are two components named listener and emitter; I should probably have at least one of each, but other than that I was quite clueless. The first goal itself sorted itself out quite fast though, after some tutorials here and there.
While I got the music playing I was also discussing with our sound designer if he had some sound effects ready. He did have a repository from the recording session last year, but he wasn’t quite happy with how the recordings turned out and wants to re-record them some time. But it gave me something to work with and I started setting up the system, the sound files can always be updated at a later time.
I started working on a system to change music between the main menu, horse creator and the game world. But while trying to figure out how to do it I got requested by the sound designer to make it possible to play hoof sounds when riding, as he wanted to start working on those sounds. And while I already had started on the music side of things, I figured it would be best for me to enable him to work on sounds as unhindered as possible, so I switched to figuring out a system for stomp detection. Apparently from my research: the usual way to do it, wouldn’t necessarily work with our animation system. This led to me to find other ways to do it and ended in a system that reads the hoof height to determine if it is on the ground or not.
While that script worked as a proof of concept, it didn’t actually work for the intended use. I had to find a way to make it compatible with what I wanted to use it for. I personally am not a programmer, and while I know some basic code and find coding somewhat fun; I don’t have the experience to intuitively know or suspect what should be done and I won’t bother the programmers for every bump in the road. It was time for a learning adventure!
I did find the solution for proper detection after a lot of trial and error before being reminded that UnityEngine.Events exist. Now that I had the stomp events firing properly I needed to make it play the hoof sounds.
While working on the system I made an object with the sound emitter for hooves. The idea is that every time a hoof strikes the ground this object gets spawned at the hoof position and plays the sound. Before I got the hoof sound working I added a cylinder to the object to show that it got spawned.
While I don’t have footage of it, before this stage there were several problems I had to fix. First and foremost: before I remembered the event system it spawned a new cylinder every frame a hoof touched the ground. Which is a good way to fry your pc. To combat this new problem I had to set a limit to how many there could be at any time as a precaution, at least until the spawning script is functional.
Finally I could add hoof sounds to the objects, which in of itself was easy at this point and went really smoothly, especially when working together with the sound designer.
Later the audio files got improved a little so it did not sound so much like digging dirt in Minecraft. There was also a problem with a setting that resulted in only playing a maximum of 3 instances of the hoof sound, which is not enough when you have 4 legs. This got fixed later by our sound designer.
At this point I felt I needed a breather from sound and decided that I could exchange the cylinders (that I had hidden at this point) with actual visual effects like kicking up dust. I always planned to use the same system I made to add visual effects too, so I could just as well add something simple now.
After reading up on particle systems, I tested a little and came to a setup using two particle emitters. One for width and one for the main concentration of dust. These get played at the same time when hooves strike the ground. So far I think I’ve found a decent setup for kicking up dust as it is visible but not too intrusive. It still needs a lot of work though. Especially considering different surfaces.
These changes have done a lot to improve the feel of the horse when playing even in the early stages of sound and VFX design. Forwards I will look into optimizing the hoof system, as spawning new objects and deleting them again is not the best way to do things and can become heavy for the computer. So I’ll probably make a pool of them and reuse the sound and VFX emitter objects to make it easier to compute.
Optimization and imposters
By Green Horse - Programmer
In December and January I've mainly been figuring out why the game has been crashing and implementing a fix for that in the latest update.
Calculating lights and shadows every frame is not optimal, so we can reduce the time it takes to render a frame by baking the light information into the surfaces themselves. However, it didn't really work out in the end, so I dropped it for now. There are more important things to do at the moment, and I'm not a technical artist, so it's not my area.
Bakery Lightmapper in action
LOD levels and impostors are important for rendering objects at the highest quality at all times. Level of Detail (LOD) exists to make objects swap between different quality levels based on distance, allowing for a seamless transition between levels. The goal is to cross-fade between these levels so that it's not noticeable. At the very last LOD level, there is usually a simple 2D image of the object.
The left shows a full-quality object, while the right shows a 2D image
The game consumed around 10 GB of memory more than it was supposed to due to a fault in Automatic Shader Variant Stripping. Unity should strip these automatically, but we had to manually tick off every feature we didn't use in the game to reduce the shader memory usage to around 0.6 GB. This made the game finally playable for a lot of users with lower-end devices.
I've started live streaming regularly and I have some long-term plans that I'm working on. One of the goals is to have a 24/7 server up and running. We usually have around 10-15 players on the livestream server and it's fun to do trail rides together, so I'm hoping to create some sort of community server for people to hang out in.
In the future, viewers should be able to have a tiny horse living at the bottom of the screen and interact with it through channel points while the stream is running. I've made a simple Unity application that hooks into the Twitch chat API to be able to read and interact with the chat. I will experiment more with this in the future when I have the time.
New UI system
By Ouroboros - Programmer
I have spent most of this month working on UI. This will be important going forward as we focus on gameplay and will have a greater need to convey information to the players. We decided to swap to Unity’s new UI system, UI Toolkit. The main reason for this is that it is easier to work with for people without programming knowledge. Making changes to how the UI looks will be easier, faster, and won’t require a programmer unless new functionality is added. Migrating to UI Toolkit was also a good opportunity to go through the code behind the UI and do a bit of cleanup.
Old UI
New UI
Old UI
New UI (is liable to change before it is released in an update)
Please be aware that the content featured in these devlogs represents an ongoing work in progress and may be subject to further changes. We are committed to continuously developing and refining our game. To stay informed about the latest updates and connect with the rest of the Astride community, we invite you to join our dedicated Discord server community here! For additional information about Astride, please visit our official website.
Astride Patch 0.3.2
A new patch for Astride is now available. Here are the new features and changes/fixes that have been made. More patches and updates will come soon.
You may have to restart your Steam client if the update is not immediately available.
Added content & features
The big outside arena has been filled with polework and jumping exercises
The area with natural log jumps has been updated with new cross country jumps
The previous show jumping course in the indoor riding arena has been replaced with a new one
Fixes & adjustments
Reduced memory usage by up to 10GB due to a big amount of shaders being compiled, this should fix the crashing issues on many devices
Added Amplify Impostors to most objects that will replace meshes with images when far enough away from them, increasing the performance
Reduced the texture sizes of some layers of horse textures
The horse is less likely to refuse jumping any obstacles
The horse’s jump transitions have been adjusted
The colliders for the jumps have been adjusted to make them easier to navigate between
Horses can now jump in slopes/hills
The colliders on certain outdoor fences are now working
Added world bounds to prevent players from jumping off the map
Known issues
Cannot toggle on/off horse tack
Cannot toggle between first and third-person camera view yet
The gray option in the horse creator doesn’t completely gray out and currently has only one gray texture option
No option to lock the camera to the horse
The blending between canter and gallop is not working as it should and will be revised
Some horse animations, like the piaffe, won’t play as they should while standing still
Jumping while turning makes the horse rotate over the jump
The striding plane on jumpable logs can be hard to see through the grass
Horses can get stuck in the water
Picking up multiple objects at the same time
Astride Roadmap 2024
We bring you our roadmap for Astride’s development in 2024. This roadmap shows you our general plans for the year. Please note that different quarters can be worked on at different times. This means that features that will come in Q4 can be worked on already in Q1 as the tasks are big and require time.
The goal of the first quarter of 2024 is to add music/sound to the start menu and horse creator.
Q2 - Inventory
The goal for Q2 is to have a prototype ready for the inventory system. We want our players to be able to add/remove tack from their horses by using their inventory.
Q3 - Quests & Buildings
In the third quarter, we will have small, simple quests ready for testing. These quests can be to finish a dressage test with at least X score, jump X amount of obstacles, or ride X amount of distance. These quests will not include speaking to NPCs. For buildings, a stable will be added with functioning doors.
Q4 - AI & Breeds
In the last quarter, the horses will react to the environment. Water, rocks, and other elements in the environment will trigger a reaction in the horse. The horse AI will not be finished, but serve as the first iteration of the AI system. New horse breeds will be added to Astride. The first breeds we are focusing on are the Norwegian Fjord, the Arabian, and the Percheron horses.
Please note that changes in the development are prone to happen. This roadmap consists of goals of development that we currently have planned. Game development is a complex and iterative process, subject to unforeseen challenges and changes.
Features that are not in high focus in 2024
Show jumping and dressage can have tweaks and fixes, but will not be a main focus. Human character creation, the full environment, NPCs, stable management, and breeding are not a part of this year’s development plan.
Thank you so much for your continued support of Astride’s development.
Astride Patch 2023.12.20
A new patch for Astride is now available. Here are the new features and changes/fixes that have been made. More patches and updates will come soon.
You may have to restart your Steam client if the update is not immediately available.
Added features
Jumpable wooden logs have been placed in the forest trails
Added multiple signs to avoid people getting lost
Fixes and adjustments
The jittering horses in multiplayer have been banished
The overall environment light has been tweaked, and shadows are less dark
A couple of changes to the environment to add a small forest and some open fields
The ground has been smoothed over in several areas
The ocean no longer looks like gasoline
Passage, piaffe, and pirouette animations can now be seen by other players when in multiplayer
The red area on the striding plane has been removed, now the entire striding plane should be jumpable
The previously blue dots used to measure strides are now white as they were sometimes hard to see
Mounting while holding an Eldhest figurine no longer makes it impossible to dismount
Adjusted height of the round corrals
The gallop animation has been adjusted for both horse and rider
Some Eldhest figurine locations have been adjusted for the changes in the map
Picking up the Eldhest and mounting will now drop the Eldhest and you can dismount after
Known issues
Cannot toggle on/off horse tack
Cannot toggle between first and third-person camera view yet
The gray option in the horse creator doesn’t completely gray out and currently has only one gray texture option
No option to lock the camera to the horse
The blending between canter and gallop is still not perfect
Horse sometimes doesn’t jump even when lined up to the stride perfectly
If another player dismounts while in multiplayer, the rider keeps the riding animation, fix this by jumping with the character
Jumping while turning makes the horse rotate over the jump
Only the rider who starts the dressage program in a multiplayer instance will be able to finish it
Zoom is not a feature on the gamepad yet, scroll using the scroll wheel
The horse's jumping animation is slow and doesn't blend well with the canter at the moment, we are looking into a fix for this
The strides are currently projecting from the horse's left foot at the right canter, this will be adjusted later
The slow piaffe and standing still turning animations are in very slow-motion
The room at the entrance of the indoor riding arena is currently not well-lit
Players are able to carry many items at once
The fence behind the riding arena refuses to collide when they’ve been explicitly told to
Some options menu items do not work
Devlog #35: November/December 2023
In November, the team worked on the final push towards the bigger update that was released on December 1st. Since December is a short month of development, we decided to merge it with the November development log. The next devlog will be regarding the development in January.
Erika and River
By Maja - CEO, Concept Artist
Hi everyone, Maja here. November has been a hectic month for us. Other than the preparations for the update, I’ve designed some more NPCs.
Erika is one of the first NPC ideas we had for Astride. She is a showjumper. Back in early 2022, I made a few sketches of what she would look like, but I never finalized her design. So I made a new mood board, looked at my old sketches, and drew. I was so back and forth with her design, but I finally made what I was looking for. It was mainly the color palette that didn’t feel right for me. She comes from a wealthy and well-known family in Eldheim, with high expectations of her. Her clothes are pricey but she tends to lean more towards softer-looking designs and colors like light pink. A kind of cottage core top, a white skirt, a black belt, and brown boots. Her necklace, earrings, and belt buckle are rose gold colored. For her hair, I gave her long hair with dark roots and light ends. It is a cute hairstyle, which is a large braid in the back, and then turns into a low, wavy ponytail. Other than show jumping, Erika really likes to draw. So she will often bring her sketchbook around.
River is here and ready for action. They believe cross country is the coolest discipline in the world. It has everything they are looking for. It has a lot of speed, many challenges, and may also be a bit risky. River and their horse are up for the challenge and will not let anyone tell them otherwise. River loves heavy music like rock and metal and prefers to wear more punk rock-inspired clothing. River is someone who does whatever they want and is not afraid to express their thoughts and opinions. Also, River identifies as non-binary.
I tried many different color palettes for them. I tried out many of the most common punk colors like green and red, but I landed on purple and of course, black. I also wanted them to have a third color that would be very bright, almost neon. So yellow was a good choice since it is the complementary color to purple. For their hair, I wanted a tough-looking style. So an undercut was a very good option for them. I tried some hairstyles with both long and short hair, but in the end, the shorter style suited them the most. I also gave them some makeup that is suitable for the punk style. Blonde is their natural hair color as well. I tried to give them some colored parts, but I liked the blonde the most. I gave them a tattoo as well since I imagined them to be someone who would love a sleeve. It’s a snake surrounded by roses.
Into the engine
By Mathilde - Community Manager, 3D-artist
The month of November flew by incredibly fast. While I had some tasks to focus on, some of my time was spent inside the engine to help in any way that I could towards the update that we released.
Since the player character didn’t have any LODs, or Level of Detail, as we call it, I was given the task of making a low poly version of the mesh for the character. That way, when another character is far away, we can replace the high poly mesh with the low poly and you won’t be able to tell the difference. I tried to lower the polygon count as much as possible without losing the overall shape of the character and clothes. It proved to be a bit tricky to get right, but for now, I am happy with the result.
I was able to start looking at new pattern options for the tobiano gene in the horse creator. While creating the new patterns, I compared them to the older ones and realized that the new ones have a slightly different quality. I have decided to go over the old tobiano patterns to freshen them up as well as make them align better with each other. This is not something I will be having a big focus on, but it is a task that I can do in between bigger tasks.
When Ouroboros was finished with the three dressage courses, I stepped in to further align the curves to utilize the whole dressage arena and to make the curves go alongside the rails when needed. Doing this gave me a bit more insight into how the dressage curves work and this will help greatly when we create new dressage tests as other developers can create them instead of the programmers. Helping out inside the engine like this relieves the programmers and gives them room to work on other features instead. I’m looking forward to start implementing new dressage tests when they are needed.
As a little bonus, before we pushed the recent update, I created the Eldhest figurines. My idea with this was to hide a few horses around the map to create an incentive to explore the different areas of the new environment. They were essentially inspired by the Swedish Dalahest but with our own twist. The Eldhest takes the shape of a Norwegian Fjord horse and has different designs such as the Norwegian “rosemaling” and Fjord horse colors. More designs will come at a later time but is not a priority for now.
The Eldhest figurines were a fun, little task for me and they were something I could add to the game myself without bugging the programmers. This was also a good way of dipping back into my Unity experience when it comes to objects, textures, and creating materials. They were a great exercise.
Since the month of November suddenly turned into December, I'll add on what I accomplished this short month as well. Since the release of the newest update to Astride, I've been getting more and more engaged with work inside the engine. The rest of the Astride team who are not programmers will be more hands-on in the engine from now on. I've been interested in making more jumpable obstacles and I got the idea to introduce the start of cross country and jumpable obstacles outside of the riding arenas.
I asked Ouroboros for some help to get started with the jumps as they are all connected with their own code. It was a bit confusing at the start, but I think I got the hang of it after a little while. I'm still a little bit away from making new jumps without needing a bit of guidance, but I've slowly become more and more confident with working inside the engine. As displayed in the GIF, we now have jumpable logs that are placed around the new forest trails in Eldheim. I also forgot to mention that I was given the privilege to change parts of the map to practice my skills in creating an environment.
Tirna created some awesome parts for signs that I imported and placed around the map. Since many players got lost on the map we wanted to do something about it. I created a few variations of the signs and placed out some of them. I will most likely make more variations later and spread them more around the map.
Environment
By Tirna - Project Manager, 3D-artist
We've had a major update in our environment, and it's been a mix of good and not-so-good changes. Let me break down what's been happening. Given our small team and limited resources, both in terms of funds and expertise, we decided to experiment with a different asset pack. Our horses have evolved significantly since we first began Astride, so we felt it was time for an upgrade. The first iteration of our environment wasn't meant for exploration; it was simply a backdrop for the riding arena. But we always planned to improve it in a later update.
Crafting a decent environment with just a few assets was quite a hurdle, especially since I lacked formal training in environmental design. Hence, this environment was never meant to be permanent. But that doesn't mean it was a waste of time. Personally, I've gained valuable insights, and the feedback we've received has been instrumental. We'll be sure to take all of this into account as we make more and more of Eldheim. Oh, and speaking of the environment, we're in the process of adding signs!
Now, onto the new stable modules - there isn't much I can disclose just yet. What I can say is that they will significantly simplify the pipeline for creating stables within Unity for our developers. Exciting things are in the pipeline for Astride, and we're aiming to make these updates count. Stay tuned for more as we continue to elevate and expand our world.
Animations
By Marius - Animator
It didn’t get featured in the October devlog but at the end of October I worked on updating the stirrup system in Blender. This is a system I have to save time while animating the character. To tell you an example, the only thing manually moved in the gif below is the horse's spine!
While I mainly worked with the animation system into November I did take some time to look at feedback and fix the less time-consuming problems. So I fixed the neck during the high jump and did some minor maintenance on the overall movement.
When working in Unity's animation system I noticed some missing animations that have been up to this point not been a priority to make. But now they are wanted so I made the walking half pass.
In addition to missing animations, there were some that were plain wrong. The gallop has for the most part looked good in isolation, but after testing and scrutinizing the animations while testing the system, it came to my attention that the gallop was WAY too slow. Not in the speed it gallops, but the animation loop itself. So I did a fast edit to speed it up and give a better transition between canter and gallop. It did lose some of the key poses that I had to later fix, as the reach or stretch with the forelegs vanished while speeding the animation up.
To continue to add more missing dressage moves, I animated the piaffe pirouette.
And later the canter pirouette. Though a little delayed as power outages always come when it is the most inconvenient.
After the update, we got a lot of feedback. One feedback was as I mentioned above: the gallop. While this is not the finished gallop and has some looping issues, it reintroduces the stretch and has some other little fixes here and there.
It has been a hectic month and a half, and while we are working hard to get as much as we are able into the upcoming update; it will be nice to be able to recharge the batteries before the new year.
Everything
By Green Horse - Programmer
November was another month where I did everything, everywhere, all at once, again. I did so much, in fact, that there is not enough steam left to write a proper full-length devlog. I did many things. Here’s a quick summary.
Human Character
Clouds and skies
Physical Objects
Soccer Ball
Broke stuff
Fixed what I broke
Fixed stuff that others broke
Fixed stuff that I broke in the past
Fixed future bugs
Third iteration of dressage
By Ouroboros - Programmer
I was able to finish the third iteration of dressage this month and started making some dressage courses in the game. A lot of the work for the third iteration was to implement bezier curves that would work for our very specific use. The initial plan was to have a point that moved along the curves that the player had to keep pace with, but this felt stressful and the point stole all the focus away from the actual dressage gameplay. After all, it wasn’t supposed to be a game of “follow the dot”. I decided to instead track the player’s progress along the curve so that they could progress at their own pace and keep the focus on the course as a whole.
Another thing I worked on this month was horse jumping. We wanted to let the player jump any jump from any direction (within reason). I implemented new visuals showing the horse’s stride, and a stride plane in front of the jump. The looks aren’t set in stone, and we might try some different ones yet. There has also been a fair amount of small bug fixes, making adjustments to values, cleaning up code, and testing. I’m really excited to work more on both dressage and jumping and try to make them the best they can be.
Please be aware that the content featured in these devlogs represents an ongoing work in progress and may be subject to further changes. We are committed to continuously developing and refining our game. To stay informed about the latest updates and connect with the rest of the Astride community, we invite you to join our dedicated Discord server community here! For additional information about Astride, please visit our official website.
Astride's Development In 2024
After the release of the new patch, we’ve received a lot of feedback for better and worse. We have taken this to heart and have spent this week mainly on meetings about the game’s direction, the feedback so far, some changes, and what the plan forward is.
Many community members have raised concerns about the direction the game is taking, the development going back and forth, and how the community itself has affected the game to a great length. Taking this into consideration, we have internally sat down and discussed everything that has come to light. What we planned for Astride 2-3 years ago is not what is being portrayed at the moment. By focusing too much on the feedback, we have distanced ourselves from the core vision we had.
There has been too much focus on the multiplayer aspect of the game considering Astride was supposed to mainly be a single-player experience with the possibility of visiting a couple of friends. In the year 2024, multiplayer will be temporarily set aside (it will not be removed) and we will put all of our main focus on the single-player experience.
Along the way of development and constantly considering feedback, we have lost track of the vision we once had of Astride. The core game loop has been set aside and this is such an important part of any game. Much of this ties in with the daily work-in-progress posts on our Discord server that have opened the doors for a lot of feedback that has taken most of our focus. Therefore, we have decided to tone down the amount of work that we share with you on that platform. It’s saddening to announce this, as we know a lot of the community members have been looking forward to the daily posts of development, but it has turned into a hindrance for the development and has become more of a chore for the developers to constantly have something visual to show.
We want to reiterate the work-in-progress channel and use it to post features and development that are being added to the game. If the team needs feedback on features or assets that are being created, this can also be posted in the work-in-progress channel. For example, if we want feedback on animations, new horse breeds that are in the works, or other aspects of development that we’d like more feedback on. We think that this can enhance the overall quality of the game as we won’t be too focused on the minor details. The monthly devlogs will however continue as usual. The devlog for November will come next week at the latest.
But we can gladly announce that we have refined and improved the plot, story, and game loop that we want to create for Astride. This will be the main focus for 2024 and we are excited to share our plans with you.
At the start of the game, the player will be introduced to their aunt who is a renowned horse breeder and trainer. The aunt owns multiple facilities and just acquired a new one located in Eldheim. She doesn’t have the resources to manage the facility, so she gets in touch with you, the player, about moving to her newly acquired facility and working for her. You are already an experienced equestrian and will get the chance to bring your own horse with you. Einar is one of the employees that she hired before you arrive. Your responsibility will be to care for the few horses that are already stationed at the facility and deal with client requests.
The core gameplay loop will be in the form of days where the player will care for the horses, work on the before-mentioned client requests (it could be a horse in training, scouting for a perfect sale horse, or finding studs to create a foal from the wishes of the client), train and/or compete with your own horse that you were able to take with you to the facility.
As for generating player income, the aunt will pay the player a certain weekly wage for upkeep, feed, and other essentials of running the facility. The player will be able to choose and take on different contracts presented by the aunt with different needs that will be rewarded with a paycheck depending on how satisfied the client is with the result. Players can also generate income from competitions with their own horses, selling offspring they have bred forth, and even selling horses that the player bought and trained to increase their value.
There will still be a story aspect to Astride, but it will (at least for now) be scaled down to not be one, big main story, but rather quests that take the players through the story of Eldheim’s origins, the villagers living there, and other mysterious events that may occur. The player won’t be seen as a “hero”, but as someone who is a part of the town and infrastructure.
This is a lot of information in one go, but once we have got all of our plans down (December and parts of January will be spent on planning the next year), we will finally release a public roadmap to share with all of you. There won’t be any set dates, but rough estimates of when features can be finished and what features are being prioritized. We want to give you a look into our plans for the year without creating too many expectations, so we feel that a toned-down roadmap is the way to go.
Thank you for reading through this entire announcement. It is a lot of information to grasp in one go, but we will try our best to answer any concerns or questions regarding this. We also want to thank everyone for the support in creating Astride and for pouring your hearts into the project as much as we do.