Game Mode Modding: Can SH HOBA?

With multiplayer coming out, I’ve been dreaming of some way-too-ambitious mods. I figure I’ll start getting into basic modding again, so I should be more prepared when multiplayer’s more stable and I have more free time. But I’d like to have my dreams killed earlier if necessary, so I wanted to figure out what exactly is within the scope of modding before you’d have to rewrite… way too much multiplayer code.

Part of me wanted to keep my plans hidden, because I’m paranoid like that and I figured nobody would take the meme seriously unless it actually somewhat worked, but I’ll get right down to it: I want to see if it’s possible to make a HOBA. (Whether I [or anyone else] can actually make it, or it’s actually any good with all the compromises to fit in Stonehearth, is another question entirely.)

Some of this I can probably answer myself once I find the time, but I wanted to get my thoughts out there and make sure I’m not missing anything obvious.

There’s been some changes to embarking that make want I want to do easier - now, you can start in an already-generated/customized world (as in multiplayer), and you can pick existing Hearthlings to embark with (re-embarkation.) From a quick look, it seems the number of Hearthlings for starting a game and re-embarking is defined in constants.json - but how flexible is it really?

Can you pick any group of Hearthlings you’ve sent out for reembarking, or is it just the latest one? (Sorry I haven’t played enough myself to find out :blush:)

If you set num_starting_citizens to 1, and reembarkation -> num_citizens to 1… would it really just let you pick one existing Hearthling to enter the game with, or would the game not know how to handle it? I assume num_starting_citizens must work because we now start with fewer citizens, but I haven’t paid much attention to how reembarking works, so there might be limits somewhere else that I don’t know about.

Assuming that works… could a mod include a specific set, and only that set, of reembark-able Hearthlings? I think the easiest way would be to prepare my Hearthlings with debugging tools and HoMF in a regular game before reembarking them for export, pack them in the mod, and then override so that the game reads from my folder of Hearthlings rather than the normal reembark folder. It looks like I’d have to override game_creation_service.lua in particular - or are there other places this is referenced? Also, where are the reembark groups normally stored in the first place :blush: ?

Spawning in would probably have to be completely redone.

I’ve seen a set_player_enmity console command mentioned to set players to hostile. Could a mod put players on teams?

How about game speed? Since there’s really no way to have a lobby, I feel like the easiest way to go about things would be to pause the game until everyone’s logged in, and then play out at regular speed. I could probably rely on players for that - but would there be a way to just start the game paused?

Each character would be their own combat class, in order to handle level abilities.

Is there a way to spawn a copy of a specific Hearthling once in the game? Seems like I’d have to for respawning. As well as deal with a cool-off, and who knows what else. Level book-keeping?

What would be the cleanest way to just disable the normal campaign?

After all that, and a bunch of stuff I haven’t even considered that much yet, a HOBA mod would be limited by Stonehearth’s combat controls. Being able to select targets to attack and move seems to be almost just enough for a very bare-bones MOBA., and I assume Stonehearth wouldn’t easily let you add much more.

So, perhaps a bad idea, all considered. Certainly a complicated idea. But I really wanted to talk about it.


have to ask…What is HOBA? :smile:

1 Like

For those who are unfamiliar, it’s from an old April Fools’ joke:

HOBA, short for, Hearthling Online Battle Arena…

So a MOBA (like League of Legends, etc.) but with Hearthlings.

The spec also calls for 5 vs. 5 and right now Stonehearth multiplayer has a maximum of 8 players, not 10 (and that seems to be buried somewhere more obscure than user_settings.json or constants.json), as well as crazy effects… but I’ll ignore all of that for now :stuck_out_tongue_winking_eye:


Okay! So technically this is possible. The maximum number of players is just capped at 8 in the UI so a server mod can increase that to 10 no problem. Embarking with 1 citizen and having unit control should be fairly straight forward too. A server mod could lock game speed, and using set_player_enmity you could put players into two groups that are hostile to each other. The other think is you can listen for clients joining and leaving so a server mod could make sure the game is paused until everyone is joined. Overriding gm_index.json could stop all the campaigns.

So yeah I think you can do this - it would be a lot of work and basically be a total conversion mod. The main thing I think you would want that I haven’t finished yet is running the game in headless mode for the server. As a competitive game, you wouldn’t want one player with host powers.


I’ll be honest and say I’ve never played LoL… But since you guys are owned by Riot… I’d probably start playing if there happened to be a Mer Burlyhands character added… just sayin… :wink:


I never noticed this before but the mini map in the april fool’s picture is the google map our old office in Los Altos. XD :smiley:


Just want to mention that considering Stonehearth’s support for free form building there’s the potential of making a 3D King Arthur’s Gold. Needs some version of destructible buildings though. No point in building a tower if the other team can’t bring it down with a well placed powder keg.

Partial building destruction is complicated, but full building destruction takes a few lines of code to mod in.


This is what happens when you make an innocent joke. People get ideas.


But would be very interesting to have partial destruction. I think just on walls to have a “siege be like”. Cuz u create walls for your kingdom and… Ok, u are safe.

1 Like

Yeah, I’ve heard. About that though. What parts of the partial destruction are causing trouble? Is it the physics for falling parts and parts that land on an angle or is it the rebuilding part that gets too complicated for the AI to figure out or…? I understand if you don’t want to do an official version because it wouldn’t be of high enough quality, but an ugly, limited version could still be enough for a fun mod. Also, in a mod where each player controls one hearthling and builds block by block you won’t need an AI to be able to repair stuff and everything could be built with slabs so you don’t need all the extra information about the different parts of a building.

1 Like

If it’s a preset map with no rebuilding, partial destruction shouldn’t be that hard to mod in.