Game scene (mechanical) differences between platforms

This (very pedantic) topic is mostly centered around Choice of Robots, but I think it might apply to other Choicescript games.

I recently looked at the code for Choice of Robots on different platforms, and I found out the latest versions on some platforms have (mechanically) different scene files compared to each other.

Foreword: I have a habit of digging into the code behind Choicescript games, where I attempt to

  • find out how the various paths of a scene lead into each other
  • tweak scene functions to see how they affect the game

I took a peek at the scene.js file in the web version of Choice of Robots, available here on this very website. Turns out, @kgold 's recent Choicescript additions, implicit control flow and the *params function were included in the js file. Looking at the web version’s scene files, *params sees some judicious use when it comes to changing your robot’s stats.

I also took a peek at the files mentioned above in the latest Android version (1.1.0), but it seems like the new additions aren’t included in the app’s files. Both versions play out the same way as far as the story proper goes, but I’m irrationally irked that the app doesn’t use the new functions @kgold had implemented in the web version.

I’d try and check if that’s also the case with the Steam version, but my archiver of choice (WinRAR) doesn’t play well with the exe file.

Choice of Robots on the Android was last updated before the new Choicescript additions were announced, so I guess it’d make sense that they wouldn’t yet exist in the files. But I’m surprised the app now hasn’t been updated to bring it in line with the changes in the web version. I wonder what other web games have included the new functions while their Android equivalents go untouched.

Here’s what I know about this.

  1. I made very similar changes to Choice of Robots that allowed avoiding goto and using gosub parameters, before the game was even released in 2014. I saw the changes to the language as really essential to me, but didn’t have much luck convincing the staff of the value of at least one of them at the time (no goto), so I forked. But this is bad for actually keeping games maintained, so I finally negotiated similar changes that could join the main branch for Choice of Magics.

  2. There haven’t been many bugfixes lately for Choice of Robots, and therefore, no updates; therefore many platforms would be unlikely to see updated ChoiceScript. I’m kind of surprised the scene.js file was updated at all, because it would have required some kind of merge. But in short, it takes work to update ChoiceScript for Choice of Robots, so people are unlikely to do it for a particular platform unless there’s a need.

I don’t think somebody went through Choice of Robots and converted my old gosub parameters to my new way of doing it, because the most likely person to be asked to do that would be me, and nobody asked me to do that.


That’s pretty surprising to hear. At the moment, I see some pretty clear differences between some scene files on the latest web version and the latest Android version, mostly involving a few extra functions and variables (Though I should state that the writing displayed isn’t any different between versions).

I don’t mean to knock on whoever is handling the updates for this game, but it’d be nice to get some info on why the latest versions on each platform aren’t quite in sync with each other.