Wednesday, September 5, 2012

Development Update

Hi everyone,

I've been working on and off on the game since the last update, some weeks very little gets done and some weeks a lot gets done.  It's a good mix of new content and filling in old content that was either not fully enabled, not given appropriate art/sound assets or scripted in a way that caused inconsistencies or non-ideal behaviour in certain circumstances or if things are done in a particular order instead of another.

I have a page of bugs or things I consider a problem in front of me now and today I am planning on going through the list and crossing off each problem, I can give you a few examples:

- "Make out party" text displays after Baron Fishbone joins your host and his slaves are removed from their pens.

I haven't looked at this error yet, but it should be very easy to fix, just a matter of changing an event page to check if a 'switch' is activated (in this case, the baron joining your party is a switch) and then turning the event off if the switch is activated.  The switch in question is activated when you kill the sewer creature, I just neglected to modify the text event described above to check for that switch and turn off as a result.

Another thing I am fixing:

- Redo war room to make them walk in everytime the PC enters the room

I wrote some dialogue for the other characters in the war room but realized that they won't get a chance to say some relatively important stuff based on the current way this scene is structured.  Currently, the first time the PC enters the war room the big cutscene happens where the game checks your current party members and gives each one dialogue.  If you're missing some characters then Clarissa says "We should look for X, we should look for X" about topics that the other characters will tell you.  The best solution as I can see it is to split the event into two components:  First the walk in sequence where the game checks all the characters you have and then activates their sprites and makes them walk to their seats.  The second part would then be a check to see if the characters have spoken their dialogue or not.  So in this way each character would get their own introduction sequence the way I intended, though it won't be all at the same time which is no big deal.

Changing the scripting for this is not impossible but it is delicate, this is a complex scene and a complex room.  Not the most complex in the game but close to it, fortunately I made this scene later in development so I created it more efficiently and cleanly so it's easier to change.  It might take an hour or two.

A third thing:

- Imp says his line twice at the keep entrance

This is a weird one, I thought I fixed this, it's actually given me trouble in the past... not this specific problem but this keep-guarding imp, he's been finicky like some kind of gremlin in the machine.  I haven't looked at the event so I don't yet know why, but the imp has three lines, or is supposed to.  He first says "The portal created us when it was destroyed, we serve you." and then says "Guarding the keep Mistress."  This is normal, and when you talk to him after this he says "guarding the keep" as he's supposed to, but when you capture your father and return to the imp the imp repeats his first line.  The cause of this could be a bunch of stuff, but it *should* be fairly obvious once I actually look at the event.  I say *should* because this imp has been a pain in the butt before and I can't predict his behaviour very well.  This *should* be a five minute job to fix and another minute to check that it works correctly.

a fourth thing:

- bridgekeeper says the wrong PC name

This is a symptom of a bigger problem.  The way RPG maker works it requires characters that are different be recorded differently.  The PC can either be Ulguth the warrior or Ulguth the arcanist, each one is treated wholly and completely separately.  Their experience is tracked separately, their levels are separate, their skill progress, stat progression, equipment that can be equipped, elemental vulnerabilities, these things are all completely independent of each other.  When I offer the player at the beginning of the game the opportunity to be either an arcanist or a warrior it locks that it for the rest of the game.  Whenever I need to reference the player's name (as opposed to simply writing 'ulguth' I can write /n[9] which tells the game to use the 'n'ame of the 9th character (ulguth the warrior) if you picked ulguth the arcanist and changed your name to something else then the game will check /n[9] for the name it's supposed to use, not /n[11[.  I have to specify in the script a conditional branch, basically checking:

is the player character 9?

If so, say "Hello /n[9], welcome to my house!"
if not say "Hello /n[11], welcome to my house!"

That's not how it actually looks in script but that's basically what it does.

This is not the most difficult problem in the world, as you can see I know the solution, but it does increase the work a bit and takes time.  I suppose I'm just complaining about it here, but basically if you see a situation where an NPC addresses you with the wrong name, that is why it's doing it.  The code is probably just using the /n[9] and not the check-do /n[11].

There are 15 more things on the list in front of me but I won't go into them, this should give you a good idea though of the amount of thought and attention that goes into even the smallest aspect of the game.  Something as simple as dialogue can be extremely complex to script, especially with the awful in-built text selection display  that comes with vanilla maker.

Anyway, any questions about these kinds of things or anything else anyone wants to ask, fire away!

I'm not putting out a new update today as I want to fix these 15 things and also do more work on new content and environments.  There has been new content, but I want to give you guys more.

- Michus