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 5 Guests are viewing this topic.

catastropher

If anyone would like to give it a try, I have X3D rendering the first level of Quake on the Nspire CX between 10 and 20 fps :D To get it working on the calculator, download the zip here, extract it, and send all of the files to your calculator. Depending on your version of Ndless, either run xtest.tns (newer versions) or xtest.prg.tns (older versions). When you start xtest, it will say "no level loaded". To fix this:

       
  • Open the dev console by pressing 9
  • Run the command "map e1m1"
  • Wait a couple of seconds because it's a multi-megabyte file
  • Enjoy!
Keys:

       
  • Forward/backward: 7/4
  • Look around: arrow keys
  • Quit: Esc
  • Open/close dev console: 9
  • Autocomplete in the console: tab (hitting twice lists options)
Notes:

       
  • If you're outside the level, it will render in red wireframe. It will switch to textured mode automatically when inside the level.
  • If it crashes, the engine produces engine.log, so please send this to me as well as any steps I can take to reproduce the crash. Thanks!
  • Don't run any of the other console commands other than map (they're experimental)
  • Current leaf tells you where you are in the BSP tree and visible leaves tells you how many leaves are potentially visible from where you are
  • The textures wobble a bit as you move - currently working on this
Please let me know how testing goes and thanks for giving it a try! Also, @Legimet  thanks, I'll fix this when I get the chance!
  • 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

catastropher

X3D now has lighting! Here's a screenshot:

[spoiler=X3D Static Lighting][/spoiler]

If you'd like to give it a try, here's the download link!
  • 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

matrefeytontias

  • Calculators owned: TI-83+.fr, TI-Nspire CAS prototype, TI-84+ CSE, TI-Nspire CX
My TI games (some got their own article on non-calc websites !) : http://www.ticalc.org/archives/files/authors/112/11202.html

My moozik (100% free metal) : http://www.soundcloud.com/matrefeytontias

catastropher

#273
Hey guys! As always I know it's been forever, but I've been constantly working on X3D since I last posted and the engine has come a long way! Here are a few of the things I've worked on since my last post:

  • Hand-optimized the low level span renderer in assembly
  • Wrote a physics engine (still a WIP)
  • Added basic support for loading/rendering 3D models
  • Implemented dynamic lighting (currently very slow on the calc and buggy)
  • Figured out how to use TrenchBroom, a Quake level editor, and was able to create a custom test map

Here's an animated screenshot (be warned, the file size is quite large):
[spoiler=X3D Custom Map/Physics][/spoiler]

On my calculator, which to be fair is overclocked, this level gets 15-22 fps when standing out in the open, which is where the most polygons are. The engine is really coming along. I've grown so much as a programmer while working on this project - hard to believe it's been almost 3 years now since I started (I began in Februrary 2015).

If anyone is interested, I'll put a demo exe up here along with the test map :3
  • 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

Ranman

Very cool catastropher.  :thumbsup:

Are you still supporting the 68K calcs?  ???
  • Calculators owned: TI-89 HW1, TI-92+, Casio 9860G Slim, Casio fx6300, Tandy PC7
Ranman
Bringing Randy Glover's Jumpman to the TI-89 calculator. Download available at Ticalc.

catastropher

Quote from: Ranman on November 22, 2017, 06:47:54 AM
Very cool catastropher.  :thumbsup:
Thank you! :3 I'm just getting started!

Quote from: Ranman on November 22, 2017, 06:47:54 AM
Are you still supporting the 68K calcs?  ???
Unfortunately not, I switched the engine to be compatible with Quake levels and there's no way the 68k calcs could render one of the levels, even in wireframe. I probably should change the project description to reflect this xD
  • 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

catastropher

Well I've been on a coding binge for the last few weeks so I thought I'd give an update:

  • Implemented mouselook (yaaay no more turning with arrow keys!)
  • Implemented loading/rendering of level models
  • Added object type system for game objects
  • Added some builtin game objects, such as button and rising platform
  • Added event system with triggers e.g. push a button makes a platform raise
  • Figured out how to get paint on walls, which will be used for Portal gels!
  • Added numerous upgrades to the physics engine
Here's a demo of a small Portal-like chamber with all of the aforementioned feature (aside from the paint):
[spoiler=Test Chamber][/spoiler]

I did my best to make it somewhat look like a Portal chamber. I'm very excited because the engine is finally getting to a point where you can start doing real things with it. If anyone is interested in giving the demo a try the source is on github! :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

catastropher

Been working on the new portal rendering system :3

[spoiler=Screenshots]




[/spoiler]

I've decided to switch to a 3 month release schedule so that I don't keep disappearing for 6 months at a time :P So I'm looking at releasing a playable demo in September. I'll make a post shortly with what my development goals are by then! I've been making a lot of structural changes to the engine since it's now written in C++ rather than C. This left 35k lines of code to be refactored... so I'm trying to balance adding new features with cleaning up what's there.
  • 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

mazhat

You are crazy dude, this is awesome.
I haven't been here to see the whole thread,
but is this all from scratch?
What libraries did you use?
This fascinates me to no end.
  • Calculators owned: TI-83Plus, TI-84Plus
  • Consoles, mobile devices and vintage computers owned: Samsung TAB A (Cheap), DSI, Rasperry PI 3
Sketti

catastropher

Quote from: mazhat on July 10, 2018, 04:22:02 AM
You are crazy dude, this is awesome.
Thank you very much! And I am indeed crazy haha

Quote from: mazhat on July 10, 2018, 04:22:02 AM
I haven't been here to see the whole thread,
but is this all from scratch?
What libraries did you use?
This fascinates me to no end.
Yup, this is entirely from scratch. Since the calculator has no GPU it's all software rendered. The source code is on my github, but it's in kind of an awkward state since I'm doing lots of refactoring.
  • 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

123outerme

This is awesome! I've been following along loosely on your Github, but I like how you've added Portal mechanics! Very interesting. Will you be using it to make a Portal game for the Nspire?
  • Calculators owned: TI-84+CSE, TI-nspire Clickpad, TI-84+SE

Powered by EzPortal