Java-Gaming.org Hi !
 Featured games (84) games approved by the League of Dukes Games in Showcase (574) Games in Android Showcase (154) games submitted by our members Games in WIP (620) games currently in development
 News: Read the Java Gaming Resources, or peek at the official Java tutorials
Pages: [1]
 ignore  |  Print
 Thoughts on 2D isometric perspective?  (Read 3660 times) 0 Members and 1 Guest are viewing this topic.
Eli Delventhal

JGO Kernel

Medals: 42
Projects: 11
Exp: 10 years

Game Engineer

 « Posted 2009-05-06 19:19:44 »

Hey guys.

I've got 2D isometric in a game, and I was just wondering peoples' thoughts on how they preferred to achieve it. Here's what I did:

1) Rotate 45 degrees.
2) Scale Y by tan(30) (creates 30/60/90 triangles in each grid space, ~0.57).

Doing the whole tan(30) thing doesn't really optimize much, it just uses a known triangle shape so that any subsequent calculations I can know the length of the hypotenuse etc. from the top of my head. As of now, that hasn't been useful at all.

I was looking at images at some past 2D isometric games, and one I found with clear grid spacing was Sim City 2000. In it, it looks like they do this:

1) Rotate 45 degrees.
2) Scale T by 1/2.

I discovered this by looking at a screenshot of the game, where a grid space is 32 pixels wide and 16 pixels tall.

A classic game I really enjoyed called Nethergate looks to have used 2/3 as the height scale. A more recent RPG I played, Eschalon, looks like it used 1/2.

The common theme is that people appear to have accomplished this pseudo-3D look is by rotating 45 degrees and then squishing everything vertically (or stretching everything horizontally, whichever you want to call it). My question and discussion topic to you all is this: what have you guys tried in order to achieve this effect? Have you used different scaling values? Do you do it some other way? Why do you think different people made varying choices for the height? The more it's squished, the more you can see on the screen at one time. Do you think that the game genre determines the squish amount, or do you think it's simply preference? The closer the squish ratio gets to 0, the more it looks like you're looking directly at a horizon level, and the closer it gets to 1, the closer you get to a straight-up bird's eye view.

Etc. etc.

See my work:
OTC Software
Mike

« JGO Spiffy Duke »

Medals: 143
Projects: 1
Exp: 6 years

Java guru wannabe

 « Reply #1 - Posted 2009-05-06 20:08:21 »

I did it just like sim city apparently. rotate 45 degrees and squeeze it with 50%. I tried different values but I thought it ended up looking nicest like that.

My current game, Minecraft meets Farmville and goes online
State of Fortune | Discussion thread @ JGO
pjt33

« JGO Spiffy Duke »

Medals: 40
Projects: 4
Exp: 7 years

 « Reply #2 - Posted 2009-05-07 07:51:51 »

One factor affecting the scaling parameter is pixel art. I think that's probably the reason for a lot of games choosing 1/2.
SwampChicken
 « Reply #3 - Posted 2009-05-07 08:22:36 »

Thoughts on 2D isometric perspective?

.....It's my absolute favourite gaming platform.

oNyx

JGO Coder

Medals: 2

pixels! :x

 « Reply #4 - Posted 2009-05-07 08:34:46 »

A good article:
http://www.compuphase.com/axometr.htm

Personally I think that iso stuff looks nice, but doesn't actually work that well in most games that use it.

Eli Delventhal

JGO Kernel

Medals: 42
Projects: 11
Exp: 10 years

Game Engineer

 « Reply #5 - Posted 2009-05-07 18:21:44 »

Brilliant link. Definitely does a great job of explaining the math of each perspective.

See my work:
OTC Software
Wildern

Junior Devvie

 « Reply #6 - Posted 2009-05-08 14:32:49 »

You may also find this site very useful.
http://reinerstileset.4players.de/englisch.html
Eli Delventhal

JGO Kernel

Medals: 42
Projects: 11
Exp: 10 years

Game Engineer

 « Reply #7 - Posted 2009-05-11 07:26:22 »

You may also find this site very useful.
http://reinerstileset.4players.de/englisch.html
Thanks, man.

See my work:
OTC Software
Pages: [1]
 ignore  |  Print

You cannot reply to this message, because it is very, very old.

 Riven (32 views) 2015-04-16 10:48:47 Duke0200 (43 views) 2015-04-16 01:59:01 Fairy Tailz (33 views) 2015-04-14 20:13:12 Riven (35 views) 2015-04-12 21:36:37 bus hotdog (50 views) 2015-04-10 02:39:32 CopyableCougar4 (52 views) 2015-04-10 00:51:04 BurntPizza (52 views) 2015-04-06 22:06:58 ags1 (54 views) 2015-04-02 10:58:48 Riven (53 views) 2015-04-01 18:27:05 ags1 (70 views) 2015-03-31 10:55:12
 theagentd 27x BurntPizza 16x wessles 15x 65K 11x kingroka123 11x Rayvolution 11x alwex 11x KevinWorkman 9x kevglass 8x phu004 8x Hanksha 7x Olo 7x ra4king 7x Ecumene 7x Roquen 7x chrislo27 7x
 How to: JGO Wikiby Mac702015-02-17 20:56:162D Dynamic Lighting2015-01-01 20:25:42How do I start Java Game Development?by gouessej2014-12-27 19:41:21Resources for WIP gamesby kpars2014-12-18 10:26:14Understanding relations between setOrigin, setScale and setPosition in libGdx2014-10-09 22:35:00Definite guide to supporting multiple device resolutions on Android (2014)2014-10-02 22:36:02List of Learning Resources2014-08-16 10:40:00List of Learning Resources2014-08-05 19:33:27
 java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org