Alpha 18: The Release That Doesn’t Have a Name Yet
Welcome to the unstable debut of Stonehearth Alpha 18! In this release, we’re continuing the focus on building begun in Alpha 17. Except this time, the emphasis is on _de_struction rather than _con_struction. That’s right — the “Remove” button is back… with a bang. That means your structures don’t just disappear, they’re demolished. This is an early implementation of this feature — improved animations and SFX will be added soon. You should be able to remove both completed and in-progress buildings, including those from older saves.
Still to come: a tool that will allow you to replace the dirt and grass for the hole where your foundation used to be. We’re trying to get this in as part of Alpha 18… but no guarantees.
This release also adds features and functionality that will improve your Stonehearth experience. You’ll now see more engaging idle behavior from your hearthlings, and even in some of your enemies! See if you can catch them in an unguarded moment. There’s also some functionality you won’t see — but it’s just as important. We’re instrumenting Stonehearth to provide us with anonymous data about how you play the game — how your towns grow, what classes you choose for promotions, how long you play a given settlement, and so on. This information is vital to help us continue to create a game that captivates you and exceeds your expectations. You can choose to opt in or out of this feature on your loading screen. Obviously, we hope you’ll want to participate!
We’ll be adding lots more new features, fixes, and improvements to this release in the coming weeks — including a name. Any nominations?
Remember that this is an unstable release! Which means that you may — nay, you will encounter glitches and the unexpected. Please report any issues in Discourse on Stonehearth.net or in our Steam forums. (Hey, that’s what unstable releases are for!) As with all unstable builds, this is available only on the Steam Latest branch.
Let’s take a closer look at the highlights in this release.
Building removal is back! Hearthlings “tear down” buildings quickly, now. You currently get back 70% of the materials invested in the structure.
Placing an item into a building blueprint or finished building attaches that item to the building blueprint. If the item is destroyed, hearthlings will attempt to replace it.
You (currently) cannot place an item into a building that is under construction.
New ladder creation routine reduces some of the ladder-spam seen around complex structures.
Fixed a bug in scaffolding that lead to some scaffolding being built within building structures.
Fixed some objects not falling when support is removed.
Some performance improvements for large building construction.
Scaffolding will now wait for associated ladders to be torn down, before finally marking itself as “torn down”.
Fix for autosave not happening sometimes.
Fix some memory leaks from reloading a game.
Fixed bug where some items were not being placed.
Added Goblin Emote: Pick Ear
Added hearthling Emotes: Tap Foot, Count Fingers, Tool Inspection
Touched up hearthling animation: Whistle
Added new anonymous data collection functions to better understand play patterns (for example, number of game days played per settlement; total hearthlings in settlement per game day; balance of crafters, workers, and combat units… etc).
If I were to opt-in that data collect, I might have to start a new world, as Sorenia is maxed at 20, and really wouldn’t say much beyond what is already there… Either way hopefully it wouldn’t affect stability of play, like a certain program on my computer likes to do every so often. ><
Regardless I’ll find out once I get to playing. After all I run from a lower end laptop, but wanted to make a new world anyway.
Probably continue Sorenia when A18 graduates from unstable; better for the world that way. Besides I am still in mid decision of what to do next with it; as well all the games I switch between, and well… moving back to the state I grew up in half of my life. So many things to do, but I’ll get around to checking out the changes when I can. Thank you for the update.
Sounds like Alpha 18 will be great! I’ll be sure to give some constructive feedback.
A couple things I want to say really quick are make sure that the grass and dirt removed are able to be built on once replaced. That would be really helpful especially if we plan on rebuilding there. If you are already taking this into consideration, then ignore that sentence.
Second, is there a possibility of being able to upgrade buildings? It could fit in along with this update (although will probably have to be for a later update) since this one focuses on deconstruction. Basically, upgrading a building could be a couple things, with a main fundamental: you can edit the existing building after it’s built and either add or remove things (somehow). The building could either be completely torn down and rebuilt anew or some things are left untouched if there are similarities between the old and new building.
Anyway, really looking forward to all the things in the future of Stonehearth, as always! Thanks for your great companionship with the community.
"recipes": {
"mason_clay_chisel_recipe": {
"description": "Required to promote a hearthling into a Mason",
"recipe_name": "Mason's Clay Chisel",
"flavor": ""
-> changed
en.json:
"shopkeeper_gold_label": "Merchant gold",
"shopkeeper_not_enough_gold_tooltip": "Shopkeeper does not have enough gold"
-> added
"accept": "Yes, I want to help!",
"cancel": "No, thanks."
-> changed
"returning_crop_trader_encounter": {
"title": "A trader brings seeds from a distant land.",
"trade_details": "Hello [str(i18n_data.town_name)]! I'm just passing through, but I'd be willing to make a trade or two, if you're interested. If you make me [str(i18n_data.want_number)] [str(i18n_data.want_item)], I'll be back in [str(i18n_data.num_days)] days and might be able to get you [str(i18n_data.reward_item)] in exchange. Sound good?",
"waiting_title": "The trader will be back in [str(i18n_data.hour_counter)] hours!",
"waiting_text": "The trader will be back in [str(i18n_data.hour_counter)] hours to give you [str(i18n_data.reward_item)] if you have [str(i18n_data.want_number)] [str(i18n_data.want_item)] ready for him!",
"return_title": "The trader returns!",
"return_greetings_positive": "I'm back! It looks like you've made me the [str(i18n_data.want_number)] [str(i18n_data.want_item)] I asked for. Are you still willing to trade them to me? I'll give you [str(i18n_data.reward_item)] in exchange. Still sounds good?",
"return_greetings_negative": "I'm back, but it doesn't look like you've got the [str(i18n_data.want_number)] [str(i18n_data.want_item)] I asked for. That's too bad! Maybe next time!"
},
-> added
"#4C2424": "Volcano",
"#542929": "Light Volcano",
-> changed
"use_seeds": {
"display_name": "Use",
"description": "Use these seeds to teach your farmers to grow a new crop. This will destroy the item."
},
},
"bronze_portcullis": {
"bronze_portcullis_ghost": {
"display_name": "Bronze Portcullis",
"description": "Useful for fortifying town entrypoints"
}
},
"wooden_door_fine": {
"wooden_door_fine_ghost": {
"display_name": "Wooden Door",
"description": "Privacy at last!"
}
},
"wooden_door_2_fine": {
"wooden_door_2_fine_ghost": {
"description": "Sturdier than your average door, and such a sweet pattern too.",
"display_name": "Fine Reinforced Wooden Door"
}
},
"wooden_double_door_fine": {
"wooden_double_door_fine_ghost": {
"display_name": "Fine Wooden Double Door",
"description": "A larger door with some extra style. All your friends will be envious."
}
},
"wooden_window_frame_fine": {
"wooden_window_frame_fine_ghost": {
"display_name": "Wooden Window Frame",
"description": "So much for privacy..."
}
},
"wooden_window_frame_tall_fine": {
"wooden_window_frame_tall_fine_ghost": {
"display_name": "Tall Window Frame",
"description": "Extra height adds an air of elegance"
}
},
"wooden_window_frame_wide_fine": {
"wooden_window_frame_wide_fine_ghost": {
"display_name": "Wide Window Frame",
"description": "It's a panoramic view!"
}
},
"wooden_diamond_window_fine": {
"wooden_diamond_window_fine_ghost": {
"display_name": "Fine Diamond Window Frame",
"description": "So much for privacy..."
}
},
"picket_fence_fine": {
"picket_fence_fine_ghost": {
"display_name": "Fine Picket Fence",
"description": "If it's not white, is our life unfulfilled?"
}
},
"picket_fence_gate_fine": {
"picket_fence_gate_fine_ghost": {
"display_name": "Fine Picket Fence Gate",
"description": "Don't like your neighbors? Don't install."
}
},
"wooden_tunnel_door_fine": {
"display_name": "Fine Wooden Tunnel Door",
"description": "Useful for blocking off tunnels"
-> added
},
"small_crate_fine": {
"small_crate_fine_ghost": {
"display_name": "Fine Small Create",
"description": "Storage container with style"
}
},
"large_crate_fine": {
"large_crate_fine_ghost": {
"description": "Storage container with style",
"display_name": "Fine Large Crate"
}
},
"leather_bound_chest_fine": {
"leather_bound_chest_fine_ghost": {
"display_name": "Fine Leather Bound Chest",
"description": "Storage Container with style"
}
-> added
"acacia_tree_crop": {
"display_name": "Acacia Tree Sapling",
"description": "Out of trees? Get ready to participate in reforestation.",
"growth_stage": {
"001": {
"name": "Acacia Tree Seedling",
"description": "It's just getting started."
},
"003": {
"name": "Acacia Tree Sapling",
"description": "Ready to be transferred to a bigger plot."
},
"000": {
"name": "Seed Pod",
"description": "Even a mighty tree has humble beginnings."
},
"002": {
"name": "Acacia Tree Sprout",
"description": "Perfect size for a baby giraffe."
}
}
},
-> added
"description": "A compact source of light, with a little bit of flair."
},
"seeds": {
"turnip_seeds": {
"display_name": "Turnip Seeds",
"description": "Learn to grow the mighty turnip."
},
"carrot_seeds": {
"display_name": "Carrot Seeds",
"description": "Learn to grow carrots."
},
"pumpkin_seeds": {
"display_name": "Pumpkin Seeds",
"description": "Learn to grow pumpkins."
},
"golden_gourd_seeds": {
"display_name": "Golden Gourd Seeds",
"description": "Learn to grow golden gourds."
},
"watermelon_seeds": {
"display_name": "Watermelon Seeds",
"description": "Learn to grow delicious melons."
},
"cactus_flower_seeds": {
"display_name": "Cactus Flower Seeds",
"description": "Learn to grow delicious prickly flowers."
},
"acacia_tree_seeds": {
"display_name": "Acacia Seeds",
"description": "Learn to grow acacia trees."
},
"oak_tree_seeds": {
"display_name": "Acorns",
"description": "Learn to grow oak trees."
},
"brightbell_seeds": {
"display_name": "Brightbell Seeds",
"description": "Learn to grow brightbells."
},
"frostsnap_seeds": {
"display_name": "Frostsnap Seeds",
"description": "Learn to grow frostsnaps."
},
"wheat_seeds": {
"display_name": "Wheat Grain",
"description": "Learn to grow wheat."
},
"silkweed_seeds": {
"display_name": "Silkweed Seeds",
"description": "Learn to grow silkweed."
}
-> added
"architect": {
"architect_description": {
"display_name": "Architect",
"description": "???",
"requirements": "???",
"level_0_data": {
"perk_000_name": "Fast Construction",
"perk_000_description": "Build faster!"
},
"level_1_data": {
"perk_000_name": "Conservation of Materials",
"perk_000_description": "Have a chance every fabrication to not consume a stack of building material."
}
-> added
"blue_clay_door_recipe": {
"description": "Blue like the dream of distant ocean.",
"recipe_name": "Blue Clay Door",
Now that A17 & A18 is based on building and that it is much easier to make big Buildings and castles, is it possible to add a tool that cuts the view of the floors in Buildings? or make the world-cut tool to cut Everything! so you can see the different floors in the Buildings you make.
it’s just so hard to Place furniture in buildings with 2 or 3 floors…
I support that Idea! In this case it would be really nice if you can see buildings evolve somehow from e.g. little huts to more complex building (adding a second floor, two buildings grow together etc.)
Question! Has anyone enabled data collection via the initial a18 popup? If so, could you let us know? We’re trying to debug a problem where no data seems to be arriving at the endpoint.