@ BryanFRitt:
Idea: Being able to submit victories, and post best scores/tapes online
What you described is more or less how level rating for the high score table will work in the next version, with some differences in detail (like rating for either score or time/steps, and not taking tape file size into account, as this is implicitly already done by time/steps).
*tape needs to be verified on server that it completes the stated level, etc...
Yes, score will be uploaded together with the solution tape to verify the result.
Or Sokoban could have two sets of best scores; one for time, and one for number of steps.
I have decided to not punish people playing Sokoban levels for thinking about what to do next (or being forced to go into pause mode after each step to think about the next step). So just steps are counted, and you can take any time you want between steps to think what to do next. However, this time is recorded on tape nevertheless, so replaying it shows "natural playing", and not some sort of "artificial playing" without any delay. If you still want to record "perfect solution tapes", you are free to use single-step mode to automatically go into pause mode after each step, therefore recording solution tapes without delay between moves.
@ filbo:
I think of the 'steps' metric as more like 'moves' or 'commands'; that is, yes, a snap would be a step. Or to put it another way, anything which makes the game time engine go around.
That sounds reasonable. However, when using the step counter in R'n'D, "snap" actions are indeed not counted as a "step". Maybe this should be changed.
On the high score server... if the game (with permission from the player) uploaded every successful completion of a level, the server could just keep all of them.
Yes, indeed.
You could go to a level and ask to see stats like how many completions, average number of steps, average time, average score, etc.; as well as player-best averages.
Stuff like that could be calculated and displayed from the stored tapes, yes.
That is, if I finished a level 5 times, my 5 scores would appear 5x in the 'score average', but only my best score would appear in the 'player-best score average'.
Currently, only the best result for each player and each level will be returned from the score server to the client (that is, R'n'D) to be displayed on the high score screen.
The high score server will keep all submitted tapes for now, as I don't expect a such high number of score/tape submissions that disk space will become a problem...
@ Anonycat:
In Snake Bite, no levels have time limits, and the HUD timer (as opposed to the tape timer) always shows step count by default. From there you can see that snapping emphatically does not add to the step count.
It may also be possible to add a checkbox for this in the level editor, using a reasonable default value.
What do you think about it?
On another note, should my collection of TAS tapes, optimized in 1-step mode and in some cases iterating through lots of random seeds until I found a suitable one that made the whole level work out with minimal delay, be eligible for inclusion on this?
Yes, sure, why not? At least, that's what I would say without much thinking about it.
They're not the sort of thing you would expect to have to compete against if you were used to things like IL runs in other games, to say the least.
That's definitely right, but as you will (some day) be able to replay the tape to each score entry, this could be cool to see how on earth it was possible to get such a high score / low time on a given level.
Adding hints to the tape which "cheating" stuff was using when recording it would make it more clear under which circumstances a tape with an unexpectedly high score or low time was recorded.
@ BryanFRitt:
Maybe the user could add some notes to submissions to jot down anything that could be considered by some to be cheating, and/or there be some questionnaire about this.
This could be set automatically, as all required information is already available to the game engine.
The funny thing is that I just quickly implemented something like this the same day you posted this, after reading Anonycat's post about tool-assisted speedrun (TAS) tapes the day before.
@ armanelgtron:
or they have the "Small game graphics" option turned on
That's what I currently use to detect "overlarge playfields" while recording tapes (alternatively: playfield sizes being at least twice as large as the default playfield size).
Also, what would be considered "cheating" when submitting scores to a high score server and what wouldn't?
Opinions probably differ largely in this regard. Just think about "pause mode" being never available in games like BoulderDash or Emerald Mine or Supaplex, but feel absolutely natural to me and in no way as "cheating". Single-step mode may look like a typical cheat mode, but if you accept pause mode as "not cheating", you can more or less emulate single-step mode simply by using pause mode after each single action (not in a frame-accurate way, of course, but definitely in a way that I could solve levels that I could otherwise not solve).
For example, I like to play with 0 scroll delay, is that considered cheating since it differs from the default?
Some level sets (the EMC collection) default to zero scroll delay by configuration.
How about a slower game speed?
Very good point, and definitely not a trivial case. Using speed debug keys to play a level in 1/10 speed, this could probably be considered as cheating. Using "original Supaplex speed" (35 fps instead of the usual 50 fps) is definitely slower than the default, but may be considered "not cheating" here.
@ BryanFRitt:
Instead of only being able to view the 'best' tape and having to decide for the user what is consider 'cheating', how about being able to view all submitted tapes for a level, and pick a sorting order. [...]
That's more or less how my high score server's administration frontend looks like, but at the moment it is not intended to be publicly available. But I may change this...
**Examples of whatever extreme they might want to consider 'cheating', etc... using settings other than the default(maybe settings(and R'n'D version) should be submitted as well as the tapes?), or anything goes as long as the level isn't changed and it is possible to move like the tape shows.
Currently, I only add the R'n'D game version used to upload (not necessarily record) the score tape. Also submitting the personal settings seem to be a bit much (and probably not appropriate).
A last (but not least important) point is what filbo wrote:
[...] if the game (with permission from the player) uploaded every successful completion of a level [...]
I currently plan to enable submitting scores and score tapes by default, and provide an option to disable using the score server. This is the old "opt-in vs. opt-out" discussion, and I haven't decided yet which way to use.
Another aspect is the "privacy concern". Is a score (plus score tape) plus player name personally identifiable information (in the sense of the DSGVO/GDPR in Europe)? Or is a player name a pseudonym that can not be used to trace back to a natural person? For example, nobody will stop you from submitting scores and score tapes as "Holger" or "Artsoft" or whatever player name you have chosen, and there will be no unique "account" style information to be able to use the score server.
Then there's still the client's IP address, of course (which *is* personally identifiable information in the sense of the DSGVO/GDPR), but this could easily be anonymized on the server, to still be able to see from which country a score was submitted, but not to be able anymore to track this back to a person's internet account at a given time...