XaiJu
lerra
lerra

fanbox


Game Update 25-01-007 & blog

Note: there is a new alpha version to play but it's very empty. Feel free to explore, it's in the dropbox folder (801). Read more about this update below if you feel like it!


I've been working on this for some time now and one of the biggest questions I had was: Is it even possible to build the game I have in mind in the Godot game engine?


What kind of game?: A kinky stealh game with areas connected by doors/portals/gates where you need to complete kinky tasks in order to progress the story. Getting caught results in more kinky situations naturally. Outfits and toys can be unlocked through each challenge or by picking them up in the areas. I picked Lyana as the main character since she seemed fit for the story. An adventurer somehow someway getting stuck in a kinky world and the only way out is to participate - running the risk of corrupting herself more with each challenge. I wasn't sure however if I was able to even make this type of game and I therefore left the title of the game undefined.


The thing is: Godot isn't a complete engine yet. There's a lot that developers have to figure out themselves. If we compare Godot with Unity, there are features Godot has that Unity doesn't have and vice versa. A few things Godot doesn't have is a terrain system or a vegetation system. This is something that you need to make yourself or find an asset that someone else has created. I tried several of these assets to find the best one and the result was... quite nice (at first).


I was able to build small scenes using this terrain and vegetation system:

At first everything looked fine. The island rendered without a problem. What I failed to notice was the frame time which was dropping quite heavily. A second test involving cliffs and some distant views made this very clear.

At first I thought the problem were the trees (vegetation is always hard to get right) but the real problem presented itself as I looked deeper.


A little bit of math: to make a game run at 60 frames per second (1 second divided by 60 images) we need to keep each frame inside the 16 milisecond time space. I kid you not the terrain in my scene steals a MASSIVE 8 to 10 miliseconds. This brings us close to the 16 milisecond mark and it was showing. Even worse was: The terrain had a LOD (Level of detail) system implemented but its still a massive performance hit.


So... the obvious idea was: I'll just make smaller areas. Less rendering = less performance right? WRONG - the terrain asset I used was the best out of the 4 I tried and no matter how big or small the terrain was, it still was a huge performance cost.


Small terrain and performance below compared to no terrain (I removed everything else except for the player model and the skybox):

The same scene but with the terrain disabled

I was questioning my sanity at this point. Why would a terrain made up from a couple of planes tank performance this badly? I figured, if the terrain was truly the problem the only way to know is to exclude it and make a completely new scene made up from my own 3d models. After all these have worked in the past.

Performance: 170 fps with over 1 million faces.

So the terrain was the problem... Or not? What the engine doesn't tell us is how the terrain is directly affected by the lighting in the scene. When I started building this game I bought an asset: A day and night skybox asset. Lighting/shadows/day and night cycle including stars, it had it all. Easy to set up and cut away the work and time to build something myself. Taking this asset out and replacing it with Godot's built in lighting changed performance drastically. Suddenly my previous scene was viable again and it was NOT the terrain system that was the culprit. It was the skybox asset I had bought.

The default lighting setup was way more performant. I played around with the settings and although I am sad there are no clouds in the sky anymore, I am happy to have finally found the true culprit of my problem. Now the entire scene renders perfectly fine with all vegetation added and the terrain working like it should've been from the beginning. I also think some of the lighting on the character and the inside of the houses is a lot clearer now. You tell me: Improvement or downgrade? :


So to get back to the beginning of this blog: Is it even possible to build the game I have in mind in the Godot game engine?... Answer: I'm starting to believe :D


I wasn't planning on handing out the test scenes. This map was put together fast and it's quite empty/open/boring to be fair. (There's really nothing in them after all). However, I would LOVE to hear your feedback on this topic. How is the performance? What do you think about the 3d models scattered around the map? Is the new lighting appealing? (I am aware you can walk through the trees... Please don't be mad :P )


Updates

Character camera clamped

I forgot to add this last update. The character camera was able to spin around the character but not anymore. It's now clamped above and beneath the character.


Vegetation system

It's an asset that puts all plants/grass/trees in one system. This makes rendering of the vegetation less expensive and more performant.


Character stuck on small edges (fix)

The character was sometimes getting stuck in some of the most awkward places. Very tiny pixel edges. The character is now able to cross big and small edges with ease. In case you want to see how this works: In the new map is a stairs, this one doesn't have an extra hitbox. Still Lyana is able to climb the steps thanks to this new addition (The camera movement is terrible however so... don't get sea sick).


Terrain system

As discussed above, I learned to work with this new asset and the problems it gave me along the way. I'm happy it's working now and I'm hopefull for the future seeing how much fun it is to work with this and the 3d models combined.


Slime shader fix (It's not in the new map sorry)

The black slimes that were blocking the stairs had shaders with gaps in them. I managed to fix this and the blocks are now perfectly wobly without gaps.


Updated and new 3d models and textures

The rails of the stairs and platforms in the previous version were a bit too high. I edited these to be more in line with the character's height. Other than that I've created a ton of new textures and 3d models (the trees/cliffs and rocks). Though not directly visible, these will surely play a part in the future. (Mixed with the terrain system they will complete each other nicely)


- And that was it for this update. There's still a lot of work left to do but I'm happy how everything is coming along. Seeing how I'm able to now make maps brightens my day and the future of this game.


If you came this far: Thank you for your time and patience. I'm continuing work on the images now (The Panam image is half done and should be done tomorrow or the day after that). If you're interested in the game: I updated the dropbox folder with the test map I made. It's not very impressive but I would still love to hear how it runs on your end and what you think of it.


Thank you for supporting me and have a nice day everyone! <3


Game Update 25-01-007 & blog Game Update 25-01-007 & blog Game Update 25-01-007 & blog Game Update 25-01-007 & blog Game Update 25-01-007 & blog Game Update 25-01-007 & blog Game Update 25-01-007 & blog Game Update 25-01-007 & blog Game Update 25-01-007 & blog

More Creators