Protobound Day 8

Protobound Day 8

Amazing what a fresh mind will let you do. Gotta remember to take breaks or start making dumb mistakes. So I managed to fix my issues with the equipment system in 5 minutes this morning.

Equipment now works as intended.

The stack overflow came from some accidental recursion. I did a find and replace to get rid of some debug code and got a side effect where anything regarding the Player character would infinitely refer to an outer func.

Now I need to fix the equipment labels for the party members and get to planning the shop system. First of all, a sprite.

A shopkeeper you occasionally need to shake the hell out of to get your purchases.

Added my collision, now how do it do it? A shop needs an inventory, which could be a dict of dicts. Depending on if I want to have a stock value to allow the shop to sell out of items or not. It could be a simple dict with the key being the item name and the value being the price. It could... are there structs in GDScript? No. Dict it is. It seems like I rely a lot on dicts for Godot. I wonder if I am forgetting any other data structures in GDScript, let's have a look. Nothing much outside of dicts. I could implement my own structures but that's beyond the scope here so... Dict.

I did learn a few things though, there's static typing and format strings in GDScript. I feel like an idiot for forgetting. I know I read through all the docs but I didn't bother taking notes, that could be why I forgot. Anyway back to the shopkeeper.

So it's got a dict full of items with prices and number in stock. It constructs a shop panel when the player interacts with it. It loads the item names and information from the item scenes in the Item folder. Items could use a description, not sure why I omitted that. Probably too caught up in functionality and making things work. Each item generates a row and adds it to the shop (How am I going to do that when the inner items of sub panels keep ending up as size 0,0 and on top of the one above?) I was about to detail the Sell panel but realized I don't need one. The player should get enough money from fights and the only items that should drop from enemies would be key items or healing items anyway and that would be rare.

So all we need is buy. Also the player wont buy weapons and armor, they should be rewards. Got that on the notes section of the whiteboard. Now I guess all I need is to create the inventory and functions to interact with it, then create the UI and wire it up.

Functions have been outlined and documented on the Shopkeeper. Now for lunch, dog walking and then implementation as well as creating the UI and wiring it up.

Looked in on ##C on freenode and it's dark today. Talking about death and suicide. Rough.

Here's hoping the UI will work as I expect (it wont) and I can just create one of these for every item in the shop UI.

While I should sanitize the input on this I don't even know if it will work as intended in the first place. I'll worry about that if I need to later.

Allo. Nice to see that worked as intended.

Next is to make them panels able to handle their own information and deal with buying items.

I didn't expect to finish that so soon.

Buying me a sword from a vending machine, only in Japan!

Alright, that covers buying items. The sword is a placeholder, it would normally be a healing item but I haven't had any cause to implement them yet so it's standing in. They will come when I get combat in next week.

2 Issues Closed.

Milestone Closed.

Next week I have 3 issues, maybe 4. Combat system which I expect will be a big pain in the ass(this is why I moved cutscenes to week 4's milestone), Enemies wandering the overworld (Basically just a tweak on NPCs that on collision initiate battle mode.), and Saving/Loading also going to be full of pitfalls no doubt. If I can't manage to get the saving/loading working in a day I will throw it into the week 4 mess where maybe it gets done, maybe it doesn't. It's not terribly important for a prototype but I would like to have it there in case I come back to this project... it'll save me some time.

Combat should be pretty straightforward (I think) but I really think it'll eat the majority of next week's days. If I were smart I would make it something I do in it's own week... which I kinda did... I just added in save/load which I will do last, I think. I'll start with the enemies wandering the world.

They are basically NPCs with a node that holds the enemy party and populates their data on the battle screen. Welp, it's 2PM and I guess I should get to yelling at some servers. I also gotta formulate some bug food out of oats, bee pollen and various other ingredients. Gotta make the dubias, superworms, mealworms, buffalo beetles and crickets big and strong.

Well, gonna get on that now. I leave you with (assuming you are as old or older than I am) some nostalgia.

Look at how they massacred my boy.

Cheers.