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