Astride cover
Astride screenshot
Genre: Role-playing (RPG), Simulator, Adventure, Indie

Astride

Astride Patch 2023.12.01

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



  • Restricted player characters have been added, character customization will be introduced at a later time
  • Player run, crouch, jump, mount/dismount
  • The prototype of dressage has been added to the game including three playable dressage tests
  • Dressage tests are locked, ride LC1 to unlock LB1, ride LB1 to unlock LA1
  • Dressage moves piaffe and passage are now available, hold CTRL while walking
  • A striding plane in front of jumps has been added
  • Striding prediction in front of the horse to easily make good jumps
  • It is now possible to go over any jumps from any direction
  • Entirely new map and environment
  • A secret amount of Eldhest figurines have been placed around the map
  • Ability to pick up and throw items
  • A new skybox with clouds has been added
  • Imaginary horse/human soccer may have been added


Fixes and adjustments



  • The gallop animation has been replaced with a new animation
  • The Agouti section for bay and buckskin in the horse creator has been adjusted with new textures to replace the old ones, it will now change the shade of the entire horse coat
  • New tobiano patterns are available
  • Horse textures are now 4k resolution instead of 2k


Known issues



  • Disconnecting from a multiplayer instance will break the server, a hotfix will come quickly
  • 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
  • Horse sometimes doesn’t jump even when lined up to the stride perfectly
  • There are still some issues with horse shininess
  • If another player dismounts while in multiplayer, the rider keeps the riding animation, simply fix this by jumping with the character
  • Rapid turning with the player character camera can give some rubberbanding
  • 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
  • The game might crash for seemingly no good reason but we are figuring this out
  • Severely lacking options menu
  • Zoom is not a feature on gamepad yet, must scroll using the scroll wheel
  • Horse shakes/jitters
  • No sound or music available yet

Devlog #34: October 2023

October has come to an end and thus it is time for another monthly devlog. This month has been quite exciting with more development progress and pitching. The prototype of Astride is coming along nicely and the character is being implemented into the game engine.

Pitch, computer problems, and art


By Maja - CEO, Concept Artist


I started this month by drawing an Arabian since we have been working on the breed lately. And wow! The Arabian horse’s bodies are funny to draw. They are kind of banana-shaped compared to other breeds. What I mean by that is that they are quite curved and very slim at the same time. They are so beautiful! I cannot wait to get this beautiful and fast breed in the game. The 3D models look very good.



My PC decided to act up this month. It was very slow to start and programs took forever to open. So I went over all my files to double-check that I had backup of everything on an external server. I uploaded the missing files, and it was very smart of me to do that. A few days later it lost the connection to one of the hard drives. So I had to order new parts for it. Luckily, I have my tablet to draw on in the meantime.

Then we got the exciting news that we got invited to pitch for NFI (which is a huge part of the application process there). So we prepared a presentation and went to Oslo the following Wednesday to do the presentation. I was very relaxed until there were 10 min left, then I got a little bit nervous. But the pitch went well and now we are waiting for their response. Fingers crossed for a positive answer!



In Norway, we have something in the countryside called "seter" which is an old mountain farm (or forest) that is only used during the summertime. The farm animals can enjoy fresh grass and sun all summer there. During the winter, spring, and autumn the animals will remain on the main farm, and then when summer arrives, they are moved to "the seter". People will stay there for the summer to take care of the animals. This can be used for cows, sheep, goats, horses, etc. I don't know how common the use of seter is today, but when I was a child it was used everywhere where I grew up.



So this is a small example of how a seter can look like. It's often a small timber house and maybe a tiny farm building. They do not need a large farm building since the animals will remain outside for that time period. Since Astride is based on Scandinavian environment, we have to put a seter or two in there. I wanted to have a river in there as well, since they are very common in the mountain area. I drew this seter with some cute sheep. Also, I could not find an English word for seter, so for now I just call it that. Some people in my area even pronounce it with an Æ (Sæter).


The Arabian horse and bay variations


By Mathilde - Community Manager, 3D-artist


Months pass by fast! This time, my focus has been on the Arabian horse breed, fine-tuning textures, adjusting tack and horseshoes, making more mane variations, and ensuring all hair fits all the existing horse breeds.

In preparation for creating the Arabian horse, I decided to make a new mane style that would fit it. And what style could I make other than the classic, flowy mane with a long bridle path? There definitely are more mane, tail, and forelock types I would like to explore but that will be at a later time. We also have to make sure that all of the parameters with the hair work, like matching white patterns (such as tobiano) and checking that the dun gene is properly displayed in the engine.



Before putting more effort into one workflow, it’s important to make sure that everything works the way we have intended so that there are no wasted hours on features that might not work as intended. I am, however, very excited to see if we can get the different genes and patterns to work alongside the hairs. Especially the tobiano patterns affecting the hairs will bring much more detail into the horses and make them look more natural.

Moving on from mane styles, I started working on the base model to resemble the Arabian horse breed. This is a breed that I have been looking forward to creating due to its unique characteristics. I have to say, I had a lot of fun making this breed and it was nice to work on a much lighter type of horse compared to the last few I’ve been creating. I did spend some time researching the different strains of Arabians and landed on the Egyptian Arabian due to it being the oldest of the bunch.

I wanted to make sure that we properly represented the breed’s characteristics while not exaggerating them too much. This was especially around the dish of the face as some modern Arabian horses have extreme concave nose ridges. While there will be variations of convex/concave nose ridges in all of the horses in Astride with the help of blend keys, the base model of the Arabian shows a moderately concave nose ridge. However, players can breed for a more concave or convex nose ridge.



Here you can see a comparison of the three different stages of developing a new breed. First is the high-poly mesh with all of the details, and then comes the bake where the high-poly mesh is projected on top of a low-poly mesh, and additional details are added. The final stage is when the textures are exported and added to the new breed in Blender for further polishing and tweaking.

Since I’ve been working on new breeds for quite some time now, I decided to pause that for a little bit to focus on polishing textures, creating more textures that will represent the different genetics of the new breeds, and adding to the colors we already have. As you might have noticed in the last devlog, I worked on the splash gene that comes with the Icelandic horse. I might show more of those textures in the next devlog, but so far they have been kind of behind the scenes as I’ve had other things to show.

I did, however, dive back into the bay/buckskin agouti factor. In the current horse creator, players are able to pick a few options in the “agouti” section that affect how the black pigments restrict the coat on the horse’s legs. I’ve been wanting to add more layers to this feature where the players could pick the pigment restriction on the ears, body, and legs separately, but I made a design choice that would cut down on work efforts and make the feature available sooner. This means that there will be one texture that affects the ears, body, and legs as one with more options instead. So far, I’ve created a few options, but with time there will be more to choose from.



I feel like this was the best choice to make as it simplifies the creator while not completely restricting the feature. This means that players can pick the color shade separately from the darker points. The agouti options will be available for the buckskins as well, meaning that you could potentially have some really dark buckskin horses. There might come some restrictions later that make it less likely for a buckskin to have such dark coats, but that is also something we could survey.

As you can see in the GIF above, I have already implemented and tested the agouti pigment restriction and it seems to be working well. There were some issues with the bitrate of the textures as there have been set restrictions in Unity, but we will be working around that to solve the issue. The pigment restriction textures will definitely get more love and attention (and many more variations) later down the line. But for now, I’m glad that it’s working as intended and the people can finally have their dark/seal bay horses.


Horse market and map


By Tirna - Project Manager, 3D-artist


This devlog is going to be a bit shorter than usual. Maja and I have been all about the NFI Pitch project lately.

We put the horse creator scenes in the riding arena temporarily, but it didn't really have the right background. I started working on creating one, but the first few tries were kind of boring and didn't quite have the vibe we wanted. So, I decided to go for something more inspiring.



Turns out, we loved the new background so much that we've decided to turn it into a little horse market. We're thinking of having 12 horses on rotation there (daily or weekly, but we'll see how often works best). The building's design is inspired by these cool old Norwegian structures called "stabbur" from the 1700s.

The big news is we now have a map! It took a bunch of behind-the-scenes work and some back-and-forth, but we've got it. The map will be one of my main focuses for a while, including assets that will be made to give life to Eldheim. but we've got more plans up our sleeves. Stay tuned for an upcoming Patreon blog post where I'll spill the beans on how I made this map.




Character to Unity


By Marius - Animator


Over the last few months I have been working on preparing the implementation of the player character into Unity. Finally I am at the stage where I can actually start implementing.

A lot of the preparations have been to update the riding animations as they have been pushed to the back in favor of the horse animations for quite a while. That is because of a system I made that makes animating the rider very fast when the horse animations are in place, it still took longer than first anticipated though.



The next week went to a little of everything with different minor tweaking, updating and baking all riding animations. As there were very little specific to show, I found a gif with the update to the hand from last month; addressing some feedback I got that made me take some time to have a hand study.



Finally I got to start implementing properly into Unity. One of the first things I did that I can only do in game engine is learn how to and make an animation override for where you look. Now the character is ready for the programmers to make them look at all the stuff you look at (within limits of course), by following your camera movement.

What is cool is that this affects all animations, so if you are riding, walking, running or crouching the character will look where you do!



I had most of the animations to have a full movement set when not riding. While some are not complete yet they are easy to replace with placeholders by modifying existing animations… The jump is not one of them.

I had started on it earlier, but other work got in the way; and I was uncertain of how I wanted to “build” the jump in the animator. The animator is what controls the order and the transitions between animations in Unity. I started by scrapping the old animation and filmed myself jumping. Using that as reference I made a new jumping animation.



The above picture was never posted in our Discord, but was originally meant to be a work in progress post until I managed to implement it into unity and test it properly. It was never meant to be continuously looped like this, as well as it is missing a proper landing animation; so it looks a little silly.

With the jumping animation I could make the prototype for the movement animation system in the animator. This included making parameters that can be used to control the animation triggers. I also found how I want to build the jump animation.

By building the jump I mean how to segment it. You would think I could just have a full jump animation from lift off to landing and call it a day, but it isn’t that simple. That would work if all terrain was flat and there was nothing you could jump up and down. But what if you jump down a hill or up an incline? That would drastically change when the landing would occur. So I have to segment it into lift off, free fall and landing, to give us control over the animations and make leeway to when the landing animation plays.



I also added a small flavor animation to the free fall to make the character more panicked the longer they are in the air. Normally I would wait with such flavor animations, but it wouldn’t take too much time and seemed like a fun assignment that could help liven up the animations.


Character and controllers


By Green Horse - Programmer


We now have a mounting feature where you will take control of the horse if you press E in close proximity. This will move your character to be on top of it and change to a third person view. At the moment we haven’t added the riding animations, so the character is not animated on top of the horse. An interaction system was made to be able to support this feature, so many more interactions can now be made using this system like picking up and carrying props, pressing buttons etc…

We switched to the new input system in Unity in preparation for a rebind keys feature in the options menu. We also want to make it in combination with a larger menu update later, but we might add in a temporary solution before that. The current menu setup is something I hacked together with my limited Unity Canvas and UX design skills, so I’m looking forward to a proper menu pass.

An animated character controller has been implemented with a jump, crouch, sprint and head movement to indicate where you’re looking. I’ve yet to figure out how to increase the slope limit so you can run up steep hills at the moment. We will do multiple passes on the character animations, shaders and model but for now I’m just happy to have a character to move around with.



The horse now also moves using a character controller. That means it can run off cliffs, bump into stuff and move with the terrain. The first version on steam was a compromise update because so many people wanted to escape the containment of the fences around the arena, so I deleted a single fence and “hacked” in a way to stick the player on top of the terrain. Looked absolutely bonkers insane but it was meant to be a temporary solution until we got the physics sorted out.

I’ve never felt more comfortable with the project as I am now. There’s proper logging, error handling and a step-by-step connection procedure to hook into. With proper packages for each part of the code we are able to get a nice flat foundation to build the game upon. With the new programmer we’re also able to cover more ground at the same time so I’m no longer the bottleneck when it comes to programming.


Dressage


By Ouroboros - Programmer


I have to admit that this month started out a bit slow for me. I had several moments where I simply had to stop and reorganize. All a part of still being quite new to the job. It luckily got better, and I have started to feel like I am truly settling in.

I have started implementing dressage, and the two first iterations are done. It might not look very impressive, but it will serve as a base for further work. The first iteration included the player being able to interact with an object to start a dressage course. They then had to ride from point to point that were shown on the ground as colored circles. There wasn’t much to it besides that, but it set a standard for how a course is set up, and how the player can start it and progress through it.




The second iteration added to this with a time limit to reach each point, as well as the different points requiring specific gaits. The colored circles on the ground were updated to show time left (circle slowly shrinking) and desired gait (different color for different gait). The first point in a course is special in that it has no time limit or gait, and it is only when the player enters this first point that the course starts for real. I have yet to implement a score system, but I have made room for one.




The dressage is very much a work in progress at this point. We are still settling on how the score should be calculated, how close we can get it to real-life dressage, and if there should be any time limits or not. The most important thing is what feels right and is fun to play. While we have an idea of what we want, we really just have to implement and test to find out what works. I have started working on the third iteration, and not to create a huge hype or anything, but it will contain curves!

In addition to the work I have done on dressage, I have also had to spend some time reading code, documentations, and math. I won’t bore you with the details, but one of the results of all this studying is the “dismount check”. When the player wants to dismount the horse, the “dismount check” makes sure it is safe, and reasonable, to do so. It defaults to dismounting on the left side, but will choose the right side if the left is no good. If neither side is fit for dismounting, then the player will have to find another place to dismount. This is to avoid any…accidents.


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 #33: September 2023

September has flown by and we are back with a monthly development log for you. We are putting all of our efforts into this next big update where the new environment and the character will be introduced. After this bigger update that has taken a bit longer, we will push more frequent, but smaller updates for Astride.

Rini, Andrea, and Noah


By Maja - CEO, Concept Artist


This month's priority for me has been drawing NPC concept art as well as doing application preparations. I started with Rini’s art update. I only shared a little image of her riding boots in the Discord channel until now. I’ve already written a post about creating an NPC from the thought process where I’ve shown more of her current splash art. And guess what, I finished it not too long after that post. So here she is. The new and updated Rini! I really like her design.



Next up was Andrea. I changed her design quite a lot. I wasn’t that pleased with her original design and wanted a more simple and traditional Viking look for her. She is someone who likes to dress up in those types of clothes. Which is very cool. I gave her a green apron dress and a white underdress with fluffy arms. I thought the green color represented her profession well, and it was a very nice color contrast to Oskar’s orange fur. I kept the mountain boots she was wearing in the original since she’s often out in the forest and mountain collecting herbs and berries. Her leather details are now black instead of brown. Which kind of suits her piercing look. And since she is a cat lady, I had to give her a cat liner. Here is her final design.



I’m so happy that I finally am able to update the older NPCs. However, there are many new NPCs that are just waiting to be drawn. One of them is Noah. I will show you a bit more of his design here. Note that it is still a work in progress.

The feature I really like about him is his heterochromia eyes. I think it looks so cool and beautiful. I’ve gone through many color palettes and ideas for him before I landed on yellow, black, and white as his main colors. His role in Astride is probably not what you expect him to be. He will be an equestrian, and in more detail: The dressage rival! I have also prepared his horse’s design. I really can’t wait for you to learn his story. I am so excited to show you more in the future.



So this has been my September. I hope you like their designs. More NPCs will come later. I have a long list. I wish you all a great autumn season.


The Percheron and Icelandic horse


By Mathilde - Community Manager, 3D-artist


As usual, I’ve been spending most of my time working on the horses. We have a list of various breeds that need to be created and ready for implementation when we get further into the gameplay whereas players will be able to choose breeds. I’ve finally been able to get into a workflow that I think works well when creating new horses. I try my best to make the horses feel different and unique while I still have to keep them in the same mesh and use the same textures. My solution to this has been to recreate normal maps/detail textures for each new breed. This means that, essentially, each breed should look a little different when it comes to muscles, tendons, and other small details such as wrinkles and crevices around the mouth/nose and eyes. Having to use the same mesh is very restricting, but I do hope that I can make the best out of it. It will definitely be worth it in the long run if we can visualize our ideas with this.

Without going too deep into the subject, I’ll move on to the breeds I’ve been working on this month. The Percheron has had its final touches and this time we have two body shapes for one breed. The Percheron breed has two standards, so to speak. The original French type Percheron has shorter legs and a bulkier body, while the American type Percheron has longer legs and a more slim body while still keeping a heavy and high-set neck. Creating these differences was a fun challenge, and all of the feedback received during this process was incredibly helpful and constructive. We had a blast going through hundreds of photos of different Percheron horses and discussing their conformation. This is a positive while working on new breeds for Astride, learning about their conformation, history, and distinctiveness.



Here are the differences between the French and American type Percheron. While I would love to make them even more different from each other, I do have a lot of restraints due to rigging. Since all horses use the same skeleton, I can’t make changes that will make the horse move oddly with the rid and skinning. In retrospect, I need to make the hooves of the American type a little bit larger still, as the breed is known for its massive hooves. The French-type Percheron will be smaller than the American-type, so this GIF doesn’t give them the full differentiation here. This is, after all, a breed that can range from around 155cm tall to 195cm tall (if we exclude the record-breaking horses, like Dr. Le Gear, who was 213cm tall according to sources).

When I was happy with both Percherons, I moved on to the next horse on the list. We had a poll running on our Discord server where we asked which breeds the community wanted first. This is where the Percheron won the race. After the poll was closed, I made a smaller poll asking if the community wanted polls for each new breed selection, or if they wanted us to base the order on the original poll. The latter was the most voted on, which made it simple! The Icelandic horse was the runner-up in the original poll, so I moved on and started working on this breed.

I’ve previously created the Icelandic horse if some of you can remember back in early 2022 when we had a few breeds in the works. The reason we’ve decided to rework the new breeds is simply because the previous ones all had different meshes, UV maps, and rigs. This created a lot of unnecessary work for me and our rigger/animator, so we decided to use only one mesh that fits with our rig. To reduce the workload and in return have a more effective workflow.



Back to the Icelandic horse, I knew this was going to be a challenge. Not only because the Icelandic horses have such vastly different builds within the breed, but also because I have an Icelandic myself. And he is definitely not a standard Icelandic when it comes to conformation. Thankfully, it’s a popular breed and I knew where to get photos of the right angles of breeding horses. I, of course, had to use some references from my own horse for this one, so the wrinkles on the muzzle and around the eyes are created from his references. That way I could have a small piece of him in the game.

Oh, and don’t worry about the small head size this model is displaying. The head sizes will be done through the rig and animations. So smaller horses, like the Icelandic horse, will eventually get a tad bigger heads when implemented into the game. This also showcases something I’ve been working on on the side; the splash gene. Icelandics are known for all of their wonderful colors and when the Icelandic is introduced, so will their unique genes. SW1, which is responsible for creating the splash pattern, will be introduced alongside the breed when it is ready. I have a few patterns made that I cannot wait for you to see. Ranging from minimal (solid coat with a half-blue eye) to maximum (almost completely covered in the white pattern).

All in all, I feel satisfied with the variety of the current finished horse breeds and I’m excited to start working on the other upcoming breeds. The next breed on the list is the Arabian which I have been looking forward to creating. The Arabian horses definitely have their distinct features which I hope I am able to bring forward in the model. Stay tuned!




Tack updates


By Tirna - Project Manager, 3D-artist


During this recent period, my focus hasn't been on the most thrilling aspects of my work. Instead, I've been occupied with various behind-the-scenes tasks. However, amidst all this, I managed to find some time for important updates.

One of the notable improvements has been in our bridle designs. The 3D model has received a significant upgrade, but the most substantial improvement lies in the ease of adjusting these bridles to suit different breeds. Additionally, we've revamped the leather used in our products. Although the colors may seem familiar, the leather now exudes a more high-end quality, distinguishing it from cheaper alternatives. All our bridles come with metal details available in both brass and steel finishes.



Not too long ago, we introduced a major update to our dressage saddles. Following this, I've also developed new saddle pads to complement these saddles perfectly. Furthermore, our horse boots and wrappers have undergone updates to ensure that our products continue to meet the highest standards of quality and performance.




Movement, textures, and deforms


By Marius - Animator


The last months have had a lot of differing types of work on my part, as I usually try to not switch between work types too often. From my typical animation work to my rare texture work (not really my area).

One thing I am normally adamant about is to not do animation (or other life-imitating arts) without reference, as no matter how good you get you will always do better with reference. But there are times you just have to do what you can with what you have. Luckily when working on human characters you always have yourself as a reference, though with movement, there is some trouble with observing without overthinking. Anyway, we have been a little too busy the last few weeks for me to be comfortable dragging someone along and away from their own work to film animation references. Normally I would just find a good reference on YouTube or something, but there are some movements that you generally don’t see, and strafing while crouched is one of those movements I couldn’t really find outside of other games.

In the end, I ended up using the basic crouching forward animation as a base for the strafing. By that, I mean that I duplicated the basic crouch and added sideways movement, and tried to place the feet according to my own foot placement when I started sneaking around the office. Yes, I felt like an idiot.
There was a lot of back and forth between testing the movement and animating. Trying to mimic my movement by deconstructing weight placement, hip placement, rotation and a lot more by feel is not easy. And underlines what I told earlier about how it isn’t easy to do without overthinking. After a lot of back and forth I got to a movement I felt happy enough with to continue on other animations.



For a long while, the masculine texture has been as stand-in as it could be. There were missing texture maps that made most of the body unusable. We use different texture maps for different parts of the body, so when some of them were missing we used other maps we had as a placeholder.

Normally I don’t touch the textures outside from updating the ones I have with new ones I get sent, but back when I first made the blend between feminine and masculine I made a system for blending the textures too. Now this system is not the one we will use in the game, but something I have in Blender to be able to switch textures easily based on need. Anyway, there were some lingering problems in that system I had to fix as it broke about every texture change I did.

After it got pushed higher up on priority, we got those missing textures and finally could replace the placeholders. To give an example of how bad some of the placeholders were: the whole torso had the face texture. It gave the approximate correct skin tone where it mattered, but hidden by the clothes; the character used to have a second face on the stomach when it was masculine.



For a long time, the hands and fingers have been categorized as “good enough for now” as game hands normally don’t need that many options, and we haven’t got to any animations that have needed that many finger movements yet. Well, after I tried to copy a pose from Maja’s artwork, which included a hand pose, I had to lift the hand deformation way up in priority, for they were horrible. This led to a long study of hands and deformations. There will come a "part one" of this study as a Patreon post next week.

In summary: Hands are weird!

I want to add that the gif below is not the end result of the deformation fixes. I got good feedback on Discord on stuff I had overlooked or hadn’t had time to fix correctly before I had to post work in progress. Most of the issues are fixed now though.



As I am prepping the character to be added into the game I need to add the movement options that players need access to. One of the movements that are easily overlooked is backward, in a lot of cases it is just the forward movement played backward since it is close enough. I don’t want to do that, though. Mostly because our approximate realism does not give way to that type of shortcut. As a start, it is a good idea though. Start by duplicating the forward walk and reverse it, then adjust as needed.

The gif below is a “first” iteration of the backward walk, which is why it looks a little stiff. After this iteration, I did drag someone away to film references, especially since backward walking is more nuanced changes rather than big adjustments… after reversing the base walk.



While filming references it was back to sneaking around the office, only backwards this time.
Originally I did have the same looking backward pose as the walking backward pose but after a small talk with Green Horse, I got reminded that head movement will most likely be controlled by the player input and camera angle and not only the animation information per se.

So far all crouching animations have been a challenge. Crouching movement differs widely depending on how low you crouch and even if height isn’t a factor the weight distribution changes are more pronounced to compensate for generally slower movement as well as a lower center of mass.

Still some stuff that needs adjustments like the knee jerk when the foot is lifted and some weird arm movement on the right arm, but otherwise it is good.




Collisions and controllers


By Green Horse - Programmer


Collision has been an interesting challenge to tackle. I’m happy to say that it’s working, although it’s not perfect yet. We can now collide with the terrain, trees, rocks, and everything else. After getting the character controller working I retrofitted the controller to work with the horse, so it’s actually a human character controller with the will of a horse. Even if it sounds silly I think it’s a good move in order to reduce the amount of work on the controllers. Eventually, a horse “AI” will be built around this controller allowing it to avoid cliffs, trees, and other extremely dangerous things such as puddles and plastic bags.




Interaction is an essential part of any video game. I’ve made a generic interaction system that we can use for all kinds of interaction in the game. Interaction such as mounting/dismounting, picking up objects, toggling switches, opening doors, and much more. Since Astride will be a physics-based multiplayer game I’m very excited for the opportunities this enables. My goal is for players to interact with the world like in the roleplaying servers you would find in games like Garry’s Mod. At the moment, only mounting and dismounting the horse is in the game, but I can’t wait to add physical objects to goof around with.



We now have extensive logging of what’s going on at all times so that it’s easier to track down bugs and fix them.




A new start


By Ouroboros - Programmer


It has been a month since I started working on Astride, and time sure has raced by! I have read a lot of code in order to learn the ins and outs of the game. To further familiarize myself with the project, I have been working on some smaller tasks. These include some tweaks to the camera to make it ready for the player character, making improvements to show jumping, and writing some behind-the-scenes code to make development a bit easier for us going forward. I still have some ways to go, but both Astride and I are steadily making progress.


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 #32: August 2023

It's been a month since the team returned from their summer breaks. We are currently working on the upcoming update and we are happy to announce that we have a new programmer on the team! We believe they are a great match and will be an amazing addition to the team. Ouroboros will be joining the next month's devlog, so stay tuned.

Horses, horses, horses


By Maja - CEO, Concept Artist


It’s been amazing to be back at work after the summer break. I’ve been focusing on NPCs, which I love to draw the most except for horses. We have made a list of NPCs and there are many to draw still in addition to others that need an update. A lot of time goes into creating the NPCs only by text. Who they are, what they do, and what their story is. Some NPCs are more important than others for the gameplay and story. On the side of all these NPCs, we are preparing for another government funding application. Therefore, I am also working on the art bible and updating the game design document.

The first NPC is a fancy guy with glasses. The idea for him is to be a beauty salon worker, he is who you visit to change your appearance. But that may change. He is a person who loves the 1800s clothing style and wears a slightly modernized version of that. He is tall and skinny with sand-colored hair. I of course had to give him a mustache. Even though he has a very cool outfit, his color palette is not the most vibrant. The main focus is his yellow vest. The vest is inspired by the flowery pattern on the “bunad-vests” (traditional clothing from Norway). His pants are gray and his leather shoes are brown. I really felt like glasses fit him perfectly. He has an eye for detail, but his vision is not the best.




I have made plans for NPCs of different ages since I don't want everyone to be a young person except Einar. This is Elin and she is in her early 50s. I wanted her hair to be graying. She is wealthy and cares a bit about fashion and appearance. Her favorite accessories are her pearl necklace and earrings. Dressage is often associated with black and white. Her riding boots are made of black leather and her overall appearance is clean and calm. And what is her role in Astride, you ask? Elin will be the dressage instructor!



Our beloved cat Oskar has been well known by the community ever since Andrea was first announced. However, Oskar turned out to be a more important character than we imagined. So of course he needed to get his very own concept art. Oskar is a Norwegian Forest cat, and I studied the breed closely to make it correct. They are so cute and fluffy! I did not know I would have this much fun drawing a cat. I had not been drawing many cats before Oskar was created. And you know what? I LOVED IT. And to think that at first, he was just a fast sketch on the side of Andrea.




Horses, horses, horses


By Mathilde - Community Manager, 3D-artist


Before we went on our summer break, I worked a bit on fur/hair planes with the Norwegian Fjord and the Norwegian Warmblood horse. This was mostly to test if I would have these planes blend into the main mesh without creating hard edges. It turned out to be a bit finicky, but I believe I came up with a good temporary solution. The shape and the placement of the hair planes are definitely not final, I think I will have to do some more research on hair and find better solutions at a later time but it’s a start.

As I mentioned in the work-in-progress post over at our Discord server, I'm thinking of having three different sets of feathering. Sparse, medium, and full. Sparse is what you would typically see on Icelandic horses and Northlands horses during the summer, the medium is what you would expect on a Norwegian Fjord or a Friesian (not a planned breed, just an example), and the full feathering would be what you'd expect from a Norwegian Dole or a Jutland. We'll have to figure out a way for the horse's coat to affect the color of the feathering, but that's for later and with the help of our freelance technical artist.



When we finally came back from our break, the first week was mostly about the team getting back into the office and our routines. We had a lot of meetings for planning but we were also in the final stages of the hiring process of our new programmer. In between this, I got back into the groove with 3D by making a new wheelbarrow for the stables. It still needs a high-detail map and some fresh colors but it is ready nonetheless. Personally, I am so excited for an additional team member and I’m looking forward to what progress we can make in the future. Our new programmer, Ouroboros, joins the team on September 1st and will most likely be a part of the next devlog here on Steam.

Something we all know and hate is the lack of sound that is currently going on in Astride. We are working on having sound added, and I hope we can have this issue fixed sooner rather than later. We have music ready, it just needs to be implemented. As for sound effects, we had a sound designer join us for a day in the stable to record audio and he is currently working on these files. Hopefully, we got a lot of useful sounds that we can implement into Astride. We will have to do at least one more session of sound recording with the sound designer as he wasn’t completely happy with some of the recordings. Especially for the hoof beat sounds. For the next session, we will be seeing if individual mics on all four horse legs are a good idea. The reason we want to record single hoof beats is for the purpose of making dynamic hoof sounds in the game. Meaning that they will be played whenever a hoof touches the ground, not just a static sound when the horse is doing X gait or X animation.



Part of my tasks for the dressage development phase is to create different stages of muscle in the horse meshes with a change in the high-detail map to accompany it. There will be differences between a well-conditioned horse and a horse that hasn’t had a lot of conditioning. For this, I made a new shape for the Norwegian Warmblood where the muscles were larger and more defined to illustrate a well-conditioned horse. After the new shape was done, I brought this into Substance Painter to add further details to the muscles. The thought is that there will be a natural blend between these two types depending on how your horse is conditioned. I’m excited to see my theory in action at a later stage.



Moving on, I’ve been mildly annoyed by how poorly I did the fleabitten textures that are currently in the game. They were previously done in a rush and it shows. I like to redo and quality-check textures from time to time, and this time it was the fleabitten's turn. I also experimented with how a bloody shoulder could appear in-game. Bloody shoulders are very interesting in the way the pattern works and I hope I was able to make something that resembles it. I'll try to add these textures and other variations into the engine right away so that they will be available from the next update.



A couple of weeks ago, I created a poll to help us decide which breed I would work on next. I was excited to see the Percheron in the lead but I was also nervous since this would not be an easy task. The Percheron horses are known for originating in France but they are, to my knowledge, most popular in the United States. Essentially, there are two types of Percheron horses; The French type and the American type. They are the same breed, but their conformation is vastly different. The American type is sporty and long-legged, while the French type is much heavier built and with shorter legs. This kind of brings me back to the Norwegian Fjord horse as my initial thought was to represent the older, draft-type Fjord and the sportier, leaner-type Fjord. Essentially, I hope to do the same for the Percheron and represent both types of builds.



I’ve already created the first draft of the low-detailed mesh for the American type Percheron and added this to my sculpting software, Zbrush, to decimate it and work on the high-detailed mesh for adding more details and definition. The high-detailed mesh is done and next I will bake it with the low-detailed mesh (projecting the high-detail mesh on top of the low-detail mesh) and later go over the low-detailed mesh again to finalize the shape. When I am happy with the American type, I will work on the French type as they will share the same high-detail texture. I’m excited to share more progress of this breed later.


Finishing the environment and starting planning


By Tirna - Project Manager, 3D-artist


It's good to be back in the office again! After we were done sharing our plans and tasks with the new programmer we hired, I could finally pick up the environment again. I've been working on the environment for a while but now it's finally coming to a point that is ready for implementation. Firstly, I had to do some optimization work on the riding arena. I repaired a few textures that were broken and didn't show up correctly in the engine. While I was working on these fixes, I also fixed a few issues that were previously bothering me, such as the rotations of some cobblestones and other details in the riding arena textures.



As mentioned previously, I spent some time polishing up the environment. I adjusted a lot of areas on the map that were a bit empty and filled them with flora. My goal is for the nature and environment to feel natural and beautiful. I have also taken some time to work on other improvements such as ensuring proper lighting inside the riding arena and fixing the issue we had with reflections in the riding arena windows.



Now that we have the environment closer to how we want it, I shifted over to updating and refreshing our saddles to match better with the new environment. I started with the dressage saddle and gave the leather some TLC after remaking the entire mesh for it to match the new mesh of the show jumping saddle. After the dressage saddle was done, I started working on an upgrade for the show jumping saddles as well. So now both of the saddles are matching in quality.




Other than this, I have been spending a lot of time working on the Gantt diagram for our new application. This means that I've been planning the next phase that we are estimated to last from December 2023 till December 2024. I have also been helping out Maja with the game design document and to get everything in order.


Shoulder contortions and character movement


By Marius - Animator


Before we went on break for the summer, the last animation work-in-progress showed the beginning of adding blend shapes to the shoulders. In addition to making the blend shapes, I started making a system to control the blend shapes and future-proof that system to deform correctly according to arm movement. This turned out to be a bigger hurdle than I first anticipated… It is easy to just imagine and say that when the arm points forward and is twisted, use this blend shape and add the twisting blend shape.

The problem is quaternions, the equation that is most commonly used for calculating rotation in 3D is not that intuitive. While normally when working in 3D we are used to thinking in three dimensions X (left/right), Y(height), and Z(depth), quaternion rotation adds another dimension called W. “The W dimension is a scalar that stores rotation around the vector” according to the unity manual, personally I like to think of it as incomprehensible horrors you wouldn’t understand. On a serious note, it is complicated math that I personally don’t have the capacity to manipulate through equations. The gist of the main problem from my perspective is that the 0 point for the W changes according to the rotation of the other 3 dimensions, so trying to use the W value as a reference for an equation becomes unintuitive.

After trying to comprehend the incomprehensible, I decided to forego that venture as it was becoming a time sink. But the work wasn’t for nothing as it got me to think of a way to get around the problem in ways that I normally would not think of. Finally, I got a system that worked for deforming automatically.



The first test of this system is shown above. At this point, the equations for both the left and right arm used the same arm for value references, so you can see on the right arm (your left) that there are weird deformations. This is because that arm does not move while it activates the same blend shapes as the moving left arm. I decided to leave it in this work-in-progress as it shows what is happening with only the blend shapes and might help to give an understanding of what blend shapes are.

I would like to add that when making and testing these blend shapes, I mostly put them in as extreme positions as I can. For example, an overarm would never actually rotate over 180° (90° each way from the neutral position), especially without moving the shoulders to accommodate the twisting motion. You can test this yourself by bending your elbow (to not misinterpret forearm rotation with overarm rotations) and rotating your arm as far as you can using only the overarm. This rig should in theory be able to twist the arm almost up to 360° (≈180° each way), though the more extreme the twist the worse it looks as there is a limit to how much you can patch up the twist on a small area.



When the system was functional I went into updating the value references of the right shoulder to the correct arm, so I could move them independently and still get the correct blend shapes. While doing this I did some further tweaking and added more minor blend shapes. Before the next WIP though, there had to be blend-shapes on the clothes as well.



After adding and copying the blend shape system to the clothes I wanted to test the shoulder blend shapes in an animation and not just spinning the arms around semi-randomly. And while we didn’t have movement animations on the new rig excluding on horseback, those types of animations would not show or test shoulder movement to the extent I wanted. So I made an interaction animation of scratching the horse’s neck while idle, the timing for scratching was deceptively hard to get down, so I had to ask for references of scratching from the team members with horses. And even with the reference I had to adjust the timing to look good animated. That said: the scratching animation will get worked on more as I feel it is still far from finished, but as of now it is not a prioritized animation.



Moving to more high-priority animations: We want to implement the character soon and with it make it possible to not be mounted. To do that we need movement animations. “But you already have that” I hear you say, and it is true that at one point we had them. But those animations are old enough to have been made on a completely different rig, and the animations don’t transfer automatically. Unless they are similar enough that they use the same naming conventions and the same approximate base rotations, at which point there would not necessarily be a need for a new rig. Above is the jog animation, which I am fairly happy with for the time invested in it. I would like to adjust the hands to not be as stiff and maybe generally tweak the upper body motion a little.



With the movement system Green/Red Horse is working on it will be possible to crouch and for that, we need a crouching animation. Crouching was actually a little weird to plan because you have to think and agree with the others on how far down you want the character to crouch. For example: in the first iteration the crouching animation was much lower, as I personally almost sit on my heels when crouching.

There’s also the fact that I usually stay away from using other animation as a reference, as that would mean I am making an imitation of an imitation of the original movement, so why not just reference the original? I like to think of it as a game of telephone; for each time it is referenced some information is lost and that loss will add up after a while, and you don’t necessarily know at what level of reference telephone the animation you are referencing is.

Finding a good reference turned out to be more difficult than I first anticipated though and decided to just film myself crouching forward. I had to adjust a couple of times to get a height the rest of the team was happy with but there was still a lot I had to do differently from my own movement. You can learn a lot of things you never thought about, by filming yourself move and then analyzing it. I say this because one of the things I had to fix is that apparently when I crouch walk, my natural position is very roguelike with one hand in front and the other further back and to the side. It gave me a slight laugh but we aren’t making a stealth-action game so that would not really fit Astride. So the hands were adjusted to move more like when you walk upright, right arm forward when the left foot moves forward.


Tidying up


By Green Horse - Programmer


Inviting friends over is a good way to motivate oneself to clean the house. Similarly, hiring a new programmer has provided a perfect opportunity for me to clean up the project.

Before I began tidying it up, the project was a jumbled mess of prototype code, abandoned features, and workarounds. Now, it's much more organized, with separate packages for each part of the codebase, logging, asset pipeline documentation, a structured folder hierarchy, and standardized naming conventions for all assets.



Since the last devlog, my focus hasn't solely been on cleaning up the project, though that was the main objective. I've also accomplished other tasks:


  • Coded a Garry's Mod-inspired character controller.
  • Downloaded and implemented a development console.
  • Developed an editor window for internal use.
  • Programmed map loading and streaming.
  • Implemented terrain collision.
  • Prototyped mount/dismount functionality for horses.
  • Added even more settings.
  • Began documenting the asset pipeline for the team.

The upcoming game update will likely be the last purely "horizontal" one, where we feel we're laying down the game's framework. With this robust foundation in place, we can begin to "scale vertically" with our new gameplay programmer and introduce more gameplay features. For instance, a short-term goal after this update is to introduce the ability to pick up or push/pull physical objects. However, it's important that we align ourselves with the roadmap we've made and finish the show jumping and dressage game modes first. But some tiny, fun, low-effort digressions are allowed, I say. I will add a soccer ball. Horse soccer anyone?

I'm eager to explore gameplay ideas with the community and I'm looking forward to seeing how we can enable players to roleplay in future updates. More livestreams will come, but we just have to finish this next update first before we can play together on the stream again. More information will come when we're ready to start the Patreon testing phase. See you around!



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 #31: June 2023

The end of June is here, bringing us to the June development log. A lot of exciting things are in the works. Two patches/updates have been completed this month to deal with bugs and other issues. More updates are of course to come over time. Due to the developers taking a vacation for the last three weeks of July, there won't be a July devlog. But we are happy to announce that when we are currently getting ready to interview possible candidates for the new programmer position at Raidho Games. They will eventually partake in the following devlogs and share what they are working on once they are comfortable doing so. We hope you enjoy this devlog and we are eager to be back to work very soon!

Focusing on the Fjord


By Mathilde - Community Manager, 3D-artist


June really has flown by! While I have been busy with a lot of writing and organizing both external in our Discord and other platforms, there has also been a lot of internal work this month, including multiple board meetings for Raidho, Hamar Game Collective, and another game studio in-house. It's definitely been a busy month, but I've been happy to work on the Fjord horse and finally be satisfied with the new look of it. While the Fjord is still not finalized, it's getting close. The only thing left is some tweaking, polishing, and adding a small amount of feathering to the legs and possibly some ear fluff.

While I spoke more in-depth about the process of sculpting, baking, and polishing the Fjord here, it all started with creating the new high-detailed mesh from the low-detailed mesh. I always start out by mapping out the biggest muscles on the horse, usually the shoulder and thigh. There is a lot of back-and-forth to avoid getting tunnel vision. Then I moved on to smaller details such as the tendons and muscles in the neck, legs, and face. In the end, I added the smaller details such as skin wrinkles and crevices.



When I was pleased with the high-detailed mesh, it was time to do some baking. To simplify the term baking in game development, it is when you project a high-detailed mesh onto a low-detailed mesh. Making the low-detailed mesh look like the high-detailed mesh, just much more optimized. When I was happy with the bake, I went in and hand-painted in sharper details and added even more details. I like to do this as a polish since baking sometimes doesn't translate all of the finer details. This is where I defined the muscles, and crevices and added more definitions to the existing details. I gave the muzzle skin texture, dimples, and cracks to not look flat and lifeless. As a final touch, I like to add veins in the face and legs.

When I do these polishing tasks on the Fjord, I like to go back and forth looking at the horse with added fur textures just to see if the details added are expressed properly through the fur or not. When I was pleased with the final look of the detailed map with the fur, I moved back to the low-detailed mesh to make additional tweaks. We posted a few photos of the Fjord in a Norwegian Fjord horse enthusiast group for final feedback, and we got a lot of great pointers. I fixed the angle of the fetlocks and made the front of the horse less bulky and the back of the horse a bit more bulky to even out the imbalance there was before. The forelock got a major up-scaling and the ears were scaled down a tad.

The only thing missing now is additional fur such as feathers on the legs, extra hair in the ears, and possibly a small amount of throat/chin hair. Before doing this, I want to find a good way to blend these hair cards into the existing body mesh as we want to avoid hard edges between the coat and where the additional hair is sticking out. I might go more into detail about this later.


This last week, I got back to the roached mane. While we had a few styles for it last year when we first introduced the Fjord, I had to remake this style as it wasn't very efficient to work with. That has been fixed, and all of the current styles work with both the Fjord horse and the Norwegian Warmblood. It's still a bit finicky, but it's definitely an improvement. I've added a couple more styles after this GIF, but you'll get to see those later. While it may look a bit silly to have such a thick roached mane on a Norwegian Warmblood, which usually is known for its thin mane, we thought it would be a shame to limit this style to only one breed. If you disagree, you are more than welcome to say so! But for now, the plan is to make every hairstyle available for every breed.



As a final tweak this week, I decided to fix a detail that has been bothering me for some time, but that I was never able to quite put my finger on. After receiving feedback from the team and digging for reference images of hairless horse ears (they are not easy to come by), I was able to change the shape of the ear and make it look more like an actual horse ear. On the left of the picture underneath is the old shape of the ears, while on the right side, you can see the new shape. This small, but major tweak really did change the look of the ear. And they now, at least I think so, they look a lot better.



While I am looking forward to a short summer break, I am definitely excited to get back on July 31st to continue working. We still have another week of development to go before taking a break, but we won't have a devlog for July. Instead, the last week of development before the break will be documented in the work-in-progress channel over at our Discord server, and it will be added to the August devlog once the time comes.


Embarking on the environment everhaul


By Tirna - Project Manager, 3D-artist


Lately, I have been diligently working on another environment for the Early Access version. While this environment style differs from what you initially encountered, it brings us closer to our desired final result. Although it may not reach the same level of realism, these assets serve as excellent placeholders, helping us gain a deeper understanding of what to create and how different elements can harmonize.

Initially, I focused on creating a prototype for the area where your character's property would be located. However, we wanted to explore more freely, the final map remains uncertain, until we have written more of the story, and can learn more about what we need and where we need certain parts to be located. We are prioritizing the technical aspects for now. I conducted several test rounds, which led me to create a new scene. This scene will likely only be available during the early access phase. Our intention is to experiment with various environments, such as open fields, dense forests, and sparser woodlands. Although we plan to incorporate water elements eventually, as it is uncharted territory for me, I have decided to treat it as a separate milestone to avoid making too many mistakes and ruining what we have now.



We went through numerous iterations of the terrain for the upcoming environment scene. The pictures displayed above here represent an earlier iteration that we no longer use. However, we may draw inspiration from them at a later stage of development.

Finally, we settled on the terrain we desired for the Early Access version and have been devotedly working on it ever since. This environment offers a diverse range of landscapes, allowing you to enjoy our trail paths or wander freely in open fields. Although this piece of the environment is still a work in progress, I assure you that I am striving to deliver it as quickly as possible while ensuring it remains captivating and inviting.



As a last note, the indoor riding arena has undergone substantial optimization, resulting in smoother performance. While a few visual changes have been made, its overall design has remained largely unchanged.


Moving horses, pi problems, and morphing shoulder


By Marius - Animator


While, technically, it was made in May the slow canter finally got an update that I felt was good enough to be implemented to the game. Now this was made during crunch time the week we were meant to launch and normally I would have just had time to do the forwards animation, but while doing an all-nighter (Don’t do them, people!) I managed to make and remake the turning animations for the slow canter unprecedentedly fast and got to implement them into the game for Steam to test.



After the early access there was a lot of financial work that prevented me from animating, but as soon as I had time I had a look into what we were missing from movement options. While not every movement option is implemented in the game yet (mainly backing up), I need to have the animations ready before we can add them when we are ready to test it.

There is one problem with the animation I saw that we lacked, it seems to not be a normal movement for a horse. The lacking movement was turning while backing up and when I couldn’t find a satisfying reference, I asked Maja and Mathilde to film their horses doing that movement; the problem is.. they wouldn’t. So I had to get creative.
You could argue that we should not animate the movement that a horse would not want to do, but as a player, you will want to have all the movement options that make sense for you to be able to do; you would feel the missing movement option, so I had to test for things that could work.

The first solution I came to was the easiest one: Just rotate the horse around an axis point and make the feet stick. There was just one problem… Pie, I mean Pi (π). Pi has been a problem for about every turning animation I have made, but with this animation, it was especially bad. The problem with pi is that when I place the hooves, the farther away from the axis it is the more it has to move. This often leads to the closest hooves almost not moving at all and the farthest ones moving too much, and don’t even get me started on hoof rotation! Okay, I’ll start: I try to keep the hoof rotation so that the hoof doesn't slide on the ground the same as with placement, but that can lead to the leg bending weirdly to accommodate for the twist. You can avoid this by letting the hoof slide when appropriate if no other solution presents itself, it is normal to change the angle of the hoof without lifting it in some cases. Though I can’t remove pi from the equation, I can try to mitigate it as much as I can; but in this case, it just would not look good. The banana bend was a little too mechanical and no matter how I slid the hooves it did not look right.

I started the animation anew with another mindset. Instead of having one turning animation where the horse's rotation is constant, I would mix two animations into a longer movement. I chose to take the backing-up animation with the animation for turning while standing still. So while the root motion would be constant the horse would move more step-wise, moving its hips left and right and the body speeding up and slowing down depending on the steps.



I usually start with the extremes when making animations that are meant to be blended between. This is to ensure that we have access to the whole spectrum of the movement as fast as possible, even if some of the in-between movements may look weird. That is why the current in-game jump is too high, it was made for the highest planned jump height (also the reference I used was riderless so it is a little short in jump length). We saw the need to make a jumping animation that is more in line with our current jumps, especially since we haven't implemented jump blending yet.

This jump is made to be a little lower while also jumping farther and is meant to replace the current jump as the standard. As I have worked with jumping a lot before, there were not many surprises slowing down the work. The biggest surprise was the finding of an exceptionally good reference that I would guess doubled the working speed of the animation. I did have to fix some skinning problems we noticed though, that luckily did not negatively affect any other animation.



While I am an animator a big part of my job is making the rigs that I use to animate. And while I can rig I would not describe myself as a 3D rigging artist, as there are areas of rigging I almost haven't touched at all, and try to keep my rigs simple. I say that while knowing that gaming rigs should be simple, as the more complicated they are the more processing power they use. The most glaring blind spot for me though is that I have never been confident in blend shaping and avoided it for as long as possible. Though a rig should be as good as possible before starting on corrective blend shapes, the time has come to start making them for the human character.

While diving into corrective blend shaping I found it way more fun to work with than I remember, but I still have to experiment and find what works best. One blend shape is well and good, but when you have to blend between them it gets a little more complicated. I have mostly worked just on the shoulders as of now and will hold off on other places until I have made them blend between each other well, as the shoulders are one of the places with the most movement, making it hard to fix. That said though even if I turned off shoulder movement in this gif to test just the arm deform, it makes a world of difference.




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 2023.06.17

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



  • A slight turn friction when you stop turning has been added to avoid oversteering.
  • Server list filter based on build version has been added.
  • Added striding helpers when you are riding toward a jump.
  • You can now move the horse using the arrow keys.


Fixes and adjustments



  • Reverted the quality settings to Unity's default and bumped the shadow range on high-quality settings from 50 to 130. It will look a little weird right now but we are working on it.
  • Moved the jumping spot ahead a little bit. You can no longer jump “into” the jump and still make it.
  • Moved the back and the apply button in the options menu so that you do not get stuck on weird resolutions.
  • Getting names of someone else who has previously disconnected.
  • Window Mode not saving in the options menu has been fixed.
  • Fixed crash when AnimationPlayer tries to read from an entity that does not exist.
  • The camera in the horse creator no longer resets.
  • The collider behind the riding arena has been removed.
  • Some regions not being able to parse float values in the animation data because of a comma issue (CultureInfo.InvariantCulture) has been fixed.


Known issues



  • Striding is more difficult now because you have to land inside the circle. Since you can no longer jump into the jump so that you land inside the circle, it will seem harder but in reality, we just fixed a bug. Later we will add a way for you to automatically adjust your striding by holding down a button.
  • Game crash on server shutdown.

Devlog #30: May 2023

While the May devlog comes very late, we would still like to showcase what this month entailed. May has been riddled with the Early Access launch preparations. While we had a rough launch, we are all determined to keep working and pushing new patches and updates. With a (hopefully very soon) new programmer added to the team, we are ready to kick the development into new gear.

Platform preparations and Early Access tweaks


By Mathilde - Community Manager, 3D-artist


The month of May has been filled with a lot of behind-the-scenes work. I spent most of the month making documents for the Steam page and discussion forums, preparing the Discord server with new channels, forums, and some changes to existing channels. Some channels that were not as often in use were moved into the community forum and a few more forum topics were added. I also did my best to help the amazing moderators prepare for the launch. This meant making sheets for extra game keys in case members couldn't retrieve theirs, and new bots for the server (with help from the wonderful Miry) that will help with logging and moderating. The Astride website got a visual overhaul with in-game pictures instead of rendered images in addition to updating the information. Lastly, I worked on the final patch notes for the Early Access release and all of the announcements that were made before, during, and after the release.

I would like to give a special shoutout to our wonderful moderation team for being so hands-on and helpful during this busy time. You are all so much appreciated and we are so glad to have you.



As for game development, I finished up the face markings and implemented them into the horse shader so that they would be available from the Early Access launch. I was also able to do some tweaking here and there of textures. Hopefully, we can make the normal map (the horse's details such as muscles and fur) pop more in the updated shader that our freelance technical artist is working on. Before the release, we also had to do some final testing of the multiplayer function to make sure it was working as intended. Players were able to join with their custom horses and names and ride around together in real time. We also spent this time testing to record some clips for the new Steam trailer that Maja was working on.




Summer vibes and Early Access


By Maja - CEO, Concept Artist


May has been a very busy month for the whole team. For me, it’s kind of a blur because of the stress. Almost everything I've done has been for the Early Access deadline. My task was to update the Steam store page for Astride with new photos like banners, logos, screenshots, and the trailer. The store page will be updated again when more features are added.



I have continued on the alter real sketch and it has turned into a very summery drawing. It will of course be used as the splash for this summer. Personally, summer is my favorite season of the year! The screenshot of it is a bit more rendered than the one I posted in the work-in-progress channel on our Discord server since I’ve been working on it more since the beginning of May. I tried my very best to paint dark skin, which can be challenging, but I think the face looks pretty good. I have painted dark skin that much earlier. I also like the horse itself, I am getting better at painting bays. I wanted the saddle pad and t-shirt to be yellow since I think it compliments the green background. Sadly, I had to take a break from it due to the EA preparations, but I will finish it once all the paperwork is completed.




Final touches


By Green Horse - Programmer




May, the month of madness, was when everything started to come together. During the livestreams we worked on features such as the options menu for the striding system, and the horse creator features, and fixing bugs that popped up. We added some basic collisions to the walls, made a simple show jumping loop, and fiddled with the animation system to make animations blend together.

Behind the scenes, I made an Early Access Steam Key delivery system through our R2-Key2 Discord bot and did some database design. In some ways, I could call myself a half "full stack" developer at this point.

On the design side, I tried making the striding system I originally planned but the animation system needs a proper iteration before that can be done. We want to predict future strides and add helpers for you to adjust your stride but the animation system is a bit inaccurate so it has to wait.




Documentations and art breaks


By Tirna - Project Manager, 3D-artist


May was an incredibly busy month for all of us as we primarily focused on documenting government-related matters. Our main goal was to ensure that we had everything in place as agreed upon so that we could smoothly transition to the next phase of developing Astride, which will primarily involve production rather than concept work.

Despite the abundance of text that needed to be written, I managed to take some breaks. I'm thrilled about that because this post would have been quite dull otherwise! Some of you may have noticed the saddle in the Early Access version, but it will soon be replaced with a new one. As our horses have become more advanced and detailed, other elements also need some updating. The new saddle has a more realistic appearance, with different layers that were previously textured. Additionally, it has been designed to be more versatile, allowing us to swap out various parts and create new saddle models faster than ever before!

We have also completed the first part of the Kickstarter tack, which was primarily designed by Maja. I can't take full credit for it as I made a few minor adjustments due to restrictions within the 3D models. Working closely with Maja's art was truly enjoyable, and despite encountering some small issues, we had a great time resolving them. We don't have a specific release date for the new tack and the Kickstarter reward tack bundle yet, but the good news is that there will be more Kickstarter tack coming in the future! Implementing it into the game is not a simple task, as it involves properly fitting the object to the horse, ensuring it moves correctly without glitches or intersecting with other objects.



During this month, I also had the opportunity to work on some environments. Unfortunately, environment development had been delayed for a long time as we eagerly awaited the updated environment system from Unity DOTS, which has yet to be released. However, we felt it would be unfair to keep you wandering in a void for even longer, so I finally had the chance to create a small environment scene. I truly enjoy working on this aspect, although I acknowledge that what I've created so far is far from perfect - it's just the beginning. I have implemented both indoor and outdoor arenas, as well as dressage rails. Newer dressage rails have been created and will be updated soon!



Idles and obstacles


By Marius - Animator


With the early access launch looming closer and closer May was a busy week. At the start of the month, I went into preparing the character model to be imported into the game engine which included baking existing animations, making missing ones, and setting up temporary base shaders that are compatible with Unity.



I decided when I started on the itching animation that for the next few weeks, I would be on an animation fast track, which meant long hours, intense animation sessions, and trying to not get too hung up on details. The last one of these was probably the hardest to do, but not the most exhausting.

To shake off some stress, I decided that the next animation should be a variant of an earlier animation: The idle shake. The old shake animation is a little more intensive and makes more sense on a horse that is not being ridden; along with the fact that the rig has had extensive upgrades since then and while usable, it will need some touch-ups. Anyway, the new shake animation is made with riding in mind so it should be able to layer the animation over other movements. All to give the horse more life.

After this, I was itching to make some idle animations though so I started fittingly with an itching animation, which had me revisit the neck setup to make it more maneuverable. The neck has been a sore spot in the rig from the start as a horse's neck needs a lot of movement options that you usually don’t have to think about when making necks on other types of rigs.



After this, I also made a base idle animation, but it isn’t that interesting to look at as it just stands still with some movement to not look like a statue; so I won’t be sharing that one. But After this, I wanted to add character animations to the idle animations to test how it might be done. I had an idea on how to make the character animation pipeline more streamlined and use the horse's actual movement to control the character. The system itself ended up working, but only for the base animation. I will have to add more advanced and minor movements manually.

While working on this animation some problems with the saddle rig became apparent. The saddle rig uses the horse rig to decide its movement and this means that slight errors make it clip through or lift from the horse. So about half a week went into fixing this and slowed down the animation fast track a lot, but as the problems affected all animations it got moved up in priority to fix it.

I had the idea that when the horse goes down to itch an unprepared rider will be drawn down with them. At least from my own riding experience. The only problem is that as we currently don’t have reins yet I had to imagine them being there so I know I will have to revisit this one, but it was a nice test.



Finishing the saddle, I set the horse in gear and worked on faster animations like the fast canter turning animations that were missing up until this point. I even snuck into work on a day off and relaxed with a lower-intensity animation workday, finishing the last remaining fixes to the turning fast canter animations.

While I sped up after the day off, the horse slowed down. We took a look at what we needed for movement again to decide what needed to be prioritized and came to the conclusion that we needed slow movement; more specifically, we needed moving animations close to when the horse is at a standstill. Like this eager animation that moves forward and not just in place.



Now there were some obstacles that needed to be addressed, and that was… the obstacles. We want them to be lifelike and not identical at the same time and we don’t want them to be fully physics-based as physics can be quite unruly at times. So I went and made some physics simulations and baked the ones I liked into animations, personally, I am not accustomed to doing simulations, but if we decide to have physics in-engine or pre-baked it does not hurt to get more experience working with simulations and which parameters do what.

There was some more intense work I did after this WIP entry before the early access, but that will be shown in the next Steam devlog as it was used as my next WIP post even though it already was in the game. Or you can see it on our discords daily work in progress channel.


Please note that everything shown in these devlogs is mostly showcasing work that is in progress and is not finished. To see work in progress daily, join our Discord server community here! To get more information about Astride, check out our website.

Game Development - Where does the money go?

In the last week, there have been a few questions surfacing about where the funding is allocated for Astride’s game development. While this is a fairly easy question, the answer is not so straightforward. We will be doing our best to explain how much it takes to run a game company and where the funds are allocated.

In April 2022, the Kickstarter campaign was finished. Our initial goal was €30,000 euros and the goal was met and exceeded. Now, we live in Norway and Norway has taxes. While the total Kickstarter sum was at €44,000 euros, €15,000 of this went straight to taxes.

For our stretch goals, we listed the €30,000 goal for developing Astride with the current team and 50% FTE until the start of 2023. FTE stands for full-time equivalent and is a unit that indicates the workload of an employed person. However, this does not mean that we would be working 50%. This means that we are getting paid 50%. The work hours have been beyond 100% FTE.

These €30,000 euros would go solely into equity for future funding. In May 2022, we received our first funding from Norsk Filminstitutt. We received €50,000 euros and this was going to fund our development until November of 2022. However, to receive grants, a minimum of 25% equity is required. And thus, €12,500 euros of the Kickstarter funding was used. This was stated in an announcement made in May 2022. As the original plan was to release Astride to early access in December 2022, this would, in theory, be enough. But as you all know, we decided to postpone the release by 6 months.

What happens when a company requests a postponement of a development phase is this; the time limit is exceeded but there are no further funds provided. This means that we had 6 months of unfunded development ahead of us. Thankfully, we had saved Patreon and Kickstarter funds as a safety net, and we were able to get by on this. All of the developers saw a decline in wages. We went from working 50% FTE and down to 25% FTE. Keep in mind the workload has still been at 100%.

The last year has been difficult, not only in development but in living. While we will not go into details about each member’s living costs, the whole team has been living well below the poverty line since the beginning of the development. This is to underline that we are not running off with any money or misplacing it. We are incredibly careful with how the funding is spent.

While it is understandable that there are worries as to where the funding has gone, keep in mind that budgets are required for acquiring government funding. Down to a single cent, every wage, purchase, or fee is planned and in our budget along with a Gantt diagram. The budget has to be accepted by the government funding and is to be strictly followed. If there was something that didn’t make sense in the budget, they would have rejected it instantly.

A few months ago, we were happy to announce that we had not only received one, but two grants for one development phase that will last out in the year 2023. Østnorsk Filmsenter and Norsk Filminstitutt came together in granting a total funding of €100,000 euros. As for the required equity, at least 25% of the total funding was covered on our side. That’s another €25,000 euros that we are paying for this period of funding.

In addition to funding equity, running a company requires insurance, employment taxes, revisors, office rent at Hamar Game Collective (where we are also provided with guidance and are in a space with other game companies at our disposal), pension, software licensing, and much more. All of the equipment we are currently using is private equipment. Computers, pen tablets, and other office supplies are all private-owned. We have in addition been bringing in a couple of freelance artists to help with the development.

We hope this helps clarify how the funds we have received have been utilized and how passionate we are about this project. Just like you, we are determined to see the game through to completion, and we will give our best effort to surpass your expectations. Your continued support means the world to us. Thank you so much.

Roadmap: Summer, fall, and winter 2023

A roadmap for the time to come has been highly requested since the launch of Astride's early access. We would like to let you in on our short, mid, and long-term plans for the rest of this year. Please keep in mind that changes may happen while development is ongoing but we will do our best to share news of changes with you.

Information


Unity DOTS
Data-Oriented Technology Stack (DOTS) is a collection of packages enabling us to create best practice, high performance, multiplayer games with significantly less technical debt and fewer challenges than the old Unity MonoBehaviour workflow. However, Unity hasn't converted many existing features available yet, like Animation and Terrains. Therefore, we are opting in for temporary solutions until they have converted these packages. We have tried out a couple of third-party plugins in the past but they are either not compatible with DOTS or lack support for DOTS in the future.

Short Term


Optimization & Bug Fixes
There is a mix of Unity bugs and code bugs that needs to be addressed and fixed in the short term. Crashing, game-breaking bugs and poor performance is the main focus in the short term and we hope to fix these as fast as possible. We are also able to hire our freelance tech artist again so they're back to help out with adding more quality settings and doing general "Tech Artist" optimizations. We will also add more graphics settings to enable granular control as one would expect in modern games.

Show Jumping
We want to enable server owners to host and manage show jumping competitions with scoring mechanics and leaderboards. We also want to enable players to join perpetual competitions in servers without the need for a manager. At the same time as working on this game mode we will tweak the horse movement controller to feel better to use in show jumping.

Audio
Our sound designer has made some relaxing ambiance that we would like to implement into the current scene. Music for the horse creator has been made and is on its way. Horse sounds and riding sounds will be implemented once our custom animation system is at an acceptable state. We will be recording sounds from a local horse barn.

Rider
We have a few rider animations but at the moment they are in a placeholder state. We need to lock in the animations we want for show jumping and dressage before we start making proper rider animations. We are aiming to have the first look at the rider in-game in the early fall.

Chat
We will implement Vivox and enable players to chat together in-game. However, it is important that we implement the Steamworks API into the game first so that each player is bound to their Steam ID and can be muted/banned from servers.

Mid Term


Dressage
Dressage is the next development phase that we've applied funding for and will be the main focus for fall/winter. A lot of animation work needs to be done as well as design and tweaks to the horse movement controller in order to enable the high-precision movement required for dressage.

Mac Build
We can make a Mac build from a Windows computer with the Mono scripting backend, however, this produces a significantly slower build than making a build from a physical Mac with the IL2CPP scripting backend. We want to give the project a proper optimization pass and make a physical Mac pipeline before we feel comfortable adding the Mac support tag to the game. Right now the horse shader is not compatible with Mac, and our vegetation asset is not DX12 and Forward+ compatible. But our freelance tech artist will be re-making the shader to make it more optimized and compatible with all platforms.

Terrain, open world content, and collision
Since we are using DOTS we need to wait for a DOTS-compatible terrain workflow before we can implement proper terrain collision supporting the upcoming character controller and an update to the current horse controller. Internally, we put indoor show jumping and dressage as a focus while we wait for proper terrain support. But we noticed that horses don't like to be contained when there is beautiful nature to ride around in, so we put a temporary solution in place and made an opening in the fence.

As of right now, the collision is all clientside as it just samples the height from the height map and sticks you on top of the terrain. We could spend some effort making a temporary hybrid solution to bridge the gap between the old terrain system and DOTS, but it would require a significant amount of research and development that we don't have the resources to do at the moment. If a simple solution presents itself, we can look into that as an upgraded temporary solution until Unity releases its open-world terrain workflow.

Long Term


Moving Character
Unity DOTS provides an experimental character controller that we want to utilize. However, a requirement is that terrain collision works as we do not want to fall through the terrain. Initially, we set this feature as a milestone for later, but we can experiment with our testers until we are ready to release it to the main branch.

If you have any questions regarding this roadmap, do not hesitate to ask. We will do our best to provide you with clear answers.

Astride Patch 2023.06.08

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



  • Added aspect ratio to the resolution dropdown.
  • Added camera follow option to make the camera follow the player after 5 seconds of camera inactivity.
  • Added scroll speed option.
  • Added placeholder visual collision with the terrain. This allows for “Skyrim" horses due to no slope limit, but this is only temporary. Have fun!
  • Added controller scheme and striding guide to the escape menu.
  • Added controller scheme popup when you join or start a server.
  • Added "Error Horse" when the game can't save or load. Players have reported this, but this allows us to investigate further.


Fixes and adjustments



  • Fixed server list only showing one server.
  • Fixed resolution not saving properly.
  • Fixed striding only striding at every other stride.
  • Fixed the camera getting stuck when reconnecting.
  • Fixed bright lights inside the riding arena that would make the horses glow.
  • Fixed camera max scroll range getting stuck when visiting the horse creator.
  • Changed jump radius from 1.5 to 1.0. Please give feedback on this. We can possibly go down to 0.5 again if done properly.
  • Changed resolution to only apply when you click apply.
  • Tweaked LOD and shadow range until our tech artist can do a proper pass.
  • Changed default mouse sensitivity from 50 to 5
  • Removed "Server Info" text as this feature is not implemented yet.
  • Removed striding helpers above the jumps as that feature is not ready to be implemented.
  • Removed focus (ALT) button that was meant to auto-adjust the striding, but was broken.
  • Removed a part of the arena fence to allow for temporary out-of-bounds movement. A proper forest map is in the works.


Known issues



  • When the horse is running "in place" into a jump the game thinks it's striding and will make the horse jump.
  • Synchronization issue between the player jump indicator and the server jump indicator making it look like the jump indicator is in another place than what it is on the server. Trying to do a jump on a desynced jump indicator will make the horse do a jump on the client, but not on the server. However, it will then move to the correct location.
  • Hosting a multiplayer server too fast after shutting down the previous one will make the request time out.
  • Audio not working yet as it is not implemented. Wind + bird ambiance and horse-creator music are up next. Hoof sounds require a bit of work.
  • Medium and low quality settings look strange. Our tech artist will work on this.
  • Menus being tricky to navigate on some aspect ratios.
  • Switching to a resolution by clicking apply might get you stuck. A 15-second confirmation dialogue will be added in the future.
  • Resolution dropdown is reversed meaning the lowest resolution starts at the top.
  • Occlusion culling glitching when you're riding out in the terrain. We'll do a proper iteration on this later.
  • Performance issues on some mid to low-end devices. We will delegate this to our tech artist.
  • Players not receiving a disconnect message when the server shuts down, press ESC and exit through the menu. If you cannot connect to single- or multiplayer after this, restart the game.
  • The game saves the horse every time you make a change in the horse creator, leading to a frame spike.
  • Horses can be modified beyond the constraints of the horse creator. Serverside validation will be added in the future.