Instead of using index in seedRandom, you could link to a slider. Then the template user can choose a random seed (i.e. whenever he moves the slider to a different value he gets a different randomness).
There is no way to let the exact same template behave differently on different machines. Think about it: it is really essential that a template always behaves in the same way, no matter on which machine it is. Imagine a template being rendered on a render farm - each frame by a different machine. Would be really bad if all of them would have different random seeds.
Thanks Mathias, that is very helpful.
I don't think I will introduce a random seed slider for the user, though – if they see something they don't understand they'll just stop using the templates altogether (in my experience).
But maybe I can find a way to generate a unique slider value anyway. for example by somehow converting Date() into an integer or something. If someone has a solution for something like that I'd appreciate it.
I agree about the principle of of things behaving the same way in most cases. In the context of templates, though, it would be awesome to have the ability to create things that are a bit more "generative". I don't see why there has to be a conflict between those two things, necessarily.
I highly recommend not trying something like that. Imagine a user being happy with your template and rendering it. Then rendering it two days later again because he needs to do some final tweaks or needs the same video in a different format. The user will not be happy if the same video looks different when rendered two days later. That would really be a reason for people stop using your templates. Not to mention what would happen if a video renders over night and the first half uses a different randomness than the second one. If you need randomness make it transparent, i.e. expose it to the user.
Good point, duly noted.
I still think it would be unproblematic in my specific case I, but it seems like a sensible principle to have.