Omnimaga
Calculator Community => TI Calculators => Axe => Topic started 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
-
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...?
-
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.
-
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).
-
Hmmm idk :/
Sorry
-
@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).
-
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.
-
Id say just experiment. Any 3D is good 3D!
-
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.
-
Just don't try to port nDoom to z88dk/SDCC C. :P
-
Raycasting, mode 7, and isometric 3d should all be decent options.
-
Like I said, raycasting is already done, like Runer112 said on IRC :
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.
-
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.
-
It was a joke Implying the inexperience of me. I did not mean to offend anyone.
-
Ok be careful with that, since sarcasm doesn't translate well to text medium (unless you use smileys or are really sarcastic)
-
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
-
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.
-
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.
-
Ah ok thanks for the info :)
-
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.
-
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.
-
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)
-
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
-
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?
-
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
-
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.
-
That are pretty awesome 3D progs O.o
-
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)
-
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
-
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.