Jump to content

- - - - -

Over The Shoulder

Goblinson Crusoe hex-based rpg tile-based turn-based
4: Adsense

For giggles, today at work I implemented an over-the-shoulder camera and WASD movement, plus some camera controls to zoom the camera in and out and change the tilt. I'm not doing an LoD, so on my work computer it doesn't like it if you bring the camera out too far at too low an angle, although on my home computer which really isn't a spectacular machine it works well. I'm not 100% sure how useful such a view/camera is in a turn-based game, but it is kind of cool anyway. And I guess it makes exploring the world map funner, since you can bring the camera down to see further away:

Posted Image

Posted Image

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.

Feb 25 2013 07:53 PM

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?

Feb 25 2013 09:54 PM

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.

Feb 25 2013 10:14 PM

Super zoomed out:


Feb 26 2013 01:08 AM

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))




diffuse = dot(light_vector,normal_vector)*0.5+0.5;
Feb 26 2013 08:27 AM

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.

Feb 26 2013 10:41 PM

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.

Feb 26 2013 10:48 PM

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

Feb 27 2013 03:50 AM

Looks great! I haven't played a good hex-based strategy game in ages, looking forward to this.

Feb 27 2013 11:40 AM
Thanks guys.

@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.
Feb 28 2013 12:25 PM

very slick. Also, why not procedurally generate the grass and dirt texture too? It looks a little too repetitive right now IMHO. 

Note: GameDev.net moderates comments.