0.1 - First Ever Prototype
Microwanderer is, so far, an exercise in procedural terrain generation and basic shader programming. In it, you'll control a polyhedric object in a strange planet in which peaceful cloud-like pink aliens live. There isn't much of a goal or hook, but certain things have been achieved so far:
- Procedural Terrain Generation. Through the recursive midpoint displacement algorithm, elevated terrains are generated when the player approaches the quadrant of the space where they should appear. Normal computations could definitely use some improvement, though.
- Noise-Based Heightmaps. The aliens, originally spherical, are deformed with a vertex shader which makes use of a fBm-based heightmap. The generation of this heightmap actually occurs through built-in Godot noisemap generation functions.
- Basic Toon Shading. With the use of linear colour textures, mapped by virtue of the light intensity on each fragment, a basic toon shader has been implemented. The wireframe element to it was learned from godotshaders.
The Godot 3.5 project of Microwanderer at this stage of development is available for download on this very page in case anybody would like to research, replicate, share or improve upon what we've learned on those areas.
Of course, this comes as a counterpoint to ways in which this project may continue into becoming something playable. Here's how we intend to do that:
- Migration to Godot 4. Godot 3 is great, we've been using for very long. That said, godot 4 has incorporated a great deal of innovation which would greatly aid this project (the comfortable use of arrays within shaders, for instance, would open the floodgates of easy procedural content generation within shaders, meaning, GPU-run processes, also hello sky shaders), which is why, now that we're starting to move into hardware which may run it, migrating the project to Godot 4 may be of great help.
- Optimisation. Goodness, this codebase has bottlenecks! Of course, there's some procedural 3D geometry generation involved in this project, which, so far, just causes it to freeze its execution when requested. This could be solved by either setting those processes as background tasks though artful multithreading or having the GPU perform some of the heavy lifting through more elaborate shaders. Either way, that's a pending task.
- More Interesting Explorable Environments. We're very proud of what we've learned in terms of procedural terrain generation, but what is essentially a surface function in which every (x,z) point has a single y value can only give us so much. There are things we're already looking into, such as L-System-based plant generation with some basic cylinders materialising the turtle interpretation of strings, and there are other things we're looking forward to exploring in the future. Baby steps, we only have a total of about three semesters of computer graphics on our backs at most, but also many, many future non-professor-assisted semesters ahead of us to expand on them.
- Playability and Ludonarrative Goals. If this is to become a game, it needs a goal for the player to achieve. The idea for now is to have the playable actor be a research probe which may acquire either samples or pictures of things it encounters. It's nice, but it's also akin to a dollar store No Man's Sky minus survival, so we don't know if it's definitive. We shall see.
Those don't seem like excessively ambitious goals, especially considering that what has been done so far was done on off hours during the Easter holidays. The summer may very well offer a space to make these a reality, but then again, a game we said we'd possibly improve has since been thoroughly abandoned, so no promises.
Files
Get Microwanderer (Work in Progress)
Microwanderer (Work in Progress)
Explore a procedurally generated planet
Status | Prototype |
Author | InfernalBizcochito |
Genre | Simulation |
Tags | 3D, Godot, npr, Procedural Generation, Singleplayer |
More posts
- 0.4 - Musical Plants and the Summer RoadmapJun 12, 2023
- 0.3 - Now with UIMay 11, 2023
- 0.2 - Godot 4 Quick TestApr 27, 2023
Leave a comment
Log in with itch.io to leave a comment.