Something I've sat on for a little while but I think I should express it now:
I've had a couple of bugs that are unique to the Opera platform that were
relatively hard to debug. The debugger works like 10% of the time for me when booting into an opera export and it makes it a serious pain in the arse for debugging, otherwise the debugger just gets stuck attempting to connect. I have to rely on show_message() to output various data and, of course, if the data is invalid, that crashes the application, rather than me being able to see "Oh that is undefined" or "Oh, there's no variable yet so it's undeclared" (as simple examples) that I can do in the debugger.
The javascript console log is next to useless with it's -1 line assignments and sometimes bizarre wording of errors. I recently ran into an error where an instance variable that was defined in the create event was outputting a bug that the variable wasn't declared when it was trying to be read in the draw event. Completely inconsistent and would happen on like 5% of boots, with no changes in how the program was used. I still don't really know what was happening after multiple hours of debugging attempts. It was "fixed" (I don't know if it
actually was or not because of the inconsistency) by renaming the variable. So who knows what was going on, I certainly couldn't look at the value the variable was holding beforehand.
Also, json_parse() seems to be broken when it comes to reading empty or null strings only in the Opera export (which effects the actual gxc_* functions provided by yoyo for use to connect to the Opera platform as in rare cases certain strings can return null and when the listener tries to parse the data it fails completely because it's trying to json_parse an empty string before returning an error number like it should). Seems this is actually a bug to do with saving json files introduced in the latest stable version.
All of this has been said, not as criticism of the implementation of the Opera export (there's going to be bugs, we're all game developers and we know that), but to come back round to the point that a
lack of feedback on the uploads is lethal to the quality of the platform. If my game fails on the title screen for a certain percentage of users, how do I find that out? I can test (and employ bug testers) as much as possible, but there's always a percentage of bugs that will leak through into live release. Without some form of user feedback, bugs becomes a kind of heisenberg uncertainty. Was that user score that reduced my overall score by a whole 1 point because the player
really didn't like the game? Or was it because it crashed on launch for them and so they marked it a 1? How do I fix it if either is true? I don't know because I have
zero feedback from anything happening on the GXC. It's a cross your fingers and hope approach.
I'm honestly a little bemused by the "we didn't include feedback because moderation is hard/costly" approach that has been floated. Are there
any other games platform out there that don't allow feedback? Are internet users and
especially gamers not conditioned to expect to be able to give their thoughts on the slightest little matter that troubles their merry way? Why was this not considered appropriately before launch? It's clearly a necessary part of the creative process of creating a game and it's also a vital part of creating a bug-free (or as close to) game. Who knows what games are doing what to what users without feedback?
I think if Opera
actually wants to have any sort of competitive/intriguing alternative to the majority of game markets out there (regardless of the fact it's free...itchi.io is free and
doesn't require opera to run) they simply
have to allow user feedback. It gives frustrated gamers when a game fails an outlet to both express their frustration and highlight the actual issue so the developer can attempt to fix it, while also giving developers valuable feedback on their games. It allows other users to judge how well a game might suit their idea of "a game worth playing" outside of the incredibly simple "this game has a 4.51 score and this one has a 4.23 score".
This problem will only grow once transactions are introduced into the platform. How can Opera call itself a
gaming browser without realising that microtransactions/ad revenue combined with an inability to comment on games is going to lead to a
wild storm of gamers getting furious when they pay money for stuff that might not work and can't
at the very least vent their frustrations to other potential customers/players/the devs.
All that being said, I'm having fun with the GXC platform, it's awesome being able to export a fully working game to a browser without having to deal with the massive headache that is HTML5, and I've been spending a lot more time than I should tweaking for it. So to the whole team, while this may sound super negative and angry, I don't mean it like that. I mean it more like a wake-up call. The sirens are sounding and we need to fortify the beaches before the breach happens (
especially monetisation), otherwise everyone will be up
s creek without a paddle.