So I'm working on a mod, where I'm trying to achieve a couple of things.
I want to add more features to the map, to make it look more like an old hand-drawn map complete with seamonsters.
Example
I want to alter the map generator, to have a second layer of noise along the coast, to get a more jagged coastline. This will give the impression of a bigger scale, and more accurately mirror reality.
I want to generate island groups. (See Polynesia, the Carribbean) This is more like an extension of 2.
I want to do various graphical design changes.
I'm not too experienced in java, but I'm learning from simply studying Zarkonnen's code. I've done a few graphical changes here and there, and I'm warming up to do some experimenting with the map.
Here's what I found so far:
StrategicScreen.java renders the map based on a series of feature arrays
WorldMap.java generates these feature arrays based on a height grid and randomness
Perlin.java generates the height grid by scattering random heights loosely, and smoothing the inbetweens.
I think I understand StrategicScreen and WorldMap just fine, but I'm a bit lost when I get to Perlin. My math is fine, but java is unfamiliar to me, and I was wondering if anyone would be kind enough to walk me through perlin. It would be much appreciated.
I'd also like to know, what you think about the ideas, and I'll leave you with this new logo I made:
I'd definitely use this mod. Personally I'd like to see a bunch of different biomes on the map that change the terrain you fight in, but that may be overly complicated/hard to make. I already like the ideas you're planning on implementing though.
That logo looks great, but what is it for? Whatever you're planning on doing with it, it fits the whole "airships" theme really appropriately.
The logo is for the mod. Basically it's a replacement for the loading screen, which I found to be a bit boring (no disrespect) in terms of it's colors. I've also replaced the background in the main menu with a cool picture I found online, and done some GUI color changes. I'm mainly doing these fairly mundane changes to get familiar with the project and learn the java language.
Biomes are actually already in the game, so it wouldn't be too hard to add some more. So far they're limited to "Forest" and "Mountains", and only change the background in the battle screen. It would definitely be cool to add climate zones.
I love your new logo as a loading screen! It's a perfect "air navy" symbol, and much better than the unrecognizable air brick currently.
Though for the title screen, I'd personally prefer some more, non-blurred artwork from Zarkonnen. Hopefully with a blue instead of purple sky though.
https://airships.zarkonnen.com/forum/2/topic/128 (and including the turtledove!)
For new biomes, feel free to take the ideas I dumped in this thread :P
Ooh, I really like that logo, Anzious. It kinda looks a lot cooler than my slightly dorky one. :)
The cool picture is also very cool, and I'll add it to the Album o'Inspirations thread.
In answer to your question, Perlin.java is a normal implementation of Perlin Noise, a type of noise that's also used to generate Minecraft worlds, for example. So there's no need to understand the code in-depth: you basically just use pnoise to produce 3D noise. It's like picking random numbers but with a guarantee that numbers with very close indices will have very similar values.
A single channel of Perlin noise doesn't actually look that good, so the map generation uses multiple channels at different angles and scales. The multipliers for the x/y/z axis and the scaling factors I arrived at purely experimentally.
Thank you for the kind words. That makes me very proud :)
Thank you Slimy for those ideas. It'll help bring a bit of color to the map.
With regards to perlin.java:
Oh... That makes a lot of sense now. I guess a simple google search would've cleared the mystery of why it was called "perlin" and "pnoise". I must say I was a bit puzzled at how you managed to get the results you did. :P
I also thought of adding political borders, and big empire names like you see in the clausewitz engine. I'm not sure if it would work, though.
So here's a small update. I've now figured out the map generation, and I'm beginning to tinker with it. I'm finding, that everything can be taken to the extreme :)
I've added waves, seamonsters, and sometimes even a compass will find it's way in there, if there is a relatively empty corner somewhere.
I've also fooled around with some color changes to the backdrop, but I'm not satisfied. My next order of business is to replace the background color with a texture of some kind. I personally really like this image, but I haven't figured out how to do that yet. The problem is, that when a feature is added, it actually adds a background-colored image below the feature image, to make sure lines from various land-features don't intersect. I also want to change the water to a solid color, so it doesn't look weird with diagonal lines and wave-features.
Tell me what you think, and if you have some cool sprites (like a seamonster), you would like me to include, feel free to post them here. :)
Looks awesome! Really like the sea monster and compass.
In terms of superimposing the features onto the image, hmm. You could draw all the features onto a separate image and then blend it with the background image subtractively.
BTW, there'll probably be a dev 5.3 out in a few days just to make your life hard, but it's not a major change, so it shouldn't be too difficult to integrate. Dev 6, though, is going to replace all the GUI stuff. I'll be very happy to support you in porting though.
Warrant Officer, Engineering Corps
Hello there fellow modders!
So I'm working on a mod, where I'm trying to achieve a couple of things.
I want to add more features to the map, to make it look more like an old hand-drawn map complete with seamonsters. Example
I want to alter the map generator, to have a second layer of noise along the coast, to get a more jagged coastline. This will give the impression of a bigger scale, and more accurately mirror reality.
I want to generate island groups. (See Polynesia, the Carribbean) This is more like an extension of 2.
I want to do various graphical design changes.
I'm not too experienced in java, but I'm learning from simply studying Zarkonnen's code. I've done a few graphical changes here and there, and I'm warming up to do some experimenting with the map.
Here's what I found so far:
I think I understand StrategicScreen and WorldMap just fine, but I'm a bit lost when I get to Perlin. My math is fine, but java is unfamiliar to me, and I was wondering if anyone would be kind enough to walk me through perlin. It would be much appreciated.
I'd also like to know, what you think about the ideas, and I'll leave you with this new logo I made:
Logo
Commodore
I'd definitely use this mod. Personally I'd like to see a bunch of different biomes on the map that change the terrain you fight in, but that may be overly complicated/hard to make. I already like the ideas you're planning on implementing though.
That logo looks great, but what is it for? Whatever you're planning on doing with it, it fits the whole "airships" theme really appropriately.
Warrant Officer, Engineering Corps
The logo is for the mod. Basically it's a replacement for the loading screen, which I found to be a bit boring (no disrespect) in terms of it's colors. I've also replaced the background in the main menu with a cool picture I found online, and done some GUI color changes. I'm mainly doing these fairly mundane changes to get familiar with the project and learn the java language.
Biomes are actually already in the game, so it wouldn't be too hard to add some more. So far they're limited to "Forest" and "Mountains", and only change the background in the battle screen. It would definitely be cool to add climate zones.
Commodore
I love your new logo as a loading screen! It's a perfect "air navy" symbol, and much better than the unrecognizable air brick currently.
Though for the title screen, I'd personally prefer some more, non-blurred artwork from Zarkonnen. Hopefully with a blue instead of purple sky though. https://airships.zarkonnen.com/forum/2/topic/128 (and including the turtledove!)
For new biomes, feel free to take the ideas I dumped in this thread :P
https://airships.zarkonnen.com/forum/2/topic/118
Aerial Emperor
Ooh, I really like that logo, Anzious. It kinda looks a lot cooler than my slightly dorky one. :)
The cool picture is also very cool, and I'll add it to the Album o'Inspirations thread.
In answer to your question, Perlin.java is a normal implementation of Perlin Noise, a type of noise that's also used to generate Minecraft worlds, for example. So there's no need to understand the code in-depth: you basically just use pnoise to produce 3D noise. It's like picking random numbers but with a guarantee that numbers with very close indices will have very similar values.
A single channel of Perlin noise doesn't actually look that good, so the map generation uses multiple channels at different angles and scales. The multipliers for the x/y/z axis and the scaling factors I arrived at purely experimentally.
Warrant Officer, Engineering Corps
Thank you for the kind words. That makes me very proud :)
Thank you Slimy for those ideas. It'll help bring a bit of color to the map.
With regards to perlin.java: Oh... That makes a lot of sense now. I guess a simple google search would've cleared the mystery of why it was called "perlin" and "pnoise". I must say I was a bit puzzled at how you managed to get the results you did. :P
I also thought of adding political borders, and big empire names like you see in the clausewitz engine. I'm not sure if it would work, though.
Warrant Officer, Engineering Corps
So here's a small update. I've now figured out the map generation, and I'm beginning to tinker with it. I'm finding, that everything can be taken to the extreme :)
Here's a screenshot of my current build.
As you may have noticed, I added hills. This is the first of what I hope to be a long list of new map features.
At the moment, I'm looking at the map rendering, trying to figure out how to stylize it. Cheers!
Commodore
I like it!
Commander, Engineering Corps
Can't wait for the mod
Warrant Officer, Engineering Corps
Alright. Here's my latest build. I've been a bit busy with the holidays, so it's actually a bit old, but I'm starting to add some more features.
Here are some screenshots: Screenshot 1 Screenshot 2 Screenshot 3
I've added waves, seamonsters, and sometimes even a compass will find it's way in there, if there is a relatively empty corner somewhere. I've also fooled around with some color changes to the backdrop, but I'm not satisfied. My next order of business is to replace the background color with a texture of some kind. I personally really like this image, but I haven't figured out how to do that yet. The problem is, that when a feature is added, it actually adds a background-colored image below the feature image, to make sure lines from various land-features don't intersect. I also want to change the water to a solid color, so it doesn't look weird with diagonal lines and wave-features.
Tell me what you think, and if you have some cool sprites (like a seamonster), you would like me to include, feel free to post them here. :)
Aerial Emperor
Looks awesome! Really like the sea monster and compass.
In terms of superimposing the features onto the image, hmm. You could draw all the features onto a separate image and then blend it with the background image subtractively.
BTW, there'll probably be a dev 5.3 out in a few days just to make your life hard, but it's not a major change, so it shouldn't be too difficult to integrate. Dev 6, though, is going to replace all the GUI stuff. I'll be very happy to support you in porting though.