Updating the KR source to the GML 8.1 runner, other progress.

Things are going pretty well. The GML runner was updated to version 8.1, which includes various speed updates, security updates, and other things I really love. The one thing that’s driving me nuts right now is that they changed the argument syntax for methods:

The rules are;

  • if you use argument0 to argument15, then you MUST supply up to that number in the argument list. So if you use argument2, you must supply 3 arguments – exactly.
  • If you use the argument array (argument[x]) then you are free to supply as many or as few arguments as you wish.
  • If you use both argumentX and argument[x], then you MUST supply up to argumentX, but are free to supply more if you wish. So if you use argument1 and argument[x], then you must supply at LEAST 2 arguments, but can then use any optional ones that have been passed in.
  • argument_count will hold the number of arguments passed. (0 is for no arguments passed)
  • accessing argument[argument_count] or higher, will throw an error.

As nice as it is that tighter syntax will make me a better coder, this means I have to change the body code for the hundreds of methods (scripts) that are called in Koya Rift to meet the new standards. This is; changing all instances of argument# to argument[#]  (where # is 0-15 of the passed in arguments), and then tracking down EVERY CALL of those methods and making sure that I pass in undeclared parameters as 0 instead of letting them free. So instead of scr_generate_weapon(2,3,15); which would generate a shotgun weapon between power level 3 and 15, I could have called scr_generate_weapon(2); and it would have defaulted the lower and upper bound limits for me, because undeclared passed arguments were defaulted to 0. But now, I have to change all of them to scr_generate_weapon(2,0,0); so it has the same functionality. This is thousands of lines of code! Unfortunately this isn’t python, where I can specify a default value for undeclared arguments.

So all in all this pushes me back a few days. I just thought I would say that – it’s all worth it, because supposedly I should get a nice speed boost due to better memory management and more efficient masked collisions on the raw-engine side of things that I can’t control. Otherwise, things are going great and I’m looking to release on schedule.

UPDATE: Fixing these is going faster than expected. This actually might only put me back a few hours, which is nice.

UPDATE2: It appears the sound engine I’m using won’t work with the new syntax changes, and I can’t modify it (compiled DLL, no source available). Hopefully a patch for the sound engine or a patch for the GML runner, or else I’ll have to revert to 8.0 for now (the game needs sound!)

UPDATE3: Yep, can’t get the sound to work with the new runner. I had to revert all of the game back to the old 8.0 runner. Oh well, at least I’m not missing out on any huge improvements. The speed updates I talked about earlier supposedly are hardly noticeable for 2d games anyway. All that’s left to do now is translations and a bunch of marketing materials. If you would like to interview me or get a review copy of the game, shoot me an email! (SunnyKatt @ live.com)

-Zach

About sunnykatt

I'm an Indie Developer. I'm also an artist. Working on Koya Rift right now.
This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to Updating the KR source to the GML 8.1 runner, other progress.

  1. Sporling says:

    Man am I ever excited for this!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s