ACE Tuesday #03 "Project & Stuff"

A Wizard is never late, nor is he early!
He arrives precisely when he means to!

Well, I’m not a wizard. :glum: So…
Here’s your belated ACE Tuesday!

On today’s video we’ll talk (and see!) a lot. We’ll go over the project and how it is being organized and then we’ll showcase a lot of the stuff being worked on! So get ready for anoter increasingly annoying huge speech with my bad english! :jubilant:

Transcription recap from the video:

  • Hey everyone, welcome to another ACE Tuesday! It’s me again, Dani, and today’s video will be about the project management, content and scope! We’ll go through on how is ACE being organized, our Discord server, our Trello boards and our Github repository; how can you be part of it, how can you help, play it already or just stay in touch with news and sneakpeeks and then, for the second part of it, I’ll show some cool things we’re working on!

  • Alright! So, the main tool we’re using for the organization of the ACE project is probably our Discord server. In there we have not only a public area where we can talk pretty much about anything, from Stonehearth to other games to bad memes, but also find people to play with, discuss ACE and suggest new stuff and ideas. Even without the ACE project itself, I’d like to point out the “idea channel” as an amazing source of inspiration for all modders - it’s great to see how much excitement and how many cool new things people are coming up with and even though most of them doesn’t really fit the ideals of ACE, many of them would still make up excellent mods nonetheless! So it is definitely worth checking out!

  • Other than that, we have different workspaces where the different teams can discuss and share their work, get input from their fellow volunteers and realize impromptu meetings to discuss how to implement or create something.

  • Discord works as our communication platform, but the places where the magic really happens are our Trello boards. We have three boards, one for design ideas and discussions, new suggestions and thinking out systems that are yet to be implemented. Here’s where all the things that we want to add but still have to talk about HOW to add are being discussed - and where the design team does most of their work.

  • Then we have the Main Mod and the Mountain Folk boards. These boards refer to everything being done to Stonehearth as a whole - the Main Mod - and everything that needs to be done specifically for the new faction, the Mountain Folk submod. Following a Kanban-like pattern, our boards work with the traditional backlog (that is, what needs to be done); doing and done lists. But we additionally have a couple of extra lists for quality assurance and then, finally, an “approved” list. Should something fail while being tested, it goes back to the second list. Should everything works fine and no changes are needed according to quality assurance, it goes forward and is added into the master branch of the mod.

  • Of course, Quality Assurance can only do so much - and as the name implies, it is mostly there to ensure the quality of the final product - which in our case is to make sure it stays true to stonehearth and all the ideals of ACE you probably already know. But we’ll also need a lot of testing - you know how bugs are, and I’m not talking about the trapper’s ones.

  • And since we mentioned testing, let’s talk about our last platform: Github. This is where the mod currently is, basically. Git repositories are traditionally used for team-based or open development of code. Due to their flexbility of allowing pretty much any files and folder structures, they can also be used for projects as a whole, which is our case. The entire work being done in ACE is currently open and available in a public repository - so all you need to play it, if you wish, is to get the link and download it! Of course, it’s an unfinished work in progress and might not be the best experience yet, but feel free to share your time with it in our public communication channels! With Github, it’s very easy for our volunteers to work and make changes and then publicly commit them in a way that everyone else just needs to pull the changes into their own machines for all to have the same mod in the same state. That allows for a more fluid workflow and is essential for any large project.

  • With all that said, make sure to join our Discord by using the links provided in the description of this video or in our forum thread! In there you can also find our Trello boards and our Github repository.

  • Now, as I said, we’ll wrap this video by showing some of the cool things being done for ACE! I won’t go into much detail on each of them because that can be further explored in future videos - but let’s go!

  • You might remember this one from the first video, I did not talk about it but it definitely showed up. Yes, it is a training dummy! Training dummies will be added and be functional, training is a specific action of combat jobs that can be toggled off and it probably will be balanced to not allow them to get to maximum level just with training. But it will surely help those fresh recruits out there!

  • We’re also pretty much overhauling water, giving it purpose and new uses - but most importantly - making it simple however with a complex base of water tools that can be greatly expanded upon by modders! As of now, nearby water will improve the growth speed of crops and crops that are submerged will, on the other hand, be negatively affected. All of this can be set up on a crop-by-crop basis, so you can create your own crops that prefer more (or less) water.

  • Not only that, but water is now able to carry a signal, as our hydraulics master Paul says, that can be used to switch states of things. Our basic implementation will be through the addition of a couple of waterwheel tools - but the potential is huge. During a design meeting, the overall mentality of the system was that water could be used as a simple “redstone” system, as seen in Minecraft. ACE itself won’t go as far, but it will provide the tools to do it!

  • Oh, and if water is getting many uses we assume you’ll want to control it better, right? The wet and dry stones are amazing additions through the geomancer, but we can help with some more from the engineer! So we’re also adding pumps and water gates that will easily allow you to play Super Mario all day long.

  • Talking about the engineer, improving it is one of our main initial goals, and as such we’re also bringing new traps, a new craftable lock that can be used to create more types of locked doors other than the iron door and more.

  • And if you really like doors, you might be happy to know that you can now have horizontal doors - or, you know, trapdoors, hatches and cool basement entrances!

  • And another really cool thing that is also a huge effort from the art team is to give a new face to Stonehearth with added diversity and variety. We’re not talking about new things but about giving each faction a more unique visual and style by having different armor, workbenches and profession outfits. Artists have been working a lot to make sure the style is consistent between factions and, of course, faithful to Stonehearth itself. And this kind of diversity doesn’t end with the factions but it goes into the biomes themselves. Each biome is now populated with more unique creatures, like scarab beetles and scorpions, ground squirrels and desert cotton tails for the Desert biome; Spiders and stag beetles, winter foxes, arctic bunnies and grey squirrels for the Arctic and our very own set of diverse creatures for the highlands, which includes the grasshopper and the ladybug, red squirrels and gray hares, among other things.

  • And finally, one last thing I’d like to point out are some new resources! Inspired by the concept of “standard resources” for modders that works so well in other games like Kerbal Space Program, that also has a package of “common community resources”, we’re expanding the default Stonehearth resources with several much-needed new types of resources. Albeit our implementation of them is relatively shallow - remember, this is a horizontal expansion. We’re adding a lot of resources that can (and hopefully will!) be further used by modders in the future! Many of them were already in the game, just not properly identified or used, like Chitin… Bone… Fruits… Nuts… among others.

  • We can talk more about that in the future, but for now, I hope this is enough to grasp a bit more of ACE’s goals and ambitions!
    Thank you for watching and make sure to subscribe or follow our different communication channels for more. Good bye!

22 Likes

I just want to add a little clarification about my water signal component. Basically, this is something you can attach to an entity and optionally supply it with a region (otherwise it uses the entity’s collision or destination region) to watch for changes in the presence of water/waterfalls or in their volume. When a change happens, an event is triggered that can be listened to by other components/services to then perform some effect or function.

In order to not reduce performance too much, these checks are instigated by a water signal service that spreads them out into 20 “buckets” so that each check will only happen once every ~2 seconds. Individual water signal components can be marked as “urgent” and checked every tick of the hydrology service instead.

Another performance tweak I’m planning on making is an option to specify individual types of checking instead of always doing all four of those (e.g., if you only care about the existence of water for flood checks, you only care about whether water exists in that region; you don’t care how much).

So this isn’t all that similar to Minecraft redstone, but it could allow for a similar (albeit far slower) type of system using water: Anything you wanted to “power” (like a gate, pump, piston, or lamp), could have a water signal component that checks immediately adjacent to it for presence of water and then its “redstone” component would listen for the right event and switch the entity on or off accordingly. (You could even make a special wet/dry stone that listens for water on one side of it and toggles on/off or wet/dry if it senses it there; or you could have wetstones that only activate as long as the water level is low enough, or drystones that only activate as long as the water level is high enough.) And I’m sure future modders could make a more extensive system, but hopefully these tools can help at least with the basic functionality of making water a more useful and meaningful resource/system.

9 Likes

Small little thing: There is a shot in the AT showing water channels around crops. Now, the bane of min-maxers when it comes to crops is thgose little throughs taking up every other row of farmland. I believe, they were supposed to be used for irrigation, so maybe you could tie that in.

To simplify the water signals (and gameplay effects), each farmer field only has a single region that it checks for all crops in it. This region extends out from the field 1 voxel in all horizontal directions and 1 voxel down. The default “water affinity” values for crops require substantial water along two perimeters, not needing to surround the farm. You can achieve this with many layouts, including a very simple two parallel channels extending from a lake/source with orthogonal space for a single farm between them; you then extend that pattern out as far as you like, placing farming fields directly adjacent to one another if you want, no need for irrigation channels between them (or chain it together with more channels from the lake/source).

Ultimately, the description text for crops will be modified to include their ideal water volume, so players will be able to see this information and structure their farms and irrigation to match, and allows varying levels of water affinity for different crop types. At least, that’s the current development projection.

1 Like

I don’t know I completely understand what you say. I think I do. But I wasn’t about the minmaxing of the water channels themselves, I was talking about this:


Those trenches.

I mean do what you think is best for the system, I just thought it could be better to see those channels be overfolwn if a plot is irrigated. Either by requiring the player to overflow these channels, or by making it look like it was overflowing as a simply visual feedback to the player.

1 Like

Oh, the dirt columns/rows, I see what you’re saying. So given that those are an intentional aspect of the game, the structure of water detection should help make the standard farmer field layout more attractive to min/max-ers than the space-efficient cluster of 1x11 farms, since interior plots of the latter would have limited water adjacency.

We could also try to do something with water over the dirt, but we’d actually have to dig down a voxel and use a shorter dirt entity with “platform” collision type in order to have water in those channels be visible without actually flooding the whole field (and I’m not sure how moving entities like hearthlings, critters, etc., deal with partial-voxel collision; if I recall correctly, there are graphical issues as seen with the new fence posts). It would also require substantially more water in order to get that effect, and you’d actually have less visual feedback for how much water was really there if it was under the level of the partial dirt blocks. The partial dirt blocks could instead be completely (or nearly-completely) dug out, leaving deep channels that would properly display more levels of water, but I think that would be a much less aesthetically-pleasing model.

Also, the current equation considers the standard 11x11 farm to be “ideal” for normal water levels, but it also considers it on a crop-by-crop basis: a volume of 24 water (a half-filled perimeter or filled half-perimeter) is considered ideal for the 66 crops in an 11x11 farm; if you make a smaller farm, say, 5x5, you only have 15 crops, so the same rule of half-filled perimeter (now 12 voxels of water) gives you over double the water per crop (12/15 compared to 24/66). This allows for you to address water needs for your farms in two different ways: either adjust the amount of water in irrigation channels (either by changing the number of channels or how much water is in them) or choose a different size for your fields.

Of course all of this is subject to change and balance, but that’s how it is currently.

3 Likes

Hmm :thinking: . Well, since the crops grow a few subvoxels higher than the trenches, one could require the player to flood the fields but not too much, getting the desired effect. This is a bad idea, though, since it would mean you’d need to flood the entire level on which the farmland is on, and that just gets messy. Or you’d have to dig holes for your farmland to go in. Scratch that.

Maybe there are better ways to create visual feedback on irrigation. will edit this post when I found any.

The system you describe looks interesting though.

1 Like

i didn’t find any links to the discord server

i found it here

This is really awesome! I can’t stop being impressed by how much you guys are managing to accomplish, and the videos really keep me personally super hyped! Water not having gameplay has bugged me all throughout my time on the SH team, but I never got the time to do anything about it, so I’m really amazed how you guys got it working both in terms of control via the engineer and in terms of crops using it in such a short time!

5 Likes

Amazing! :open_mouth: Really love the stuff you are working on :heart:

But where i can find the zip/smod-file to test it by myself?

the work in progress can be found on github atm, but its not really friendly yet. if i were you i’d wait a bit :wink:

1 Like

ahh ok, thx for the quick response ^^ @Wouter_Sikkema

it’s great to see the community works together to make the game even better

1 Like