Book of Hook Forum Index Book of Hook
Also, I can kill you with my brain
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

New Article: Survey of Isometric Engine Development
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Book of Hook Forum Index -> Game Development
View previous topic :: View next topic  
Author Message
brianhook
Site Admin


Joined: 12 Dec 2003
Posts: 2521
Location: seattle, wa

PostPosted: Wed Aug 11, 2004 1:12 pm    Post subject: New Article: Survey of Isometric Engine Development Reply with quote

This is a first pass at trying to get my head wrapped around all the different issues with isometric engine development.

Survey of Isometric Engine Development
Back to top
View user's profile Send private message Send e-mail Visit poster's website
brianhook
Site Admin


Joined: 12 Dec 2003
Posts: 2521
Location: seattle, wa

PostPosted: Wed Aug 11, 2004 2:06 pm    Post subject: Reply with quote

I'll be adding more to this article over time, I'm sure, I just wanted a central dumping ground that isn't just forum threads as various concepts start to gel.

Right now the last major thing I'm really trying to figure out is what set of features I need. Modifiable terrain isn't a necessity, but multiple elevations is (for FFT:A type combat). I'd also like the ability to do something interesting visually, so interiors/bridges would be nice, but not desperate.

The two main style of game I'm looking at are FFT:A and Syndicate, which are different forms of isometric, but if I can unify them that would be great.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
brianhook
Site Admin


Joined: 12 Dec 2003
Posts: 2521
Location: seattle, wa

PostPosted: Fri Aug 13, 2004 12:37 pm    Post subject: Reply with quote

I think I've decided to go with a layered map approach, something along the lines of:
Code:

Tile tiles[ LAYERS ][ WIDTH ][ HEIGHT ];

In addition, for picking I think I'm going to use an object ID buffer (similar to a Z-buffer). This saves on projections/ray-casting but at the expense of more memory and longer rasterization times. And it has the advantage of being pixel-accurate.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Gus_Smedstad



Joined: 17 Dec 2003
Posts: 590
Location: Boston area, MA

PostPosted: Fri Aug 13, 2004 1:10 pm    Post subject: Reply with quote

brianhook wrote:
In addition, for picking I think I'm going to use an object ID buffer (similar to a Z-buffer).

This is fraught with problems because of the issues of selecting tiles that are hidden by objects, and selecting objects that are entirely hidden by other objects. The usual solution is to allow 90 degree rotations of the map. Some objects / tiles will always remain unselectable, which is of course another area where true 3D works better, because there's more freedom of camera movement.

When we addressed this we didn't have rotations, so we absolutely prohibited one tile obscuring another, and give tiles selection priority over objects in some circumstances. I.e. if creature A is standing in tile A, and creature B obscures creature A, you can select creature A if the mouse is over the tile A, even though creature B obscures tile A.

- Gus
Back to top
View user's profile Send private message Send e-mail
brianhook
Site Admin


Joined: 12 Dec 2003
Posts: 2521
Location: seattle, wa

PostPosted: Fri Aug 13, 2004 1:19 pm    Post subject: Reply with quote

Gus_Smedstad wrote:
When we addressed this we didn't have rotations, so we absolutely prohibited one tile obscuring another, and give tiles selection priority over objects in some circumstances.


Right. I think a decent heuristic is possible, but I've yet to prove that in practice. Since I'm going with a layered approach I'm going to have to think about this a bit more, since my previous (height based) solution was a lot more trivial for picking (picking any tile in a stack is effectively the same thing, whereas with layers two tiles in the same stack may be distinct locations).
Back to top
View user's profile Send private message Send e-mail Visit poster's website
brianhook
Site Admin


Joined: 12 Dec 2003
Posts: 2521
Location: seattle, wa

PostPosted: Fri Aug 13, 2004 3:39 pm    Post subject: Reply with quote

Screen shot of my rockin editor! Dig the awesome programmer art!


Back to top
View user's profile Send private message Send e-mail Visit poster's website
Gus_Smedstad



Joined: 17 Dec 2003
Posts: 590
Location: Boston area, MA

PostPosted: Fri Aug 13, 2004 3:43 pm    Post subject: Reply with quote

Agggh! Hot pink! My eyes!

Aside from that, it actually looks decent.

- Gus
Back to top
View user's profile Send private message Send e-mail
brianhook
Site Admin


Joined: 12 Dec 2003
Posts: 2521
Location: seattle, wa

PostPosted: Fri Aug 13, 2004 3:48 pm    Post subject: Reply with quote

Gus_Smedstad wrote:
Hot pink!


Hot pink is my standard "you seriously need to fix this" color. I remember back when I was doing early graphics programming people would clear their screens to black, but couldn't find bugs very easily (cracks, missing objects, etc.) They'd then step through the code trying to figure out their bugs. I started clearing to hot pink because any screwups were OBVIOUS, and more importantly, anything that was rendered black would at least show up in silhouette. In GL one of the most common bugs was to enable lighting without having any lights, or you'd set your vertex colors to black, etc.

Now that have a basic architecture in place, I should be able to mow through this pretty quickly. All the GUI elements are hand coded (I'm not using GDI or anything like that -- I'm doing all button logic, etc. myself), which adds time to development but will make this very portable in theory. Not like that's a huge concern, but shit, I'd rather handcode this than use MFC.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
rhanz



Joined: 16 Mar 2004
Posts: 147

PostPosted: Fri Aug 13, 2004 5:00 pm    Post subject: Reply with quote

Mmmmm... the old 'if it's going to be brokeass, make it OBVIOUSLY brokeass' approach. I agree wholeheartedly Smile
Back to top
View user's profile Send private message
misterorange_



Joined: 01 May 2004
Posts: 62
Location: Oak Ridge, TN

PostPosted: Fri Aug 13, 2004 5:34 pm    Post subject: Reply with quote

Nice stuff Brian, it looks like its progressing nicely Smile
_________________
Evan Erwin
http://www.misterorange.com
Back to top
View user's profile Send private message
FireMoth



Joined: 02 Jul 2004
Posts: 28

PostPosted: Tue Aug 17, 2004 8:58 am    Post subject: Reply with quote

Who are you writing this for?

Your audience is coming here for your experience in the industry and game design. If you're writing it for them they're lost.

People who want to make an isometric game most likely aren't coming here first, not to mention you're definitely not authoritative on the subject, and other material exists that explains it in more depth.

Seems to me the audience is yourself and you're just using it as a way to collect your thoughts. It feels out of place here (even though this is your personal site, oh irony)
Back to top
View user's profile Send private message AIM Address
BlueGhost



Joined: 01 May 2004
Posts: 257

PostPosted: Tue Aug 17, 2004 9:13 am    Post subject: Reply with quote

Given he's not trying to sell anything (that I'm aware of) does it actually matter? Smile
_________________
"You may not think it to look at me
But I've commanded armies, and conquered worlds..." - Double Life J Sinclair
Back to top
View user's profile Send private message
FireMoth



Joined: 02 Jul 2004
Posts: 28

PostPosted: Tue Aug 17, 2004 9:32 am    Post subject: Reply with quote

Well the body of my post dilutes it but I actually am asking the question "Who is this for?" and yeah it doesn't matter at all I'm just curious.
Back to top
View user's profile Send private message AIM Address
brianhook
Site Admin


Joined: 12 Dec 2003
Posts: 2521
Location: seattle, wa

PostPosted: Tue Aug 17, 2004 10:58 am    Post subject: Reply with quote

FireMoth wrote:
Seems to me the audience is yourself and you're just using it as a way to collect your thoughts. It feels out of place here (even though this is your personal site, oh irony)


In fact, most of my articles are written for myself specifically to collect my thoughts, good observation. Wink The reason I have this site is for those people that DO have an interest -- seriously, look at something like a review for my laptop, a review of Raven Shield, and then some articles on the economies of MMOGs, and there isn't much commonality.

So a good chunk of readership are just friends that have similar interests to my own, and another good chunk of readers are just transient visitors here for one article (like the Pyrogon postmortem).

The reason for posting this stuff instead of just writing it for myself is that very often I have conversations about these topics over and over and over and over...(especially the game design ones). Sometimes they're in e-mail, sometimes they're in message boards, etc. I got very frustrated when some of my better articles were made on a private message board, which prevented me from saying to someone "Hey, I wrote up some stuff about speed and game playability, check it out....SHIT!". So now anything I write I want to be in a public place that anyone can read.

I don't expect or want a lot of visitors, but I do like the intelligent conversation here. It's mostly just a personal outlet for a lot of thoughts about random stuff, and occasionally someone shows up and starts an interesting conversation, and then disappears just as quickly =)
Back to top
View user's profile Send private message Send e-mail Visit poster's website
FireMoth



Joined: 02 Jul 2004
Posts: 28

PostPosted: Tue Aug 17, 2004 11:05 am    Post subject: Reply with quote

Perhaps it only sticks out because this is the first article I've read of yours that is "How to" in nature, as opposed to your thoughts or perspectives on things which naturally are unique.
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic   Reply to topic    Book of Hook Forum Index -> Game Development All times are GMT - 5 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group