Join us on Discord!
You can help CodeWalrus stay online by donating here.

X3D - A 3D engine for TI68k & Nspire Calculators

Started by catastropher, June 27, 2015, 02:37:43 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Snektron

Quote from: DJ Omnimaga on August 22, 2015, 01:39:47 AM
Some coders also starts larger projects but then gain extra experience in programming while their projects advances, so they find their old code messy and want to rewrite it.

That tends to happen to me lately :P
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


catastropher

Quote from: Cumred_Snektron on August 22, 2015, 10:14:57 AM
Quote from: DJ Omnimaga on August 22, 2015, 01:39:47 AM
Some coders also starts larger projects but then gain extra experience in programming while their projects advances, so they find their old code messy and want to rewrite it.

That tends to happen to me lately :P
Can't even tell you how many times I've done this!

So today I worked on bouncing physics for objects. Since the camera is an object, what better way to test it?

[spoiler=X3D Bouncing Physics][/spoiler]

The renderer is kind of glitching out here and bouncing currently has some difficulty when hitting an edge between two rooms, but it's a solid start! :D
  • Calculators owned: TI-83+, TI-83+ SE, TI-84+ SE, TI-Nspire CX, TI-92+, TI-89 Titanium
Creator of X3D, a 3D portal rendering game engine for Nspire, 68k, and PC

Dream of Omnimaga

Haha that's pretty cool actually. As for the glitching I assume you mean the diagonal lines appearing in the roof or one of the walls?
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

catastropher

Yeah, I still have one or two (i.e. several) bugs to iron out haha Of course, the camera would probably never be moving like this; my thought was more for bouncy projectiles. Although, you could have a bouncy floor material ;)
  • Calculators owned: TI-83+, TI-83+ SE, TI-84+ SE, TI-Nspire CX, TI-92+, TI-89 Titanium
Creator of X3D, a 3D portal rendering game engine for Nspire, 68k, and PC

Dream of Omnimaga

By the way, when this engine becomes mostly functional, do you plan  to create a mini game out of it? A puzzle platformer where you use the objects to reach other areas would rule as an example game, plus it could convince some people to use the engine for their own games (if we get more 68K coders, that is) :D
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

CKH4

  • Calculators owned: TI-83+, TI-84+


Dream of Omnimaga

Yeah, everyone wants Portal in 3D for calcs I know. :P But I thought that a smaller scale project might be better to start up and to quickly showcase some of X3D capabilities
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

p4nix

  • Calculators owned: fx9860GII (SH4)

catastropher

Quote from: DJ Omnimaga on August 23, 2015, 12:30:39 AM
By the way, when this engine becomes mostly functional, do you plan  to create a mini game out of it? A puzzle platformer where you use the objects to reach other areas would rule as an example game, plus it could convince some people to use the engine for their own games (if we get more 68K coders, that is) :D
Indeed I do! I just have no idea what I'd make yet :P First I should probably get the engine to a usable state. Ideally, a game that could run on one of the platforms should be runable on the others as well.

Quote from: CKH4 on August 23, 2015, 10:06:43 AM
Portal 6(8k) :P
This may actually be possible once the dynamic portal system is in place (or at least a scaled down version of Portal). The thing I'm worried about is seeing a portal through a portal. I may have to set a recursion limit to prevent this. Descent is another that I'd really like to get working.
  • Calculators owned: TI-83+, TI-83+ SE, TI-84+ SE, TI-Nspire CX, TI-92+, TI-89 Titanium
Creator of X3D, a 3D portal rendering game engine for Nspire, 68k, and PC

TheMachine02

Quote from: catastropher on August 23, 2015, 05:13:44 PM
The thing I'm worried about is seeing a portal through a portal. I may have to set a recursion limit to prevent this.

Welp. You even must do it  :P Even "true" portal game as a recursion limit.  Just iterate for a fixed number of time and discard everything when the limit is hit.

Either way, sound a promising project,that come along nicely :)

Snektron

A true see though portal? that would be amazing O.O
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


catastropher

Quote from: TheMachine02 on August 23, 2015, 07:49:26 PM
Quote from: catastropher on August 23, 2015, 05:13:44 PM
The thing I'm worried about is seeing a portal through a portal. I may have to set a recursion limit to prevent this.

Welp. You even must do it  :P Even "true" portal game as a recursion limit.  Just iterate for a fixed number of time and discard everything when the limit is hit.

Either way, sound a promising project,that come along nicely :)
Thanks! I :D Yeah, the previous version had a recursion limit, I just haven't gotten around to implementing it in this version yet... there's so much that needs to be done!

Quote from: Cumred_Snektron on August 23, 2015, 08:51:23 PM
A true see though portal? that would be amazing O.O
Technically, the engine already does this: there's an implicit portal everywhere that two rooms (called "segments") are connected. I'll just have to add special cases for portals on walls. Of course, free-standing portals are a bit more tricky, but are still doable. I hope to one day add a portal gun for shooting a portal onto a wall ;)

In case anyone is interested as to what I worked on today, I did more work on the object system and added a bouncing box! It's still really glitchy, but hey, it's something! :D

[spoiler=X3D Bouncing Box][/spoiler]
  • Calculators owned: TI-83+, TI-83+ SE, TI-84+ SE, TI-Nspire CX, TI-92+, TI-89 Titanium
Creator of X3D, a 3D portal rendering game engine for Nspire, 68k, and PC

Dream of Omnimaga

I wonder what would be the performance of a see-through Portal game... it would definitively need a recursion limit (perhaps 3 maximum?) in  case someone use a camera angle that almost freezes the game >.<. Or perhaps the game could stop rendering stuff as soon as it hits a certain time limit? (for example if you want 8 FPS then it would stop rendering lines as soon as it reaches 0.125 seconds of render time) But that could look weird at times.

Also Catastropher that is really cool :D. Will the engine support 2D scaled sprites? I forgot if it did or if it will do. It might allow more type of graphics in the game (such as a ball in this case)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

catastropher

Quote from: DJ Omnimaga on August 24, 2015, 01:41:46 PM
I wonder what would be the performance of a see-through Portal game... it would definitively need a recursion limit (perhaps 3 maximum?) in  case someone use a camera angle that almost freezes the game >.<. Or perhaps the game could stop rendering stuff as soon as it hits a certain time limit? (for example if you want 8 FPS then it would stop rendering lines as soon as it reaches 0.125 seconds of render time) But that could look weird at times.
I'll have to play around with different solutions once I get the dynamic portal system working. Another thing I could do is to not allow you to place a portal in a spot where it's visible from the other one, though I'm not sure if I like that idea.


Quote from: DJ Omnimaga on August 24, 2015, 01:41:46 PM
Also Catastropher that is really cool :D. Will the engine support 2D scaled sprites? I forgot if it did or if it will do. It might allow more type of graphics in the game (such as a ball in this case)
Thanks! I made it so now you can have multiple boxes bouncing at the same time! :D As for 2D facing sprites, I've certainly considered it. The problem is that the sprites have to be clipped against doorways (i.e. the viewing frustum), and I don't know of an efficient method for doing this. In addition, with solid objects, you have no choice but to sort the objects by depth. This means doing a O(nlog n) sort every frame :( Worse, you have to draw white triangles to make them solid... With transparent objects, you don't have to do any sorting because it doesn't matter what order you draw them in. It'd suck if everything had to be transparent, but it really depends on whether I can come up with a really fast algorithm...
  • Calculators owned: TI-83+, TI-83+ SE, TI-84+ SE, TI-Nspire CX, TI-92+, TI-89 Titanium
Creator of X3D, a 3D portal rendering game engine for Nspire, 68k, and PC

Dream of Omnimaga

Yeah the idea might not be the best solution, else people will wonder why sometimes placing portals doesn't work.

And I see about 2D stuff. Sorry to hear
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Powered by EzPortal