Discover more from Luden.io Newsletter
Very Able Variables - Craftomation Dev Diaries, August 2024
Hey mates!
It's been some time but we spent it productively!
Remember summer reading programs? In a way, that's what we were doing: reading lines of code, reading your feedback, sometimes even trying to read the cards, asking them to show us the way! Ok, maybe the last one didn't happen but we were observing user reviews on Steam closely (please keep them coming!), along with conducting internal tests. More on this below, but first we'd like to discuss something more exciting: new content!
What's New
As we wrote once already, the variables system in Craftomation 101 was a legacy from early versions’ times, and we started planning to improve them shortly after the Early Access release. A couple of months back we already made it so variables would accept game object types (Stones, Iron, Fire, etc.) as arguments. With the last update, we completed the picture and unlocked an option to enter numbers as arguments, too!
To our surprise, introducing this feature led to the introduction of seven new programming blocks*, to perform all kinds of operations with numbers and Variables:
'get type' - detects the type of Object on a selected tile and assigns it as an argument for a connected Variable
'get amount' - checks the number of items on a selected tile and assigns it as an argument to a Variable
'get length' - computes the distance between the coordinates provided by two connected Variables
'coordinate to var' - transforms two numbers into a coordinate that can be used as an argument in a Variable
'split var' - transforms a coordinate into two separate numbers
'check var' - checks the argument of a connected Variable with a selected value for equality
'compare numbers' - compares numbers from the arguments of two connected Variables
*we also renamed the entities formerly known as ‘nodes’ and ‘commands’ to ‘programming blocks’ because it sounds more integral and makes things easier when translating the term to other languages
With these around, we felt there was no more need for the ‘counter’ block because you can do the same thing with Variables, which brings the rules of Craftomation 101 closer to real-life programming logic:
With their new features, Variables provide you with more flexibility, allowing you to parametrize all kinds of things. For example, some of our players want to control the precise level of charge of their CraftoMates - with new blocks it becomes possible:
This will mean more blocks in a Program, but the blocks themselves are now more intuitive and flexible, with no more need for clumsy nodes that do ‘magic stuff’, made by developers. Instead, you are now able to reproduce the logic by yourself and, therefore, better understand how it works. Just look at the way of organizing cycles before and after the update:
All in all, the work on Variables, as we see them, is almost finished now. We will, however, add at least one more important block to your deck: ‘get required type’ (work in progress name) will allow your CraftoMates to detect whatever type of item is needed on a selected tile - the type of fuel for a heating device, for example.
What's Next
We had plans to add even more content to the game after we were done with Variables. But then some new reviews came in, and we ran a couple of playtests - and decided that it would be better to concentrate on UI/UX tasks first: a bunch of minor features/bugs we were pushing away since the release turned into a huge snowball of problems. We have been thinking of dealing with them for months, but you know how it is: once you get locked into a serious content implementation, the tendency is to push it as far as you can!
This ends soon: we have a list of 70 improvements/fixes we'd like to make to the game in the upcoming weeks (some of them will be in the game by the time you have read these lines). That includes hotkeys, opening the Editor by double-clicking a CraftoMate, a battery indicator that changes colors, etc. We hope that combined, they will make Craftomation 101 a smoother experience.
And after we're done with them, we'll return to adding more features! Remember the area-of-effect-ale-fueled buildings we mentioned in June? Alex the Artist even started making art for them:
Those are planned to be introduced in one of the next updates. But the work on making buffs more valuable has already started: in the last update we added visual effects for Ales, so you can know for sure who's under influence:
A related issue that is going through internal discussion is: what do we do about those Thorns? We initially added them to make the second part of the game more challenging. That is why Thorns cannot be eradicated permanently, which, in turn, is irritating some of the players.
But it's not just that: harvesting Thorns gives you the only and completely useless item (Thorn roots). The logic by which they work is unique, compared to other entities in the game: Thorns grow on tiles but do not occupy them, so a player can place an Object on top of a tile with Thorns, effectively making it impossible to interact/deal with them. Our idea was to motivate the players to find a solution around this, by either harvesting/eating Thorns or withholding their growth by surrounding them with low-temperature tiles.
Clearly, this idea is not communicated well enough and Thorns in general look a bit… odd? In any case, they must be improved. We're planning to make them slightly more useful by adding a crafting recipe that would allow you to make Fire from Thorns. After that, we might expand that potential by allowing you to make Ales from them. Some changes in their growth mechanics are also on our minds, but that's food for further thought and experiments.
If you have your own ideas regarding Thorns, you still have a couple of weeks to let us know of them:
That concludes our review of the latest news and immediate plans for Craftomation 101, but there's one thing left: there will be a nice 2-day sale of the game, starting on August 28! Save the date, or, even better, add Craftomation 101 to your wishlist on Steam, and you'll get notified when there's a discount!