Skip to main content

Posts

Showing posts from March, 2020

Introductory Scene - The Lore of Galliventurer

* muttering accompanied by beeps/electric signal noise *
"Huh, how'd you get here? Just when I've finally resigned myself to floating aimlessly through the endless void of spa- woah hold up, you're old. Positively ancient, in point of fact. When are you from?! The early 21st century or something? I didn't realise soul travel*was discovered or even possible that far back, will need to run a diagnostic on my historical cores... Anyway, let me transfer you into something more familiar. It will take me a while to construct a complete new vessel for you. Thankfully the adventure droids are great for gallivanting around in. And it's relatively safe, for short periods of time at least."



Introducing the main narrative device, Galliventurer the neural duplicant bound to the ship. This character will provide the plot points & instructions on gameplay mechanics, etc. for the initial part (and possibly entirety) of the game. It's still early days but an idea of…

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: SystemStars dwarfsgiantsneutronPlanetsAsteroidsCometsJunk/debrisSubstellar object (brown dwarf)MoonsNebulaFrom this first there will be a series of inner lists for each type. Certain types will have a children property with a…

Game Realism - Should it Matter?

Something I've been battling with recently when contemplating the procedural universe generation for Galliventurer. How realistic should the properties of celestial objects be? In the real world/universe, star's are visible colours because of their size & temperature, which in turn is based on: their age, elemental composition, and the type of fusion happening within. But should the universe of Galliventurer be limited to these factors? There will already be the stretching of realism with faster than light travel, more attractive and habitable planets than you can shake a laser at, not to mention alien races that you'll be able to understand, communicate & trade with.




When playing a game about flying through the great vast emptiness of space, the idea is there shouldn't actually be too much emptiness. Emptiness is boring. Nothing happens in the empty, nothing good anyway. The fine line will be in finding the balance between not too much stuff, but also not too …

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.  Prewarming the…

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 fo…