Devlog No.038 (Patreon)
Content
When I was a kid, I remember buying a pack of space marines. The plastic kind you assemble. And I went through a great deal of trouble with assembling and painting them. First using the wrong glue, then using the wrong paint. In the end, I figured out the correct glue and right paint and I assembled all of them. But it was only after I'd put them together that I realized I had put on their shoulderpads wrong.
It seems whenever I learn something new I always mess something up and have to take it apart and put it back together again. Usually only once though!
So these past couple weeks I focused on working on two things mostly. The first was a new currency that ties into NPC tfs and the second is the map. I also fixed up the in game menu a bit and now there is a new inventory option. For now it just shows the new currency, gems, and also lets you access your map.
In the next build you'll be able to find gems within nodes with gems inside them. If the node has rainbow colored stones in it, then it'll be random what you get. If it's a solid color then you're guaranteed that specific color. The amount you get from each node will vary of course. I can control all of this on a per node basis. By default, when I set a node down it has a random chance of being a gem node when you load the room it's in. Otherwise it'll just be dirt. But I'll be modifying these spawn chances a bit on a per node basis. So sometimes you'll find gems more often in a specific spot than others.
Also there will be a small chance of finding a node or two in earlier segments of the game. So even if you are new, you might find some before you reach this coming up area.
Speaking of, Kirizimi will have a gem mine in it that you can explore. It'll be pretty small and the number of gems you can find will be fairly low, but it should act as a nice introduction to them. One of the quests will involve you going in and grabbing a specific type of gem. I'll make it so that specific gem type is guaranteed to spawn so you won't have to keep going in and out and hoping you get it.
As far as what kinds of gems there are, right now there are six types. Eneralds, Silfires, Raspers, Zerkawns, Torazes, and Kyrakysts. (I'm sure if you use your imagination you can figure out what they're supposed to actually be)
As for what purpose they serve, partially as a way to buy a few unique items, but also mainly used as a catalyst for tfing NPCs. You'll also need to buy a special tf item from a vendor.
I may add more gem types later on, but for now, these should cover things.
And as for the map. Well it was much harder to implement than I thought.
I said I was just going to keep it simple, but when I got an idea in my head for it, I couldn't get it out and so naturally I went to the trouble of making things harder on myself than I should. I didn't want the map to be overly simple to the point you would look at it and go 'I forget what is actually there'. So naturally I included a little thumbnail of the area appearance and have some text at the top which tells you 'what' you're looking at. You can also move through the map very easily.
Right now it's just a bit rigid and only detects direct paths so it won't go up right, down right, etc if a node isn't directly next to it. I'm going to fix that up and smooth it out. Also I would kind of like it so when you switch nodes that it doesn't just 'snap' to the next node and instead the screen drifts rapidly over. Should be less disorienting.
I'll post a video showing off both the map and gems after this.
Making the map was really time consuming actually. Though that's really just cause I have to add entries. But now that I have most of the entries in there, it should be easy enough to just update it as I go every time I add a new area.
It's also worth noting, but I had quite a bit of trouble with saving the map. I was getting some errors as I had been trying to store the map data in with the rest of the data. (Stack overflow stuff. I believe this has to do with using base64 encode in GML. I am actually a bit worried it might come back if I keep trying to add more save data, but I will avoid using that encoding for everything else since the only extra stuff would be just a bestiary.)
I managed to get it to work by just adding a new save file for your map data. So now you'll have a save file for your normal save and also a map data save file inside the save folder. Nothing to really worry about at all. I had to save it as plaintext though and I am a bit worried someone might stumble onto it and mess it up, but ehn. If you're going into save files and modifying them then it's an assumed risk.
I'm actually not at all opposed to anyone seeing/modifying their raw save file info and such, I just worry that accidents might happen is all.
Either way, I started out with a map array which was just way too big anyway and I think that was probably the cause. I shrunk it down significantly. Though even with doing that the game lags a bit when saving and loading. Which I honestly wondered if my game would ever get to the point that I needed a 'loading' 'saving' screen. I'm hoping to avoid that if I can.
If after the next update anyone is having saving/loading delays which are significant, please let me know so I can figure something out. As of right now it's just a small delay, but you never know. It will also take a bit when you first load your save because the game will be making a new file for the map data. So no need to worry if it only happens the first time you load your game. Though I do always recommend making a backup of your previous save of course.
The one problem with the new map system is that it's not dynamic. When you load your save game, you will have to revisit all the areas to unlock them in the map. Unfortunately I didn't have the foresight to implement any mapping points in rooms. I honestly didn't even think the game would get this big really.
If everyone would like though I can add a trigger to the game in the next debug build to allow you to touch it and it will unlock all the main path nodes. (I assume people don't want me to spoil them by unlocking all the hidden paths for them)
And I think that's really it for now! Check out the video and give me feedback on how you feel about it! I'm willing to modify it more if it's not great.