• Advertisement
Sign in to follow this  

Isometric Interaction, Look/Feel Concepts (warning: large images)

This topic is 4459 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Greetings Everyone, It's been a while since I started a topic here, (kinda sad to see this forum so stale) So I decided that I would start a discussion, mainly concerned with advanced features in an isometric landscape, in an attempt to make our game better. So your oppinions and ideas for better or different systems is what I would like :-) here are some screen captures that illustrate some features of the engine and what some of our environments look like, please give feedback on how we can improve these, aswell. (please only give feedback on techniques or graphical quality, not as to what the things really are e.g. dont say (what is with the glowing things?) ) The bare bones: So let us assume that we have a basic system set-up, an isometric map, 2:1 aspect ratio (more specifically 64x32 tiles and in a diamond arrangement). And on this map, tiles can be marked as blocked, and objects of any x/y cell size can be placed as well, with the object tagging the underlying tiles as blocked. So now, we have our character standing in this map, filled with walls and columns and objects and etc. Other fixed constants are... Alpha blending on tiles or objects may be done, in the 8 bit range All images used have an in-image per-pixel alpha channel of 8 bits Color modulation may be performed on an image using a 24 bit color, so that, when the color is white (255,255,255) the image is unchanged, and when the color is black (0,0,0) the image is black Image Rotation is not possible Map Rotation or Zoom is not possible Camera Movement: Currently we use a non-linear camera tracking system, with this system you can assign some object on the map as it's target. The camera then closes distance on the object, at a speed relative to it's distance from the object, thus, if the camera is sent somewhere far away, it will speed over there quickly until it closes distance and then will smoothly slow down, this gives the camera a 'disconnected' feeling from the character. This movement feature is used alot to alert the player of interest, for instance, if you throw a switch that opens a door far away, the camera will zoom off to show the door was opened, we feel this gives a good cinematic quality to the game. Any comments on this? Lighting: Lighting is computed in a world-to-light fasion, almost like ray-tracing, for each tile in the view, it checks if each light in the view is within range to effect it, for each light that does, the color which acts as both color and intensity (as explained with modulation above) are added together with the global light color (ambient light), when doing this addition though, only light values that are brighter than the ambient light are used, thus, if the ambient light was 255,255,255 (which means no darkness) then no lights would show up. Is this the right way to compute light interaction? shadowing: as light values are computed, line-of-sight is tested on the tile-to-light, if somthing is in the way, the light will not cast on the tile, this allows light to be contained within rooms any thoughts on that? Occlusion: if the main character walks behind an object the objects that are then occluding are made semi-transparent, to allow the player to see the main character. Do you think having the obstruction fade smoothly, rather than all at once, would help the 'texture' of the game? that is really all I have for questions at the moment, i will post more if i think of them.

Share this post


Link to post
Share on other sites
Advertisement
come on guys :-)

rip into me, tell me what looks wrong, what graphics need to be improved, etc etc.

I can already see a few things that need to be improved, but I want to hear it from you :-D

Share this post


Link to post
Share on other sites
Those screenshots look really great! You're doing wonderful work.

About the things you described, I do almost the same things in my engine only i use OpenGL to do the isometric transform for me and i just have my objects in 3D.

I do the exact same lighting, and i have dynamic lights which setup dirt areas on the map. These dirty areas are updated each frame if they are visible. There are two types of objects: static(scenerey) and dynamic(characters). Static objects only get updated if they are in a dynamic light's range - dirty objects and characters are updated each frame togather withe their animations (if they have any - you could be moving a rock around just like a player model). With optimizations it works quite fast too, though i don't have shadowing, i think that would kill all my performance.

I'm going to implement the camera movement thing, as i currently can just track objects and change to other objects instantaneoulsy, so i'll add that velocity thing.

I'm also using particle systems: emiters have some properties and they generate particles. There is a billboard system that will sort billboards generate from particles but it can also sort other transparent objects (fences, billboarded objects). I've done this using a BSP tree and though i'm generating the tree each frame it's going quite well since i'm relying on the fact that billboards are camera orientated on the Y axis so they will all reside in parallel planes - not too many splits. You could add particle systems to your engine easily.

I also have walls on my map, and they are built more like bricks - you can have levels on on top of each other with the player being able to walk between them. I can also build stairs, bridges and such with this system. I still have to light them nicely, with face normals to make them look like your walls.

PS: your artwork is beautiful.

Share this post


Link to post
Share on other sites
Thank you for your comments :-),

Particles have been tossed around in development conversations, and we just haven't acted on them yet, not sure if we will, but it might be worth it.

I am glad you think our artwork is beautiful, but I wish you critiqued it a bit, since I can see some of it insnt perfect (*points at the gaveyard*)
and I would like to know how we could improve it.

keep the comments coming.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Magnifique !

download link for source code ?

Share this post


Link to post
Share on other sites
Im glad you like it Anonymous Poster =),

Sorry, but the source code isn't availible, Morning's Wrath is a closed-source for-profit project.

It is likely that the Flare 3.0 game engine source will be released some time in the future.

keep em' coming, I want to get a list of things that need improvement :-)

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
First off, your game is looking great. I just have a few minor (or maybe major) things:

- Since you do have such great artwork, you may want to increase the ambient lighting in some of the darker areas so everything is a little more clear. Except for the first screenshot, I'm having a little trouble making everything out. I have a feeling the current lighting is going to strain some player's eyes, especially when the game is played over an extended period. Another possibility is increasing the light a bit around the player. Yes, the current lighting is probably more 'realistic', but sometimes you have to sacrifice realism for usability.

- A bit of fog may be a useful enhancement, especially in places like the graveyard.

- One of the 'problems' with the graveyard may be the lack of really anything interesting to look at. Most of the other areas seem to be more elaborate, with several different types of objects. Rearranging some of the current objects, and adding some sort of focal point may help. Also, the path is a bit too perfect. Believe it or not, imperfections improve realism. Add some broken areas and/or moss, leaves, whatever. Have some of the headstones smashed or vandalized. Maybe put some flowers near a couple. Add some weeds and grass growing up around the headstones. For a focal point, some suggestions are a mausoleum, a fountain, or a large tree.

- The characters seem a bit stiff. Relax them a little by bending elbows and knees a touch, and sag the shoulders some. The brownish-orange silhouetted character in the fourth shot has some of what I'm talking about (humans are difficult to model, I know)

- This is minor, but you seem to have a few misspellings: guilded (gilded - inlaid with gold), pedistal (pedestal).

I'll probably have more later, but I'm busy at work. Hope this helps some.

Share this post


Link to post
Share on other sites
>>First off, your game is looking great. I just have a few minor (or maybe major) things:

Thanks :-)



>>A bit of fog may be a useful enhancement, especially in places like the graveyard.

given that we arn't using a true 3D API, can anyone give sugestions on how we would do some fog?


>>One of the 'problems' with the graveyard may be the lack of really anything interesting to look at.

Yes, I am really dissasisfied with the quality of the head-stones as well, so i will probably re-do those, adding other little items is somthing we'll try also, and I think that straight and narror horribly-repeating path needs to a re-do.


>>The characters seem a bit stiff.

yes, that is a good point, we just got a new character artist so hopefully that should be fixed soon.


>>This is minor, but you seem to have a few misspellings:

hehe, yes that one was caught after the screenshot was released, there are plenty of spelling errors in the game, which we are leaving until the beta to weed out, along with dialogue revision.


>>I'll probably have more later, but I'm busy at work. Hope this helps some.

It does, thanks and I look forward to more.


Anybody else? Somone else must be dying to express thier oppinions :-D



Share this post


Link to post
Share on other sites
EDI

Your concept and Game Screens look very promising. With the exception of Screen 1 they ALL appear far too Dark (at least on my monitor they do).
I understand the idea of creating a lighting aura around the player which is very cool, but it makes the rest of the environment appear too dark. Although as an environment you would expect a Dungeon to be gloomy, perhaps not this gloomy.
Apart from this everything looks excellent!

Share this post


Link to post
Share on other sites
One thing that I don't like about the graveyard scene is that everything is too perfectly aligned and upright. The path is perfectly straight, etc. Try having some headstones tilted or broken. Maybe add some weeds or a freshly filled grave. When things are too perfect it jumps out at you.

I also agree that most of these scenes are much too dark.

Having said these things, I do think it is looking great. Keep it up.

Marcus

Share this post


Link to post
Share on other sites
Okay so I would say this is pretty much the general concensus so far.

-the screens are too dark:
technically they are supposed to be dark (since a goal is to light the place) but perhaps my monitor calibration is off, or maybe it is just too dark, so I will make the lighting brighter.

-things seem too perfect:
I am going to fix that with some better tile sets, with edge overlays.



Any more feedback?

I would like some ideas on how to make the life/mana indicators better/different since I personally do not like them.


Share this post


Link to post
Share on other sites
Guest Anonymous Poster
quel intéret d'une communauté qui ne partage pas les ressources ??

c'est quoi ce site ?

Cow !! Cow !! Cow !!

Share this post


Link to post
Share on other sites
que de parlez-vous ?
"of what do you speak?"


lol, any other comments preferably in english :-D

P.S. 'bad' english is okay too.

Share this post


Link to post
Share on other sites
Very diablo-esque, and rather nice looking.

However, I'd like to hear the reasoning behind the choice of colors for the two statistic bars (one red, one blue).

Share this post


Link to post
Share on other sites
Quote:
Original post by TANSTAAFL
Very diablo-esque, and rather nice looking.

However, I'd like to hear the reasoning behind the choice of colors for the two statistic bars (one red, one blue).


Speaking of the bars.. they're way too big. I'd rather have them along with the inventory down on the screen, and smaller.

Share this post


Link to post
Share on other sites
As for why they are red and blue,

tradition, red-life, blue-mana


we are investegating some alternative ways for displaying these, right now scripting is taking precidence though...

and i must say, my 8 hours of day-job game programming and my 6 hours of MW game programming are starting to catch up with me *yawn* we've been grinding away like madmen(and women) since dec 18th, doing aproximately 64 hours of work a week on it, (6 hours 5 days a week, 18 hours sat and 16 hours sun)

so, as i write this, im about ready to drop, lol.

thanks for the input, keep it coming :-)

Share this post


Link to post
Share on other sites
first - those pics are awesome, keep it up. and now for some random commentary ...
Quote:
-the screens are too dark:
technically they are supposed to be dark (since a goal is to light the place) but perhaps my monitor calibration is off, or maybe it is just too dark, so I will make the lighting brighter.

it's not that they're too dark, so much as that it's a depressing monotone - there's little/no/not enough contrast between areas of light and dark. the example i'm thinking of is a streetlight - a large cone of bright light with a multitude of vibrant colors within, but just utter blackness outside. think Gandalf in Moria.

and i'm in agreement that the life/mana bars would (might...) be better on the bottom. for some reason it's giving me the illusion i'm boxed in on the screen, but perhaps it's just because i'd like an unobstructed view of the terrain. as for the color, have you tried green for the mana ? a little Star-Warsish, i admit, but it seems like a viable color.

as for everything being to perfect - i can see that. i can't quite pin it down, but everything is so symmetrical. i called in some backup and had my little sister (12) stare at them, and she came up with (verbatim)
- "it's too "copy-cat"
- "too dark, need more color"
- "too bland"
- "you need to do more with them"
- "include some guillotines (dunno ... probably some random stuff)"
- "stuff needs to seem older (i told it's medieval); it looks like no one has
ever been there"
taking the last it'd be nice if, for instance, on the floor you can't tell where each and every tile is - maybe by including random cracks and smoothing the edges so they don't stand out. and maybe placing items in a non-symmetrical formation would help.

anyway, i understand you aren't using a 3d API, so most of that probably isn't worth the effort. at any rate, it looks good.

Share this post


Link to post
Share on other sites
The lighting is my biggest gripe. You need more lights, for starters. These scenes are far too bland. Colored lights would be great, and smooth lighting would be fantastic. If your engine supports OpenGL or Direct3D, interpolation will be free.

Ray-casting is computationally expensive. Perhaps you should look into lightmaps instead. Pre-process as much as you can, and only modify the lightmap when the local lighting change. (For the character light, you can probably XOR a smaller map on top of your existing lightmap.) Have you considered shadow maps to add depth to the scene? They wouldn't necessarily have to be dynamic to look good.

Less regularity in the graphics would help. Look at Diablo II: there's very little repetition, and none of it is apparent. Granted, the game is huge, but it looks beautiful.

Share this post


Link to post
Share on other sites
Looking good, Raymond.

Not much to add, I'd just like to reiterate the points previous posters made about the repetition of the graphics. IMO, that's one of the most important things needing to be taken care of. Little piles of dirt, grime-smeared stones, cracks and fissures and peeling paint can make all the difference in transforming a 'clean room' into something a little more true to life. Erode the edges of your wall stones, crack your floorstones, splatter a little blood and dirt and leaf mold and gunk across the ground. Go crazy with it. [grin] Granted, it can be hard to do well in a tile based game. That was one of the hardest things for me with Golem. But it is well worth the effort.

Share this post


Link to post
Share on other sites
Hi,
Some recommendations.

a. Add alpha blending to any object in front of you instead of dissapearing it. Even when its a wall. It makes easier for the player to understand why light block sometimes.

b. Reduce your tiles. If you are rendering by hand, try creating a diamond rendering function. It can speed up your rendering times in about a 40%.

c. If you manage to do b. Then switch to 48*24 or 32*16 tiles. The shadows on that tile size looks better.

d. If you manage to do c, try to project shadows from a light caster. Cant explay it... check my screenshots:
http://www.spritekin.com/kengine/screenshots/screen2large.jpg
http://www.spritekin.com/kengine/screenshots/screen1large.jpg

here the light is computed for each tile and any object in the path may block it so shadow cones are created for a nice light efect. I was using only Paletized DirectDraw (256 colors) in this version of my engine.

e. Try moving to 3D. Great improvement. Almost every computer now has some kind of 3D accelerator. Alpha blending and better light interpolation comes free as light can be computed for each corner of the diamond and interpolation is automatic. Any light color can be set. Your sprites can be tinted to any color and 256 alpha levels are a boon. A shot:
http://www.spritekin.com/kengine/screenshots/kengine3ddemo.jpg

I was still learning 3D but the conversion was really easy.

f. 3D allows you for z buffer. Once you get z buffer in your engine, creating a fog is easy.

Luck!
Guimo

Share this post


Link to post
Share on other sites
Ah... dont forget the shadows at you character feet. Very easy. Just render th graphics in a single black color but half height of your sprite. Yo may displace each line a little to the left or right in order to create a longer shadow. Render the shadow, then render the image. Nice effect.

Luck!
Guimo

Share this post


Link to post
Share on other sites
Hi, just wrote this post in another forum/thread and I recalled this one. So I send it here again, maybe its helpful.

-----------------------------------------------------------------
The idea is this:

a. All the light computations are done in 'world' space. In that space you use floating point coordinates. If you are using tiles your tiles will be square in this world space. It doen't matter if your game is isometric. World space is a top view of your game so they should be squares. If your engine is top view... it will be easier.

b. Select all the light emmitters that may create some king of illumination in your scene. Computations are heavy, so the more lights in scene, the slower it will be so use lights carefully.

c. Select all corners of the tiles and fill the in your light buffer. The light buffer is just a float 2D array with the dimensions of the viewable area. (say 10*10, 20*20 or anything. This array will hold the light contributions for each corner of each tile. In 2d apps this corner-light-buffer only requires a floating point number going from 0 to 1 (or any other limits you consider). In 3D based apps you can set each point to 3 floats in order to hold RGB light contributions. At the beginning, each float should be set to the value of the ambient light (usually 0 for a dark place).

d. For each corner compute the light contribution from each light affecting the scene (as you see, more lights, more computations). You may exclude many lights affecting a point by using a simple circle test or square test. Many optimizations available here.

d.1. In case you want more real light, more computations are required. Make a selection of any opaque objects currently in your view area. Opaque objects are those that you consider may block light like columns, doors or walls. Then, before processing the lights (as in d), make a subselection of opaque objects that are near each light. The same opaque object may be associated to more than one light depending the radius of the light. When you have these subgroups, each time you compute the light contribution to a point, you must check the line of light from the light source to the target point. If any opaque object is in the line, the light is considered blocked.

e. When all the process in c is finished, you have filled your light buffer. Lower values mean dark places. These values should be between 0 and 1. The average value of 4 corners is the overall color of the tile in case of 2D. In case of 3D just use the colors of each corner in orderand let the card interpolate the values for a nice shade effect.

f. Once you render the tiles, the objects in the scene can use the light information so they can be rendered lighter or darker.
-------------------------------------------------------------------------

Luck!
Guimo

Share this post


Link to post
Share on other sites
stormrunner:
thankfully :-) 12 year old girls arnt our target market :-D
but, thanks for the input :-)

Tom:
alot of the features you mentioned, we dont have the power to do, thanks for the comments though.

VertexNormal:
we've tried to do a little bit of that, i made a new cobblestone texture last night, that isnt so repetitive, and has an edge set, so i think it helps things, but i like your sugestion of making a bunch of 'detail tiles' basically like cracks and blood and etc. and then having us just go crazy with them, we'll probably do that at the start of the beta phase.

Guimo:
we dont have full access to 3D proccessing power, due to the fact that our game can be run on standard 2D api's

also, your lighting routine that you explained is esentially what we now use.


Hopefully, our assumptions are correct, in that these 'fair' graphics will be enough to get across the visual aspect of our story.

we dont tend to put alot of weight into graphics, mainly because the imagination, when properly massaged, tends to make things out to be more than they are (consider 320x240 old-school games).

so, we are relying on gameplay to take it home for us :-D



This has given me alot to go on, if there are any more comments feel free to make them, but please try to avoid re-iteration of other recomendations (i know, it's hard :-D)

Share this post


Link to post
Share on other sites
Quote:
Original post by EDI
stormrunner:
thankfully :-) 12 year old girls arnt our target market :-D
but, thanks for the input :-)

It's too bad, because that's one 12yo that's on the ball.

Share this post


Link to post
Share on other sites
I wouldn't dismiss the 12 yr. old girl market out of hand just yet. If the goal of a game is suspension of disbelief for a brief time, then you usually can't find a better target than children. They can suspend disbelief at the drop of a hat. If they don't find a game plausible, then it might be a good idea to know the reasons why, and to work on them. In fact, as a direct result of this thread I am considering making my various nieces and nephews integral parts of my testing network. I can't think of a better group of people to give me feedback on the 'intangibles' of making a game feel right. [grin]

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement