I've started on the combat/exploration-mode test graphics. Those are done on a smaller scale, individual trees and rocks and such-like. Don't really have anything to show there yet since it was pretty busy at work.
🎉 Celebrating 25 Years of GameDev.net! 🎉
Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!
I've started on the combat/exploration-mode test graphics. Those are done on a smaller scale, individual trees and rocks and such-like. Don't really have anything to show there yet since it was pretty busy at work.
Comments
Each individual hex is a mesh. I don't apply the displacement at run-time, I apply it as a modifier to a finely subdivided basic hex primitive in Blender, then bake out texture/ambient-occlusion/normal maps and a reduced-detail version of the displaced hex mesh:
A typical mountain displacement map looks like this:
Generating it is pretty simple: my usual "fuzzy disk" (ie, cross section of a sphere function) with a Bias function applied, and fBm turbulence in the X and Y axes. Then a mask is applied to snip it to a hex, and an erosion filter is applied before importing it into Blender.
Edit: As far as GPU goes, it's nothing special. It's an $800 HP from Costco with a 5300 series Radeon. I never buy any kind of dedicated, top-of-the line gaming hardware, since I don't play many AAA games and I certainly don't develop AAA games. I figure that if my game runs well on a shitty HP from Costco, it should run well for the majority of people who would ever conceivably play any game I make. Developing on a high-end machine, in my opinion, would only serve to hide potential performance problems.
Haha, that looks great !
If you want to get rid of the hard lighting, I would test to use wrapped lighting, which gives a softer, more GI, lighting effect. Instead of
diffuse = max(0,dot(light_vector,normal_vector))
use
diffuse = dot(light_vector,normal_vector)*0.5+0.5;
Ashaman73: You're right, that does make it look a little softer:
On the left, your wrapped lighting with a single directional light; on the right, the old way using 2 directional lights, one in the back for filler. Not only are the shaded areas softer and smoother, I was able to drop a d-light and save a pass.
Nice!! Very cool! I am going to work with some of this in my hex based game ASAP... I hope... :) But yeah you must of read my mind as this is the style I was/am gonig after in my turn based RTS game.
Neat, the height map reminds me of real-life DEMs. Interesting how actual DEMs almost look more fake since they're very fractal-looking: http://www.igic.org/news/index.php?itemid=500
Looks great! I haven't played a good hex-based strategy game in ages, looking forward to this.
@Prinz Eugn: Yeah, real life terrain is crazy looking. I made a little app once a few years ago that would display DEMs as a voxel terrain. It was pretty fun to scroll around in them. For a long time, I had a screenshot of it for my desktop wallpaper. The terrain it was showing was of the DEM for the Red Lodge MT area, specifically a piece of DEM showing the Beartooth Pass, my all-time favorite Sunday drive destination. It's pretty interesting to see the correlation between actual real-world terrain that you can visit in real life, and it's associated DEM and heightmap appearance.
I spent a lot of time building different erosion simulations to achieve realistic results, including flow models based on various Navier-Stokes papers found about the internet; oddly enough, the best balance I found between final result quality and performance was the simplest, an approximation that simply simulates raindrop flow and averages pixel values, rather than the complex flow simulations. They would turn out some good stuff if you left it to run long enough, but the raindrop sim runs pretty fast and I get impatient.
very slick. Also, why not procedurally generate the grass and dirt texture too? It looks a little too repetitive right now IMHO.
I really love this new style, as it is what I was planning on doing for my hex based strategy game I am going to make...
So is this ground mesh all one huge mesh or you taking patches and displacement mapping each patch... So say each path has 256x256 polygons and you height displacement each vertex? If so how are you going about making the hex outline of each patch? Are you limiting the workable area of the square displacement map to the inscribed circle of the hex?
I would love to see some of the displacement maps of the mountians as a .png file so I could check it out... if you don't mind ;)
Keep up the good work!!
BTW what GPU are you using in your desktop to develop this?