Monday, October 29, 2018

Landscape concept

I've begun work on a few concepts for interesting terrain one of which was floating islands.



The new math type I added in the last post is what was able to accomplish this, but I did notice a large decrease in engine performance (Specifically its taking up to 2 minutes to generate this world!) but as of right now I'm not sure how to speed it up.

That's all for this one!

Sincerely,
Blake Gillman

Friday, October 26, 2018

What I've done so far

Perlinia is an open-world RPG game that I'm making. Here's the work I've done so far on it (or more specifically on the voxel engine I'm making for it) in chronological order.

In the beginning, the landscape was very unoptimized, it was not uncommon for small block worlds such as this to run at less than 10FPS:

And although it was fun that I managed to create procedural terrain in only a few hours of study, it took me another week before that terrain was able to run at a full 60fps:



However, this terrain required massive amounts of RAM in order to run. This small underwater world (screenshot above) required around 8GB of RAM in order to run. During this time I also began work on a structure editor that could be used to make models for the game:


It was another week and a half before I was able to optimize the engine's graphic & RAM performance. After which I spent a half week fixing many of the shading problems that my old system had:




Every time I implemented a new feature I would better figure out how to optimize the code and would end up rewriting large portions of the code. In the screenshot above and better illustrated in the one below, I began work on block cloud & sun shading. This what my first step into making the terrain look visually pleasing:


After which I tried my hand at implementing cliffs like the ones in Cube World:



But this wasn't working the way I wanted, and again I tore down and rewrote the engine. And here we are! The engine up to this point has had 8 complete rewrites, lots of feature changes and rendering techniques but it's ready to begin work on the actual game:


Part of these new engine features was supporting new types of math that allowed for generating much more interesting landscape:


And so here I am, I expect that the next updates will still be about landscape generating but that I will be able to move to gameplay soon. As it currently stands large worlds can be created & retained by the computer with relatively low graphics & RAM usage however they are still slow to make and cause screen freezes when generating collisions for new chunks.

Inspirations come from:
Cube World
Starbound
Final Fantasy 12
Final Fantasy 15
Pixel Piracy
Terraria

The game will take place in a futuristic setting, and I don't plan on taking too long to make it!

Sincerely,
Blake Gillman