The legend of the ice stone - first game in development on SABGE

It’s finally time to actually test my own game engine, SABGE, by building a real game.
This first game will be a 3D adventure / platformer, in which we will play the role of Eagor forced to make a journey left and right to the island he lives on in order to defeat a looming threat.
I don’t want to reveal much about the story at the moment, this post will be rather focused on technicalities and graphic arts in the process of being implemented.
For the creation of the textures, the modeling of the game levels and the assets, as well as the positioning of the latter within the scenarios and small tests in realtime I am using blender 2.79 / upbge 2.3.
Everything is then gradually exported to sabge for actual testing and building the actual game.
Waiting for new progress, I re-post some videos regarding the development of this game, appreciating criticism or advice on various aspects in this regard.

weather transitions using the world parameters in sabge:

start of work on the world map and some updates on the movements of the playable character:

A test walk in the world of TLOTIS using upbge 2.3 (not definitive and no assets placed):

4 Likes

Terrain textures LOD system

1 Like

OOF, those sparkles when picking up coins look so darn satisfying.
Great work.

1 Like

Nice particle effect.

completed and optimized the snow weather effect, super fast and independent of the camera distance.
Added support for blob_shadow to ge, which I applied to the main character.
Finally I implemented the physics engine for the waterVolumes and finally the surfaces of the water volumes are reactive to the player and possibly to other objects

6 Likes

You really did a very nice work!

I love the concept that you make your game engine, then develop game to practically show its potential.

Keep the good job.

1 Like

And, of course, your engine shows enough promise - similar to that of UE or the like, especially the water simulation. That’s very cool.

particleSystem improvements: capsules drawn on planes according to their linear velocity



1 Like


procedural snowFX on the terrain shader.
the snow settles in accordance with the wind direction


the grass and the water surface of the puddles become frozen

and the effect does not affect the portions of the terrain mesh submerged by the volumes of water

1 Like

Looks great.

this test is running on the integrated Intel(R) UHD Graphics 630
the frame rate remain stable at 60 despite video recording.
and oscillate between 80 and 95 without the fps limiter.
Using instead the dedicated video card gtx 1050Ti (mobile/notebook) I get about 200 fps

5 Likes

Great, running good.
Is there some culling and are enemies spawned and unspawned with player distance ?
Are characters animations and particles running on GPU ?
Last feature dynamic wind using vertex colors on vegetation to control wind power, is that planned ?
Seems the engine is becoming complete.


Yes!! one of the plugins developed specifically for blender allow to use blender as a level editor and export data structures for the spawn system integrated in sabge. The spawn system adds or removes objects (collectables, enemies etc) depending on the distance from a targetPoint (usually player position or camera position if preferred for some kind of prefabs)
Once a prefab has been added to the scene, the presence or absence of the visibility_checking_node will be in its own behavior

Yes, animations and particles are running on GPU

About vegetation, direction and intensity of the wind are parameters of the scene.world and the vertices are animated as a function of both these values ​​and other parameters stored in the vertices.
These parameters can be stored as you said as vertexCol.
Here, in the case of grass I did not need to use vertexCol, pos.z was enough to calculate the displacement of the vertices along the blade of grass (a little cheaper in this specific case, considering that i could need a lot of grass)
This means that the grass uses a more specific shader and not the one i will use for generic vegetation

1 Like

cheap dynamic lighting tricks: fake ambientOcclusion and fake soft shadows from omni directional lamps

1 Like

fog and volumetric lights test

2 Likes

Looks good.
Have you completed enough engine features to start on game design, or there is still a lot of 3D engine features to work on ( particles, physics, decals , geometry instances, post effects ) ?

yes I’m actually working on the game design, the feature you listed are working, even several post processing filters are ready to use; however sometimes I think about some visual effects to add to the game and so I implement them directly in this rendering pipeline. I don’t have many post processing filters active here because i’m working only with the integrated graphics card because I want the game to run at 60 fps stable on low level devices, so some other post processing FXs will be as an optional for non-low-end hardware.

1 Like

Finally one of the things I find most fun to create, special effects, let’s start with fire!!

another test: this seems better!

3 Likes

Dialogue system directly supported by the plugin for blender which is used to export the scenes as a data structure for the spawnSystem, exploiting the game properties.


this was the first test 1 page only:

and this is the 2 pages test:


2 Likes

Great fire effect shader.
And dialog editor seems very intuitive easy to use.
Will it support some basic dialog choice at least two branches ? For example player choose option 1 or option 2 when talking with Npc.
It is easy in code to retrieve Dialog data and choices or choices events player made ?

1 Like