Scallact
-
Posts
35 -
Joined
-
Last visited
Posts posted by Scallact
-
-
Yes !!! We need that !
16 bits import ability is the only missing link between elevation files and the Atlas. I have a GIMP plugin nearly ready, for the creation of elevation files, but I'm hesitant to publish since the import learning curve is too high.
Your idea of a GIMP plugin for .pmp export is nice too, that would perfectly fill the gap. Before anyone asks, I don't think I would be able to write such a plugin with my current python level. :-) I might still try to look at it in the (not near) future if nothing moves on this front.
-
19 hours ago, vladislavbelov said:
Thanks for the report! It seems it doesn't like DDS for some reason. I fixed the mod and uploaded the new version. Could you try it?
All good now! Thanks!!!
-
Thanks a lot!
There are still many blurry textures on my side, for example, the majority of "Biome Alpine", and many others.
Alpha 26 final on Ubuntu Linux 20.04, the snap version and the ppa version have the same problem.
- 1
-
27 minutes ago, LetswaveaBook said:
So in all genius it was decided that the olive tree should be a source of food
You surely meant "wood" instead of "food"?
Too bad you didn't bring it up during the long release candidate testing?
Like, it seems no one tested the Atlas during that phase, and now all textures are just a single color in the interface. (I'm a culprit too)
-
4 minutes ago, Stan` said:
Because no tracks were made for them. Maybe next time.
Oh ok, thanks for the info! Will try another civ tonight.
-
On 26/09/2022 at 7:54 PM, Stan` said:
You can see thr changed civ.json here https://trac.wildfiregames.com/changeset/26573
Why aren't Athenian and Persian included in the changeset? Don't these civs benefit of the new tracks?
I played with the Athenian last night, and I only heard the old tracks, even when watching the replay.
- 1
-
2 minutes ago, vladislavbelov said:
I have some ideas to fix the heightmap import to allow 16-bits grayscale images.
That would be huge!
-
2 minutes ago, vladislavbelov said:
In Atlas you can place entities (simulation objects, units you can control, etc) and actors (just visual objects without interaction). So you can make a 3D model, import in the game as an actor and place on a map.
So we are back to the "external software - mesh import" model. Which is exactly what I do with my plugin.
You know what would be extremely useful ? An Atlas mesh import function which doesn't crush the heightmaps to 8bits. :-)
-
@smileyHere is a height-map produced with the "distance map" algorithm. Those mountains are too huge but it gives you an idea.
-
5 minutes ago, vladislavbelov said:
I think using an actor mesh gives the best quality. But it requires an experienced artist to adopt to avoid things you described.
Pardon my ignorance - what is an "actor mesh" ?
-
If you're looking for some simpler algorithm, I also made experiments with the "Distance map" one. Gives some nice, if not slightly "too regular" results. Maybe that would fit your requirements.
Basically, it computes for each pixel the distance to the nearest black pixel. This give cute mountains with constant slope.
-
18 minutes ago, smiley said:
Not worth to reimplement any fancy image processing algorithms. Players can't wait too long. But if the underlying thing is some sort of gradient noise based, it might be doable.
See above! TL;DR : yes, I use some advanced image processing algorithms ! ;-) At least, the "Solidify" G'Mic algorithm is the basic concept of it all.
-
2 minutes ago, vladislavbelov said:
I'm afraid generating good mountains in JS might be very slow, especially if try to simulate an erosion process. Using precomputed assets (like heightmap mountain brushes) might work though.
FYI, I don't use an iterative erosion process at all. But:
- The base noise is generated by the "solid noise" GIMP algorithm
- Then, some random pixels are spread with the "Poisson disks" (blue noise) algorithm (G'mic)
- Those pixels sample the values on the noise layer
- The main render is then computed by the "Solidify" G'Mic algorithm. It computes a Delaunay triangulation between the pixels and fills the triangles with the interpolated gradients.
These above are the main ideas. Some operations are done twice and combined with specific layer modes. Some "distance map" from GIMP is used for more regular mountains. A general "sea sedimentation" layer is added to have different levels through the map.
So yes, all of this would be quite involved to implement in JavaScript, and probably not very fast.
To give you an idea, the script runs in ~13 sec on my machine (i7-6700K @ 4Ghz, Geforce GTX 1080)
Apart from layers operations, apparently the most computationally intensive is the "Solidify" algorithm.
BTW, those algorithms could be implemented (if possible) separately, and then used in by the map script itself.
-
-
This makes a lot of sense!
- 1
-
2 minutes ago, smiley said:
Cool stuff, I tried using some fractal generators with pretty boring results some time ago. Just ended up being a bit too "rolling hilly" instead of mountainy.
I personally would suggest porting the code over to our Javascript map generation library, or at least publishing the scripts.
Those mountains look better than handcrafted ones currently existing and we have basically no procedurally generated ones..
Thanks for your feedback!
Of course I will share the script! It's a fully readable python plugin.
However, it's a GIMP plugin, and makes use of GIMP procedures. Furthermore, it requires the G'Mic-QT plugin as well, in fact some of it's advanced capabilities are the basis of the height-map creation method. So, a direct JavaScript implementation might be tricky, because one would have to grab the internal GIMP and G'Mic algorithms. Or have GIMP and G'Mic as dependencies for the Atlas, which I'm not sure is a good solution.
I'm certainly not able to do that. But 'm ready to share and describe the algorithms I used if someone feels brave enough to implement it. All of this is open source anyway.
- 1
- 1
-
Here's a preview of the GIMP plugin I'm working on.
-
Hi! I'm currently coding a python plugin for GIMP to help create elevation maps with mountains.
The aim is not only to picture realistic mountains, but also to make them suitable for interesting game-play. I think that mountains and relief should not just serve as obstacles, but as tactical features where one can use elevation to it's advantage.
Right now, the plugin only creates one type of mountains, mainly rocky / faceted mounts, but with a lot of possible variations inside that type. I'll soon add some erosion factors which will allow to make hills and older mountains.
The first version of the plugin should also have an option for symmetrical height-maps.
For now, the process is mainly random, i.e. procedural. But a lot of parameters are tweak-able (although I'm trying to simplify things a bit for the interface). Most notably, you can let the plugin choose it's seeds for the random generator well... randomly, and once it produces an interesting configuration you can fix some seeds and let the generator explore other variants inside that particular configuration. If that sounds complicated, it'll become clearer once you can try it. :-)
Please note that the plugin only creates the height-map, it doesn't do any import into the Atlas. See this thread for that part, and scroll down to my tutorial for best quality import.
But enough explanations, here are a few raw shots from 0 A.D's Atlas. Most mountains shown here are climbable.
- 5
-
2 hours ago, Gurken Khan said:
lol, had to scroll up to see those side by side. I always use the box on the bottom.
Right, me too. Technically, the reply button is just a link to that box. ;-)
-
4 hours ago, raffut1969 said:
Thanks. Now i know how to tag him. But if i klick "start a new topic" in the forum "Ratings Disputes and Offence Reporting" and click "Submit Topic" it's published in "Gameplay Discussion". No idea why.
You have to click on "Reply to this topic" instead of "Start a new topic".
-
1 hour ago, Zer0 said:
Stan mentioned the atlas reads 16 bit grayscale heightmaps which have to be true grayscale and not saturated at all.
I don't think that you can import 16bit greyscale images yet in the atlas. See this thread where I describe an import method to keep the 16bit precision.
-
16 hours ago, andy5995 said:
Tangram Heightmapper seems like a great source to get a heightmap. I added the link to the wiki.
Thanks!
Complementarily, I'm currently working on a GIMP script to create customized height maps. I've made many experiments since a few months, and It's starting to show nice results. I should be able to share it in the future.
- 1
-
P.S: A little word on the Long Dark: it's a survival game in its purest form. Most other survival games that I know have a first phase where surviving is a bit though, and then you just collect resources to build/craft more and more powerful things. Not at all in this game: it's survival from start to end. And the only possible ending is death (permanent in survival mode).
It's the anti-hero of survival games, in a sense.
And it's beautiful. Go check it if you like this kind of games.
-
The Long Dark
X-Plane flight sim (NotAGame)
Subnautica / Below Zero
Civ 5
FreeCell
- 1
heightmap import improvement
in Game Development & Technical Discussion
Posted · Edited by Scallact
A temporary solution I found, useful if you are not confident with copy-pasting into a hex editor, is with a nice little command line utility: Swiss File Knife.
It's multiplatform, and doesn't even require an installation. Just put the executable near your files and run it in a terminal.
The useful command it provides is "partcopy", which allows to copy part of a binary file to another.
An example command, to transfer elevation from a 385x385 uncompressed 16 bits greyscale .tif to a large .pmp :
The number in the middle is the number of bytes. It must be adapted to the map's size: