Isömap

Showcase your libraries, tools and other projects that help your fellow love users.
User avatar
Darky
Citizen
Posts: 66
Joined: Sat Jun 02, 2012 1:41 pm
Contact:

Re: Isömap 0.065 released

Post by Darky »

the previous versions were prettier and more fluid. [edit] fixed with 0.067, isömap is awesome [/edit]
keep up the good work !
( especially for the free-move-version)
Last edited by Darky on Fri Dec 14, 2012 3:13 pm, edited 2 times in total.
http://darky-ben.fr/Xut my webcomic (french)
User avatar
micha
Inner party member
Posts: 1083
Joined: Wed Sep 26, 2012 5:13 pm

Re: Isömap 0.065 released

Post by micha »

The rotation is awesome!! Can you also make it rotate around the z-axis?

I will have a look at the free movement version later.
User avatar
Roland_Yonaba
Inner party member
Posts: 1563
Joined: Tue Jun 21, 2011 6:08 pm
Location: Ouagadougou (Burkina Faso)
Contact:

Re: Isömap 0.065 released

Post by Roland_Yonaba »

Gosh, I am following this since the start, and I am still like: Image ...
Great job, keep it up! :awesome:
User avatar
Saegor
Party member
Posts: 119
Joined: Thu Nov 08, 2012 9:26 am
Location: Charleroi

Re: Isömap 0.065 released

Post by Saegor »

Darky wrote:the previous versions were prettier and more fluid.
keep up the good work !
( especially for the free-move-version)
movements will be freed after i'm sure i will not apply big changes to the engine code, because the two last attempts to implement it were two fails :(
micha wrote:The rotation is awesome!! Can you also make it rotate around the z-axis?

I will have a look at the free movement version later.
no, the code has several limitations that i can't break for now
the grid drawing calculation formula is something like

Code: Select all

x = (gx-gy)/tw
y = (gx+gy)/th - gz*tz
where x and y are the drawing coordonees, gx, gy and gz are the space grid position and tw and th are the width and the heigth of the tile and tz is the Z offset applied to simulate the vertical dimension. i think it's not very complex for now but if i want to add Z rotation i will have to add some more parameters to the main formula... mmh maybe later
Roland_Yonaba wrote:Gosh, I am following this since the start, and I am still like: Image ...
Great job, keep it up! :awesome:
thanks man for your encouragements !!
Current work : Isömap
wssmith04
Prole
Posts: 28
Joined: Sat Nov 10, 2012 9:02 pm

Re: Isömap 0.071 released

Post by wssmith04 »

Very cool and inspiring!!! ^^
--Will
osa1
Prole
Posts: 29
Joined: Sat Jun 30, 2012 7:51 am

Re: Isömap 0.065 released

Post by osa1 »

Saegor wrote:
micha wrote:The rotation is awesome!! Can you also make it rotate around the z-axis?

I will have a look at the free movement version later.
no, the code has several limitations that i can't break for now
the grid drawing calculation formula is something like

Code: Select all

x = (gx-gy)/tw
y = (gx+gy)/th - gz*tz
where x and y are the drawing coordonees, gx, gy and gz are the space grid position and tw and th are the width and the heigth of the tile and tz is the Z offset applied to simulate the vertical dimension. i think it's not very complex for now but if i want to add Z rotation i will have to add some more parameters to the main formula... mmh maybe later
so I spent some time reading the code(I'm working on something similar) and as far as I understand, you can add rotating around z-axis by changing `rhombus` function in engine.lua. I think you have to add a parameter like `angle` which will specify rotation around z-axis, then by rotating 8 points you're generating in `rhombus` function, you can emulate rotation(I mean by rotating 8 points around tile's center, which is specified by `rhombus` functions's `x` and `y` parameters).

I'm not sure if you'll need to change `offset` too, but I don't think it's necessary. I'll be hacking on your code in a few hours and will post here if I can manage to implement rotations around Z axis.

EDIT: later I realized you should also change some other functions because tiles' coordinates on screen will also be changed. Hmm ..

Can you explain what does `axono` function do ?
User avatar
Lafolie
Inner party member
Posts: 809
Joined: Tue Apr 05, 2011 2:59 pm
Location: SR388
Contact:

Re: Isömap 0.071 released

Post by Lafolie »

I really like this. I'm planning on making the visual element of my game isometric, this is great inspiration. I especially like the ability to shift the viewing angle; I suspect this is achieved through manipulation of the way the map is rendered (using primitives). I wonder, is this sort of mechanic realistically achieve-able with sprites too. I guess you could map textures to the primitives, but I imagine there is a more effective way to do this, rather than almost simulating 3D polygons.
Do you recognise when the world won't stop for you? Or when the days don't care what you've got to do? When the weight's too tough to lift up, what do you? Don't let them choose for you, that's on you.
osa1
Prole
Posts: 29
Joined: Sat Jun 30, 2012 7:51 am

Re: Isömap 0.071 released

Post by osa1 »

Lafolie wrote:I really like this. I'm planning on making the visual element of my game isometric, this is great inspiration. I especially like the ability to shift the viewing angle; I suspect this is achieved through manipulation of the way the map is rendered (using primitives). I wonder, is this sort of mechanic realistically achieve-able with sprites too. I guess you could map textures to the primitives, but I imagine there is a more effective way to do this, rather than almost simulating 3D polygons.
changing viewing angle is handled by manipulating sprite's height and width values. it has no camera or any rendering tricks, it just makes sprites wider and shorter and it looks like we're zooming. here's the relevant code:

Code: Select all

    if ke.isDown("r")
            and tile_h < h_zoom_max then
        tile_w = tile_w + dt * zoom * w_change
        tile_h = tile_h + dt * zoom * h_change
        tile_z = tile_z - dt * zoom * z_change

    elseif ke.isDown("e")
            and tile_h > h_zoom_min then
        tile_w = tile_w - dt * zoom * w_change
        tile_h = tile_h - dt * zoom * h_change
        tile_z = tile_z + dt * zoom * z_change
    end
I think this engine needs a real camera to map some game world points to screen points depending on angle and distance, for now it can't be used anything other than simple tiles.
User avatar
micha
Inner party member
Posts: 1083
Joined: Wed Sep 26, 2012 5:13 pm

Re: Isömap 0.071 released

Post by micha »

Lafolie wrote:I really like this. I'm planning on making the visual element of my game isometric, this is great inspiration. I especially like the ability to shift the viewing angle; I suspect this is achieved through manipulation of the way the map is rendered (using primitives). I wonder, is this sort of mechanic realistically achieve-able with sprites too. I guess you could map textures to the primitives, but I imagine there is a more effective way to do this, rather than almost simulating 3D polygons.
If your sprites only consist of faces orthogonal to the coordinate axes (x,y and z) then this is possible and not too difficult. If you have arbitrary shapes, there is no simple way to implement this without using proper 3d polygons, as you say.
User avatar
Lafolie
Inner party member
Posts: 809
Joined: Tue Apr 05, 2011 2:59 pm
Location: SR388
Contact:

Re: Isömap 0.071 released

Post by Lafolie »

Well my visual element is non-existent at the moment. Obviously I have a temporary display until the game is sorted, so I can write the classes to work in whatever way is optimal.

So if I am to use this technique, it would be best to use 'traditional' orthogonal tiles and not isometric tiles? That would actually make some parts of content creation much easier. Most interesting.
Do you recognise when the world won't stop for you? Or when the days don't care what you've got to do? When the weight's too tough to lift up, what do you? Don't let them choose for you, that's on you.
Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests