Support Me on Patreon

Monday, September 30, 2019

Node of Command

So I told the build menu, to tell the build system, to tell the building; to upgrade. This all while the game was "paused". Any node with a script is able to get another node to run functions within their script. Something like node.function() where node is the node that has the function, and function is the function. Clear as mud until you try it.

This is great in situations where signals may be too troublesome to set-up. I'm not talking about default signals, but custom connections. It is also helpful where you can get or pass a node with w function you want to run. Not sure if you can run a node's functions on another node, but if I can I'd probably crash the engine every day. Might try it just to check.

The game is never truly "paused". Pausing the scene tree in godot just pauses processing functions (process, input, physics). Signals and calling other nodes' functions from an active node still works. (Running the _process function on a node from an un-paused menu node might crash godot) This means I can cause NPC expressions, object building, and general mischief while the game is paused just from a single active node. Cascading function calls anyone? (How to mess with the player, 101)

Arrays (really?) and dictionaries are passed by reference, not copied. This means that if a node's script sets a dictionary as equal to another dictionary, changes are synced across all instances of this dictionary. So my silos will grab the parent's exported dictionary which will be referenced from a global building dictionary (or even a nested dictionary). So updating the silos when you add/remove items will update the master dictionary.

And there are still tricks to find.

Thursday, September 26, 2019

It's a cube, it's a sphere, it's a placeholder!

Added a build system to Little One. I'm currently using placeholders for the upgrades and a couple of buildings. So far it is going good, but there are only upgrades for one building. The upgrades are hidden below the building and moved up once activated.


As you can see, the buildings can be created, deleted, and one can have upgrades. The final version will require materials to create the buildings and upgrades. After the upgrade placeholders are done, I'll add the actual upgrad objects and material requirements.

Monday, September 16, 2019

Petting the sweaty stuff

Been fixing small errors in Little One the past few days.

The vacuum handles water and solids differently, but it was clearing the object refList when needed. When dealing with water, this wasn't needed; removing it made the vacuum mechanics much better. Almost too good, I've had to enlarge a few collision areas and still need to tweak the speeds.

I was originally going to use critters as ammo, but Godot doesn't have a good way to control rigid bodies. That meant I'd just use their products (eggs and the such), but the critters were not laying their eggs anywhere visible. Finally, I just had the eggs placed where the critter was because using the output node for placement didn't work for some reason. Dude, where's my output node's translation?

Speaking of critters, since they now use different physics the game would crash whenever the vacuum areas touched them. So I removed them from the Vacup group and then they stopped being held by the fences. The fences change Vacup object's physics layers so they'll collide with the walls. Just made the fence area also look for Critter groups to fix that bug. Critters walk in, but they don't walk out.

Added carrots because I already had a "fruiting" tree and root veggies seemed harder. Guess what?! I was right! The carrots got "stuck" in the ground. To "combat" this, I just re-textured the rock mesh and added it like a small hill. Using this, I adjusted the carrot height and fudged some things. Fixing the vacuum also helped immensely. This work around is kinda low-hanging fruit though.

I've set the vacuum to aim where you are looking, but the items still have problems being caught by the receptacles. Scalling up the collision areas should work though.

The map is mostly done, and gates are being added. Plant and tree areas are mostly done, but I have some edits planned. Critters move about and can produce items, they need more work. Water needs to be worked upon, but is mostly good. The dialog and storage systems still need to be added, but I'll have that fairly easy.

Support this artist on either Patreon or Ko-Fi.

Thursday, September 5, 2019

And we're stuck, in the map.

Got Little One's map all set up how I wanted it, it looks good, decided to build and play; and got stuck. You can't really get farther that a few areas before you get stuck. Because of this, I won't be releasing today. There is still quite a bit to edit and nudge around.

Walls must be added/removed, ramps placed, and pieces moved. I might have it fixed in a few days, but I'm too hungry now. On the plus side, there are plenty of areas to put gates to control player movement. Most of the layout is done, and I'm using spires to patch holes.

There will be seven to eight areas to explore in this map, all with different features and dangers. Once the map is fixed I'll keep adding features until complete, then get back to Adventures' EDGE. I might fiddle with some mechanics for other games as well.