Horses and cows! Rare spawns! Make farms not fully plant based!

So its mostly RP, but the outpost has a LOT of space (I’m still in love with it btw adds a lot)
Some animals to raise on it would fill it up and aid RP.
Doesn’t have to be cows and horses, but any domesticated (or possibly domesticatable) animal.
Seems like a good early mod to try to do maybe? How hard would that be?
Breeding and getting them to stay in one place once you get them would be hard but a great possibility.
Also what tools do people use?

EDIT: found an old thread on this! I guess they are in the game but rare.
And you can only murder them?
Interactions are hard but are they possible?
I guess I could dog food and leash em, but is it possible to make new ones?
http://smf.cataclysmdda.com/index.php?topic=10889.0

Does dog food work on non-dogs? I thought it was id hardcoded?

Dog food is hardcoded, but it would be pretty much menial work to turn it into jsonable thing.

Still, dogfood code is a giant hack that shouldn’t really be extended.
It would be much better to turn the whole thing into a monster interaction menu - if you interact with monster with a specific tag, like TAMEABLE_HERBIVORE, it would add a menu with “feed” option, ask for food, then possibly tame the animal based on food’s nutrition and fun (either a random roll or accumulation of “tameness” stored as an effect or Creature::values entry).

There already is a pet interaction menu, so it could be extended to cover non-pets, but with different sets of options for pets and nonpets.

See, THAT’s what I’m talking about.
How possible is that and what do I need to do to so that?

+: I like how tameable herbivore already leaves a possibility for other stuff.
Also how specific can possible commands be made?
Can we just turn em friendly and lead them to spaces or do they have to be like dogs?
One dude was talking about riding, could we treat an animal as a vehicle?
Breeding is pretty important for ranches. How impossible is that? Baby cow npc formation? Evolve like a zombie does to cow?

For the menu: you’d need to set up the build environment for the game, ensure you can actually compile the game, then it’s only a matter of finding the pet menu in game.cpp and making a similar menu for non-pet creatures (possibly using the npc menu as an example).

The only command for hostile creatures I can think of right now would be taming. Grab command may sound like a good idea, but it is not possible to properly implement it with current codebase (creature grab code is SHIT right now, replicating it is a horrible idea).
For tame creatures, there could be a “milk” command, but that would require setting up milking timeout - most likely as an effect (recently milked or something like that).

They have to be similar to dogs, but you could then tie them down with a rope, like zlaves.

Riding won’t happen. It’s just way too hard to implement. No hope here - not “maybe someday” - never.

Breeding would be something for much later. It would require creature’s activity outside reality bubble, which is hard to implement.

Im a fan of throwing animals into deep pits and starving them until you can feed them.

I mean plants calculate time passed when you return to an area, so a system similar to that seems possible, but I don’t even see why its necessary that they do it for breeding.
That seems secondary, an add on for later, no?
Only breed when the PC is there for now.

As for horses, yeah, that seemed improbable.
Definitely couldn’t treat them as a part of the current vehicle system.
Still, human ingenuity makes nothing truly impossible!!
Creativity can route the highest walls!
(I believe in yall! Keep an open mind, look at it from different perspectives, play with it! Who knows what solution may come to you?)
(Lol, can you put a 0 tile “leash” on them, so that you forcibly share a square, and get a speed boost? Despawn them like a petcage and get a speed boost, but with reverse roller-skate rules? Leg equip, 0 encumbrance, really fragile, if they break they gone? its fun to play with conceptually at least)

Milking seems a secondary but def possible future step.
Menu, taming action, Leashing, and breeding would be the primary things I think would be necessary to make it worth while, and what I’m most interested in dedicating time to.

In terms of breeding, lets say we start in view of PC only.
Dwarf fortress has it so that two of a species on a map tile can “breed through sporing” and create a baby so long as the map recognize them together.
Would it be possible to have a low chance to do this to any tameable animal close enough to “notice” their own species?
NPCs seem rather good at clustering and hunting, so it seems like that dynamic could be a base.
If not it could be a cheaty thing to just have that option in a menu with 2 cows nearby? Limit it to once a season?
Would that work?

Once a system to DO it is in the next steps to make it a complex process can happen so I’m not even gonna think about that yet.
Also this is a learning experience for me, what tools do I need? Just notepad ++ or something more?

Riding… impossible, why? We have vehicles, which are actually a hell of a lot harder than riding a mount.

The entire game assumes one critter per tile. This would require reworking a lot of functions just to allow multiple critters per tile, which would be a lot of work even before the optimization to ensure this rare edge case doesn’t drop the FPS by 20%+.
It’s not impossible per se, it’s just something that would take a ton of work. Unless some dedicated coder came out of the heavens and offered to implement this, it’s just unfeasible.

Unless it was implemented as a hacky mess that would cause a lot of extra work in the end.

Time to pray to the heavens to bring us a dedicated coder.

Or we could go hacky and make the horse disappear and give an speed buff (?

Drive fast, eat horse, leave a centaur corpse.

Things like this are actually quite common in games, and not really that hard. Change the graphic (optional), get a speed buff (actually, just make movement cheaper), and have all hits have a 50/50 chance (or 60/40, or whatever) chance of which one is hit, then handle as usual. If the mount dies, the buff is removed, and possibly a bad effect happens (chance at damage if thrown from the animal, or something). It’s mildly hacky, but not terrible, and, as I said, it’s really a common way to handle mounts in many games.

Even aside from merging the mount into the rider or vice versa (which wouldn’t be the worst thing ever), we could make a new creature type to represent this kind of thing, which would keep things a lot tidier and provide a place for the shared functionality. This would be neither inefficient not hacky.

Things like this are actually quite common in games, and not really that hard. Change the graphic (optional), get a speed buff (actually, just make movement cheaper), and have all hits have a 50/50 chance (or 60/40, or whatever) chance of which one is hit, then handle as usual. If the mount dies, the buff is removed, and possibly a bad effect happens (chance at damage if thrown from the animal, or something). It’s mildly hacky, but not terrible, and, as I said, it’s really a common way to handle mounts in many games.[/quote]

Considering I have tried making games myself, I know! However I find it a bit simple, my ideal implementation would be like a slower bike with a chance to fumble that varies depending on the horse and your riding ability, and no crashing stuff, but easier to aim from than a bike and just one tile sized, and also to have some cool zombie killing from horseback with some speed bonuses maybe?
However that’s too much to ask, hahahah
Still would be neat to have the simple way, even! After all, simple doesn’t mean bad, it’s still pretty good. Just give me the ability of being knocked down by big forces and it would be fantastic to make the stories this game makes way more rich!

By creature type do you mean like a “ride-able” tag?

If you made them like a bike it’d be better to have 3 tiles for them then no?
Horses are roughly bike sized from a top view.
But yeah I was thinking something elona esk with PC image alteration as a quick insert (though I have even less an idea on how to do images than the other stuff :P)

I’ll probably start trying to build something next week then!!
Menu creation -> Tame-able -> leashing -> breeding -> riding as an order of work
Will post the mod if I can make it so as to refine.
I have very limited experience in modding, so any further thoughts, ideas, learning materials appreciated!