Over The Shoulder

Published February 26, 2013
Advertisement
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:

1Pd4iVY.jpg

eCsXgK0.jpg

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.
3 likes 10 comments

Comments

MARS_999

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?

February 26, 2013 01:53 AM
JTippetts

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:

uNi036g.png

A typical mountain displacement map looks like this:

Ccb4ieI.png

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.

February 26, 2013 03:54 AM
JTippetts

Super zoomed out:

February 26, 2013 04:14 AM
Ashaman73

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;
 
February 26, 2013 07:08 AM
JTippetts

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.

February 26, 2013 02:27 PM
MARS_999

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.

February 27, 2013 04:41 AM
Prinz Eugn

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

February 27, 2013 04:48 AM
Epic Zombie

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

February 27, 2013 09:50 AM
JTippetts
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.
February 27, 2013 05:40 PM
SiddharthBhat

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

February 28, 2013 06:25 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement