Skip to main content

Lists on lists on lists

It's alive!! Well the very infantile functional proof of concept for the idea that is the procedural generation for the universe of Galliventurer is alive.



Above is the result of a single generation run at the time of writing (hopefully I remember to save a copy of that function and update the call as it will soon be changing). It's quite rudimental at the moment. A random selection from a few different lists without any inter-relational weights or even the possibility of child entities. At the moment (again time of writing) the objects "discovered" aren't even saved! 😱




In the very near future however, the procedural generation will have a few steps. The beginning being a random selection of an entity type. This very top level will consist of:
  • System
  • Stars
    • dwarfs
    • giants
    • neutron
  • Planets
  • Asteroids
  • Comets
  • Junk/debris
  • Substellar object (brown dwarf)
  • Moons
  • Nebula
From this first there will be a series of inner lists for each type. Certain types will have a children property with a range of likely amounts of sub entities. For example a system would have a children range of 1 to 3 stars; a star would have a children range of 2 to 100 which could be planets, asteroids, junk, substellar, etc and so on. The beauty is, everything is referential. An object has it's properties: uiddata (colour, size, life time, etc), optionally (dependent on type) an array of children uids, and physical mapping through an array of vector coordinates in neighbours & possibly game centric id references like shaders, terrain maps, etc.

Side note, we're currently moving house, not by choice but hey that's the rental life. Whilst packing up my office area, I stumbled upon my raspberry pi. I think I've found my first embarking pylon. Periodically & regularly running the procedural generation and punching it to the database!

Comments

Popular posts from this blog

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....

How to Think

Moving an arm and thinking about moving an arm are two vastly different things. Even thinking about thinking about moving an arm is a natural thing to do even if reading it is very odd. Now the hard part, how to you design thinking ? The deliberate process of simulating scenarios to either logical or illogical ends would seem like a great fit for computers that can do millions of calculations a second. The slow an deliberate winding down a thought path seems to be the missing link to truely intelligent machines. We are very good at making machines. Even more so machines that actually produce things and have purpose. Since the earliest primitive forms of man, our tools are defined by their use. Or more aptly by the end result they achieve. So what is the end result of smart machines? To drive our cars, build our structures, do the heavy lifting and manage our lives? To do all that the ability to compute and apply action is needed but not actual thought. Most business tools and modern ap...

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 ...