Skip to main content

Random Generation That's Not So Random

While I do want the Galliventurer universe to be procedurally & randomly generated, I don't want it to be truly random. There needs to be a modicum of probability involved. Some weighting so that some things are rarer than others. After all we can have too many diamond covered planets or uranium based suns - as you can see I haven't actually started thinking too much about the composition of the planets, stars, etc.




Keeping this probability based random selection in mind, I'm going to be using a dynamically weighted series of arrays to randomly select properties for entities in the Galliventurer universe. Using something very similar to (or based on) this article by Michael Czechowski https://observablehq.com/@nextlevelshit/rejection-sampling-in-javascript. The main bit of complexity here will be the values of a randomly selected property will affect the weights of the next selection. For example the size of a star will greatly change the weight of the probabilities for the temperature (which determines it's colour). Another example would be a star that is randomly selected to be large, will greatly skew the weights to have more orbiting planetary bodies.

Now off to determine all the things that need to go into the lists, and what their initial weights for probability should be, wish me luck. 

Comments

  1. Note to self - try to make the next post not be publish near midnight 🤦‍♂️🥃

    ReplyDelete

Post a Comment

Popular posts from this blog

Knowledge is Power - Society is Weak

Never more true than today, knowledge is power. Or more aptly in today's world the ability to provide & control the flow of knowledge is power. Recently there's been several large course corrections occur, several years too late but hey, better late than never as the saying goes. This highlights one of the biggest and most major flaws with the way we consume information on the internet. Social media, for good and for ill, is now a major source of information and "news" for millions of people across the planet. There are countless examples of the way that misinformation & even disinformation is created, spread and broadcast across the web. None more prevalent & far reaching than social media. Social media disarms in a way that in person discussion & social interaction previously couldn't. If you heard a story in person that even one or two people could corroborate it would be easy to accept as true, or just as easily refuted by the same small number...

The Worker Bee

Do what you're told, follow the rules, don't over step your bounds, stay in your lane. The true cornerstone of modern enslavement to work. "We can't all live our dreams", why is that? Because then we'd have to change, to collectively actually think and enact a way all people could realistically achieve a base standard of living & contentment. Allowing people's mind free reign on real questions rather than worrying where the next meal is coming from & keeping the lights on.  Bee animation by  Joe le Sale While I have no answers to life's great mysteries, I do know this about the meaning of life - it definitely isn't to toil & labour day in and day out to fill the wallet of our bosses or investors. So how is it that we find ourselves with that holding such a giant sway over our lives? This of course is rhetorical, we all know the answer, you don't bite the hand that feeds you. Which brings the problem in to sharp focus, we no longer ...

Galliventurer - Dreaming of a Universe

n. Galliventurer - one who adventures whilst gallivanting. We have a name. A compound of the words gallivanter & adventurer it fits the game quite nicely. It will also be the name of the player's ship (though, you may be able to have many ships throughout the game). Also trying something a little different for this project, practicing what I preach as it were. I'm actually going to plan this out a little bit before I ever actually write any code. Oddly I feel that most of my hair brain schemes of previous years have had a fast paced "rush to market before someone else thinks of this" attitude. So obviously there was no time to stop and take a moment to put any thought in before code went into editor. None of those projects ever made it out of the proof of concept phase oddly enough, no prizes for working out why. In the spirit of all this, things are different this time around. Having given it even two minutes of thought there are several issues....