#HORSEY TIME ZEEHAW

1 messages ยท Page 5 of 1

brisk iris
#

Oh okay sweet I'll try them

limber plinth
#

Idk if these are uptodate anymore

#

This one is actually the only one that seemed to be fully shadowed

#

There's a PSD in the zip with overlays for shadows

brisk iris
#

Yeah some of the ones in there are the ones used:

limber plinth
#

If the texture map doesn't look like this anymore then it was probably changed

brisk iris
#

But they don't work for some reason (I haven't looked very deep into it yet)

#

They show on the horse, but the mapping is off

limber plinth
#

All good then

#

Probably better to be done by someone who knows more about texturing ๐Ÿ˜… - I just kind of winged it

brisk iris
short cloak
#

some of the textures are old yeah

#

we changed the uvs at some point

brisk iris
#

I'll try with that new one

limber plinth
#

Oh if this is the new shape then yeah -- what I sent is probably useless lol

#

Or rather - unshaded

brisk iris
#

Yeah that one looks good!

limber plinth
#

Does appear to have gone through some slight changes lol

#

atleast around the backleg/thigh area

brisk iris
#

Hmm maybe it renders a bit differently, I took that from the zip you sent just now

limber plinth
#

I think the model was probably tweaked since I made the texture

#

The snout looks shorter for sure

eternal briar
#

Wow really love this one ๐Ÿ˜„ you should do more?

coarse tinsel
#

Thank you, I think it's getting there, just need some more veins, and some more shadow work ๐Ÿ˜„

eternal briar
#

veins? on a horse?

thin crescent
brisk iris
#

Do we have a plan for sounds btw?

topaz meadow
#

Yeah I believe @silver holly got some sound files if im not mistaken?

silver holly
#

Not all need to be used for sure

#

Really love this! It looks great.

#

I would honestly be very sad if my textures ended up being unused, however.

#

I assumed Chuck's dark shaded/muscle texture would end up getting slapped over these eventually.
If it really comes down to it we could community vote? I don't wanna be a sourpuss about it

ebon flame
#

I'm so excited for this, amazing job!

brisk iris
brisk iris
#

Ugh... Seems the attachment system is not as solid as I hoped it was. As soon as the horse is not visible on the screen it stops rendering the attached stuff. It's still there, just not rendered :/

brisk iris
#

So since it still stays in inventory it can be re-attached easily by checking the inventory of an animal that returns true for isOnScreen() and then just re-attach the items found in inventory.
Just need to come up with a good and performance friendly method to find the visible animals.
If only AnimalInstanceManager was accessible in Lua...

#

Actually wait, it seems the inventory gets purged on exit PensiveCowboy Hmm

#

Maybe just have the horse drop everything on exit, and then re-attach on load by saving location in mod data?

brisk iris
topaz meadow
thin crescent
muted ridge
#

On MrAtomicDuck Discord

brisk iris
#

Hmm, the cow has "milk" attachment slots, I wonder if calfs attach to it when drinking, and if so, that might mean we can attach animals to other animals

#

Will explore that some more later

brisk iris
#

This looks so fucking wrong, but I guess that's how they do it

#

But I'll see if I can make it work somehow

#

This should work okay for now, I can go back and adjust later, but if we can extend the neck just a bit that would be great

muted ridge
#

We might want a longer neck yea idk

warm sapphire
brisk iris
muted ridge
#

That's good !

topaz meadow
#

still slightly goofy but oh well ๐Ÿ˜… at

brisk iris
#

Hmm, the horses still vary a lot in size even though I set minSize and maxSize to the same ๐Ÿค”

#

Maybe they can't be exactly the same

muted ridge
#

Age matters ?

brisk iris
#

Hmm, good idea, I'll look into that

silver holly
#

Oh wait you fixed the neck already lol - Do I need the new model file?

silver holly
brisk iris
silver holly
muted ridge
#

I mean the model is part of the project, you can just go and edit, I don't think you specifically need Paddle's permission since he's working with the team ๐Ÿ˜…

#

I just wonder how it'll go with the editing of bones as you'd basically need to reanimate ? @brisk iris

brisk iris
#

Shit I didn't think about that

muted ridge
#

a

muted ridge
agile shoal
#

Yeah lemme know if you need any rig help!

#

Ill try to make some time

#

And yeah no holy permission is needed from me (although I like the power)

brisk iris
# brisk iris Hmm, the horses still vary a lot in size even though I set minSize and maxSize t...

Update on this: Seems that genomes defined in the horse_definitions multiply the value of the defined genomes with a randomized value

AnimalDefinitions.genome["horse"] = {
    genes = {
        ["maxSize"] = "maxSize",
        ["meatRatio"] = "meatRatio",
        ["maxWeight"] = "maxWeight",
        ["lifeExpectancy"] = "lifeExpectancy",
        ["resistance"] = "resistance",
        ["strength"] = "strength",
        ["hungerResistance"] = "hungerResistance",
        ["thirstResistance"] = "thirstResistance",
        ["aggressiveness"] = "aggressiveness",
        ["ageToGrow"] = "ageToGrow",
        ["fertility"] = "fertility",
        ["stress"] = "stress",
        ["speed"] = "speed",
        ["stamina"] = "stamina",
        ["carryWeight"] = "carryWeight"
    }
}

So that's why even having the same max and min range for the size on the horse breed definition itself was causing it to vary in size
Removing it makes them all the same, but we can use it for sure, now that I know how it works I can make the heights not vary so greatly

silver holly
muted ridge
#

Fair

brisk iris
#

Hmm... Does other animals eat grass in the wild? ๐Ÿค” I've never really played with animals, so I think I need to do some research on how they work before I assume the horse is broken lol
It won't eat grass in the wild unless I push it onto a grass square, or scare it to run onto grass, but it will try to pathfind to grass and get stuck because it just stands adjacent to it, which seems to be vanilla behaviour, but that would mean all animals would starve in the wild or get stuck in eat states that never finish drunk Gotta do some digging

brisk iris
#

Yeah they eat just fine, and strangely enough the horse is now also eating fine

#

Oooooh wait, I think they might get stuck because the try to sit but I don't have a sit animation

#

It did the same thing when I didn't have an eat animation, just froze

brisk iris
#

Something super fucky just happened. I was fast forwarding to check some wandering stuff and all of a sudden they all stopped rendering. Like 3 horses on the screen all went invis. They were still there, I could interact and ride them (tracked one by checking where the grass was getting eaten lol), but it was like it was stuck when riding. After this I got off and yelled, which scared it off I think because I couldn't find it in that same spot

#

Spawning in a new horse rendered just fine

#

Have not seen this happen so far. I wonder if it's related to aging? Like the 3 I spawned at the same time all aged at the same time and something got messed up?

brisk iris
silver holly
#

Yeah sitting and laying down might be necessary o: I forget did you do a dying anim?

brisk iris
#

Someone made a death one, not sure who, but I'll need to do sitting yeah

silver holly
#

Were you able to check out the sounds on Trello? C:

brisk iris
#

Oh right! No not yet

agile shoal
#

Me omw to get the horse death noise

silver holly
#

No rush! I'm just excited lol

agile shoal
#

I made a death anim a while back but im not sure it still works

silver holly
agile shoal
#

Im sorry but we need more glue ๐Ÿ˜“

silver holly
#

Stop eating it all unhappy

agile shoal
#

...thats a fucked way you could make glue a renewable resource in the game, huh ๐Ÿ™

silver holly
#

And jello

#

And marshmallows

agile shoal
#

Yummy

#

We are singlehandledly going to tank the marshmallow economy with this mod

silver holly
#

In all seriousness though, I do remember there being one or two sounds I labeled either 'death' or 'distressed' that may work

agile shoal
#

I feel like we could also have someone go absolutely mental into the mic and maybe that could work

muted ridge
#

lol

agile shoal
#

You have quite the acting chops ๐Ÿด

silver holly
#

Just horsing around ๐Ÿ˜

brisk iris
#

Ah, I just needed to add ageToGrow for the adult horses as well. They basically grow every 24 hours until they reach max age and die, so even with no next growth stage they need an ageToGrow or they stop rendering lol

#

I feel like I should probably write all this down so we can make/update the animal modding section on wiki

#

Decided to just gut the walk animation and make a new one. it was like the first one I made so it wasn't great, but this new one feels/looks better imo. Just need to tweak the translation data a bit

thin crescent
brisk iris
#

Added animations for the player as well so it matches the movement of the horse. They line up and sync properly every time thanks to <m_SyncTrackingEnabled>false</m_SyncTrackingEnabled> which resets the animation position each time it stops

muted ridge
#

Yoooo holy shit

brisk iris
#

It's really starting to take shape and come together ๐Ÿ˜„

muted ridge
#

Yea this looks extremely good !

#

Have you managed to add clothing to it ?

brisk iris
#

I haven't tried any actual items that are adapted for the horse yet, but I'm gonna try the saddle now

muted ridge
#

Wait so what did you use before to attach items exactly ?

brisk iris
#

I just added new attachment slots in the model script and made it target the Bip01 bone. So I need to just find the right bone to target and it should all work well

#

Only thing is we have to run an onTick/player update that checks all squares in a radius for horses, and when it finds them it first checks if the horse has an item in its inventory, and if it does, then it checks if isOnScreen() returns true for the horse, and if so, it will re-apply the attachment.
For some reason they made it so attached items on animals completely stops rendering as soon as they are no longer on screen. Not even leaving chunk/cell, literally just based on what is visible on the screen

#

I've tested this already and it works well, even with a large radius that covers the visible squares on screen while fully zoomed out and a bunch of animals there was no lag. But just in case, I'll implement some caching and find a good interval for the square check and separate it from the horse inv check

#

The other problem with persistent clothing/items is that they get purged from horse inv when exiting the game. So need to run a check on exit that drops any attached items on horses, saves the location of horse and items to modData and then uses that on load to re-attach to the horse

brisk iris
#

Just need to adjust the animation or saddle so the stirrups line up with the feet

#

Gonna make some turn animations and then play with the sounds

muted ridge
#

isOnScreen

#

I do not know about this function but this could have interested me

#

Is that an IsoAnimal method ?

muted ridge
brisk iris
muted ridge
muted ridge
brisk iris
muted ridge
brisk iris
muted ridge
#

Galop's feet go higher no ?

muted ridge
#

Ah not so sure

#

The feet have a higher angle but the tip might not move actually

brisk iris
#

Yeah gallop goes a tiny bit higher on Z axis, but on Y axis they should all line up the same, so if I move the stirrups back on Y on the saddle model it should line up well enough

muted ridge
#

This looks amazing anyway

#

The galop animation I think the arms should be more straight front

#

I'd say no ?

#

I remember having to put my arms in front of me during galop, holding like the horse neck hairs

#

Not ultra straight like a stick

#

But a bit more than the current animation

brisk iris
#

Ah yeah I get what you mean

silver holly
#

Giggling and kicking my feet omg

#

This is amazing ๐Ÿ™‚

#

I wonder if someone could get a bit/Bridle and reigns modeled o:

brisk iris
brisk iris
topaz meadow
silver holly
#

Wow that looks amazing o:

muted ridge
#

The turning animation looks so smooth !

#

Oh I'm so curious of seeing the turning animations in galop hahalol

brisk iris
muted ridge
#

Spin the horse

muted ridge
brisk iris
muted ridge
#

I mean in term of animation

brisk iris
#

Oh yeah I already have them done

muted ridge
#

The horse can stop in the middle ?

brisk iris
#

Yeah I can allow it to transition out early and blend with the idle/walk/run etc

muted ridge
#

๐Ÿ‘Œ

brisk iris
silver holly
#

No rush at all!

brisk iris
#

I'll talk to Nik as well and see if he wants to make some horse stuff. He helped me with my bicycle and is great at modeling too

muted ridge
#

Technically the horse mod already works ๐Ÿ‘€

#

The saddle needs a craft right ?

brisk iris
#

Pretty much yeah! Just some missing animations and need to double check some behaviour stuff, as well as make sure the zone designation works

brisk iris
muted ridge
#

Do we make the missing saddle matter when riding ?

#

Did you push your changes in your fork ? I can look at the craft

brisk iris
#

We could! I already have an onplayerupdate running while on the horse, so we could just add some checks to that to see if they have saddle missing then maybe they get extra muscle strain/sore butt

topaz meadow
#

Guys I just want to say, this was a beautiful thing to see the community come together on.

brisk iris
topaz meadow
#

I think this is the first honest-to-god full PZMC mod lmao

muted ridge
topaz meadow
#

Was like relay running as everyone picked it up to keep it going.

muted ridge
#

These are debug stuff in the current dev so that's fine

#

I'll add look into adding a craft

topaz meadow
#

What's the current UV map for the horse?

#

I might have someone who can do a few textures for it if they're interested.

muted ridge
#

I feel like we got a lot of textures already, and just none of them properly implemented and verified to have the same texturing style

topaz meadow
#

Yeah I was checking the Git and I see there's an 'old' section

muted ridge
#

We have rabbit who's made some, Ray that made some and I think other people came to make other textures too

topaz meadow
#

and then we have Chuck's shaded one.

muted ridge
#

I think first off a big clean up of the current state of textures we have

topaz meadow
#

If you guys can figure it out, I've got someone who's done a lot of custom texture work for all of my current mods. She's done a lot of skin mods as well. I haven't been as involved so I don't want to storm in and make a bunch of executive decisions especially because I'm not sure which textures are 'current' on the github.

#

I know Alex is currently testing with Chuck's shaded one.

#

But if we need some quality texturing work I can probably rope her into becoming involved.

muted ridge
#

@coarse tinsel seemed interested to do some too
But like I said, first a clean up to see what we have

topaz meadow
#

Brings a tear to my eye seeing so many people involved.

brisk iris
#

Btw, I was playing around with commanding the horse and it will walk to any coordinates I give it, with proper pathfinding, no matter how far.
So we could make a very tame horse walk back to "home" if abandoned/lost

#

Or actually I need to test some more to be sure, but it at least seemed like that's what was happening

short cloak
muted ridge
#

But we can do it in the range of the player loaded area

brisk iris
coarse tinsel
brisk iris
coarse tinsel
#

Although, they are not vanilla, I think there can be made some improvements

muted ridge
#

However havng something that stops the horse from walking around sounds like a good idea at the very least

coarse tinsel
brisk iris
coarse tinsel
#

Vanilla textures seem to be handpainted with some photoshop film grain filter on top

brisk iris
#

And I have it lock in place while mounting so it doesn't wander off after you start the action

coarse tinsel
#

Also, why do the animals have B* * * and a C * * *

muted ridge
#

lol

muted ridge
brisk iris
#

scripts\models_clothes.txt
I was having some errors while testing so I moved it up from the HorseMod folder

muted ridge
#

Tho my electricity just got cut due to thunder so I'm going to wait for the thunder to pass before going back on my PC ๐Ÿ˜…

#

Ok just saw it in the repo

#

Yea I'll check that out later

brisk iris
#

Ah okay good, was worried I messed up the push somehow

#

On my phone now so can't check, does any animal actually attack and hurt players/zombs/other animals?

#

You can set a cow to attack the player but it just pathfinds to it and nothing more

slender plank
brisk iris
slender plank
agile shoal
#

Drop everything and start that pronto

muted ridge
#

Ah I see why I couldn't see the scripts

#

I think I cloned the wrong repo

#

Ok finally made VSCode react to changing the current repo branch and I can see all of it

slender plank
muted ridge
#

@brisk iris so you said that the saddle didn't work if it was in the scripts/clothing ?

short cloak
#

definitely sounds like user error

brisk iris
short cloak
#

the location of a script file really doesn't do anything at all

muted ridge
#

Yea I'd be surprised too

brisk iris
#

Yeah it was me for sure

slender plank
muted ridge
#

@brisk iris uh

#

I might be using the wrong one I don't get it

#

Yea no I'm using the right one

#

Which horse do you spawn usually ? I tried the 3 of them

#

Goofy ass horse

brisk iris
#

Gotta have it enabled in main mod menu and restart

#

usually does it

muted ridge
#

Restart game ?

#

Why is that needed ?

coarse tinsel
#

The floor horse

muted ridge
#

Also how do you dismount a horse ?

short cloak
#

this has always been needed ๐Ÿ˜…

muted ridge
short cloak
#

the game does not load animationsmeshes from mods properly

muted ridge
#

bruh

short cloak
#

it loads them async but expects them to be already loaded when trying to load animations immediately afterwards

#

this doesn't affect vanilla models or mods enabled at the main menu because the vanilla models correctly wait to load before trying to load animations (and if a mod is enabled at launch this just happens to cover them too because of the way the code is written)

brisk iris
muted ridge
#

Ah I think it's the zombies that broke it

#

Bcs animals run away from zombies iirc right ?

#

You know

#

I wonder if the turning instead

#

Should be like W makes the horse go in the direction it's aiming at

#

And left and right turn the direction the horse is looking

dreamy prawn
#

tank controls

muted ridge
#

This might make it better to aim where you're going on a keyboard

#

Yes tank controls sort of

#

Yea zombies break the horse confirmed

#

Also it's my first time seeing the new in-game lol

dreamy prawn
#

to be fair, the player can't walk at that angle either. tank controls might be a nice option, but it makes sense too that piloting the horse should work the same as piloting the player

muted ridge
muted ridge
dreamy prawn
#

if implementing some momentum (so you can't turn on a dime), car controls would make a lot of sense

muted ridge
#

Lol I broke the map I think

dreamy prawn
muted ridge
#

We might have no choice but to do that anyway bcs the horse bugs out

#

Tho it might be an animation state like "scared"

#

Or some shit like that that the horse switches to and we don't have the animations setup there yet

#

But yea that might be good

#

I think we also need different level saddles

#

Like a saddle if someone doesn't have the skills to craft they can use a blanket

#

A high level saddle needs blacksmithing some metal bits

silver holly
#

@topaz meadow @muted ridge @coarse tinsel
That's okay! I know it's been a while. I'd love to work with you, but I'd also be very very happy to update or re-do my textures entirely since it's been a while. I've been very passionate about this project and I'm happy people wanted to help me get it done. ๐Ÿ™‚

As for chucks skin, he actually made an overlay that can go on all of the previously made textures!

I would, however, like to see how maybe different shading options look. chucks is terrific and I think add an entirely new dimension to the model, but it is extremely muscular

#

Plus I saw this pretty horse I wanna recreate ๐Ÿค 

muted ridge
#

It does look nice

silver holly
#

He's got stripes on the backs of his legs ๐Ÿฅบ

muted ridge
#

Zamn

brisk iris
#

I'll look into that next after finishing the turn stuff

muted ridge
#

Np, I think it's a special animation stance animals take

silver holly
muted ridge
#

That's the cow lol

#

I think no ?

silver holly
#

That's the horse ray did I believe????? I could be wrong

muted ridge
#

Weird ass mouth

coarse tinsel
#

No no, that's just the vanilla cow texture

brisk iris
#

Regarding the movement, I did have it controlled like a car at one point while testing, but it felt better imo to have it move like the player.
But I can make it work either way with a setting

silver holly
muted ridge
#

@silver holly Are furred saddles a thing ? Not as a sort of decoration ceremonial thing, but can this be a type of saddle commonly used ? Or are saddles mostly only tanned crude leather

#

Asking for the recipes because there are leathers in the game which are tanned furred

#

Still wip

#

Going to compare where the leathers are used to see what size of leather should be used in the recipe too, to have an idea

#

There's also probably more components to add to the recipe of course, it's still very WIP

muted ridge
#

The leathers that are available

#

I didn't list sheep and pig

#

Nor did I list deer either too

muted ridge
#

So I didn't count the animal leathers that don't have big leathers, but that might changed, based on how these leathers are used in the base game in comparison with the size of a saddle

#

Also didn't list baby animal clothing because they are clearly too small

#

Nor did I list raccoon and rabbit leathers

short cloak
#

we'll need to add horse leather for shoes

muted ridge
#

Ah yea, and for saddles I suppose drunk

#

The question is if we use animal specific leathers and not the general crude leather, do we make variants of the saddle texture

#

Tho for that it depends if furred saddles exist ...

short cloak
#

i'm not sure if i mentioned this before but i did script horse meat, we'll need a model and icon for that

#

i even looked into the nutritional content ๐Ÿ˜…

muted ridge
#

Did you ?

#

Got a link to the script ? I can add it in Alex's fork

#

Since it's not in his

#

Going to have to merge a fuck ton of shit here lol

short cloak
#

that's really not how git is supposed to work ๐Ÿ˜… ๐Ÿ˜… ๐Ÿ˜…

#

i'm not sure if i've pushed it anywhere but i'll add it in a branch and we'll merge them both in when they're ready

muted ridge
#

Sure tho since I'm working on crafts that might be good that I use your stuff here

short cloak
#

we just need alex to fix his branch really

#

i think he forgot to pull/rebase before committing

#

everything in his branch otherwise seems reasonable to merge already, it doesn't really introduce any new bugs

muted ridge
#

I'm using his branch rn

#

Since I needed the saddle model

ebon flame
#

Great job! Super excited for this mod! By the way, the horse has stamina system? Or can I run with it forever?

muted ridge
#

Currently it doesn't no

ebon flame
muted ridge
short cloak
muted ridge
#

Would involve making an animation which does that ๐Ÿ˜…

#

Uh that's new, overlayMapper

#

I've never seen this

short cloak
#

me neither...

muted ridge
#

Going to note it in the craftRecipe page to not forget it

brisk iris
muted ridge
#

bruh

muted ridge
#

How would it even trigger ๐Ÿฅฒ

#

When

ebon flame
short cloak
muted ridge
#

I'll check it out one day lol

#

?????????

#

Why isn't there a model for these lol what

#

TIS HELLO ???

short cloak
#

mfw unstable pre-release i will back up my save version doesn't have full polish

muted ridge
#

How many items don't have ground models like that ?

#

Like the clothing has a model, why isn't the ground model made at the same time ?

#

But they have a ground model defined ....

#
    item JacketLong_AngusHide
    {
        DisplayName = Cowhide Coat,
        DisplayCategory = Clothing,
        Type = Clothing,
        Weight = 2,
        Icon = JacketLong_HideCowAngus,
        BiteDefense = 20,
        BloodLocation = LongJacket,
        BodyLocation = JacketSuit,
        ClothingItem = JacketLong_AngusHide,
        CombatSpeedModifier = 0.97,
        FabricType = Leather,
        Insulation = 0.65,
        NeckProtectionModifier = 0.5,
        RunSpeedModifier = 0.93,
        ScratchDefense = 40,
        WaterResistance = 0.45,
        WindResistance = 0.35,
        WorldStaticModel = JacketLong_Ground,
        Tags = RipClothingLeather,
        ResearchableRecipes = SewFurredHideCoat;SewFurredHideJacket;SewHideCoat;SewHideJacket;SewHideHoodie,
    }
brisk iris
short cloak
#

LOL we can do that but i don't know if that's the best way

muted ridge
#

How about an obscure keybind setup to trigger it

#

And so impratical people can't even use it in their save as an actual tech

short cloak
#

konami code?

muted ridge
#

Which would keep it both balanced and actually an easter egg

muted ridge
brisk iris
#

That could be fun yeah

#

Gaming lore

#

Can't remember the actual combo anymore lol

short cloak
#

up up down down left right left right b a

muted ridge
#

Actual GTA cheat code lol

brisk iris
#

Ooh yeah, I kept thinking it was up down up down

muted ridge
#

Tbf that'd be cool

short cloak
#

for some reason it's in toontown so i remember it from that ๐Ÿ˜…

muted ridge
#

And we leave some clues for players to search for it

brisk iris
#

Oh hell yeah

muted ridge
#

How about

#

How about a poster

#

A custom poster that's just the horse in the helicopter animation, and some clues to finding the key combo hahalol

#

Could be a movie poster you know

brisk iris
#

Hahaha yes!

#

Love that idea

muted ridge
#

"The magnificent helicopter Horse, from X to Y (date) at your local cinema"

#

And you've got like the producer's name be the code name you guys used

#

Konami smthg

#

"Directed by John Konami"

#

The movie would look like one of these indian action movies lol

brisk iris
#

I'm so here for it

#

Ooh we could also make some stuff happen if you feed the horse specific items in a specific order

muted ridge
#

I guess lol

#

Wait

#

I just realized a way to type inputs I didn't knew about

#

You can specify the amount for specific items inside an input item table

#
item 1 [2:Base.CalfLeather_Angus_Fur_Tan;Base.CowLeather_Angus_Fur_Tan_Medium;2:Base.CalfLeather_Holstein_Fur_Tan;Base.CowLeather_Holstein_Fur_Tan_Medium;2:Base.CalfLeather_Simmental_Fur_Tan;Base.CowLeather_Simmental_Fur_Tan_Medium;Base.DeerLeather_Fur_Tan;Base.SheepLeather_Fur_Tan] mappers[HideMapper] flags[IsExclusive],
short cloak
#

is that new? i don't have anything for that

muted ridge
#

I have no idea

#

But I've never seen that before ? Tho I didn't parse every single crafts when I was writing the craftRecipe wiki page

short cloak
#

i did go through all the parsing code to write the schema for it and didn't see this

muted ridge
#

I meaaaan

#

Yea idk

#

I'll add that to the wiki page

short cloak
#

that's honestly really gross ๐Ÿ˜… they really should've just used blocks for inputs

muted ridge
#

For the tables you mean ?

#

I feel like that would increase the size of recipes by a fuck ton so idk

short cloak
#

i do kind of agree but the parsing and writing complexity gets so high this way

muted ridge
#

Yea I guess

coarse tinsel
#

All this horse stuff, I must do spur boots

short cloak
#
inputs {
    item 1 [1:Item;2:Item] tags[MyTag;OtherTag] mode:destroy mappers[MapperA;MapperB] flags[Flag1;Flag2],
}
```it gets a bit ridiculous ๐Ÿ˜…
muted ridge
#

Yup

short cloak
#

i have a feeling this was a syntax that made way more sense before they added all of these features

#

and now it's too late to change it

muted ridge
#

Actually you can't have a tags and item table together ?

short cloak
#

you can actually

brisk iris
# coarse tinsel

Hell yeah! You could even just add it onto the cowboy boots that exist in game ๐Ÿค 

muted ridge
#

Alright time to fix that in the wiki page

short cloak
#

the zedscript schema becomes even more complex tired

muted ridge
#

I'm gonna be honest the source code of the inputs page on the wiki is getting absolutely HORRIBLE to read even for me ๐Ÿ˜ญ

short cloak
#

i need 201 lines to describe 1 line of script

muted ridge
#

Sounds fun

#

jeez

#

Ok so I think we go with a large leather for the saddle

#

And maybe with 2 small ?

#

Maybe 3

#

For the strap under the horse and the two stirrup

brisk iris
#

That sounds good yeah

muted ridge
#

As for the required skills

#

Tailoring

#

Uuuh lvl 6 maybe

#

Or maybe less

#

Level 4 ? 5 ?

#

Like a furred hide jacket needs lvl 6

#

Auto learned at lvl 8

#

A coat is lvl 6 too

brisk iris
#

I feel it should be high, it's a hell of an item to make. 6 at least

muted ridge
#

Yea

#

Idk it's also why we need low level saddles

brisk iris
#

Maybe 7 and auto learn at 9 even

muted ridge
#

Bcs if we don't have an in-between to raw butt on the horse or a saddle, it's going to be horrible to ride a horse

restive steppe
#

Could just use horse blankets as a low level saddle

muted ridge
#

That's why we need something where players can put a blanket on the horse

#

Yea exactly

brisk iris
#

Agreed yeah

muted ridge
#

That's with furred leather tho

#

There's also crude and tanned crude leathers

#

That probably should give a different saddle

#

But I need @silver holly's view on that if furred saddles are even a thing used properly and not some ceremonial only shit

#

I tried to search for furred saddles and idk ...

#

pig sheep and deer leather can't be used

#

Since those don't have big versions

#

Unless

#

Unless with use 2 medium

short cloak
#

we really need to make craftable glue don't we

muted ridge
#

Isn't that a thing ?

#

I guess not ...

#

Do we need to use glue ?

short cloak
#

idk if you can craft it in vanilla but definitely not from horses

muted ridge
#

I think I need to add nails or some shit to the saddle craft

#

Threads too

restive steppe
#

Horse blankets would also allow for different designs and patterns to differentiate them, plus animal comfort if that's a thing

muted ridge
#

Yea

#

Actually I should use leather strips instead of small leathers

#

Actually sec

#

Added medium leather x2

#

Buckles, tools changed small leather to leather strips

#

here ya go

muted ridge
#

4th time the right one

brisk iris
#

Interesting note about attachments btw, it's better to scale the attachment location itself to make it fit the horse, rather than scaling the item in the model script. That way it will scale properly with different sized horses

muted ridge
#

The attachment locations scale with the horse ?

#

Buckets in the advanced forge miss a depth map Depressed

muted ridge
#

That's cool

#

Tho we might want to do that in some cases ?

brisk iris
#

Yeah some stuff we might want to not have scale with horse, like the plushies for example

silver holly
#

Sorry I take so long to reply lol

silver holly
#

Furred seats are mostly for endurance riding

#

Some are carbon fiber!

muted ridge
#

So we can have like cow leather which is furred to make furred saddles

#

So we can have variants of the saddles

thin crescent
eternal briar
#

interesting seeing them work for once, that modle loader issue really is annoying

brisk iris
#

Hmm, I think it uses the milk attachment points of the cow to line up the player for the milking animation. I'm gonna try to do the same

#

Not for milking lol, for mounting

eternal briar
#

my horse is having technical difficulty

astral rover
#

prob scaling down the bone influence range

#

man I hope at least some of my work helps out, I put most stuff on trello and tried pushing updates to git, issue is I used an old rig of the horse ๐Ÿ˜…, hopefully some anims help you out aswell! even if its reference Ig?

#

I can prob make a rig that has bones parented to the root that would allow for that kind of clothing, tho it would be very annoying to update

astral rover
silver holly
#

Your efforts are really appreciated none the less!!

silver holly
astral rover
astral rover
astral rover
astral rover
silver holly
mighty flower
#

I started testing the mod as it is, and wow, although it's obviously missing some things, it feels like it already has its own thing going on. You can even assign the horse an area and let it roam around there.

mighty flower
#

Oh my God! You can change your clothes on horseback...

thin crescent
#

It's gonna be a lot of fun to play rdr2 in zomboid

brisk iris
brisk iris
brisk iris
brisk iris
# mighty flower Oh my God! You can change your clothes on horseback...

Haha yeah it will let you do any action while on it, it's basically as if you're walking around. I will make/blend action animations for the most common stuff, so you can read, reload mags, change clothes (maybe we restrict pants/shoes from being changeable while riding for realism), eat/drink, etc while on the horse

brisk iris
#

They really do this? ๐Ÿ˜‚ This animal is so goddamn goofy

#

Oh it seems like that's how they get down/up from lying position

brisk iris
#

Hmm, actually I think the neck length might be good, I just wasn't thinking about how their shoulders would move when bending over to eat. This is without changing the neck at all, just adjusting the shoulders and foot placement

coarse tinsel
#

Idk, a horse front legs arenโ€™t really supposed to go outwards their anatomy doesnโ€™t really allow it

#

Horses have more lever spring type legs for back and forth movement and not really meant to go outwards

ebon flame
#

I know nothing about modeling... (not sure if this would be helpful as well) but looking at the first image, looks like the horse neck is a bit "lower" than it's back part. So when reaching the ground, it doesn't need to low the body or move its front legs... As you can see it from the other image (skeleton one) the neck bones or spine not sure, "attach" lower than the edge on top.

muted ridge
brisk iris
brisk iris
#

I'll play some more with it and see if I can cheat it somehow

brisk iris
#

Standing to lying

#

Still needs some polish

muted ridge
#

Nice !

brisk iris
#

Yeah that feels better

brisk iris
brisk iris
#

We should make a plow attachment at some point and make it possible to till soil with it ๐Ÿ˜„

#

Honestly could even make bulls do that pretty easily

muted ridge
#

๐Ÿ‘€

#

Good idea yea

#

Tho not a priority rn I'd say

brisk iris
#

Haha no not at all ๐Ÿ˜„

#

Today I'm hoping to get all the turn animations done and implemented

brisk iris
#

Also, do we want to make a new AnimalZone for horses so they spawn in specific places, or just piggyback on existing ones? I think we'd have to mess with mapping if we want to make a completely new "horse" one

slender plank
#

Chariots and horse drawn carriages would be awesome additions at some point

brisk iris
#

Honestly would be super sick, I think the physics could be cheated with animations

#

What if instead of the carriage attaching to the horse, the horse attaches to the carriage? Like the horse is a passenger in a special seat in front of the carriage, and when you hop in to drive the carriage it animates the horse based on the car(riage) velocity?

slender plank
#

Especially if we can breed for speed. I can see some fun races being hosted

brisk iris
#

It comes with the genetics system out of the gate, it's awesome

slender plank
brisk iris
#

Because they can't tow a vehicle or trailer unfortunately, at least not from what I saw when quickly checking

#

Maybe we can fuck around with animal trailers somehow, they have a state for when they are in a trailer, so it's possible to animate them freely when they're in one

ebon flame
slender plank
brisk iris
#

Hmm... I'll explore that some more at some point

cedar shoal
#

I tested this horse mod, and this is really surprising.

#

I havenโ€™t been keeping close attention to this project. Will there be any new features implemented for the horse later on? Iโ€™m planning to make a UI for it in the next few days to make debugging and management easier.

short cloak
#

what will this ui do?

cedar shoal
#

Maybe with the debug Ui it could be easier to edit its genes, age, and also manage its equipment, like saddles, horseshoes, and so on.

#

Iโ€™m just planning to play around with it; maybe in the end, this project wonโ€™t need this๐Ÿ˜†

brisk iris
#

Honestly if you could figure out how to render the horse inventory that would be awesome! It has an inventory so it just needs to be added to the correct panel I guess. Or we do a custom UI to access the saddle bags and other horse stuff, but obviously as close to vanilla as possible would be best

brisk iris
silver holly
silver holly
#

Agh so much stuff you guys are amazing

slender plank
#

Maybe guaranteed spawn at the LV stables, with some saddles spawning there too

silver holly
#

Also if we end up changing the neck and bones - I'm assuming a new texture will be required so I'll wait before I start churning textures out

silver holly
slender plank
silver holly
#

Oh that's a good idea!

#

Saddle tiers is a good idea, and I'm not sure if we're there yet but we've talked about traits/professions like bareback, jockey, etc

#

Could also help avoid too much exploit and add balance

slender plank
#

Saddle gun holsters would be great too, like the ones on the front of the Autostar Motor club bikes

short cloak
restive steppe
short cloak
#

i do think these locations should have a fairly good chance to spawn some horses though, as those locations aren't really of much interest normally, and it shouldn't feel totally out of the player's control whether they get one

restive steppe
#

Also, can't forget the old west town

mighty flower
# brisk iris Haha yeah it will let you do any action while on it, it's basically as if you're...

In fact, I was looking at changing your pants and shoes, and I discovered that some of those do let you change without it looking weird, for example, I was wearing jeans, and I changed to shorts, and the character changed them without the need to do the animation, but when I tried to put on other pants if I tried to do the animation and the thing got weird, so I guess the shorts can be changed without any problem without breaking anything.

silver holly
silver holly
restive steppe
mighty flower
#

There is a small village I think on the Echo Creek side, which as it was they were imitating the old west.

restive steppe
#

Yeah it's like one of those reenactment towns

brisk iris
# mighty flower In fact, I was looking at changing your pants and shoes, and I discovered that s...

Oh that's weird lol, they probably have different animsets for some reason. It's no worries though, I just have to basically duplicate all the action animsets and make them trigger while on horse, then I can just set the weight for any bone below the waist to 0 for those animations, so I don't have to actually make any new animations, I just blend the legs and lower spine from my animation with the upper spine, arms, head etc. from the action animations

brisk iris
thin crescent
#

like bonding in rdr2

#

grooming them and taking care of them would up your skill and relation ship with the horse

#

would be cool if it was even only tied to the horse you are working on so there is a real bond

#

so if that horse dies you need to start all over again (animal care skill level could indicate how long it would take for it to accept you)

restive steppe
#

You could also choose one specific ranch and turn it into a horse farm as well, set up the spawn zone just there instead of having to worry about doing it for every farm

brisk iris
#

Wouldn't be too crazy to do using modData

astral rover
brisk iris
# astral rover Im very curious now, how much time does it take you to animate? I mean you are a...

Haha yeah I have the type of ADHD that makes me want to do everything at all times, even when there is no time ๐Ÿ˜…
It really depends on the animation tbh. The lying down animation took me about 3-3.5hrs I think, because I didn't have anything similar to it so I had to look up a bunch of references.
But I can do the walk/trot/gallop turn animations in about 20-30 min because I already have a good idea on how they move and have a starting point to go from, and also a lot of references to pull from

astral rover
brisk iris
#

I'm just happy to see so many people excited to work together on something ๐Ÿ˜„ I absolutely would not have been able to do this on my own, all the groundwork and planning was done and laid out when I joined, I just hopped in and helped where I could like everyone else ๐Ÿ˜„

astral rover
brisk iris
# astral rover Also, I don't know if im the best option around but I can do a bit of everything...

Cheers! I think the model and rig will need a little update at some point to make the neck behave more realistic, and if the back hips/thighs could behave just slightly more anatomically similar to a real horse it would help with any sitting/lying/probaly dying animation, because they currently don't protrude from the butt exactly as they should.
But honestly I think that will have to come later because if I understand correctly I would have to try and retarget the animation but likely re-animate the bones that were changed, possibly even more due to constraints and stuff?
The rig is great as is and for a game like PZ it doesn't need to be super duper accurate since you can't see from all angles anyways

astral rover
# brisk iris Cheers! I think the model and rig will need a little update at some point to mak...

Yeah, in this case adding rotation locks to bones would need retargetting, as well as fixing the neck, the only other method would be to use constraints to blend between the current bone and the fixed bone, but that would create more (useless?) bones, so yeah, there's no quick fix in that case, and on top of all that you would need to bake your anims, which would become a hassle to edit quickly

silver holly
silver holly
brisk iris
# silver holly That would be so much fun!!!!! I'd also love to tie in a job or trait ๐Ÿ™‚ if that...

We can definitely make a skill related to horses that unlocks stuff like reduced soreness from riding without saddle/on improvised saddles, faster bonding, able to see more detailed genetic info in the UI.

Maybe we could start a thread on this comment and everyone can just write down their ideas, I'll see which ones would be easy to do and get them in for the initial release, and then we can expand on it later

short cloak
#

i don't think you can have nested threads ๐Ÿ˜”

brisk iris
# silver holly Hm - should I wait to start any texture work in this case? ๐Ÿ™‚

I think the UV map should be able to be kept pretty similar, so maybe you'd just need to make minor updates.
Also, I don't think I want to remake any animations before the first release, and when we do release it I have a lot in my backlog so it'll probably be at least a month or two until I could do any major work on it again that isn't bug fixes and easy addons

brisk iris
#

Well we have the trello

brisk iris
#

I probably won't have time to work on the mod until Monday ๐Ÿ™ But we can brainstorm some ideas for the skill and some traits.

As a summary on what's left to do in no particular order:

  1. Add/tweak genomes
  2. Implement option for different steering method similar to cars
  3. Make damage system so that only legs can be hurt from zombies while on the horse
  4. Implement the falling off animations when getting dragged down
  5. Add item scripts for horse meat and horse hide, and implement
  6. Tweak stats/behavior
  7. Improve player-horse animation sync when galloping
  8. Add saddle crafting scripts and add to loot table
  9. Make jump animation and implement fence jumping
  10. Make horse slower when riding in trees
#

So it's mostly making and implementing animations

thin crescent
brisk iris
#

Like fighting from horseback would be tied to the riding skill

thin crescent
#

plus imagine forming a bond with a particular horse and then losing it in battle. not only is it devestating emotionally but a huge set back since you now need to rebuild that with a new horse. sure you might be able to get up and ride another one with a high enough animal care skill but it won't be as good as what you had with the horse you poured everything into.

#

mechanics wise it would be like driving a crap box you hot wired over the car you restored to 100 percent with the key

brisk iris
# thin crescent plus imagine forming a bond with a particular horse and then losing it in battle...

Oh yeah, definitely adding a bonding mechanic. I could give a random chance on a low bonded horse that it will just stop and restrain against the control sometime, backing up neighing and shaking its head.
Or it will run away easier from zombies and leave you behind. I think I could make it so that after a certain bond level the horse will always come when you whistle, no matter where it was, exactly like in rdr2

thin crescent
#

a cool MP element you could add to it aswell would be horses that are well bonded with you will kick off other players that aren't at least in your faction

#

or anyone that isn't you

brisk iris
#

That's a good one! I'm gonna write all this down on trello so I don't forget them or they get lost

slender plank
thin crescent
#

but same deal

#

honestly tho rdr2 is the gold standard for horse companions to me so the more that can be taken from that and translated to PZ would be amazing.

#

and yes I got way to into that aspect of the game

silver holly
brisk iris
brisk iris
#

Hmm... I wonder how hard it would be to make a horse fly and have the player mounted.
Would be so cool if there was a 0.0001% chance that a horse spawns as a unicorn that you can fly around on

#

Maybe make it so if one comes into view on your screen but your riding skill isn't maxed out it will just run off super quick and teleport to a random location far from the player so you doubt if you even saw a unicorn or if it was a regular horse

slender plank
dreamy prawn
# thin crescent honestly tho rdr2 is the gold standard for horse companions to me so the more th...

they did a cool dev presentation about rdr2 horses https://www.youtube.com/watch?v=8vtCqfFAjKQ

In this 2021 AI Summit session, Rockstar Gamesโ€™ Tobias Kleanthous shares how they delivered a believable stable of horses that lived up to the memories of Red Dead Redemption, while making them a critical part of the playerโ€™s experience.

Register for GDC 2022, in-person in San Francisco, March 21-25, 2022: https://gdconf.com/passes-prices/...

โ–ถ Play video
silver holly
#

I made this guy

#

Based off of this horse from Bella sara ๐Ÿ™‚ I'd love to do magical horses ๐Ÿฅบ

short cloak
#

if we get too crazy i'm gonna start asking for mlp characters ๐Ÿ˜…

brisk iris
#

Had some time to kill so decided to see if I can put a horse in a car ๐Ÿ˜„

short cloak
#

oh my god

muted ridge
#

lol

#

Nuked the horse out of existence lol

#

Give the horse a sitting animation inside vehicles and it's perfect

ebon flame
#

So chariots are possible using the vehicle system as base? Assuming that you can animate the horse

brisk iris
#

Yeah I'm trying to see if I can force it into the "trailer" state, because there's nodes set up for it so you can change animations for them when they're in trailers.
I want to see if that stops the desync issue, and also see if I can block it from taking damage while in the car so it doesn't die when I turn lol

#

But I'm gonna have to do that later, I wanna get more of the core stuff done when I start back up on Monday. I just couldn't get the carriage theory out of my head and had to test it real quick ๐Ÿ˜„

#

Okay yeah I'm gonna stop here lol, broke it real good

muted ridge
#

wtf is that xD

brisk iris
#

Dude I have no idea lol, I spawned in and it was just a black screen but with the UI, then it froze for like 20 seconds and when it came back these popped up all over

muted ridge
#

You're exploring alternate dimensions here

mighty flower
#

I suppose the fact that it can be loaded onto a car has to do with the fact that horses can be transported in animal trailers.

mighty flower
#

I checked that they can indeed be added to animal trailers.

although they look strange inside

muted ridge
#

It's just that animals are technically players

#

They inherit the player class

muted ridge
mighty flower
#

So technically, in the future, you could take your dog with you.thunk

#

I can also suggest the creation of the horse sprite, since the one that is there right now is the deer sprite.

brisk iris
#

Do we know anyone good at making sprites?

#

Worst case I can just take a 3D render screenshot and scale it down real small

muted ridge
#

@coarse tinsel maybe ? ๐Ÿ˜…

coarse tinsel
mighty flower
#

I discovered something that I don't know if it's on purpose or not, but when I have food for the horse, and I right-click on it, the saddle is added immediately.

coarse tinsel
brisk iris
mighty flower
#

wait, it's all the animals, the mounts are added

brisk iris
#

Haha yeah ๐Ÿ˜„

coarse tinsel
#

I assume if we have horse skin or meat, I can make the sprites no problem, can even just add grayscale for the skin sprite if we have multiple variants

#

But would you be able to pick up the horse?

brisk iris
#

You can yeah, same as picking up deer

#

Not sure if we have horse skin or meat models currently

short cloak
#

we don't have models or sprites for the items yet yeah

silver holly
silver holly
#

Weve got horse meat

short cloak
#

oh i had no clue

brisk iris
#

Oh sick!

#

I guess for skin we could just reuse the deer skin for now, maybe tweak the colors of the textures a bit to not have it exactly the same. It's basically just a bundle of skin anyways

mighty flower
#

So far, what Iโ€™ve discovered:

-Riding reduces your stamina (not sure if thatโ€™s intentional or not)
-While mounted, you can go thru windows to enter a building, whether theyโ€™re open or closed (you can also go up and down stairs, if thatโ€™s of interest).
-Problems with pathfinding to the horse.
-While mounted, in somewhat confined spaces, you can get stuck (although the horse can pass thru when not mounted).
-The breeding system works (only by forcing it in debug mode, since the mating mechanic doesnโ€™t work for the stallion and mare), pregnancy exists, all pregnancy stages occur, a foal is born, traits are inherited, mutations occur, the foal follows its mother (relatively functional), theyโ€™re considered babies, and they can reach all age stages (if it werenโ€™t for the bug that makes them disappear).

  • Obvious bug: killing the horse. However, you can pick up the (invisible) corpse and do [something].
    -No, zombies don't attack horses (in general, they don't attack animals; they're just drawn to the noise they make, but they don't attack them).
    -You always mount the horse from the right side (just FYI).
  • Obviously, animation errors and performing actions you shouldnโ€™t while riding the horse.
    -Although the animation doesnโ€™t play, petting it increases the horseโ€™s acceptance of the player.
    -Horses never get thirsty, so itโ€™s as if the need doesnโ€™t exist for them.
    -They respond relatively to damage.
    -They donโ€™t attack; they donโ€™t bleed when damaged, only when they die.
    -The butchering mechanic works (sort of, since it throws several errors, probably due to the lack of horse-related elements for this mechanic, and it doesnโ€™t fully function).
    -Everything about them is like the deer in terms of animal mechanics (even the male, female, and fawn sprites), so most things behave like deer.
silver holly
muted ridge
# mighty flower So far, what Iโ€™ve discovered: -Riding reduces your stamina (not sure if thatโ€™s ...

Thx for the feedback, however do note that:

  • the horse uses default animal behaviors, so anything other animals do, they do too (such as drinking I don't remember animals needing that ?)
  • lots of missing animations so not too surprising lots of things won't work (damage, death, butchering and more)
  • to my knowledge, Alex did not implement anything Lua side to do checks for various stuff, thus why you can different actions you should be able to do on a horse (craft, climbing etc)
  • like you mentioned, lots of missing assets so butchering won't work properly
mighty flower
#

surely you will have to create a foal

silver holly
#

I'd love to have a full on little foal model, however that would be a whole new thing to tackle so we'll probably just settle with resizing o:

mighty flower
#

Yes, I understand, there are priorities, and I wish you the best, what you have is just a grain of sand in the castle you plan to create.

muted ridge
#

I'll pin it, it'll be a good list of points to check thank you

mighty flower
#

Don't forget Alex's list, as I see, several things from there will surely solve several problems I encountered.

brisk iris
#

Thanks for the writeup! Yeah there's a lot of loose ends to wrap up, but I know how to fix them ๐Ÿ˜„

#

It's good to know the pregnancy and age stuff works

#

I need to check how exactly the mating works, but probably just sometihn in the animal def. There's still some stuff missing from it, like the water need for example, but I will go through it fully and compare with the other animals to make sure I capture everything

brisk iris
#

Back in the saddle today! Gonna start with implementing all turn animations, then the rest of the missing animations

muted ridge
brisk iris
#

Cheers!

#

Also just realized that targetTwist is a thing that also exists on the horse, thank god. I can just use that to drive the turn animations now instead of having to calculate it myself

brisk iris
#

Oh yeah this is so much nicer to work with. Just need to adjust the blending a bit, but overall feels much smoother

brisk iris
#

Hmm I think I gotta make turn animations for the player too. If I keep walking in a circle the player face direction desyncs from the hourse and I end up twisting around on it

#

Probably just need animation where the player spins in place

muted ridge
muted ridge
muted ridge
brisk iris
# muted ridge What's that ?

It's a float that gives the twist direction of the character, it seems to basically take the direction you're facing when entering the turn state and use that to give the direction you're turning. It's how the vanilla player animations knows whether to play the right turn or left turn animations. Super duper useful, instead of having my own calculations I could just put the turn animations to play if the targetTwist is greater than 45 or less than -45 for right and left with a dead center so it doesn't play a turn animation when only turning 45 degrees

brisk iris
# muted ridge I suppose you can just use what you used for the horse but flr the player

Yeah exactly, the problem I have is that the player changes direction faster than the horse, so when spinning in place it ends up that the player gets desynced and does a whole 360 degree spin once it reaches facing 180 degrees from the horse direction.
I can't make the player spin slower while moving because the player:setDir() I try to set gets overriden and only works while in idle.
So I have to basically make an animation that spins the player 90 degrees that plays when changing direction, so I can control the speedScale for it.

brisk iris
brisk iris
#

Actually wait, I think I have to make a player animation that makes them spin in the opposite direction, so it's like the animation slows the spin down

#

hmm

brisk iris
#

Nah that's not working

#

Let's pray to god that player:setTurnDelta() actually does what I feel it should do

brisk iris
#

I need to do a deep dive into every single XML that exists at some point and just fuck around with all the different variables I can find

muted ridge
#

One day the wiki page regarding AnimNodes will be fully completed lol

brisk iris
#

And what a glorious day it will be

short cloak
#

i wanted to write an xml schema for it but it turns out xml schemas are the worst thing in the entire world

brisk iris
#

Setting it to 0.8 fixed all desync issues hell yeah

muted ridge
#

Ah yea that's a thing

brisk iris
#

Yeah I forget to check the player methods sometimes. I get stuck in the xml swamp and forget there's other ways to solve things

brisk iris
#

Ugh... For some reason the gallop turns are not blending at all ๐Ÿ˜ฉ

brisk iris
#

Okay figured it out

#

Need to keep all conditions that I have in the gallop in the turns as well

brisk iris
#

Turn animations added a muuuuch better feel to it for sure! Needs rider animations to match, some tweaking to the blends, and should make the translation data a bit slower in the gallop turns

muted ridge
#

Nice !

#

Yea the horse needs to not be able to turn this much when going fast for sure haha

brisk iris
#

Hmm, I'm gonna try something, since I can use targetTwist I should be able to have it transition from one turn animation into another smoothly, so making the gallop turn have two stages depending on how sharp you turn could be real nice

brisk iris
brisk iris
#

Seems like pretty much all animation variables that exist on the player exists on animals, which is awesome

brisk iris
#

I need to figure out a better way to handle the idle turn animations, because I can't adjust the turn delta for the horse it seems, and it turns much faster than my animation plays

#

It's not terrible as is, it basically just plays the first 3rd of the animation and then stops, but I'll figure out something nicer later. Will probably have to force the animation to finish playing by setting my own isTurning variable

thin crescent
muted ridge
brisk iris
worn tree
brisk iris
#

So it seems that there's something annoying that happens when walking and turning that's causing an animation glitch when I try to just make the player turn their head in the turn direction. It works for trot where I even move more of the body, and I assume it will work for gallop (will test next)
It's not the worst, the walk turn is the least dramatic and the player follows the back well, so might just have to move on from that one for now

#

wait wtf it's working

#

I didn't even do anything

silver holly
#

Sometimes you just gotta complain lol

brisk iris
#

Well it also somehow broke the trot to a point where the game crashes lmao

#

Okay now they're both broken but it's not crashing, I think I need to take a break

brisk iris
#

Oh what, there's an OR condition in XML which seems to act just like a logical OR operator

    <m_Conditions x_name="2e7b5e65-6b2e-470c-812e-886072373144">
        <m_Name>sitonground</m_Name>
        <m_Type>BOOL</m_Type>
        <m_Value>true</m_Value>
    </m_Conditions>
    <m_Conditions x_name="574fd4cb-85ad-4b6e-8614-27edc0d84125">
        <m_Type>OR</m_Type>
    </m_Conditions>
    <m_Conditions x_name="3b9fc4ad-5cfe-42e7-af99-21249f116825">
        <m_Name>PerformingAction</m_Name>
        <m_Type>STRING</m_Type>
        <m_Value>SawOffShotgun</m_Value>
    </m_Conditions>
    <m_Conditions x_name="81aeaaa4-0979-4519-8ac4-0a9af66ffa4b">
        <m_Name>sittingonfurniture</m_Name>
        <m_Type>BOOL</m_Type>
        <m_Value>true</m_Value>
    </m_Conditions>

Haven't seen that before, gotta play with this
(the example looks fucked because it inherits another condition from the xml it extends from, so there's basically two conditions above the OR block, and two after, as long as two conditions in the same block or all conditions in all blocks are true the animation triggers)

#

Trying to get the gallop turn player animations to blend nicely for 90 and 180 degree turns has been very difficult, but I've made some progress

brisk iris
#

Yeah this shit is driving me crazy. The issue I have on the walk turn animations is present on the gallop turn animations, but not on the trot. The fucked part is that the trot is just another walk, all it does when I press C is player:setVariable("HorseTrot", true) and then in my trot and walk animations which are in the same animset folder, I use that variable to toggle between the walk and the trot

#

And it's not the animations themselves because trying to use the trot turn animation on the regular walk turn has the same issue

#

actually waaaaait

#

it gets unfucked in the trot due to sneak

#

I think

#

holy shit yeah

#

what the fuck

#

so I might have to try to block the player from running while mounted, and make the run animation a third sneak

#

I hate this system so much sometimes ๐Ÿ˜ญ Impossible to know if I'm fucking up or if there's a bug, but I'm like 96% sure this one is a bug, or the walk is just not supposed to have turn animations due to how the torso twists or some bullshit

#

I hope it's easy to block player from getting skill xp

#

Yeah making the player sneak while on horse fixed it for the walk, so should fix it for the run as well if I can force block the state

#

Please setAllowRun() come through for me buddy

#

FUCK YES

#

Yup works for the gallop turns as well, finally goddamn. That was a rough one

brisk iris
#

I'm gonna have to remove the gallopToTrot/ToWalk transition animations for now and just let the game blend it, I gotta simplify it to get the player turn animations synced up and working. I'll revisit to implement them later

muted ridge
#

Making zombies less likely to detect the player

brisk iris
#

It was causing extreme jerky movement each time you turn on the horse, so the only other option seems to be turning it off completely which would have the player floating offset from the horse

brisk iris
#

Yeah definitely! I will implement sounds soon, I can just reuse what I did for my bike

muted ridge
muted ridge
brisk iris
brisk iris
muted ridge
#

And sneaking would fix that ?

brisk iris
#

I think it's honestly just a limitation, they have no reason for ever doing anything like this. My working theory is that the regular player walk turn imposes a torso twist which gives it a rotation on the root or something no matter which bone is actually rotating. It's so you can get that upper torse inertia when turning quickly

muted ridge
#

I find that surprising

brisk iris
#

Yeah my theory is that sneaking doesn't impose a torso twist because there's no need for it in that state

muted ridge
#

Weird

brisk iris
#

Yeah it's fucked

#

Unless I'm fucking something, but literally the second I sneak it's fixed, with no changes to code or xml at all

#

Run has the exact same issue as walk

#

I'm gonna assume sprint is the same, but strafe and aim should be fine, although not sure when we'd use strafe

#

Only difference between this one and the one earlier is that I changes the xml from sneaking false to true, and sneak on the horse

#

head movement is blending well (needs some tweaks, but it works)

#

I'm almost positive it's gonna be easier figuring out how to get zombies to agro the player rather than find a fix or different workaround for this issue tbh
I've tried everything I can think of like weighting the bones differently, leaving turn state empty and having the turns as part of the walk state, all kinds of different blending and transition configurations.
Nothing would untwist the torso except from fully disabling the root Bip01 bone on the head turn animation, but then obviously it doesn't turn the head. If I set every single bone to 0 weight and only the head to 1, it would show the issue

muted ridge
brisk iris
brisk iris
#

It's mostly fine, just clips a tiny bit when turning in a trot. I changed to pants and it looks better, the clipping in these videos are mostly because of the dress, but I feel I need to either stop mounting if player is wearing a long dress/skirt, or have the player sit sideways (but should require higher riding skill and more likely to fall maybe)?

#

I will adjust the trot a bit

muted ridge
#

Idk how it'd look or how mod compatible it'd be

#

Also riding with a dress can still be thing based on the dress I guess ?

brisk iris
#

Like have it hiked up to the hips kinda?

muted ridge
brisk iris
#

Yeah length of dress can determine it

muted ridge
#

There aren't many dress bones so eh

brisk iris
#

Not sure how to deform clothes like that tbh

#

Oh I'd animate the dress bone?

short cloak
#

it's not really appropriate riding attire so i think it'd be fine if we just prevented riding if the dress is too long

muted ridge
muted ridge
#

Maybe we can have mods add support for their dress by adding them in a table

#

Not a priority tho

brisk iris
#

Ah yeah I was just thinking in terms of vanilla dresses. hmm

#

If that's easy to do we can for sure

muted ridge
#

It would be yea

brisk iris
#

I was thinking I could make an alternate sit animation like this which you can use with high enough riding skill

muted ridge
#

Since we'd have a code to remove the dress first, we can easily check if the dress is valid

muted ridge
#

Would definitely be cool

brisk iris
#

Would be better for combat purposes too tbh, easy to jump off and start swinging if going into town

#

Honestly should make some alternatives like that either way haha, would be cool to unlock

muted ridge
#

I guess, tho shouldn't be a priority

brisk iris
#

No no, that will come later

muted ridge
#

And more something to add at the very end yea

brisk iris
#

Right now I'm fucking around with the horse and zombie interactions since they break when riding and a zombie approaches

#

It seems like a 50/50 chance that the horse gets stuck in an animation when entering alerted state, even if I have a valid animation for it.
When it doesn'tm get stuck it plays the animation I put there.
It seems like it will be much easier to just not have the horses react to zombies. Zombies don't react to horses, and the horses could canonically be domesticated so they shouldn't be afraid of humanoids that much (in my opinion, which is biased because it makes the code so much easier lol)

#

If we do want a tame horse to avoid zombies for example, it could easily be implemented on a per horse basis with some custom logic

silver holly
muted ridge
#

There must be something missing in the animations for it to work

brisk iris
# silver holly I think this is a good idea!!! Walking a horse makes sound alone o: don't forge...

Yeah gonna put in sounds next! ๐Ÿ˜„ I will make them have different emit range walking, trotting, or running.
The only problem with the sneaking is that I can't just directly affect the player visibility range it seems using Lua.
However, what I could do is that while on the horse, I check for zombies in a range and use something like zombie:CanSee(player) which I hope is if the zombie has direct line of sight of the player, not if the player is in their visibility range, but will have to test that. If it has line of sight then I just force the zombie to walk towards the player

brisk iris
muted ridge
#

Multiple animation states for being scared ?

#

Can animals attack zombies ?

brisk iris
#

I tried flipping canBeAlerted to false, which helped with getting rid of the alerted state and instead it used the Walk state to force the horse away from the zombie.
It was a bit weird though, and even while mounted the horse would flee the zombie, but only while idle. It felt a bit weird, but could work for untrained horses since they would be more likely to restrain.
If we can change animal definitions dynamically while it's running then we can get around it by changing fleeZombies = false while mounted, but not sure if that's possible

brisk iris
#

forcing an animal to attack a player just makes them walk up to them

#

So will probably need some custom logic to work, but not impossible since we can path to targets and check distance and stuff like that

muted ridge
#

The bulls

muted ridge
brisk iris
#

Ah okay wait I never tested that one

muted ridge
#

It was to find what animation state could be missing

#

Probably look into the ActionGroups ?

#

See what animation states transition to which maybe

#

Idk if that's a viable way of finding info on states

brisk iris
#

oh yeah there is, I was so snowed in on the buck since that's what we use for the horse, and when testing the raccoons it wouldn't attack either

#

but the cow has one

#

It usually says in the animal behavior which one it gets stuck on, but I have animsets for each state that it displays

#

I need to fix this other issue first tbh, it's one I've pushed for a bit. In some instances the horse just locks in on a square and no matter what direction input you give it, it will go towards that square only.
Maybe some people that have tested the mod have had that happen.
I'm not sure exactly what triggers it, but I will work on that now to make sure everything else is smooth to test

#

It seems to happen more when I mess around with zombies, so it might have to do with triggering fleeTo(IsoGridSquare) and that not getting cleared

#

Yeah definitely something with the flee

#

You can see it here, it just locks in on that square, the direction my character is facing is my actual input.
When I get off the horse it's still stuck until I use horse:getPathFindBehavior2():cancel() which unstucks it but only while unmounted. When I mount it hones back on to a different square.

#

Trying to see if it expects some event in the animation to trigger the end of the flee. There's no actual flee state though

brisk iris
#

waaaaaaaaaaaaaaait a minute

#

I think I got it

#

it's when it tries to flee to some square with certain conditions. It only freezes when fleeing towards trees

#

Yeah it's missing tree pathfinding or something

#

Riding a horse in and dropping it in the woods makes it stuck too it seems

muted ridge
#

Ah lol

brisk iris
#

Huh, seems I can set a turn delta for the horse in the animal definition

#

Haha there's happyAnim = 1; -- if there's an animation to show the animal is happy
Gotta figure out how to use that

brisk iris
#

Figured out the issue with the horse getting stuck btw. It was using the xml Horse_PathfindWait instead of Horse_PathfindRun when fleeing, but the pathfindwait has an idle animation

#

Should be solvable pretty easy with some conditions

brisk iris
#

Yeah all fixed, this solved the issue with the zombies and trees too

slender plank
#

Any plans to have a rearing animation?

brisk iris
#

For sure! That should be like a mid level riding move to unlock

#

@agile shoal Gonna need your help with something for the rig, we need to make the horse have a Bip01_Neck rather than just a DEF_Neck1
It's kind of annoying, the animal definition has ropeBone = "DEF_Neck1" which works when leading the horse, but when attaching the horse to a tree it seems to use:

private void drawRope(IsoGridSquare square) {
        float float0 = 0.5F;
        float float1 = 0.37F;
        float float2 = 0.3F;
        int int0 = this.getAnimationPlayer().getSkinningBoneIndex("Bip01_Neck", -1);

Which as you can see is hardcoded to use Bip01_Neck lol

#

They could have literally just copied this line from above and it would work ๐Ÿ˜ญ

#

Would it be easier maybe to just add that bone as a new one that's duplicated so I don't have to redo animations?

#

From what I can tell it's really only using the Bip01_Neck for animals in that one spot

agile shoal
#

Lemme blow the dust off of it

#

Let me think, I could absolutely just add a bone that copies everything from DEF_Neck1 named Bip01_Neck

#

Feels good to be back in the saddle ๐Ÿ˜Ž

brisk iris
brisk iris
#

It's like it's attached to the root bone instead of the neck bone

agile shoal
#

Hmm I'll give it a look

brisk iris
brisk iris
#

Finally got the gallop turn animations to sync nicely, still a bit of blending to smooth out, but overall happy with it

thin crescent
#

Also the scale of the horse really makes the short scale of the trees super obvious lmao.

agile shoal
#

Its looking amazing

agile shoal
thin crescent
#

Ah, true. I've gotten so used to using the treez mod I've forgotten what is what

brisk iris
thin crescent
#

No really I wouldn't expect animations like that even out of a GTA 5 mod adding horses and that's the same company behind rdr.

#

In my experience the higher the scope the bigger the jank

silver holly
silver holly
narrow lynx
#

Will there be collision with zombies? Like when you run and bump into zombies? Also, it might be nice if ragdoll physics activated, like with cars, but without them flying off. Hahaha

slender plank
thin crescent
thin crescent
brisk iris
silver holly
thin crescent
#

high bonding and you would still have control but maybe some difficutly steering

silver holly
#

We'll see how it can pan out mechanically o: But yeah that's the jist lol

brisk iris
# silver holly

This honestly looks pretty straightforward to animate, the legs move together in pairs which already makes it like 85% easier haha
But it would be a high level move as you discussed so makes sense to do it later

#

But definitely at some point, looks cool as fuck and a nice way to break free from being crowded

silver holly
#

Yay ๐Ÿ˜ omg !!!

brisk iris
#

Figured out another annoying issue I was having, goddamn some of these are tricky.
When turning 180 degrees the player would sometimes rotate counter clockwise when turning left, sometimes clockwise, same with turning right.
Horse would always rotate clounter clockwise, on every turn.
Turns out if you set maxTorsoTwist to 0 then it never returns the twistTarget to 0, always like 0.01, or -0.01 but it seems there's some calculation when turning that relies on it being exactly 0 in order to have a tie breaker on turn direction

#

Setting maxTorsoTwist to 5 fixed it

#

I think I can officially tick off the turn animations for horse and player off the to-do list ๐Ÿ˜„ Still some tweaks that can be made, but it's good enough for now to move on

#

Yeah this is a vibe

#

All actions already work out of the gate except the ones where the player bends over, which seems to be actions we wanna block anyways like changing pants

#

Next up gonna try to implement some sounds

#

A nice part of blocking run state for player and handling all in the walk is that actions that can be done while walking are not interrupted while galloping since you never run to interrupt it.
So it's possible to gallop and bandage, reload weapons, eat, etc.

brisk iris
#

Wait it already has footstep sounds built in

#

Oh there's a whole system for sounds for different breeds and age stages and shit

#

If this is easy to work with I will be very happy

#

Yes, it's easy

#

Hmm, so the way the sound is set up is to use one sound file for the front hoofs, and one for the back, then play those at specific intervals to mimic the sound of running. The sound file we have doesn't have the sound from each hoof separate, and trying to cut each hoof out from the file we have will be tricky since it won't have a realistic falloff and just cuts out abruptly

#

Maybe I can just make one event for the entire animation and use one file that I cut to fit ๐Ÿค”

#

Oh yeah the sound system is niiiiice.
I can just type whatever I want in param value in the xml:

<m_Events>
    <m_EventName>PlayBreedSound</m_EventName>
    <m_TimePc>0.01</m_TimePc>
    <m_ParameterValue>walk</m_ParameterValue>
</m_Events>

And as long as I have a sound with the same name in the definition it just works:
walk = { name = "HorseGallopConcrete" }

agile shoal
#

Sounds good, but maybe its a bit too loud?

#

It sounds like its overpowering all the other audio

brisk iris
#

Oh yeah I'll tune the volume for sure, I should be able to add a volume slider in mod options, not 100% sure but I think so

#

Hmm... Not sure how to handle different sounds for different materials though. My first thought is to duplicate the XML for each file that can have different sound variations and then check current square for the type of material and change a variable on the horse that indicates which xml should play.
Obviously not super clean since I'm basically duplicating files just to change some events, but the only other option I can think of would be to skip using the built in system and make my own using the sound emitter (I did this for my skateboard/bike) which is also not super clean

#

Actually duplicate xmls might not be the worst idea, I could change speed and stuff based on material then as well

#

Unless I can use the built in system somehow for that

brisk iris
#

Doesn't seem to work.
Tried appending the footStepTable:

table.insert(footStepTable, {
    alias    = "horse_run",
    grass    = "HorseGallopTest",
    wood     = "HorseGallopTest",
    concrete = "HorseGallopConcrete",
    gravel   = "HorseGallopTest",
    upstairs = "HorseGallopTest"
})

But it's not playing any sound now ๐Ÿ™ So duplicate xmls seem to be the way

#

Still, this will be much easier to implement than I thought, so that's nice

silver holly
brisk iris
#

Time to see if I can line up these mount/dismount animations nicely

wide barn
#

The mod looks so good! Im new on this topic and i have a question,when do you guys think it will release?

brisk iris
wide barn
#

Ohh alright! Thanks for letting me know!

brisk iris
#

No problem! I post my updates in this channel frequently when I'm working on it, so just check back every now and then and you'll see how close it is ๐Ÿ™‚

dawn geyser
#

i'm just following the project and i want to say....wow...it's amazing and thanks for the efforts i would like to make a donations where i find the link?

brisk iris
dawn geyser
#

really? u deserve it!!!

#

all this work

#

so....thanks really a lot for all of this

brisk iris
#

Haha all good! We do it for the love of the game (and horses!)

brisk iris
#

Added new attachment locations for left and right side mount, bareback and saddle, and it works well! No more tp into the center of the horse. Still a bit janky due to the rotation glitch with the rig, but I can find a workaround for that

muted ridge
#

Nice ! Wdym by attachment locations ? What did you do exactly to fix the animation ?

brisk iris
# muted ridge Nice ! Wdym by attachment locations ? What did you do exactly to fix the animati...

basically just added these new attachment locations in the models script:

    model Horse
    {
        mesh = HorseMod/Horse,
        animationsMesh = HorseMod.Horse,
        shader = animalEffect,
        static = false,

        attachment back
        {
            offset = 0.0000 0.2509 0.0429,
            rotate = 89.1355 0.4641 178.8851,
            bone = DEF_Spine2,
        }

        attachment head
        {
            offset = 0.0000 2.0031 0.0668,
            rotate = 0.0000 0.0000 0.0000,
            bone = DEF_Head,
        }

        attachment mountLeft
        {
            offset = 0.5998 0.0000 -0.0006,
            rotate = 0.0000 0.0000 0.0000,
            bone = Bip01,
        }

        attachment mountRight
        {
            offset = -0.6000 0.0000 -0.0006,
            rotate = 0.0000 0.0000 0.0000,
            bone = Bip01,
        }
    }

Then in the mount context option I use those to get a perfect pathing location before starting the action:

    local mountLeft  = horse:getAttachmentWorldPos("mountLeft")
    local mountRight = horse:getAttachmentWorldPos("mountRight")

    local mountPosX = mountRight:x()
    local mountPosY = mountRight:y()
    local mountPosZ = mountRight:z()
    local side = "right"
    if player:DistToSquared(mountLeft:x(), mountLeft:y()) <
       player:DistToSquared(mountRight:x(), mountRight:y()) then
        mountPosX = mountLeft:x()
        mountPosY = mountLeft:y()
        mountPosZ = mountLeft:z()
        side = "left"
    end

    local path = ISPathFindAction:pathToLocationF(player, mountPosX, mountPosY, mountPosZ)

Had to change the animation a bit so the player starts the animation centered and moves offset from center when mounting, which snaps into the correct place when the actual player mounted animation starts

muted ridge
#

Yoooo that's fucking amazing I had no idea you could get the attachment coordinates !!!

#

That's really nice

#

Waiiit you can do so much shit with this

brisk iris
#

Yeah it's awesome!

muted ridge
#

Like attach stuff on the player or backpack by right clicking the specific attachment point

#

Directly in the world

#

You could make a mod for that

muted ridge
brisk iris
#

Yeah, could make a mod to actually go open doors and trunks with animations pretty esaily too

muted ridge
#

So it says "mount horse from left" or "right" you know ?

brisk iris
#

I could yeah, but not sure it's needed, it will pick the closest point and just use that when clicking "Mount Horse"

muted ridge
#

I mean, it's nothing hard ?

#

To implement no ?

#

Hmm actually I see what you mean

#

If the player moves around then the mount point changes

brisk iris
#

No it would be easy, I guess I'm just not sure why haha

#

Yeah exactly, it does the distance check after clicking the option

muted ridge
#

Or maybe that's not necessary yea

brisk iris
#

So if you right click and move before clicking the option, it will still pick the closest

muted ridge
#

Yea ok yea that's good

slender plank
brisk iris
#

Theoretically the horse should be able to shoot guns, so ๐Ÿ‘€

eternal briar
#

when this horse things all said and done, any chance of a cut down, framework of it?

would make mass additions of other animals alot easier

#

i plan to make. "Spicy Horses" Using it

muted ridge
#

I guess the part of riding is fairly simple too

eternal briar
#

indeed. ive been waiting for a 'Bare Minimum' before i go wild on it. as i have... many animals to make

brisk iris
#

It wouldn't be too hard to do, it's pretty modular as is

#

I would definitely want people to use this mod as a base to make more animals, if we can spark a whole new wave of animal mods that would be awesome

eternal briar
#

that was my hope. otherwise there isnt much of an alternative

brisk iris
#

but yeah the animations require a lot of work, so might not be many that end up making full realistic animal mods

eternal briar
#

the fallout stuffs got tons of animals. ive had people mention it for years, and saying " we have to wait"
animations work is fine with me, just base compat with custom animals is the goal,

brisk iris
#

I guess the XMLs were also a lot of work and something not very well documented, so a framework mod that has all the animset files already set-up with turns and blending and everything would be helpful for others