Fixing the Dialogue system and/because I'm moving to GMS 2.3
There hasn't been an update here from me in quite a bit so I should say what I've been up to. Part of it is because Ireland came out of our lockdown and suddenly demand in my irl work was nuts. I kind of anticipated that, which is why I released the demo when I did! I knew I was going to very busy with other things very soon. Another huge issue, and this is what this update will be about is GMS 2.3.
So I got into the Beta earlier this year and messed about with it, I wasn't serious about converting over just yet because I was still in the middle of real key features. But I also noticed there was a real weird issue, 2.3 would just NOT load certain chunks of dialogue from my external file. I looked into a it a bit and then again after the demo came out and just decided to wait until release to see if it was fixed. Then it was and uh oh, it was still an issue. Near as I can tell all my formatting is correct and everything, the file isn't too big, everything was ok, but just certain sections wouldn't load without any real reason not to. It just didn't like the names of some sections, renaming helped a few and then others just WOULDN'T load.
This was a bit of a blow. I continued working a bit on a side project while I wondered what to do about this, for weeks and weeks. The side project was threatening to become a main project too over that time but eventually I heard the call back to this game. Shit needed to be FIXED.
Uh let me long story short this, I needed to store all this data somewhere that made sense and I could just dip in and out of at will. There was a lot of searching and reading of the manual and eventually I stumbled on Structs which are new to GMS 2.3. Just in time I guess.
So after a week or so of reading up on structs I finally got my format like this:
So your currently loaded dialogue is all kept in a series of temporary arrays, but I recently discovered I can build an empty array with "blank" default entries which means if a tag (like portrait for example) should be blank I just omit it. God that saved a lot of time, because then I had to do THIS:
That's 70 entries with over 2000 lines of code in there, it's all the dialogue from the external file that was still relevant to the game. I never thought I'd have to do this so I was writing random lines for npcs in between serious coding so there's loads.
So what's next?
I've been working on some tiles for the next overworld area. We are going to the recently abandoned mine to see if we can open it back up. I know mines are kind of like sewer levels in adventure games, in that they always show up and work kind of the same, but I'm hoping to introduce my version of the power bracelets there as well as multiple floors in the dungeon.
Outside of content I'm also finally overhauling the controls. I left this til after the demo on purpose but I was never 100% ok with how they were on day one and then playing Link's Awakening on Switch kind of cemented it for me. So we are getting dedicated attack, use and block buttons along with 2 buttons for items. Lifting is getting folded into "use" too so you don't need to waste a slot on them. More on that later!
As things stand things are... weird! I really miss working on this all day, all week. It really helped me deal with lockdown and the free time really took a lot of pressure off of me to produce. Now I'm sneaking in dev time between stuff in work and at home. Still I;m glad I got to take advantage of things. Whatever, hopefully I'll be back soon with more news! :D
Get A Star Of Chrome
Leave a comment
Log in with itch.io to leave a comment.