Debate - Isometric v. Tiled

Started by
18 comments, last by honds 22 years, 10 months ago
quote:Original post by honds

The hardest thing I see about iso is drawing the tiles that are on the edge of the map. Since unlike other graphics engines, if the sprite doesn''t fit entitely on the screen, it doesn''t get drawn at all, unless there is a way to work around that other than what I will inebitably do (create a RECT that selects the area to be rendered right up to the edge of the screen).

OpenGL, I don''t personally know about other API''s, will automatically clip primitives to the edges of the screen, so after occlusion (to filter out the completely offscreen sprites/tiles) you just let it handle the rest.

Resist Windows XP''s Invasive Production Activation Technology!
http://druidgames.cjb.net/ (If my website isn''t down, it''s a miracle!)
Advertisement
>
If I recall correctly, Blizzard did Starcraft with a normal perspective tile engine (i.e. not isometric). They tweaked it to look Iso. In the end, in a post-mortem type interview, they mentioned that it was a lot more work to do things this way, and if they had to do it over, they would have gone straight Iso.
<

Correct. On the other hand one of the age of empires developers mentioned how glad he was they used a proper 3D coordinate system right from the start. Doing all that fancy arrow trajectory stuff in the game would have been next to impossible otherwise.

neonstar:
> i''ve done the psuedo-iso approach before, and it''s a good bit easier to code for

Can you elaborate on this? I imagine it to be the other way around. I.e. 2D tilemap is easy, iso is harder and fake iso is the toughest/hackiest. What''s harder in real iso than in 2D is stuff like drawing order and maybe screen-to-world transform (i.e. the famous: what tile have I clicked proplem). Although I don''t really get the problem with the latter. It''s a trivial mathematical transform if you know just a little linear algebra (i.e. base-change matrices). No need for mouse-maps etc...

> Of course, he''s right about physics being harder

No he''s wrong. What method you use to display your stuff should have no impact on your physics calculations whatsoever. My engine uses a 3D coordinate system for all physics calculations and it''s straightforward and easy to use. You don''t have to worry about the display at all. My x,y coordinate axes are aligned with the iso axes and z is up. That way physics only have to deal with square tiles. Those calculations are not even aware of the fact the world will be displayed rotated by 45°...
Now if you try to fake iso perspective with square tiles you might get into trouble if that fake display makes it impossible for you to seperate display from physics code (very likely). So fake iso can only be harder for physics, not easier.

regards,
BuschnicK


Life would be much easier if I had the source code.
blackfish.sourceforge.net
Life would be much easier if I had the source code.blackfish.sourceforge.net
> My advice is to make it 3D, and then just position the camera to make it looks iso.

I would make it 3D if it weren''t for several reason. First, I already know hoe to program in 3D, the whole point of this particular project is to learn DirectDraw and make a great game in the process. Also, 3D never looks as crisp as 2D, with 3d you can have gaps and you have to worry about keeping the polygon count low, it is a pain. In addition, my artist is doing pre-rendered 3D so it is no use to have worse grapics and slower speed if I can just have pre-rended stuff and have even better graphics.

> On the other hand one of the age of empires developers mentioned how glad he was they used a proper 3D coordinate system right from the start. Doing all that fancy arrow trajectory stuff in the game would have been next to impossible otherwise.

From the begining I thought the best approach is to have 3D coordinents for the units and isometric coordinents for the terrain, then simply have a function that converts between the two. So you can use the iso coordinents just for terrain collision and manage the untits better with more precision. And the same unit-to-iso coordinent conversion can be easily used to get the tile the mouse is pointing to.

> If I recall correctly, Blizzard did Starcraft with a normal perspective tile engine (i.e. not isometric). They tweaked it to look Iso.

if that is true then how come StarEdit shows an isometric tile outline when in the map editor? Just for ease of use?

Andrew Curioso (honds)
You can do 2D orthgraphic viewport in Direct3D with D3DXMatrixOrthoLH, use this and set the view port to look at square tiles from a 45deg up and 45deg rotated and you will get what looks like the 2D isometric view of Civilization2. Orthographic gets rid of the 3D perspective, which iso doesnt have.

Possibility
And how can i do that? (with d3d?)

I*ve heared that it''s better to do iso engines with openGL than with ddraw is thart right?

Benjamin Block

MY HOMEPAGE

Benjamin Block

MY HOMEPAGE

I ran on this same exact problem with my game, but unlike you I didnt asked for advice, I just started coding with a normal perspective view (sort of) it was positioned as if the camera was righ over the player and looking down, with tiles being 40x40 . . . it didnt took time to realize that this kind of perspective SUCKS unless you are doing some football view from the blimp game, which I am not, so before going Iso, my artist proposed making the graphics on the tiles look iso w/o making em really iso, it was a bad idea, from the artist perspective because it was a lot more tiles for him to draw, once he had all the "floor" tiles drawn, then drawing the matching wall-floor tiles became an exponential effort, not to mention actually makin em fit when actually tiled. So in the end we decided to go iso all the way, we could had just saved us both a lot of time if we had done this from the beggining, but it was a great learning experience.
Of course my game is supposed to be a RPG where the characters and buildings look about the same size like they do in Diablo, if this is your aim, I would say by all means go with ISO and save yourself a lot of time.

my 2 cents
Hi

I know for a fact that Starcraft uses rectangular tiles to "mimic" Iso tiles (and yeah they also said it in interviews)

We are also useing this tehnique in our game "Hostile Encounter"
(www.hostileencounter.com)

and yeah its a little harder to grasp all aspects of doing so, but then again it has its advantages
- like very fast draw of complex looking maps
- easy coordinate systems
- simple engine code, allows multiple tilesets easy

problems are:
-drawing tiles so they match arhg pretty hard but for the artist ONLY

but a little 3D tweaking (in your renderer) can solve the problems

And the isotile in the Staredit is there for the editors needs (yeah fancy also) but dont forget: even IF u use rectangular tiles to draw (overlapped) Iso tiles ... its still an ISOMETRIC view at design time and the Map Editor is just that a DESIGN TOOL

the game engine knows nothing about ISO it just draws rectangular tiles all the way

and you can see in our screenshots (oh yeah in Starcraft also) they still look pretty well and seameless...







obysoft
If you want to use Direct3D (version 7 anyway, it may work for 8 as well) there''s a quick modify you can do to d3dutil.cpp which eliminates any extra overhead and speeds up the render as well (maybe). It makes it so that everything rendered has no perspective. It cuts down on the math quite a bit.

The tutorial is at my site
http://therabbithole.redback.inficad.com/tricks/orthogonal.html

Ben

In the StarCraft campaign editor, it shows your tile coordinates in the corner of the screen, and you can easily tell by moving the mouse around that it is a pseudo-iso view.
Well in my opinion, Id think that Isometrical are by far a very nice looking game and can offer many abilties and probably during our present time is the most "professional looking way of programming games" but then i also belive that tile is good cuz you can learn how it works so the newer programers arnt INCREADBLY confused thats my opion
--------------------------- X to da Z!

This topic is closed to new replies.

Advertisement