[OpenDeadlock Community Discussion] - Terrain Rendering

See what Deadlock fans are creating, whether it be fan games, art or scenarios.
Post Reply
User avatar
Tggtt
Ancient
Ancient
Posts: 259
Joined: Sun Oct 06, 2013 8:08 pm

[OpenDeadlock Community Discussion] - Terrain Rendering

Post by Tggtt »

Dear members,

I have received several requests to mimic the Terrain Rendering of the original games.
I do not want to post the quantities yet to avoid affecting poll results.

I am afraid that I must declare that there are problems about this feature.

What are the options:

1- Make it just like the originals, as requested:
Thanks to RenanSPH, it has been considered to "learn how the originals do it" (avoiding that correct engineering term) during decode tasks since the early days of OpenDeadlock.
This is not really easy to do and the biggest problem is that we do not have permission to do this.
We cannot mimic it and then release the rewritten code as "ours".
Why not just use the existing code? The originals are monolithic (most code is mixed into a single block) and it is not easy to simply invoke existing code.
Existing code is also dependent on the operating system.
That is why it is also discouraged because OpenDeadlock is not only for Windows or only for Mac.
There could be other issues that may arise that I would not like to write about.

2- Make it from scratch, trying to mimic the look-and-feel (be similar):
This could even improve things if we had specialists, since there is better hardware available.
However, we do not have specialists on this kind of rendering available, so we are not planning to do this right now.

3- Use a 3D library to render the terrain:
That was my suggestion only because it is somewhat easy and we are well capable of doing it.
It would make it easier to adapt to high resolution and take advantage of rendering hardware.
However, there is a lot of resistance against this idea, for two reasons:
Firstly, this could make the terrain look "much more modern" than players who want a faithful look-a-like would like (too different).
Secondly, more libraries dependencies mean less compatibility. It might look like a simple sentence, but it could cause some trouble later. That means that some versions/operating systems could support it correctly while others could not. Using hardware rendering also affects the results, it could look nicer depending on each one's hardware.


TL;DR: We are sorry but we cannot mimic the terrain rendering exactly.

Note: It is not the priority for initial alpha versions. They would use a fixed pre-rendered background instead.


If there is anyone wishing to contribute code for terrain rendering, please tell us.

Thanks.
User avatar
TimeDilation
Advisor
Advisor
Posts: 66
Joined: Thu Aug 08, 2013 12:24 am
Favourite Race: Uva Mosk
Location: ITALY (BELGIUM)

Re: [OpenDeadlock Community Discussion] - Terrain Rendering

Post by TimeDilation »

Here I am!
So? I need more information. In the end:
1-how will this terrain look? "modern" or more similar to the old one?
2- in the end will it be 2D or 3D? Or a mix of the two?
3- Do we need to reason around the method or around the look and feel??

Can I suggest an idea? Procedural maps to lay over each other. Example:
-height map: b/w gradient map where total white is maximum height and total black minimum height. Each territory gets a randomized one, and therefore we get a "3D" (real or 2D lookalike) terrain such as this: https://en.wikipedia.org/wiki/Heightmap
- terrain map: a sort of texture to be overlaid on the elevation: it can be a dynamic paint of the height surface, in order to assign for instance water to the lowest areas and so on with the terrain patterns.

I dont know if this is 3D or 2D but I propose this because it seems to me that this calculation can be done "3D" within the code and then eventually "projected to 2D".
User avatar
Ubergeneral Grunt
Site Admin
Site Admin
Posts: 189
Joined: Fri Nov 19, 2010 10:20 am
Favourite Race: Tarth
Location: Perth, Western Australia
Contact:

Re: [OpenDeadlock Community Discussion] - Terrain Rendering

Post by Ubergeneral Grunt »

Voxel terrain rendering (as was used in the original) might still be a possibility, even if it doesn't render exactly as it would have in the original Deadlocks. This is mainly an issue in terms of where wet tiles go, that might affect map importations from Deadlock II, such as if one wants to port the Shrine Wars Campaign across.

Voxel rendering means that the terrain won't look unusually polished next to the original graphics and would probably work well for targeting low power systems such as the Raspberry Pi (I think it does support OpenGL now, but original I think it only supported software rendering).

Of course, figuring out how to do it might be a little difficult. But it might not be necessary to "learn how the originals do it", as there should be algorithms out there that already deal with voxel terrain generation that we can utilise, as it is a well traversed area.

I might know some people who have worked with voxel graphics, they may be able give some references. No promises though.
Tggtt wrote:Existing code is also dependent on the operating system.
That is why it is also discouraged because OpenDeadlock is not only for Windows or only for Mac.
Not to mention that Deadlock for Mac's code is completely incompatible with current Macs.
Tarth cooks make best strudel, barbecue, bean dip, fish, cat food, smelt, piston rings, tofu and cam shafts...
User avatar
TimeDilation
Advisor
Advisor
Posts: 66
Joined: Thu Aug 08, 2013 12:24 am
Favourite Race: Uva Mosk
Location: ITALY (BELGIUM)

Re: [OpenDeadlock Community Discussion] - Terrain Rendering

Post by TimeDilation »

I see, but the real point is that if this is a procedural imaging, meaning that it is generated by an algoritm, it is more a speech of "form and funcion".
I explain: first we should have an idea of the final result and then figure out how this is going to take shape technically. This last part I leave for you, but regarding the looks, in order to produce some simulation I need to have some more input on how the compiling process happens.
User avatar
Tggtt
Ancient
Ancient
Posts: 259
Joined: Sun Oct 06, 2013 8:08 pm

Re: [OpenDeadlock Community Discussion] - Terrain Rendering

Post by Tggtt »

Hello, I am thankful for your answers.

Lemme be straight to the point.
Making it beautiful with or without voxels is well possible.

We do not have a specialist who would focus on that, so that means we would need to assign someone else to do it, who would take longer than a specialist.

Rendering is not the priority, if we keep changing the priority, we will further delay the release.

I know that players could quit quickly if the GUI is ugly.

So, unless we find new specialists, my proposal was simply to make pre-renders while we do not have the definite procedural render. Only one per terrain type would be plenty.
Then we can still use these pre-renders as fall-back for platforms that cannot render them for some reason (e.g. if we use a 3D library and it doesn't work there).

Thanks.
User avatar
TimeDilation
Advisor
Advisor
Posts: 66
Joined: Thu Aug 08, 2013 12:24 am
Favourite Race: Uva Mosk
Location: ITALY (BELGIUM)

Re: [OpenDeadlock Community Discussion] - Terrain Rendering

Post by TimeDilation »

So, for "pre renders" you mean fixed static images of the terrain types, right?
And tell me more, image size, axonometry angle used, tiles? (woods, water, rocks, cracks...), planet view?
User avatar
Tggtt
Ancient
Ancient
Posts: 259
Joined: Sun Oct 06, 2013 8:08 pm

Re: [OpenDeadlock Community Discussion] - Terrain Rendering

Post by Tggtt »

TimeDilation wrote:So, for "pre renders" you mean fixed static images of the terrain types, right?
Yes!
TimeDilation wrote:And tell me more, image size, axonometry angle used
Squares are 27° on sides dimetric, (total 54º side, 126º bottom).
The full image would need to cover high resolutions, it would be cropped to fit the minimum.
I hope this makes things clearer:
Gallius GUI Bounding Box reference.
Gallius GUI Bounding Box reference.
galliusbox.png (53.77 KiB) Viewed 14238 times
I made it 1200x1024 as an example because I expect that the minimap and other tools would cover one side, so it would cut down the width, but you could even make them fullscreen if possible.

Do not draw the lines!
It should be the terrain only.
TimeDilation wrote:tiles? (woods, water, rocks, cracks...), planet view?
These are planned to be made procedurally already. However, there could still be all water/ocean territories.

Territory Type list.

Thank you very much!
Post Reply