### Author Topic: 3D in Axe - Isometric Projection  (Read 16426 times)

0 Members and 1 Guest are viewing this topic.

#### MGOS

• LV6 Super Member (Next: 500)
• Posts: 336
• Rating: +95/-0
##### 3D in Axe - Isometric Projection
« on: April 27, 2012, 10:39:18 am »
Since I always wanted to make some 3D ish stuff in axe, I tried to figure out how isometric graphics work and made a whole bunch of functions to draw pseudo 3D tiles on the screen and to display an 8x8x8 bit array as a model made from little cubies.
It supports 3-level greyscale.

I will post code or a tutorial later if you are interested, this is just a preview of my upcoming stuff and what I've done so far.

?    ?    ?    ?    ?
Spoiler For the interesting stuff:
My editor for a 3D map:

The grey is better on calc.

« Last Edit: November 16, 2013, 02:09:03 pm by MGOS »

#### Hayleia

• Programming Absol
• Coder Of Tomorrow
• LV12 Extreme Poster (Next: 5000)
• Posts: 3367
• Rating: +393/-7
##### Re: 3D in Axe - Isometric Projection
« Reply #1 on: April 27, 2012, 11:35:33 am »
Interesting
What do you plan to do with it if everything goes well ?
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

#### MGOS

• LV6 Super Member (Next: 500)
• Posts: 336
• Rating: +95/-0
##### Re: 3D in Axe - Isometric Projection
« Reply #2 on: April 27, 2012, 11:52:44 am »
The next thing would be an Tilemapper, and then I will try to convert other stuff to this perspective, like buildings or vehicles.
A huge advantage is that this routine is incredibly fast (it uses only add, subtract and shift operations) so even complex stuff can be displayed with still an decent speed. The main speed problem are indeed the calculations to detect what is displayed first, what next etc. In my 3D editor program I always draw everything, so with the number of cubies the speed drops.
« Last Edit: April 27, 2012, 11:53:34 am by MGOS »

#### hellninjas

• LV7 Elite (Next: 700)
• Posts: 625
• Rating: +17/-0
##### Re: 3D in Axe - Isometric Projection
« Reply #3 on: April 27, 2012, 12:01:58 pm »
ehem... C&C in Axe!

I like the way this looks, and can't wait for the tutorial or download ^^!

#### MGOS

• LV6 Super Member (Next: 500)
• Posts: 336
• Rating: +95/-0
##### Re: 3D in Axe - Isometric Projection
« Reply #4 on: April 27, 2012, 12:21:12 pm »

Keys:
 Horizontal cursor movement: vertical cursor movement: Add block:Remove block:Clear all:Calculate random terrain (in progress):   Exit without deleting: Keypad 7|8|4|5 (just like the directions in the space)+ (deeper) - (higher)2nd (Hold and move for staight lines)ALPHADELMATHCLEAR
Because of the lag if there are many blocks, you sometimes need to hold a key instead of just a short click.

The model is saved to the first 64 bytes of L1, so it stays if you leave.
The Axe app and other programs use this space, so you can get some interesting shapes (e.g. if you compile).

#### Xeda112358

• they/them
• Moderator
• LV12 Extreme Poster (Next: 5000)
• Posts: 4704
• Rating: +719/-6
• Calc-u-lator, do doo doo do do do.
##### Re: 3D in Axe - Isometric Projection
« Reply #5 on: April 27, 2012, 12:22:06 pm »
Wow, this is great, nice job!

#### willrandship

• Omnimagus of the Multi-Base.
• LV11 Super Veteran (Next: 3000)
• Posts: 2953
• Rating: +98/-13
• Insert sugar to begin programming subroutine.
##### Re: 3D in Axe - Isometric Projection
« Reply #6 on: April 27, 2012, 02:31:51 pm »
hmm...what about having the graphics ala civilization 2? Basically, Isometric tiles with regular tiles set on top, overlapping the tops of the above tiles, but not below.

#### Xeda112358

• they/them
• Moderator
• LV12 Extreme Poster (Next: 5000)
• Posts: 4704
• Rating: +719/-6
• Calc-u-lator, do doo doo do do do.
##### Re: 3D in Axe - Isometric Projection
« Reply #7 on: April 27, 2012, 02:43:30 pm »
Oh wow, I never noticed program was uploaded because you ninja'd me Still, cool! I want to see if I can make something similar in Grammer I think I can make it not slow down no matter how many blocks there are.

#### MGOS

• LV6 Super Member (Next: 500)
• Posts: 336
• Rating: +95/-0
##### Re: 3D in Axe - Isometric Projection
« Reply #8 on: April 27, 2012, 03:32:47 pm »
I want to see if I can make something similar in Grammer I think I can make it not slow down no matter how many blocks there are.

Intresting. The basic way of transforming (X|Y|Z) (Z is depth) to (A,B) on the screen is:
Code: [Select]
A = 2 * (Ymax + X - Y)B = X + Y + 2 * Z

#### LincolnB

• Check It Out Now
• LV9 Veteran (Next: 1337)
• Posts: 1115
• Rating: +125/-4
• By Hackers For Hackers
##### Re: 3D in Axe - Isometric Projection
« Reply #9 on: April 27, 2012, 08:03:58 pm »
Looks really good, I'll have to check out the source sometime.
Completed Projects:
>> Spacky Emprise   >> Spacky 2 - Beta   >> Fantastic Sam
>> An Exercise In Futility   >> GeoCore

My Current Projects:

Projects in Development:
In Medias Res - Contest Entry

Talk to me if you need help with Axe coding.

Spoiler For Bragging Rights:
Not much yet, hopefully this section will grow soon with time (and more contests)

#### Yeong

• Not a bridge
• LV12 Extreme Poster (Next: 5000)
• Posts: 3739
• Rating: +278/-12
• Survivor of Apocalypse
##### Re: 3D in Axe - Isometric Projection
« Reply #10 on: April 27, 2012, 11:04:43 pm »
now can you implement bigger cube? if you do? maybe someone can make FFT...
Sig wipe!

#### MGOS

• LV6 Super Member (Next: 500)
• Posts: 336
• Rating: +95/-0
##### Re: 3D in Axe - Isometric Projection
« Reply #11 on: April 28, 2012, 02:12:25 am »
now can you implement bigger cube? if you do? maybe someone can make FFT...

You can implement whatever you want. That's the strength of this method.
The problem is that you need twice as much data for an isometric tilemapper than for a normal (viewn from above, 3-level grey) tilemapper, even though the size of the tiles is the same. The cuby needs atm 48 bytes of data. If you made a flat isometric tilemapper, each (8x8) tile would need 32 bytes of data. You can imagine that an 8x8x8 pixel rough terrain tile or a character would need then 64 bytes.

I'm now gonna try to make a flat tilemapper.

#### Sorunome

• Fox Fox Fox Fox Fox Fox Fox!
• Support Staff
• LV13 Extreme Addict (Next: 9001)
• Posts: 7920
• Rating: +374/-13
• Derpy Hooves
##### Re: 3D in Axe - Isometric Projection
« Reply #12 on: April 28, 2012, 10:21:46 am »
That looks pretty cool, the 3D tile-mapper O.o
 THE GAMEAlso, check out my websiteIf OmnomIRC is screwed up, blame me!Click here to give me an internet!

#### DJ Omnimaga

• Clacualters are teh gr33t
• CoT Emeritus
• LV15 Omnimagician (Next: --)
• Posts: 55933
• Rating: +3153/-232
• CodeWalrus founder & retired Omnimaga founder
##### Re: 3D in Axe - Isometric Projection
« Reply #13 on: April 28, 2012, 01:28:57 pm »
Question, how is the speed if you make the map larger and allow tile-by-tile scrolling?

I remember people worked on such games before, but unfortunately they had problems with speed. I'm sure it can be done to run quite fast, but I am curious how.

Looks nice by the way!

#### MGOS

• LV6 Super Member (Next: 500)
• Posts: 336
• Rating: +95/-0
##### Re: 3D in Axe - Isometric Projection
« Reply #14 on: April 28, 2012, 01:38:38 pm »
The tilemapper isn't finished yet, but I'm able to display a tilemap and scrolle up/down and right/left. The main problem I have to solve is to detect which group of tiles actually needs to be drawn. Because I have a rectangular frame, it could be possible using an array mask with the coordinate offsets to one corner to move the whole map. This would need a lot of data, but once you figured out how that works, it'd be super fast I guess.
« Last Edit: April 28, 2012, 01:39:38 pm by MGOS »