Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

R'n'D is always evolving. Check here to see if a new version is out.

Moderators: Flumminator, Zomis

User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by Holger »

Hi Bryan, thanks a lot for your contributions and ideas, which are highly appreciated.

I have done some changes according to your suggestions to the API web interface now, as follows:

- score time header is now "Play Time"
- score time format is now just as you have described it (see "Zelda II" for times also containing hours)
- scores for levels using step counter (like Sokoban levels) are displayed as "steps" now
- creation time table columns are now removed for all tables
There should be a prompt asking if it should submit tapes as it goes, instead of just assuming.
You are probably right here. I should add this when uploading the first score (independently from the initial mass-uploading).
Earlier wins higher spot.
Good point!
Use UTC.
Yes, the server's database is using UTC for all timestamps.
BryanFRitt
Posts: 219
Joined: Mon Nov 13, 2017 4:16 pm

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by BryanFRitt »

Holger wrote: Fri Oct 29, 2021 2:28 pm score time header is now "Play Time"
Cool
header fine tuning...
The "Play Time" title should be right aligned to match the data.
'Nr', should be ' Level'; '# Levels' is what the 'Levelsets' page calls the number of levels, and the word 'level' is in 'levelsets', aka set of levels.

If hiding the datetimes of scores, there's still the datetime frame search at the top that can be gotten rid of.
Datetimes of scores can be helpful, although error-ing on the side of caution for security is usually better than not, I guess.
Life is partially trying to strike a balance between generating new things/ideas, and making sure they are good/organized. These extremes can be said to between gibberish mess and nothing said/done.
BryanFRitt
Posts: 219
Joined: Mon Nov 13, 2017 4:16 pm

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by BryanFRitt »

Does 'exit' make sure tapes being submitted finish their submitting attempts before exiting? Like when someone finishes a level, and goes right to exiting.
Life is partially trying to strike a balance between generating new things/ideas, and making sure they are good/organized. These extremes can be said to between gibberish mess and nothing said/done.
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by Holger »

header fine tuning...
All done just as you described it.
Does 'exit' make sure tapes being submitted finish their submitting attempts before exiting? Like when someone finishes a level, and goes right to exiting.
Good point -- no, it currently doesn't (as score submission is running in a different thread). I'll have a look at this.
filbo
Posts: 647
Joined: Fri Jun 20, 2014 10:06 am

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by filbo »

My opinions:

- Use 00:00:00 type times; 'h m' are ugly and English-specific

- Don't worry about showing dates. Anyone in one of those situations has lots of worse exposures (e.g. poking around in a grabbed cellphone)

- Dates shown *absolutely* should be when the tape was created, not when it was uploaded!

- Please do show the dates. I think these will be especially interesting once many players have had their old repositories of tapes uploaded (they won't be interesting at all if hundreds of repositories are uploaded and all receive their upload-dates as their display dates...)

- The tape format has an embedded date (but not time), so dates can be considered 'fairly accurate'. Someone could upload patched tapes, but I see no reason to want to do that. Times, I had earlier suggested to Holger, could be derived from operating system file timestamps *if* they roughly agree with the tape's embedded date. (By 'roughly agree' I mean: 'can be made to agree, if you imagine that the tape's date may have been recorded relative to any world timezone, so might potentially be up to -24 .. +24 hours from UTC'). Or, just use the embedded date and don't even think about time.

I see many changes have been made which disagree with my opinions. Just throwing mine in anyway :)
filbo
Posts: 647
Joined: Fri Jun 20, 2014 10:06 am

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by filbo »

Very first level solved on RC6 (built as RC6, with #define TESTING), which was emc_haunted_mine_4 017 at 2021-11-01 16:21:24 -0700, failed with:

Code: Select all

[ERROR] server failed to handle request: 500 Internal Server Error
to stderr. Nothing else in std{out,err}.txt.

BTW, I think I understand that you are going to wipe out and restart the score server when you issue the release build? If so, I'd like to ask you to not pre-init it with my tapes; instead, let them be uploaded organically from my system.
BryanFRitt
Posts: 219
Joined: Mon Nov 13, 2017 4:16 pm

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by BryanFRitt »

filbo wrote: Mon Nov 01, 2021 8:40 am My opinions:

- Use 00:00:00 type times; 'h m' are ugly and English-specific
There's probably not a solution out there for this that will satisfy everybody.

With the ':' methods, it requires the user to have to figure out what units go with each set of numbers, e.g. is 12:34 12 hours 34 minutes, or 12minutes 34 seconds? Prefix zeros to make it more obvious but perhaps uglier/distracting? 00:00:01 for one second, or not, just a plain 1 for one second no units displayed. Most things I've seen do use ':' and leave it to the user to figure out which units go with which digits.

I do like the 00d 00h 00m 00s with the leading zeros / zero units removed better. (Note: I doubt anybody seriously plays a level for more than 23 hours so 00d wouldn't be used) Although, like you said it's language specific. (so is having ABCDEFGHIJKLMNOPQRSTUVWXYZ style characters, having 24 hours in a day, etc...)

Make it user choice? with a cookie
Don't worry about showing dates.
What Has Been Seen Cannot Be Unseen.
Anyone in one of those situations has lots of worse exposures (e.g. poking around in a grabbed cellphone)
Just because it's bad there, doesn't me it should be made worse here.

I think the user should have choice on this. [and defaulting to not show these]
() permit showing of tape dates on leaderboard
---() also permit showing of tape times on leaderboard
Include this in settings menu and in prompt for initial uploading of tapes.
If the column with this information is sortable, when sorted these should be put together as if they all were the same time. (pretend they're the oldest/youngest time, or just put last?)

Never trust anything that comes from the client. - ancient proverb
True, although to a reasonable extent, there has to be at least some minimal trust, or nothing gets done.
When was the 1st tape made for R'n'D? Never blindly take users data. There should be at least some "Does the users data(tape, datetime, etc...) make since and is possible?"
Look up stuff like "Sanitizing User Input" for more.
Life is partially trying to strike a balance between generating new things/ideas, and making sure they are good/organized. These extremes can be said to between gibberish mess and nothing said/done.
filbo
Posts: 647
Joined: Fri Jun 20, 2014 10:06 am

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by filbo »

> With the ':' methods, it requires the user to have to figure out what units go with each set of numbers, e.g. is 12:34 12 hours 34 minutes, or 12minutes 34 seconds?

There's a context here. If it's a run of an R'n'D level, it's obviously 12 minutes (unless it's Zelda II). The user will have figured it out within the first few seconds of looking at the site; or they really aren't interested in the times at all, and won't be bothered.

> Make it user choice? with a cookie

This implies a sense of 'ownership' of uploaded tape files on the server, which Holger is trying to avoid. And for all your concerns about who can see tape dates etc., because it gives info about the player -- that info isn't tied to a player unless an ownership linkage like that is established. Setting this up makes the situation worse for players with such concerns.

> Just because it's bad there, doesn't me it should be made worse here.

This is a situation where you're already $10 million in debt and now another crushing bill for 3 dollars and 17 cents has been delivered. It's irrelevant.
BryanFRitt
Posts: 219
Joined: Mon Nov 13, 2017 4:16 pm

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by BryanFRitt »

filbo wrote: Tue Nov 02, 2021 7:22 am
Make it user choice? with a cookie
This implies a sense of 'ownership' of uploaded tape files on the server, which Holger is trying to avoid.
The choice was supposed to refer to the format of the 'Play Time' displayed by the browser, like a dropdown selection box. Ownership doesn't matter for this.
And for all your concerns about who can see tape dates etc., because it gives info about the player -- that info isn't tied to a player unless an ownership linkage like that is established. Setting this up makes the situation worse for players with such concerns.
Right now, if I change the player name in R'n'D, it changes the player name on the server for all the tape files that came from that R'n'D. Submitted tapes are already owned in this since. In terms of required ownership amounts, adding these two bits of information is just like changing the name.
This is a situation where you're already $10 million in debt and now another crushing bill for 3 dollars and 17 cents has been delivered. It's irrelevant.
Did you mean to use the word 'insignificant' instead of 'irrelevant'? Those two words don't mean the same thing. A few dollars to someone is still relevant irregardless of how rich or poor someone is, however significantness of this amount to them can change in such cases.

What one does life still matters, even if it isn't significant enough to measure on the global society scale.
Life is partially trying to strike a balance between generating new things/ideas, and making sure they are good/organized. These extremes can be said to between gibberish mess and nothing said/done.
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by Holger »

Hi filbo,

good to see also your opinions on this topic (which are, in fact, not too far away from my own).

Some general comments about the public web interface of the API server: I have some ideas how it could or should look like to the public, but it is not that important for me, as it looks different when logged in anyway (so I can have things just how I like them for administration purposes, and use something else that might fit better for the public web interface).

So if you have some ideas or wishes how it should look like, just let me know, and I will try my best to make it look that way (so that most people who wrote here are happy, hopefully). It's only server-side programming, so it's quick and easy to do lots of changes, and also to change things back if more people better like it as it was before. :-)
- Use 00:00:00 type times; 'h m' are ugly and English-specific
Yes, I also think that "12m 34s" looks uglier (and harder to read) than just "12:34" (less characters, that is: better signal/noise ratio) -- because people who come to the API server's web interface also see it exactly as "12:34" in R'n'D.

BTW: Do you mean is it English-specific in a way that "12m 34s" is a format mainly used in the US or UK, or just because "m" and "s" are appreviations for the English words "minutes" and "seconds"? I tried to google this, and nearly only found "12:34" displays (like on the displays of old VCRs, which R'n'D's tape recorder is modeled after, but also on modern devices and software like smartphone camera apps, or video players like VLC).

Then: Do you think it should be "07:30" (as used in R'n'D) or "7:30" (as used on most CD booklets) for a seven-and-a-half minutes long tape file?
- Don't worry about showing dates.
I also think that dates without exact times should really be no reason to worry, but if a majority thinks otherwise, I think I should follow this.

So just let me know about your opinion here.
Anyone in one of those situations has lots of worse exposures (e.g. poking around in a grabbed cellphone)
Well, that's exactly what I try to prevent in R'n'D. ;-)

BTW: I've added an additional request dialog before sending the first score and tape to the server after playing and solving a level, to ask if you want to send it to the server. But maybe I should only ever use it if the initial question for uploading all tapes was rejected (if it was displayed, which only happens if you have local tapes at all).
- Dates shown *absolutely* should be when the tape was created, not when it was uploaded!
I agree! The date shown (before I removed it) was the tape upload date, but I should really use the tape date (which could also be from the year 1995, for example). It's stored in every tape (even the oldest) anyway. And I really think that the date is good enough here -- even if I add the time by looking at the tape file timestamp (as the tape only stores the date), this still has a -24/+24 inaccuracy (just as you described it), as I don't know the time zone. (OK, I could also try to determine it from the user's system in the client, and/or the user's IP address on the server, but I do not want to do this.)

In any case, I think most people may only be interested in the tape year for older tapes, maybe in the month and day for newer tapes, but most probably not if the tape was recorded in the morning or in the evening. :-)
Or, just use the embedded date and don't even think about time.
Yes, sounds reasonable to me.
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by Holger »

Very first level solved on RC6 (built as RC6, with #define TESTING), which was emc_haunted_mine_4 017 at 2021-11-01 16:21:24 -0700, failed with:

Code: Select all

[ERROR] server failed to handle request: 500 Internal Server Error
to stderr. Nothing else in std{out,err}.txt.
Sorry, this was caused by an additional database field with "NOT NULL" constraint that is not set by RC6. Just fixed that on the test API server.
BTW, I think I understand that you are going to wipe out and restart the score server when you issue the release build?
Yes, exactly.
If so, I'd like to ask you to not pre-init it with my tapes; instead, let them be uploaded organically from my system.
OK, I can do that. I have already prepared the new "production" API server with all solution tapes from my engine test suite (just like the test API server before), which contains a considerable amount of tapes from you. I will set them to an "invisible" state so that your newly uploaded tapes will be processed with higher priority (and therefore effectively replace them).
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by Holger »

There's probably not a solution out there for this that will satisfy everybody.
I think I will add a configuration menu where you can just select one of the two formats, saved in a cookie, just as you suggested.
I think the user should have choice on this. [and defaulting to not show these]
() permit showing of tape dates on leaderboard
---() also permit showing of tape times on leaderboard
Include this in settings menu and in prompt for initial uploading of tapes.
Do you mean that this should be included in the setup menu R'n'D? So the player should decide in R'n'D if the date and/or time of the tapes should be displayed or not on the score server web site? And additionally include all this in small interactive request dialogs so the user can make a decision about it before uploading a score to the server?

I'm not really convinced that this is a good idea; it seems far too specific to me. If such options would be added, a number of others could be added too, like showing the player name with the score, or showing the country with the player name etc. To be able to handle such concerns in one place, I have added the setup option to choose if the high score server should be used in R'n'D or not, and added a request dialog to ask if the high score server should be used before uploading your tapes, and added another request dialog to ask before uploading the first score and tape after solving a level. That way, it is easily possible to use R'n'D just exactly like before, without sending a single byte to a foreign computer, including the footprint you would create on a server when downloading scores from a server to be displayed in the Hall of Fame.
True, although to a reasonable extent, there has to be at least some minimal trust, or nothing gets done.
That's true, too. I really have put a lot of thoughts into making the high score server as less "data hungry" as possible, and to protect personal data as much as possible, and to make the possibility of tracking individual users as small as possible (by not using the usual user accounts with username, password and recovery mail address to use the score server, for example), while still keeping a minimal functionality, like being able to rename your R'n'D player name used to display your scores, which is usually just a pseudonym anyway, or maybe your first name, if you choose so, but in most cases most probably not your full name, as those ten characters are too short anyway. So, after some time, there may be multiple "John"s and "Jack"s and "Bryan"s and "Alan"s anyway, but you will still be able to rename the nickname shown with your scores to something unique, if you want this, or decide to keep a player name that is also used by others.
When was the 1st tape made for R'n'D? Never blindly take users data. There should be at least some "Does the users data(tape, datetime, etc...) make since and is possible?"
If somebody patches R'n'D to send tapes with tape date "1976", they should feel free to do so. I may then feel free to just delete all those tapes, together with that user who submitted them.

Nevertheless, I have made quite an effort to prevent faking scores and tapes and the like (which I will not all describe in detail here), for example to prevent people uploading other people's solution tapes under their own name, or with a higher score.

But then, please don't take all this too seriously. It's just a little game, and I thought it could be more fun if you would be able to see other's scores, too. I do not have (and will not have) any intention to sell or misuse any of your data in any way, or make money with R'n'D using your data, or do nasty things with it, and really tried my best to ask for consent first, and to have as litte data as possible on my score server that is needed to make it useful. It's your own, free decision to use it or not to use it, just as you like.

Have fun with the new score server enabled R'n'D! I think I will release it now. :-)
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by Holger »

Have fun with the new score server enabled R'n'D! I think I will release it now. 
Done -- see announcement post! :-)
If so, I'd like to ask you to not pre-init it with my tapes; instead, let them be uploaded organically from my system.
OK, I can do that. I have already prepared the new "production" API server with all solution tapes from my engine test suite (just like the test API server before), which contains a considerable amount of tapes from you. I will set them to an "invisible" state so that your newly uploaded tapes will be processed with higher priority (and therefore effectively replace them).
Done, too! All of your tapes on the score server deactivated -- please proceed uploading your tapes! :D
filbo
Posts: 647
Joined: Fri Jun 20, 2014 10:06 am

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by filbo »

> I think I will release it now.
>
> Done -- see announcement post! :-)

Congrats!

> please proceed uploading your tapes! :D

Before I build & run the release version, I feel like I should check:

- remove ~/.rocksndiamonds/serversetup.conf?
- or, keep the player_uuid line (dc9...816), but delete the rest?
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: Rocks'n'Diamonds 4.3.0.0 Release Candidate 6 released!

Post by Holger »

Congrats!
Thanks! :D
Before I build & run the release version, I feel like I should check:

- remove ~/.rocksndiamonds/serversetup.conf?
- or, keep the player_uuid line (dc9...816), but delete the rest?
You can, but you don't have to.

The trick is that the RC versions (compiled with TESTING defined) used prefixed setup option tokens (like "test.foobar: on" instead of "foobar: on" when compiled without TESTING defined), so you can just start the release version, and it will ignore all settings with that "test." prefix in your "serversetup.conf", and start with fresh defaults (like asking if you want to upload your tapes again).

There is only one exception: "player_uuid" is not prefixed, so it is kept as it is. If you don't like this, just remove the whole file, and you will also get a newly created player UUID. But if you want to keep the existing UUID for both the "test" and the "production" API server, you don't have to take any special care about this, and all should work "just right". :)
Post Reply