another teaser to satisfy the quota before the big devlog…. this is taking a while lmao
another teaser to satisfy the quota before the big devlog…. this is taking a while lmao
working on an interface for runecarving!
here, have this teaser ig to satisfy the 10hr thing
WAIT WAIT ILL FINISH THIS DEVLOG IN A SEC STARDANCE IS YELLING AT ME
as i was saying….
I’ve added a new item: Material Plates. They can be made with a chisel tool - hold a chisel in one hand and a material that can become a plate (most metals and gems) in the other. One block turns into 3 plates, 3 items turns into one plate, with respect for the chisel’s material and mining level (e.g. iron chisel cannot carve a netherite plate).
I tried to get it to tint the texture of the plate to that of the material it has, but it turns out I dunno how to use Minecraft’s weird ass image system and also the average colour of diamond looks like turquoise turd. So instead, I’ve just put the original item texture underneath the plate’s texture in the corner.
These are intended to be where you’d carve your runes. They can be inserted into currently not implemented machines to execute the instructions based on those runes
There is a ghost in my Minecraft instance I swear. It keeps changing the ConditionalTooltipComponents of my chisels. I don’t know what’s happening. Nothing makes sense anymore. There are only two lines of code in the whole mod that should be changing those.
On the topic of paranormal activity, I’ve added a nice markdown file named ‘the voices’ to the Github root directory. It details all the stuff that’s pissed me off over development. Will be a funny read when it’s done, hopefully.
The normal runecarver lens now has a model!
Did some more work on the tooltip components. They now support automatic line wrap, and a ‘_’ shorthand in the lang files for emphasis (e.g. lang “_THIS_ is emphasized” makes THIS a different colour). Tooltips have also been stylized to look better, inspired by the Create mod’s tooltips.
Drehmal’s magic is very loosely defined, so I’ve taken the liberty of having the magic system be based on potentia, a property inherent to materials and souls that is sparsely mentioned in the map. It serves as a sort of inherent energy that can be extracted and utilized for magic.
The Runecarver Lens (and its upgrade, the Precise Runecarver Lens) are items made for the viewing of potentia. The original version shows different particle icons based on the potentia value of a targeted object, while the upgrade displays exact numbers. That is the one shown here because I still need a model for the original.
Potentia is now a DataComponentType that I’ve used Fabric’s ConventionalItemTags to add as a default component to different categories of item. The system also adds potentia via item name based selection for extra compatibility and range. Items without predefined values fall back to 3 potentia.
In MC 1.21.5 Mojang deprecated my beloved appendHoverText() method and now I’ve got to use the dastardly ItemTooltipProviderRegistry. This would be really nice, except I had no idea how to make tooltips conditional based on key press. I ended up adding two more DataComponentTypes: TooltipComponent and ConditionalTooltipComponent.
Both can be assigned as default components on item registration and thus make adding tooltips easier. ConditionalTooltipComponent also takes an additional condition property. It’s TooltipProvider is coded so that it only displays a ‘Hold key for more info’ text until said key is pressed.
I’ve added a shop system! At exactly 00:00 every day the Market tab refreshes with a new market stall, with randomly generated name, products, and an owner profile for the funnies.
This system isn’t really for you to buy and flip prices in the get money tab - this is supposed to drag money out of you when you’re starving for food and also purchase upgrades for your run.
Said upgrades have not yet been implemented, but -
Items that can be used now pop up a use item button in the inventory. Monetary items now return money to your ledger and food items now add to your vitals - which hasn’t been implemented yet. We’ll also be adding more items and usages - such as those aforementioned upgrades.
Celestial Capitalist in collaboration with @idi0cy
Celestial Capitalist:
WOW that took a while! Probably should have posted some breadcrumbs
midway but whatever. The SCAVENGING FEATURE IS COMPLETE. This is
basically loot box opening simulator + squid game dalgona cookies.
This will be your main way to get items to sell (therefore earn money).
The value of each item is based off that quality value we’ve been
showing off, as well as the item’s base value and your minigame
performance. Loot even scales as you gain more money (which I do in the
video with a debug keybind), allowing you to go from looting trash cans
to looting discarded packages and dropped briefcases.
To spice up the loot, I’ve also added WAYYY too many items (yes, I did
the textures myself).
The hardest part of this whole thing was making a proper weighted loot
system. That was a pain, because I could never quite fine tune the
results to what I wanted - still really haven’t, but it works well
enough.
The other hardest part was me, as a relative beginner to programming,
discovering that assigning a new variable to an array in fact synced
both arrays. Godot what the hell is duplicate_deep() 😭
Celestial Capitalist in collaboration with @idi0cy
Celestial Capitalist:
Just made random names for all the strangers - which was a damn pain because @idi0cy, despite his all-knowing-ness, decided to name the index of the button icons with the stranger sprites ‘index’, then proceeded to reference those same values in a different function under the name ‘place’ whilst the argument ‘index’ in said function was something entirely different. This confused me for at least an hour.
You will also notice that we have a new merry little cast of sprites, for those strangers. I tried to make them look as dystopian as possible. Think it worked. Would probably have gone for more distorted faces too if I had the time.
As you can see below, I spent way too long getting a massive list of names - mostly from Orteil’s RandomGen, and then a few references to media I like. We’ll definitely be adding more.
Celestial Capitalist:
Revamped the inventory item inspector and made it prettier, as seen below
Also did various other internal fixes with code and stuff such as renaming a button, adding lines to the fake injury game, and item flavour text
edit: just noticed the screenshot is horrendous so i replaced it
edit two: nvm apparently stardance just crops it 😭 wtf
Celestial Capitalist:
Added a general purpose tooltip scene for instancing with the _make_custom_tooltip() method. That was a pain to get right - I spent a good half hour trying to figure out why it wouldn’t work before realizing the root had to be a container node. Control nodes stink and I hate them.
In practical terms, I’ve added a method to append daily costs and profits to the ledger interface. Nothing actually uses it yet, so the values in here are from a debug keybind I was using.
Celestial Capitalist:
Bit of an annoyance to make, but it works :D
This is where you can keep track of your transactions and balance, as well as a hub for future financial stats that have yet to be implemented.
Did a bunch of tomfoolery with containers and control nodes and all that weird stuff trying to make the collapsible boxes work - ended up just changing minimum sizes myself instead of bothering with the FoldableContainers.
In terms of backend stuff I guess you’d call it, I made some changes to the project settings for window scaling + added some font settings so we can apply them everywhere easier, as well as a button template script that won’t actually do anything. That’s for the tooltips on the daily buttons in the legder - for later!
Celestial Capitalist
Background now changes based on night cycle. Damn this was a pain - mostly because the issue wasn’t even the programming it was the frickin math.
I hate math. I hate math so much. Also godot what the hell do you mean ‘70 is out of bounds of 70’ i’m dying
The following showcase vid has time passing so quickly because I added a keybind to add hours to the clock for debug purposes. Also my laptop’s a bit laggy lmao
Still needs polish, but hey, it works.
Just did a big ol’ redo of all the placeholder sprite art + redid inventory grid to have five columns instead of ten so those 32*32 textures don’t go to waste.
Also, this definitely took longer than an hour and a half. Unfortunately, I can’t log Krita. Anyw check out @idi0cy, he’s doing the code for this and original concept.