Steam Latest Updated to develop-3107

http://stonehearth.net/steam-latest-updated-to-develop-3107/

We’re deep into Alpha 18 polishing and tweaking. And this week brings a huuuuge list of updates — including (finally!) buildings that don’t leave landscape holes when destroyed. (How does it work? We don’t know. It’s almost like… magic.) Also: the initial steps in a first-time player’s tutorial (only for the Ascendancy at the moment). Let us know what you think of the format.

IMPORTANT UPDATE FOR MODDERS AND PLAYERS WHO USE MODS: This release contains certain updates designed to improve performance of the game overall. These updates include a bunch of mod-related improvements we have made to make your life and the game better. The minimum mod version number has been increased to 3 so outdated mods will no longer load. Please update your mods (and let us know if you have any trouble) — games using mods that have not been updated will not see those mods loaded. These changes are effective on the Steam Latest branch with the release of develop-3107 (August 25). They will not affect games using mods on the current stable Alpha (Alpha 17).

Full details are here. Please read.

Here’s the full rundown on what’s new in this release:

##Performance ++!

  • Tons of performance fixes related to memory
  • Remove components from items that don’t need them: unit info, material, regions, etc
  • Reduce memory usage in nav grids
  • Various fixes related to material proxies
  • Change catalog to string map for network performance reasons
  • Separate biome generation data from biome to speed up lookup
  • Use restore instead of load from json when adding components that already exist
  • Reduce # of traces on entities
    ##Building ++!
  • Restore terrain when buildings are destroyed
  • Add SFX for building destruction
  • Correct fixture merging bug when buildings are merged
  • Removed extra ghost object when placing furniture around finished buildings
  • Placeable items now show up correctly in building editor
  • During building destruction, combine items until max stacks are reached
  • Make building asserts show more information
  • Smooth debris animations so they are framerate independent
  • Building cost now updates accurately based on furniture placement
  • Fixed bug that prevented Carpenter House from building
  • ##Enhanced hearthling lifestyles
  • Added Emote Animations: Complete, Concerned, Browwipe, Reservation
  • Adjusted Yawn Animation – Previous Yawn Update looked too much like a celebration when time sped up
  • Add tall clay window and tan latticed window
    ##Merchants++
  • Forgot to mention this in an earlier update, but merchants now have gold caps! You can only sell them as much stuff as they have gold to trade you for it!
  • Add min days before return to trader scripts
  • Display the returning trader’s remaining time in days, not hours, when a large amount of time remains
    ##General stuff and bugfixes
  • Fixed assertion when exiting the game
  • Remove rename functionality on things that shouldn’t/can’t be renamed
  • Fix bug where toasts float a hundred feet above people’s heads
  • Fix militia not standing ground in town alert mode
  • Add button properties to Craft button in crafter UI
  • Fixed patrol formation bug. Keeps members from following a former patrol lead when she’s off duty (e.g. going to bed)
  • Fixed bug that spammed mining regions when digging building foundations
  • Added basic tutorial when starting a game on Ascendancy
  • Change market stall recipes to use wood/clay resources instead of piles
  • Adjust damage value of wrench
  • Fix some issues with pets eating
  • Add min days before return to trader scripts
  • Make level up bulletins less spammy; auto remove if close button is pressed
  • Fix goblin boss naming issue
  • Display the returning trader’s remaining time in days, not hours, when a large amount of time remains
  • Send CPU/GPU info for analytics
  • Fix Ent raid starting in peaceful mode
  • Fix bug that tried to set player_id on invalid goblin sheep
  • Fixed container inception bug where hearthlings were placing other items over the ghosts of manually moved objects
  • Fixed bug where inventory counts of items were incorrect because duplicate ghosts were appearing at the edge of the world
  • Food now decays correctly, and disappears when it is completely rotten
    ##Known issues in this release
  • Wall mounted items will fall down in old saves. This will happen the first time you load an older save, but not on subsequent loads
  • Old pet names have been forgotten (sorry!); you’ll have to rename them
  • Building names have also been forgotten; you’ll have to rename them
  • IB (instabuild) may not work correctly for very large structures
  • On loading old saves, farmers may no longer farm. To restart their activity, make a new farm somewhere in the world
12 Likes

Important for Modders:

http://stonehearth.net/important-modding-changes-august-2016/

Also you must change the version in the manifest to 3 or higher!

edit;

also other little tip: if you have visualstudio - download the stoneheartheditor from github - it will changes automatically the entitiesinfos

3 Likes

For Translators:

show_team_workshop.less:

  • .button; -> added

en.json:

  • “default_name”: “Party No.[str(party.ord)]” -> removed
  • “custom_name”: “[str(self.stonehearth:unit_info.custom_name)]”, -> changed
  • “quest_bulletin”: {
    “title”: “New Message”
    }, -> removed
  •            "default_stockpile_name": "Stockpile", -> changed
    
  •               "days": " days",
               "hours": " hours", -> added
    
  •               "waiting_title": "The trader will be back in [str(i18n_data.hour_counter)] [str(i18n_data.period)]!",
               "waiting_text": "The trader will be back in [str(i18n_data.hour_counter)] [str(i18n_data.period)] to give you [str(i18n_data.reward_number)] [str(i18n_data.reward_item)] if you have [str(i18n_data.want_number)] [str(i18n_data.want_item)] ready for him!",
               "waiting_title": "The trader will be back in [str(i18n_data.hour_counter)] [str(i18n_data.period)]!",
               "waiting_text": "The trader will be back in [str(i18n_data.hour_counter)] [str(i18n_data.period)] to give you [str(i18n_data.reward_item)] if you have [str(i18n_data.want_number)] [str(i18n_data.want_item)] ready for him!",  -> changed
    
  •                  "display_name": "Chieftain [str(self.stonehearth:unit_info.custom_name)]", -> changed
    
  •            "display_name": "Building", -> added
    
  •            "numbered_display_name": "Building No.[str(self.stonehearth:unit_info.custom_name)]", -> changed
    
  •         "display_name": "Party",
         "display_names": {
            "party_1": "Party No.1",
            "party_2": "Party No.2",
            "party_3": "Party No.3",
            "party_4": "Party No.4"
         }, -> changed/added
    
  •         }
      }
    
    },
    “tutorial”: {
    “tutorial_steps”: {
    “craft_carpenter_workbench”: {
    “ui_steps”: {
    “set1”: {
    “step003”: {
    “title”: “Click the Carpenter’s Workshop”
    },
    “step002”: {
    “title”: “Open the Carpenter’s Craft Menu”
    },
    “step005”: {
    “title”: “Click X to close this window”
    },
    “step004”: {
    “title”: “Click the Craft button to craft the workshop”
    },
    “step001”: {
    “title”: “Open the workshop menu”,
    “description”: "Use this menu to manage the various crafting workshops of your citizens. "
    },
    “step000”: {
    “title”: “Set Up a Workbench”,
    “description”: “Our carpenter needs a crafting station in order to craft items for the town. Let’s make a workbench!”
    }
    }
    }
    },
    “place_carpenter_workbench”: {
    “ui_steps”: {
    “set1”: {
    “step001”: {
    “title”: “Open the Build Menu”,
    “description”: “Use this menu to build structures and place items in your town.”
    },
    “step000”: {
    “title”: “Place the Carpenter’s Workbench”,
    “description”: “Now that we’ve crafted the workbench, we need to place it in town for the Carpenter to use.”
    },
    “step003”: {
    “title”: “Click the Carpenter’s Workshop item”,
    “description”: “Select the workshop and click to place it somewhere in town.”
    },
    “step002”: {
    “title”: “Open the Place Item pane”
    }
    },
    “set2”: {
    “step000”: {
    “title”: “Congratulations!”,
    “description”: “We’ve got resources, a place to store goods, and a way to craft items. We’re well on our way to getting this settlement off the ground!”
    }
    }
    }
    },
    “harvest_logs”: {
    “scenario_data”: {
    “declined_text”: “I don’t need a tutorial – I know what to do!”
    } -> added
  •      },
      "blue_latticed_window": {
         "blue_latticed_window_ghost": {
            "display_name": "Blue Latticed Window",
            "description": "A soothing blue latticed window"
         }
      },
      "green_latticed_window": {
         "green_latticed_window_ghost": {
            "display_name": "Green Latticed Window",
            "description": "The latticed window you know and love, now in green!"
         }
      },
      "tan_clay_window_frame": {
         "tan_clay_window_frame_ghost": {
            "display_name": "Tan Clay Window Frame",
            "description": "Lets the sun in"
         }
      },
      "tan_latticed_window": {
         "tan_latticed_window_ghost": {
            "display_name": "Tan Latticed Window",
            "description": "The latticed window you know and love, in tan"
         }
      },
      "tall_clay_window": {
         "tall_clay_window_ghost": {
            "display_name": "Tall Clay Window",
            "description": "Still lets in the soft desert air"
         } -> added
    
  •      },
      "poyo_weathervane": {
         "poyo_weathervane_ghost": {
            "display_name": "Poyo Weathervane",
            "description": "A weathervane in the image of a friendly yardbird"
         } -> added
    
  •            "display_name": "R.I.P. [str(self.stonehearth:unit_info.custom_name)]",
            "description": "[str(self.stonehearth:unit_info.custom_name)] will always be remembered." -> changed
    
  •         "description": "It's [str(self.stonehearth:stacks.stacks)] coins!", -> changed
    
  •       for all monsters     "display_name": "[str(self.stonehearth:unit_info.custom_name)]", -> changed
    
  •         }
      },
      "mammoth": {
         "mammoth": {
            "display_name": "Mammoth",
            "description": "Large Woolie Beastie" -> added
    
  •         },
         "poyo_weathervane_recipe": {
            "recipe_name": "Poyo Weathervane",
            "description": "A weathervane in the image of a friendly yardbird",
            "flavor": "TODO" -> added
    
  •         },
         "tan_latticed_window_recipe": {
            "recipe_name": "Tan Latticed Window",
            "description": "The latticed window you know and love, in tan",
            "flavor": "TODO"
         },
         "tall_clay_window_recipe": {
            "recipe_name": "Tall Clay Window",
            "description": "Still lets in the soft desert air",
            "flavor": "TODO"
         },
         "tan_clay_window_frame_recipe": {
            "flavor": "TODO",
            "recipe_name": "Tan Clay Window Frame",
            "description": "Lets the sun in"
         },
         "green_latticed_window_recipe": {
            "recipe_name": "Green Latticed Window",
            "flavor": "TODO",
            "description": "The latticed window you know and love, now in green!"
         },
         "blue_latticed_window_recipe": {
            "recipe_name": "Blue Latticed Window",
            "description": "A soothing blue latticed window",
            "flavor": "TODO" -> added
    
  •            "description": "Defense gained from equipment increased by 10%"
            "description": "Defense gained from equipment increased by 20%" -> changed
    
  • for all humans “display_name”: “[str(self.stonehearth:unit_info.custom_name)]”, -> changed
  • },
    “scenarios”: {
    “tutorial”: {
    “tutorial_steps”: {
    “create_stockpile”: {
    “ui_steps”: {
    “set1”: {
    “step001”: {
    “title”: “Click the Zones button”,
    “description”: “Zones define what happens where in your town”
    },
    “step000”: {
    “title”: “We’ve harvested some wood”,
    “description”: “Now we need someplace to store it”
    },
    “step003”: {
    “title”: “Click the check to confirm”,
    “description”: “Use the filters to determine what type of items you want to go into the stockpile”
    },
    “step002”: {
    “title”: “Click the Create Stockpile button”,
    “description”: “Hearthlings store your items in stockpiles”
    }
    }
    }
    },
    “harvest_logs”: {
    “scenario_data”: {
    “message”: “If we’re going to get this town off the ground, we’ll need wood, and lots of it! Chop down some nearby trees to get logs.”,
    “completed_message”: “Congratulations! We’ve got some wood resources now. Logs and other natural resources can be used to construct buildings and craft items. They’re the first building blocks for advancing your town.”,
    “title”: “[str(i18n_data.town_name)] Town: Initial Supplies”,
    “resource_display_name”: “Wooden logs”
    },
    “ui_steps”: {
    “set1”: {
    “step001”: {
    “title”: “Click the Gather button”,
    “description”: “Use the gather button to chop down trees”
    },
    “step000”: {
    “title”: “Click the Harvest menu button”,
    “description”: “Use the Harvest menu to gather resources from the world”
    }
    }
    }
    },
    “promote_carpenter”: {
    “ui_steps”: {
    “set1”: {
    “step006”: {
    “title”: “Click stamper to approve the promotion”
    },
    “step005”: {
    “title”: “Click the Carpenter job button.”
    },
    “step004”: {
    “title”: “Click Change Jobs to promote this hearthling to a different job”
    },
    “step001”: {
    “title”: “Open the Citizens manager”,
    “description”: “Use this pane to manage all your citizens, view their stats, and set their task orders.”
    },
    “step000”: {
    “title”: “Promote a Hearthling to a Carpenter”,
    “description”: “We have logs and a place to store goods, but the town is looking pretty empty. Fortunately, we’ve brought a saw along with us. Let’s promote a citizen to a Carpenter!”
    },
    “step007”: {
    “title”: “Town Crafters”,
    “description”: “Carpenters and other crafters can create various goods to help your settlement, from beds, to building materials, to weapons.”
    },
    “step003”: {
    “title”: “Mouse over the numbers to learn what each attribute does”,
    “description”: “Each hearthling has a Mind, Body, and Spirit attribute that affects how well they do certain things.”
    },
    “step002”: {
    “title”: “Choose a citizen to promote”
    }
    }
    }
    }
    }
    }

-> added

3 Likes

I would like to see for destruction of buildings(as I stated in the previous desktop Tuesday) for early game buildings to be taken down by hand and like this update see the terrain replaced maybe with clay, but with the new destruction feature than looks kinda like an explosion I think the buildings that the new feature would applies to’s hole of the building footprint should be left in the ground and then a geomancer will need to fill it with their mana or something (just my opinion)

Ooh boy. Us modders have a lot of work to do because of all of these changes. But that’s a good thing, because a 15% decrease (ish) in memory usage? That’s awesome. Great job Devs.

5 Likes

One of the hardest working dev teams in the business. This change log is huge. Great work, all! :slight_smile:

1 Like

I noticed that in biomes we still have this:

"alias": "stonehearth:biome:desert",

Is it needed? I searched and found no files that ever read this line. I’m guessing it is just old code that got stuck till today?

try to remove it - but i think it will be needed because this adds the info that there is a dessert biome ^^

No, the alias creation is the manifest task, and telling the game that there is a desert biome is the index.json (a biome list file) task.
I think it is just left over code

3 Likes

so, is this supposed to be happening with older saves? :confused:

Hi,
I would have liked for it to fix ALL the ghosts, but sadly the fixup code was not able to detect some cases. I’ve made a more aggressive fix up in an upcoming update (although even that one will miss a few. It’s extremely hard to tell which ghosts were invalidly created). In the meantime, you can use the console to destroy those ghosts. It shouldn’t cause any errors. Sorry for the inconvenience
-Yang

3 Likes