Lets talk Isometric

New releases and general discussions.

Post » Wed May 13, 2009 10:42 am

@ Rich
All right, added offset grid to the tracker. Although we dont really need it for iso, it would be a big help visually. Plus it could be used with other types of maps like hex.

@ Quasi
Yeah I figure we better start figuring out exactly what we need, just saying we need an iso behavior is going to leave things way to open, especially since there are so many ways to do it.
We need to start identifying any features, optimizations, before someone starts making a behavior.
Image Image
B
161
S
48
G
90
Posts: 7,356
Reputation: 66,767

Post » Wed May 13, 2009 11:47 am

iso movement, with elevation possibilities and iso path finding. those are basic things that it needs
B
52
S
7
G
6
Posts: 1,945
Reputation: 7,610

Post » Wed May 13, 2009 2:10 pm

Ok well one way to create an iso movement would be to use the grid behavior on a separate layer.
You then rotate that layer 45 degrees, and set its zoom to x= 200.
But any thing on that layer will be rotated, and scaled by twice its width.
[url:3v36ibv4]http://dl.getdropbox.com/u/666516/isogrid2.cap[/url:3v36ibv4]

I suppose you could compensate beforehand by rotating, and scaling the sprite.
Better would be to figure out how to have another layer set to normal, but the sprite would follow a dummy sprite on the rotated layer.
As you can see from the cap the sprite will get x,y from what ever layer its on regardless of what you tell it to follow.
Image Image
B
161
S
48
G
90
Posts: 7,356
Reputation: 66,767

Post » Wed May 13, 2009 8:33 pm

[quote="newt":3ur59io8]45 degrees[/quote:3ur59io8]
...30 degrees. Well, 35.264 degrees to be exact.
In any case, that'd work for floor tiles but anything with height looks crappy with that effect. It's not how isometrism works.
B
2
S
2
G
3
Posts: 193
Reputation: 1,636

Post » Wed May 13, 2009 9:53 pm

[quote="QuaziGNRLnose":1ufr9zeq]iso behaviour would be nice, since all iso stuff is pretty much doing the same thing.[/quote:1ufr9zeq]

Just occurred to me: wouldn't be the Grid Movement be really helpful here?
I tried and it lacks some really simple stuff to work.
-instant displacement if speed is set to zero (having a really large speed works but it's kind of inelegant).
-move vertically AND horizontally: currently you can tell it to move either vertically or horizontally. Custom grids can take any shape but they're regular and you can always fit them into a square grid with some redundance. In an iso grid you'd move 1down+1left, 1up+1right, 2left or 2right. The grid would be half the width of a tile and the height of a tile, centered on a tile.
With vertical+horizontal grid movement you can even do hexagonal tiles or any weird regular discrete mappings you can come up with. No idea about Z though if it's a multiple of tile height it would work with this too. Maybe a custom movement axis?

Perhaps this is simple enough to implement?
B
3
S
2
G
4
Posts: 1,445
Reputation: 4,665

Post » Thu May 14, 2009 12:46 pm

[quote="Dataflashsabot":uhyx82bk][quote="newt":uhyx82bk]45 degrees[/quote:uhyx82bk]
...30 degrees. Well, 35.264 degrees to be exact.
In any case, that'd work for floor tiles but anything with height looks crappy with that effect. It's not how isometrism works.[/quote:uhyx82bk]

It depends on the angle of the tiles, yes 30 degrees is the standard measurement, and 26.565 is for pixel perfect. You can set the angle to what ever you want, and adjust for it in the zoom.
Im not sure what you mean by effect, the angle, or layer rotation?

[quote="Madster":uhyx82bk][quote="QuaziGNRLnose":uhyx82bk]iso behaviour would be nice, since all iso stuff is pretty much doing the same thing.[/quote:uhyx82bk]

Just occurred to me: wouldn't be the Grid Movement be really helpful here?
I tried and it lacks some really simple stuff to work.
-instant displacement if speed is set to zero (having a really large speed works but it's kind of inelegant).
-move vertically AND horizontally: currently you can tell it to move either vertically or horizontally. Custom grids can take any shape but they're regular and you can always fit them into a square grid with some redundance. In an iso grid you'd move 1down+1left, 1up+1right, 2left or 2right. The grid would be half the width of a tile and the height of a tile, centered on a tile.
With vertical+horizontal grid movement you can even do hexagonal tiles or any weird regular discrete mappings you can come up with. No idea about Z though if it's a multiple of tile height it would work with this too. Maybe a custom movement axis?

Perhaps this is simple enough to implement?[/quote:uhyx82bk]

Yeah grid movement has exactly what we need for movement, just needs a few more commands to be useful.
Then again if you wanted a Diablo-esque type of game all you would need is the rts behavior.
That is if you use the layer rotation way I posted.
Image Image
B
161
S
48
G
90
Posts: 7,356
Reputation: 66,767

Post » Wed May 20, 2009 6:38 am

I'm making my own isometric engine and i can tell you now, the hardest thing to do is the Z sorting
Movement and height i've got done, collisions are almost done (bit of a physics problem)
But sorting has be completely stumped.
I've tried (Y + Z) / 2 which would -seem- logical but i suppose i'm also trying to make 2x2x2 size objects work with the same logic as 1x1x1 and it's not quite working as intended

There's no need for any other grid, you don't even actually have to have the typical diamond shape squares, the movement is the same regardless unless you're going for a more of a retro look
I'm using true isometric though rather than oldschool iso so the old '2 across, 1 up' doesn't exactly apply

basically, i've got a proper iso engine IF you don't want to have the Z axis. Sorting with the Z axis is a pain and if anyone can help me please do :D
B
3
S
2
G
5
Posts: 351
Reputation: 2,377

Post » Wed May 20, 2009 12:00 pm

Well... I made a little iso engine that seemed to deal with the Z order problem okay.

You just have a layer for each depth, and then order objects within each layer by their Y position. It's really limiting if you want to have completely variable heights (like how X and Y coordinates are continuous), but if you just want simple floors, it seems to work reasonably okay.

(I think there are probably at least six better ways to do it, but if you want to look at the engine, you can. This one only solves the problem for the character, but I was able to make one that updated all the terrain as needed, using a similar method.

http://dl.getdropbox.com/u/906550/iso%20demo.cap

I hated this engine so much that I scrapped it and started over, hoping to make something based on a built-in map editor. But nothing to show for that yet.)
B
5
S
2
G
4
Posts: 113
Reputation: 2,101

Post » Wed May 20, 2009 2:00 pm

That's pretty sweet bro, reminds me of fallout perspective + echochrome
I'm not sure if mine would work with your method as i'm having/going to have lots of variable heights (eg: moving elevators, jumping etc)

I've uploaded various caps over this engine's production, if anyone wants me to upload the newest one i can, however the problem is pretty much the same in all of them.
I was gonna say i don't like people stealing my code but i don't mind if you credit me if you use it
But i guess i just did lol

I've redone the graphics to be a little more consistant with the height variables and such that i was using. I made the graphics relatively hi res because you can zoom in with the mouse wheel and slow time with E and Q, i put those in for finding bugs
wasd for moving, player always turns towards mouse. I kinda like the idea of fps type controls in an iso game, allows for precision combat (when i put it in)

[url:3u9atvma]http://www.mediafire.com/?xyjvkxvtmo2[/url:3u9atvma]
B
3
S
2
G
5
Posts: 351
Reputation: 2,377

Post » Sat Jul 17, 2010 6:52 am

[quote="newt":13f6ayc6]Currently there is no real support for an isometric type of game, so I figure if we want it in the future we better start talking about what features are needed, and what can be done with what we already have.

To start off one feature I think would help out a bunch is a way to configure the grid to make it easier to place tiles. The thing is there are two problems with a grid like this. First off the grid would need two different sets of rows. One row starting at the edge of the layer, then the next offset by half a cell's size.

Secondly the ability to have tiles overlap. I suppose what would be needed is a way to force tiles to snap to grid points at hotspots, or image points.


Next the user would need a way to change the standard 8 directions, to compensate for the change in angles.

Now I realize this stuff can be done already with a few workarounds, Im just saying this stuff would help a lot. Feel free to add any other suggestions.

Also Im sure many of have seen the 3d proof of concept demo posted here many months ago.
[url:13f6ayc6]http://dl.getdropbox.com/u/666516/3dproofOfConcept.exe[/url:13f6ayc6]
Even though this isn't true isometric, I think its worth delving into for this type of game.
Im pretty sure the demo uses 3d boxes, so that means in order to use them there would have to be a few additions to that object, like the ability to find a certain face, and the ability to change textures on the fly, etc.[/quote:13f6ayc6]


I really don't like to bring up old post but newt do you happen to have the cap to this file.
if you don't can you make a new one please!
B
21
S
4
G
4
Posts: 280
Reputation: 2,934

PreviousNext

Return to Construct Classic Discussion

Who is online

Users browsing this forum: No registered users and 3 guests