Log in

View Full Version : Is it possible to make the default selected button random?


neil wilkes
2nd May 2012, 14:34
Normally, on a menu there is always 1 button set to default, so that when that screen is accessed this button is the default "selected" button. Is it possible to make the default selected button random?

The idea is that on the screen in question, there will be 8 hidden buttons, each one triggering a different set of clips, and I do not want it to be possible for the user to "work out" where they are by always having the same button automatically selected.

I susect I cannot do this, though.....anybody know different?

paulemasters
2nd May 2012, 16:21
Yes...and no.

Truly random is difficult at best and likely not available in the authoring product you use.
If there is a RANDOM command it is likely not very random. If it requires a seed, it will generate the same sequence each time the disc is played.
Some random commands I have seen are more random than others.

The best way to get a random number is using date and time. However, as the disc players don't have a time of day clock, that isn't possible.
Using one of the 'player' timers, if available in your authoring product won't work as they are related to the playback and therefore will again provide the same number each time the disc is played.

So, depending on your authoring product and the commands it has...yes you may be able to generate a random number... but no, it will very likely be the same sequence each time the disc is played.

One possibility would be to have a 'trigger' event. Something like having a 'Press Enter' button. Then, having chapter marks as close together as possible, each adding 1 to a counter. Then when the viewer selects that button, use the number to somehow determine which of the other buttons to make selected.
Not pretty or really random, but if the chapters can be placed close enough together it may work - somewhat.

Paul Masters

neil wilkes
2nd May 2012, 17:56
Hi Paul.

Thanks for this - all very interesting. FWIW, I asked this question at Sonic Support too (I use Scenarist SD) and they think it can be done.
The trigger point you make helps to answer the second part (more of this in a moment).
Going back to the menu question, Sonics answer is as follows:
I can think of one way to do so. You would have a set gprm random command in the precommand and select values from 1 to 8 then multiply the result in that gprm that in another set command by 1024 to give you a valid value for the highlighted button then you would set highlighted button by that gprm value.
The command sequence would look something like:
Set gprm 1 to a random value
Set gprm 1 multiply by 1024
Set highlighted button to gprm 1
Of course you can run the check that a previous value has not been used as I'd suggested for random navigation.
You must set the default highlighted button in the menu to not indicated in the view->edit subpicture and highlights under the highlights drop down in the simulation window design mode while editing the menu.


The trigger event - an ENTER command - brings me to part 2.
A second section of this title takes the user to one of 8 VTS, where title 1 is an intro sequence leading to the title's root menu, where pressing the ENTER key takes the user randomly to one of 8 more titles in the same VTS - how would I do this?

Sonic add a caveat that there is a random generator in DVD players that may not be particularly random. The title in question will not go anywhere else after the title is accessed, as the design requires where you end up to loop until you revert to main menu (where I can reset any GPRM/SPRM in pre command) or else eject the disc & reload - and there I can still force a reset of all GPRM/SPRM to defaults.....

Anyway, it looks like it is possible - this is great - but schedule forbids me looking at the details now until Friday (another project must be done first - this one has over-run so much because of the client changing stuff around on me they are now in the position where pre-booked stuff has to take priority.
Still, no complaints - it's nice to be so busy.

Thanks for this - I will be back on Friday to get into it in more detail.

paulemasters
3rd May 2012, 16:32
I don't know Scenarist.
But they did warn that random may not be.
I have tested two random commands, one was more random than the other. One repeated the same number a lot. That may be why they suggested checking to see if a number had been used yet. That may take some interesting coding - what happens if the user does 'whatever' more than, in your case, 8 times?

What you quoted appears to be a text form of the command, not the command itself. If you have to provide a number (other than the range) that is a seed and the generated sequence will be the same each time the disc is played.

As to the 'event' question. Start a different random number GPRM somewhere before you enter the title/menu. Then when Enter is pressed, do the same as they indicated for a button, but jump to the related title. Of course that depends on whether you can have more than one command at the key press or you can jump to a title. All that depends on the product (Scenarist) and the BD spec. If you can have only one command, you could 'preset' a GPRM before you get to the title/menu. If you can't jump using a GPRM, then I guess it can't be done.

Hope this helps.

Paul Masters

neil wilkes
3rd May 2012, 17:01
Hi Paul.

Not BD, but DVD.....
On the "Event" section, there will be no other routes or options open - it gets to one point & a hidden button selection is randomly assigned (out of 8).
This triggers the entry title in one of 8 possible VTS, playsvand goes to the VTS root menu.
This then needs to have one single hidden button, which jumps to one of 8 titles in that VTS.
Code replicated for the other 7 remaining VTS in the disc.
Once it gets there, this title simply loops endlessly.

It's an odd project.

rik1138
3rd May 2012, 21:30
I've found that if you want a random number between 1 and 8, just using the built-in Random command for a number between 1 and 8 may not provide the desired results (especially in all players), as mentioned... You might get 1-3 a lot more than 4-8 or something...

But, if you randomize a number between 1 and, say, 6285 (any really large number). Then MOD (Remainder) the result with 8 (and add 1 since a MOD 8 will give you a number between (inclusively) 0 and 7), you will get a (seemingly) much more fair representation of a random number between 1 and 8.

That's a fairly simple solution to the not-so-randomness of some players. I've done a lot of testing with the built-in DVD Random Value command, and I've never seen a situation where it would always throw back the same number... I've seen it lean one way more than another though, depending on the player, and the trick above seemed to solve that fairly well...

We also had a much more complicated algorithm that was much better at truly generating random values, but it's been so long since I've used it I can't remember what it was... It involved playing a piece of video for a duration of time (2-4 seconds), and maybe a title jump... Added about 2-4 seconds to the startup time of the disc if we couldn't use a logo or something as the video... I'll have to track down an old project and see if I can remember how that was done.

But quick-and-dirty, I'd go with the large random number + MOD command. I think that will yield better results than just randomizing 1-8...

paulemasters
6th May 2012, 16:18
nk1138:
Interesting idea. I may try that when I get a chance. Sounds like it may have possibilities of reducing the repeated numbers when requiring a small range.

neil:
Sorry I missed it was for DVD. DVD has more limitations as to what can be done when. Usually a button can have only one command.
One trick I have used is to go to a dummy menu page. Sony DVD Architect has the ability to put a script at the start of a page. So, in that script you could put the needed code to determine which VTS to jump to - if your DVD product has that capability.

Hope that helps.

Paul Masters