evancz / elm-playground

Create pictures, animations, and games with Elm!
https://package.elm-lang.org/packages/evancz/elm-playground/latest/
BSD 3-Clause "New" or "Revised" License
107 stars 17 forks source link

use of elm/random ... #7

Open eimfach opened 5 years ago

eimfach commented 5 years ago

... For placing shapes randomly, I thought that would be a great addition to this library !

evancz commented 5 years ago

I did not have randomness in mind when I created this library. I think the Random.Generator API is probably a bit intense for what I wanted with this library. I wrote about this a bit more in this comment.

Can you tell me more about your background and what you would like to make?

eimfach commented 5 years ago

Hi Evan, I am a developer by myself, but I also have a creative/art background... I wanted to create dynamic illustrations with this library , where I could concentrate on the design process. I would like to be able to create illustrations which change each time someone visits it..

I understand that you want to keep it simple, having some 'higher order' randomness functionality in this library would be a great addition for experimenting though.

PascalLeMerrer commented 4 years ago

Hi Evan Today during a hackathon we tried to create a very simple game, in which you have to land a spaceship to a target on the ground. The position of the target should be anywhere at the bottom of the screen. It has to be immutable, and ideally defined at the game initialisation. The wordkaround you mentionned above was not a good fit for our case, because it is based on time, which is always 0 at game init. We found a solution based on the mouse position, but it's not truly random, and not really satisfying. Having a real random number would have been much simpler. A few hours later I think to be able to use your solution, we probably would have to add a basic welcome screen, and wait for the user to click some "start button". This would have solved several issues we faced (like computer not being available when creating the game)