Contributor Hey, I'm Mitch

Vizaxo

New Member
Contributor
  • Name: Vizaxo/Mitch
  • Social: IRC: Vizaxo, GitHub: https://github.com/Vizaxo (nothing there currently, I'm in the process of uploading some of my projects)
  • From: UK
  • Skills / Tools: C, Java, Haskell, Python, UDK+UnrealScript, Git
  • Found via: GSoC website
  • Interests: Procedural generation
  • Extra: I love programming in many different forms (game development, low-level C, and functional programming). I also love playing games of many types (video, board, tabletop RPGs), playing with operating systems and text editors, reading (mainly sci-fi, fantasy, and maths/science/computing books), spaceflight, and astronomy.
About me
Hey, I'm Mitch (aka Vizaxo), and I'm in the process of planning my GSoC application at the moment. I know it's fairly late; I only found out about GSoC recently, so it's been a rush to read and understand as much as I can about it. I've got the game running (from the binary download) and I'm going to get it built from source after this.

I've played a lot of Minecraft (I actually first learned to program by attempting to make Minecraft mods in Java), and I've had ideas about creating a fully modular voxel game for a while now, but it turns out Terasology is pretty much exactly what I was thinking of (a core engine, with loadable add-ons/modules for the content). So even if I don't get accepted into GSoC, I still plan to help out, as it looks like a great project.


GSoC project
UPDATE:
a more detailed version of this project plan can be found here.
The idea I have for the project is based on the "Noise-based generation of distinguishable features". The current plan is that it would involve generating a low-frequency noise heightmap to find the general areas (mountains, oceans, etc.), generating a climate map (temperature/humidity) based on the initial heightmap (e.g. proximity to oceans/mountains affecting humidity), then using those together to split the world up into biomes.

Each biome can then have its own high-frequency noise heightmaps tweaked, to distinguish flat deserts, rolling hills, fjords, mountains, etc.

Fitting in with the modular style of the game, each element could be externally tweaked, e.g. to generate the heightmaps differently (different noise algorithm, hand-painted maps, linking to the "Advanced and dynamic geology based on plate tectonics" project by importing the heightmap from PlaTec, etc.), simulate the climate of a specific world/environment, add more biomes, or tweak the generation properties or climate/height requirements of existing biomes.

I've had a quick look through the engine source and it seems that the building blocks for this are there (chunks, biomes, climate informaiton, etc.), but I need to look through the source of some of the modules to see what's already been done. From playning the NeoTTA bulid linked in the event thread, I'm loving the huge mountains, but biome placement seems to be fairly random (e.g. forests on the side of mountains), which this project would hope to solve. I don't know which other modules provide world generation, so a pointer for the direction I should be looking would be very appreciated :).


Talking of the event thread, I've got my bulid running and plan to join you all for the event today :)

I guess that's enough rambling about myself. I'll get back to fleshing out my project idea!
 
Last edited:

SkySom

Supreme Director of Trains
Contributor
Hunter
Hello Vizaxo! Welcome aboard. I'm trying to think of some more modules that do World Generation, but can't think of too many that do, NeoTTA is definitely one of the bigger ones. May be a few other ones, perhaps Josh's Survival?
 

Vizaxo

New Member
Contributor
Hello Vizaxo! Welcome aboard. I'm trying to think of some more modules that do World Generation, but can't think of too many that do, NeoTTA is definitely one of the bigger ones. May be a few other ones, perhaps Josh's Survival?
Hey, thanks for the help! I did look at NeoTTA, but it's generation is based on AnotherWorld, which complicated things a bit. I've just looked at Josh's Survival and it seems to have a bit of world gen, but only for a few specific things.

After looking at the TutorialWorldGeneration, the main one I looked at was the Core module, which had lots of examples, and helped a lot in understanding the system. I'll have another look at AnotherWorld now that I know what the parts of the generator are doing (all of the generators, facets, facetProviders, and rasterizers were a bit confusing at the start :p).
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Heya @Vizaxo - check out PolyWorld and CommonWorld as well. Other world gen frameworks / utility :)
 

Vizaxo

New Member
Contributor
Heya @Vizaxo - check out PolyWorld and CommonWorld as well. Other world gen frameworks / utility :)
I tried looking at PolyWorld when I initially started figuring out the generation, but it was a bit confusing. Now that I've got some experience with the generator, I've had a look at both of the modules, and it looks like they've got some cool stuff in them. I'll definitely keep them in mind if I need inspiration on the things they've done!


On another note, here's a bit of an update on my progress:
I've uploaded a more detailed description of the project plan than the one in this thread, and made a prototype world generator to accompany it. Any feedback on its suitability for a GSoC project is much appreciated; I'm going to begin putting it all together into a draft proposal today.
 
Top