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.

Lionel Debroux

#165
For now, it's a school project, which is a valid reason for it to remain closed source (and have more and more diverse backup sources) - but indeed, when it's no longer a school project, catastropher would make a gift to the community by open-sourcing it :)
Alright, I was wrong, I didn't know about the repo or I forgot about it :)
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

catastropher

Actually, it already is open source: https://github.com/catastropher/X3D-68k (I have permission from my teacher to do so) :) Just be warned, I've been implementing stuff like crazy and the code is badly in need of some refactoring. For now though, I think it's a better use of my time to finish implementing smooth shading and to begin working on the level editor :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

Ivoah

Quote from: catastropher on February 25, 2016, 04:04:02 PM
Actually, it already is open source: https://github.com/catastropher/X3D-68k (I have permission from my teacher to do so) :) Just be warned, I've been implementing stuff like crazy and the code is badly in need of some refactoring. For now though, I think it's a better use of my time to finish implementing smooth shading and to begin working on the level editor :D
I went to star your repo, and it turns out I already did :D
  • Calculators owned: TI-86 (now broken), TI SR-56, TI-Nspire CX CAS, TI-84+ SE, TI-84+ SE, TI-85, TI-73 Explorer VS, ViewScreen, TI-84+ CSE, TI-83+ SE

catastropher

Quote from: Ivoah on February 25, 2016, 04:10:08 PM
I went to star your repo, and it turns out I already did :D
Haha that's right, I forgot you had! It's hard to believe that I've been working on this project for a year now (it's over 700 commits now and there were less than 100 before last summer). I've learned so much while working on the project, though I have so much more to learn. I can't wait until I have at least a partially working game. Then, who knows, other people may be interested in using the engine for their own projects! :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

Ivoah

You should cross post this to cemetech, I'm sure there are some people there who would be interested.
  • Calculators owned: TI-86 (now broken), TI SR-56, TI-Nspire CX CAS, TI-84+ SE, TI-84+ SE, TI-85, TI-73 Explorer VS, ViewScreen, TI-84+ CSE, TI-83+ SE

Dream of Omnimaga

#170
That would be cool indeed, especially if it's on Gitubu, since people could help. It of course depends of which direction you want to take this engine in, in which case it might be good to wait until you have the bulk of it done, or at least open-source it but add some guidelines in the readme or Github page to ensure for example that people don't turn your 3D portal engine into a 2D Pokémon clone or stuff like that. :P

EDIT Nvm for some reasons I landed one page earlier when clicking this topic and missed page 12 of new posts. I am surprised that the teacher allowed you to make it open-source, since it's a school project, but I guess he can always monitor the source code if he's worried that another student rips your code off.
  • 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

Ivoah

Quote from: DJ Omnimaga on February 25, 2016, 06:08:37 PM
That would be cool indeed, especially if it's on Gitubu, since people could help. It of course depends of which direction you want to take this engine in, in which case it might be good to wait until you have the bulk of it done, or at least open-source it but add some guidelines in the readme or Github page to ensure for example that people don't turn your 3D portal engine into a 2D Pokémon clone or stuff like that. :P

Quote from: catastropher on February 25, 2016, 04:04:02 PM
Actually, it already is open source: https://github.com/catastropher/X3D-68k (I have permission from my teacher to do so) :) Just be warned, I've been implementing stuff like crazy and the code is badly in need of some refactoring. For now though, I think it's a better use of my time to finish implementing smooth shading and to begin working on the level editor :D
  • Calculators owned: TI-86 (now broken), TI SR-56, TI-Nspire CX CAS, TI-84+ SE, TI-84+ SE, TI-85, TI-73 Explorer VS, ViewScreen, TI-84+ CSE, TI-83+ SE

Dream of Omnimaga

Yeah I saw I missed an entire page of post after I clicked reply. I landed on page 11 for some reasons >.< (I edited my post above to reflect that)
  • 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 February 25, 2016, 06:08:37 PM
I am surprised that the teacher allowed you to make it open-source, since it's a school project, but I guess he can always monitor the source code if he's worried that another student rips your code off.
So the class I'm in right now is called "Game Design" and most of the people in my class are learning to use Unity/Unreal to make a game. However, my teacher happens to be my thesis advisor (my thesis will be in graphics, surprise surprise :thumbsup:) and he's letting me use this project as a leaning experience in lieu of all the class projects. So, here is a humorous list of why one of my classmates stealing my code is unlikely:

  • I'm doing a custom project different from everyone else in the class
  • The project is 12.5k lines of code and all the modules depend heavily on each other, so you'd literally have to copy all of the code to even get it to build
  • X3D is written in C from scratch and everyone else has to do Unreal or Unity, which uses C++ and C# respectively - they'd never understand why invoking the C# compiler on my code wouldn't work
  • It renders in 16-bit color with screen dithering, so they'd have a lot of explaining to do when my teacher asks why their Unity game looks like it's running on Windows 98
  • They'd have to take responsibility for my terrible code and poor software engineering
  • It'd take way too much effort to remove the GNU GPL header from every single file in the project
  • No where is it documented that you have to set the X3D environment variable before building so uh.. good luck with the cryptic errors my CMake script will give (even I have been a victim of this)
  • They'd never figure out the unintuitive key mappings I set up which removes the possibility of an in class demo, and they wouldn't know which #if 0's to reenable to even get something rendering

Haha ok humor aside, I want you all to imagine a world where there's a 3D engine that: runs on the TI-Nspire, renders with smooth Gouraud shading, has screen dithering to overcome the limited 16 bit color of said device, and has an in-progress level editor called XBuilder...

[spoiler=Whatever could this be][/spoiler]

So the shading implementation isn't complete yet (it glitches really badly when geometry is clipped by the near plane) but I think we're off to a good 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

Aah I see now. Also it's nice that he let you use your own stuff. I hate school project requirements that restricts what you can do and what you can use or vice-versa. For example, we once had to make a treasure hunting game in VB6 that was like an RPG with no battle. But we had to include an highscore system, which totally doesn't fit in such game. I finally just didn't bother, knowing I would succeed anyway and was about to be accepted to college. I had 80/100 instead of 100/100 but whatever.

Also woah at that shading screenshot o.o. I wonder how fast it would run on a calculator...
  • 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

Dudeman313

If this is ported to the CE, I'd want to see it in a 3D version of Stacker. I saw a 3D Stacker game on either Android or iOS that I loved, but now I can't find it...
  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


catastropher

So... progress has been kind of slow because I'm actually creating a new algorithm (one that I may eventually publish!) There are several things that are in the works that I'm dying to release a demo of, but can't until I finish implementing them. But, in the meantime, I thought you may be interested in a little bit of eye candy of X3D's new rendering capability:

[spoiler][/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

Wait, it has textures now?? *.*

Darn, I wonder how fast it runs and how the speed would be with walls that use low resolution textures (eg Playstation 1 style). I bet textures must be very slow on the 84+CE, though. Will the engine still support texture-less mode?

Anyway awesome job, as always :)
  • 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

Dudeman313

Yeah, @catastropher , that's just amazing.
Maybe if my mom lets me get another graphing calculator for High School, I'll get an Nspire. :D

Quote from: DJ Omnimaga on March 23, 2016, 04:44:45 AM
Wait, it has textures now?? *.*

Darn, I wonder how fast it runs and how the speed would be with walls that use low resolution textures (eg Playstation 1 style). I bet textures must be very slow on the 84+CE, though. Will the engine still support texture-less mode?

Anyway awesome job, as always :)
Well, if plain 3D is slow on the CE( @Cumred_Snektron 's project), wouldn't textures be even slower?

  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Lionel Debroux

Looks pretty good, as usual - keep up the good work :)
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

Powered by EzPortal