Omnimaga

Calculator Community => TI Calculators => Axe => Topic started by: Matrefeytontias on December 17, 2012, 03:49:28 pm

Title: What can be done in Axe in 3D ?
Post by: Matrefeytontias on December 17, 2012, 03:49:28 pm
Hi guys,

After WiredWorks, I've got pretty interested in 3D stuffs, so I wondered what could be done in Axe which is related to 3D.

I have already tested vertices with WiredWorks, raycasting is also already done (by several people), so what remains ? Do you think it's possible to do voxel, and if yes, do you have a tutorial for that (I googled it and didn't found) ?

Btw, you can just enumerate all the 3D techniques that comes to your mind :P
Title: Re: What can be done in Axe in 3D ?
Post by: stevon8ter on December 17, 2012, 04:12:00 pm
4D!!!!

Nah joking, no i don't really know, maybe it should be an interesting idea to build a game around a 3D engine...? A little game...?
Title: Re: What can be done in Axe in 3D ?
Post by: leafy on December 17, 2012, 04:13:24 pm
A lot of them aren't feasible with higher accuracy and faster speeds. Still, you should take WiredWorks further and see if you can add flood-filling or textures for faces.
Title: Re: What can be done in Axe in 3D ?
Post by: Matrefeytontias on December 17, 2012, 04:15:15 pm
Yeah I could do that, but the question is "what 3D ?" Raycasting (I prefer not), voxel, others ? (yeah I'm mainly asking for these "others" and what they can be).
Title: Re: What can be done in Axe in 3D ?
Post by: stevon8ter on December 17, 2012, 04:17:50 pm
Hmmm idk :/
Sorry
Title: Re: What can be done in Axe in 3D ?
Post by: Matrefeytontias on December 17, 2012, 04:23:07 pm
@leafy oh, didn't see your post when answering :P (thanks android).

I figured that, but I'm afraid that I don't have the required math skills to do that :/ but if you can link a tutorial you think helpful, please do and I'll see what can be done (yeah, I love tutorials).
Title: Re: What can be done in Axe in 3D ?
Post by: DJ Omnimaga on December 17, 2012, 04:23:58 pm
Raycasting is possible with Runer112's axiom (unreleased). He also made a pure Axe raycaster before, which ran at decent speed, but not fast enough for a game like Gemini. There were a few other community raycasters, but most didn't come to fruition it seems.

As for true 3D I don't know.
Title: Re: What can be done in Axe in 3D ?
Post by: tr1p1ea on December 17, 2012, 05:53:14 pm
Id say just experiment. Any 3D is good 3D!
Title: Re: What can be done in Axe in 3D ?
Post by: Matrefeytontias on December 18, 2012, 02:22:33 am
Yeah, of course I should experiment, but I don't know what D: I'm asking people for the 3D techniques they know just because I don't know any.
Title: Re: What can be done in Axe in 3D ?
Post by: DJ Omnimaga on December 18, 2012, 02:24:02 am
Just don't try to port nDoom to z88dk/SDCC C. :P
Title: Re: What can be done in Axe in 3D ?
Post by: TIfanx1999 on December 18, 2012, 02:27:30 am
Raycasting, mode 7, and isometric 3d should all be decent options.
Title: Re: What can be done in Axe in 3D ?
Post by: Matrefeytontias on December 18, 2012, 02:39:56 am
Like I said, raycasting is already done, like Runer112 said on IRC :

Quote
Runer112    I do not believe mode 7 is a viable option for Axe
Runer112   Axe is not very good at drawing pixel by pixel
Runer112   especially with crazy math involved

And I already tried some isometric stuffs without that great of success.
Title: Re: What can be done in Axe in 3D ?
Post by: DJ Omnimaga on December 18, 2012, 03:26:20 am
I think good speed in Axe other than maybe raycasting (unless TheMachine02's game isn't raycasting) is virtually impossible unless someone writes a 3D axiom.

That said, how dare you say that to tr1p1ea XiiR3CR34T10N? He has been doing TI-83+ ASM for 9 years (he's the guy who made xLIB and Desolate (and is remaking it in 8 LV grayscale), so he knows very well what he is talking about regarding calc limitations. I'M not saying you don't, but he has done calc programming for far longer than you to know what is possible or not on a calc. And even if he doesn't do Axe, he knows Matrefeytontias is very experienced in it (he even got featured programs on ticalc.org) and maybe he could manage to achieve something fast enough. It's hard to do anything complex if you have only coded Axe for a month or two.
Title: Re: What can be done in Axe in 3D ?
Post by: XiiDraco on December 18, 2012, 03:38:58 am
It was a joke Implying the inexperience of me. I did not mean to offend anyone.
Title: Re: What can be done in Axe in 3D ?
Post by: DJ Omnimaga on December 18, 2012, 03:42:48 am
Ok be careful with that, since sarcasm doesn't translate well to text medium (unless you use smileys or are really sarcastic)
Title: Re: What can be done in Axe in 3D ?
Post by: V1mes on December 18, 2012, 05:58:44 am
Ok, this was what I found. I'll try and look for some tutorials too.

http://en.wikipedia.org/wiki/Scanline_rendering (http://en.wikipedia.org/wiki/Scanline_rendering)
http://en.wikipedia.org/wiki/Volume_rendering (http://en.wikipedia.org/wiki/Volume_rendering)

As for the voxel tutorial, this is what I found:
http://www.advsys.net/ken/voxlap/voxlap05.htm (http://www.advsys.net/ken/voxlap/voxlap05.htm)
http://www.flipcode.com/voxtut/ (http://www.flipcode.com/voxtut/)
https://sites.google.com/site/letsmakeavoxelengine/ (https://sites.google.com/site/letsmakeavoxelengine/)

Hope this helps. Also let us know what you decide to do, can't wait to see some results  ;D
Title: Re: What can be done in Axe in 3D ?
Post by: tr1p1ea on December 18, 2012, 05:58:13 pm
Oops sorry guys my bad :(.

Matrefeytontias: Do you mean what other 3D stuff can be done using your 3D engine? Or what other 3D stuff can be done in general?

Perhaps you could try expanding your WiredWorks engine so that can handle a 3D Environment with multiple objects and such? That would be cool.
Title: Re: What can be done in Axe in 3D ?
Post by: TheMachine02 on December 19, 2012, 03:16:26 am
I think good speed in Axe other than maybe raycasting (unless TheMachine02's game isn't raycasting) is virtually impossible unless someone writes a 3D axiom.

well,well...
as I said before, I use a combinaison of vexel and raycasting, so I manage to have some speed, and texture, etc...
after the contest, I will try to speed it up again, to add more efficienty texturing, and Y rotation : for me, it's enough to do a good game.
Title: Re: What can be done in Axe in 3D ?
Post by: DJ Omnimaga on December 19, 2012, 03:21:23 am
Ah ok thanks for the info :)
Title: Re: What can be done in Axe in 3D ?
Post by: Matrefeytontias on December 20, 2012, 11:06:26 am
So, I've looked into your links @V1mes, and didn't found anything really helpful. The Wikipedia entries only explains the main goal of the techniques and the voxels tutorial either use a 3D library or are concept-oriented.

Let's point out what I really want to do : after some researches (unsuccessful of course), it appears that I want to build a voxel engine from scratch ; not necessarily in Axe for the moment, but I want to be able to build one and then eventually to port it to Axe.

I looked for tutorials that don't use any 3D libraries and that explains the theory with examples (the exact concept of the Site Du Zéro in fact), but as you might guess I didn't found anything (but it's maybe because I don't understand English as good as I understand French :P ). So if you know something that can be helpful for me, just point it out.
Title: Re: What can be done in Axe in 3D ?
Post by: shmibs on December 21, 2012, 03:09:05 pm
a voxel engine is actually easier to make than an arbitrary polygon engine because the only allowed shape is a cube, and they are all the exact same size. talk to the fellow making the nspire minecraft clone in lua (names escape me at the moment, for some reason =/), as that is just a voxel engine. the important concepts to understand are drawing order, culling, and clipping.
Title: Re: What can be done in Axe in 3D ?
Post by: ben_g on December 21, 2012, 05:21:32 pm
I just programmed a simple voxel/isometric engine from scratch that works decently. As long as the world doesn't get updated a lot, it should be fast enough for calcs as well. Unfortunately, it can only show the world in a fixed isometric persfective. If you mess around with it a bit, the best you could get is isometric with 4 possible camera angles (northeast, southeast, southwest and northwest).

If you want, I can send you the algorithms.

EDIT: screenshot of how it looks on a computer:
(http://picturestack.com/132/85/ZtlUntitledYoN.png)
Title: Re: What can be done in Axe in 3D ?
Post by: Matrefeytontias on December 22, 2012, 06:34:29 am
Oh, the time you posted the screenshot I've done something similar :P

(http://mattias.refeyton.fr/espace-ti/isometric3D/isometry1.gif)

This program is less than 1K, including all the datas (so the engine itself might be around 850 bytes).

EDIT : attached the source
Title: Re: What can be done in Axe in 3D ?
Post by: DJ Omnimaga on January 23, 2013, 03:20:20 pm
Something like Marble Madness using something like the above would be nice. Or Final Fantasy Tactics, but that would be a huge project to take on >.<

Would such engine be fast enough for the calc to handle the golf game Kirby Bowl/Dream Course?
Title: Re: What can be done in Axe in 3D ?
Post by: tr1p1ea on January 23, 2013, 03:52:19 pm
Well there are marble madness clones on the TI-83 however thats stepping away from the voxel-idea imo. Here are 2 examples:

http://www.ticalc.org/archives/files/fileinfo/58/5835.html
http://www.ticalc.org/archives/files/fileinfo/214/21464.html

It would be very interesting to see a voxel engine on the z80 calcs. There is one on the 68k calcs however:

http://www.ticalc.org/archives/files/fileinfo/333/33316.html

Title: Re: What can be done in Axe in 3D ?
Post by: DJ Omnimaga on January 23, 2013, 04:08:06 pm
Actually the above by Ben_g and Materey is more Isometric it seems. But yeah a voxel engine would be nice on the z80 models. Also the animated screenshots for the 68K one is much faster than on the real calc if I remember, so maybe on a 84+ it might be a tad slow to be playable. It wouldn't hurt to try, though.
Title: Re: What can be done in Axe in 3D ?
Post by: Sorunome on January 23, 2013, 06:54:51 pm
That are pretty awesome 3D progs O.o
Title: Re: What can be done in Axe in 3D ?
Post by: ben_g on January 24, 2013, 02:59:26 pm
Actually the above by Ben_g and Materey is more Isometric it seems. But yeah a voxel engine would be nice on the z80 models. Also the animated screenshots for the 68K one is much faster than on the real calc if I remember, so maybe on a 84+ it might be a tad slow to be playable. It wouldn't hurt to try, though.
I do indeed use isometric sprites to display the blocks. This does limit the possible camera angles to 4, but it's way faster than a raycasting-based method, and to do raycasting with a reasonable speed, the resolution will probably be quite low as well. With the isometric technique, it's also relativly easy to add grayscale and textures.

Because of this, the best way to handle a voxel world on a z80 calc is probably isometric. (Well, at least untill TI stops putting prehistoric hardware in them)
Title: Re: What can be done in Axe in 3D ?
Post by: DJ Omnimaga on January 24, 2013, 04:13:46 pm
That reminds me ben_g, were you still planning to work on your 3D engine/game for the 83+ and your computer game at one point? :P
Title: Re: What can be done in Axe in 3D ?
Post by: ben_g on January 24, 2013, 04:33:21 pm
That reminds me ben_g, were you still planning to work on your 3D engine/game for the 83+ and your computer game at one point? :P
Well, I am currently working on the computer game. The 3D engine is currently on hold. It's not dead, I'm going to pick the 3D engine back up when I'm tired of working on my computer game. That's how I code.