0 favourites



Get emailed when there are new posts!


  • 428 words
  • ~2-3 mins read time
  • Published
  • 580 visits
  • 4.1 visits per week
  • 655 page views


This blog post is licensed Creative Common Attribution Required v4.0.


Enjoy this blog? Share with your contacts!

Share now

Another week, another game dev quest embarked upon!

Given that a lot of things in this game will rely on displaying text in some form or another, I figured it was time I started looking at the dialogue system.

I’ve settled on using XML over JSON purely because my head can read it better - just personal preference. Plus, it helps that there are examples of dialogue systems built using XML already!

I’m currently working on a few experimental projects to see if I can build out the system I want. Largely to teach myself how they work, so that I can better understand the bits I need to make it all function the way I want it to. So, if anyone is looking to build their own system, I’d recommend looking at Kyatric’s RPG-style dialogue project and both bbenny93’s and LaDestitute’s versions of the ‘Dialogue Box for Lazy People’.

For me currently, it’s a case of looking through these existing projects so I can a) learn how they work, and b) work out which bits I should use for my own system. Like in the Dialogue Box for Lazy People, a dictionary is used in conjunction with the XML file to do things like call functions, include variables and set key codes for controlling the dialogue box. Now, later down the line, I’d quite like to try implement configurable controls, or maybe gamepad support. So having those key codes written in the XML file isn’t particularly helpful. However, it’s incredibly simple to swap that out with some global variables that we can then use later on for configurable controls.

It is slow progress (as usual), but it’s going well so far. Plus, if I get too stuck then I can start experimenting with ideas I have for the random encounter system. There are a couple of ideas to test there - one involving variables and tokenat expressions (based on a tutorial by Kriand) and one using the probability tables in the Advanced Random plugin.

Anyway, apologies if this is a little more dry than previous posts - I lost half of it thanks to iOS logging me out, and there’s nothing that exciting to report this week anyway! And I’m sure more evidence of my inevitable descent into gamedev-related madness will appear soon enough!

Oh, and I’ll be back on Thursday playing some more Catmaze - hopefully I’ll find more adorable cats! And maybe even set up a death counter so we can track just how bad I am at games! Come join me, it’ll be fun!


  • Order by
Want to leave a comment? Login or Register an account!