We're on Discord! Please join our server now if you don't want to miss anything! (More info) | Join the UCC4 contest! (More info)

* WalrusIRC & Discord main room

If you have a forum account, have more than 4 posts and are not part of a restricted usergroup, then you can chat in our main Discord server room directly from here and continue using the forums at the same time. Or you can join our server directly and access many more discussion rooms!

Author Topic: X3D - A 3D engine for TI68k & Nspire Calculators  (Read 70390 times)

0 Members and 2 Guests are viewing this topic.

Offline catastropher

  • Full User
  • Safe-haven access
  • Join Date: Apr 2015
  • Location: US
  • Posts: 145
  • Post Rating Ratio: +12/-0
    • catastropher
  • Gender: Male
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

Offline catastropher

  • Full User
  • Safe-haven access
  • Join Date: Apr 2015
  • Location: US
  • Posts: 145
  • Post Rating Ratio: +12/-0
    • catastropher
  • Gender: Male
X3D now has lighting! Here's a screenshot:

(click to show/hide)

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

Offline matrefeytontias

  • Full User
  • Join Date: Nov 2014
  • Location: France
  • Posts: 200
  • Post Rating Ratio: +5/-1
  • Axe metalhead of vengence
    • @matrefeytontias
    • matrefeytontias
    • matrefeytontias
  • Gender: Male
That looks so cool o/ keep it up !
  • 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

Offline catastropher

  • Full User
  • Safe-haven access
  • Join Date: Apr 2015
  • Location: US
  • Posts: 145
  • Post Rating Ratio: +12/-0
    • catastropher
  • Gender: Male
Re: X3D - A 3D engine for TI68k & Nspire Calculators
« Reply #273 on: November 22, 2017, 05:23:22 am »
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):
(click to show/hide)

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
« Last Edit: November 22, 2017, 05:25:04 am by catastropher »
  • 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

Offline Ranman

  • Full User
  • Safe-haven access
  • Join Date: Feb 2017
  • Location:
  • Posts: 78
  • Post Rating Ratio: +4/-0
  • Gender: Male
Re: X3D - A 3D engine for TI68k & Nspire Calculators
« Reply #274 on: November 22, 2017, 06:47:54 am »
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.

Offline catastropher

  • Full User
  • Safe-haven access
  • Join Date: Apr 2015
  • Location: US
  • Posts: 145
  • Post Rating Ratio: +12/-0
    • catastropher
  • Gender: Male
Re: X3D - A 3D engine for TI68k & Nspire Calculators
« Reply #275 on: November 24, 2017, 08:48:16 pm »
Very cool catastropher.  :thumbsup:
Thank you! :3 I'm just getting started!

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

Offline catastropher

  • Full User
  • Safe-haven access
  • Join Date: Apr 2015
  • Location: US
  • Posts: 145
  • Post Rating Ratio: +12/-0
    • catastropher
  • Gender: Male
Re: X3D - A 3D engine for TI68k & Nspire Calculators
« Reply #276 on: December 22, 2017, 05:32:58 am »
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):
(click to show/hide)

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

Offline catastropher

  • Full User
  • Safe-haven access
  • Join Date: Apr 2015
  • Location: US
  • Posts: 145
  • Post Rating Ratio: +12/-0
    • catastropher
  • Gender: Male
Been working on the new portal rendering system :3

(click to show/hide)

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

Online mazhat

  • Full User
  • Join Date: Mar 2017
  • Location:
  • Posts: 194
  • Post Rating Ratio: +8/-0
  • Edelweiss. Edelweiss.
    • /u/Mazhat
    • Mazhat
    • @Mazhat
    • MOS
  • Gender: Male
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
The Mogami River.

Offline catastropher

  • Full User
  • Safe-haven access
  • Join Date: Apr 2015
  • Location: US
  • Posts: 145
  • Post Rating Ratio: +12/-0
    • catastropher
  • Gender: Male
You are crazy dude, this is awesome.
Thank you very much! And I am indeed crazy haha

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

Offline 123outerme

  • Super User
  • Join Date: Jan 2015
  • Location: In spaaace! Well, the Earth is anyhow.
  • Posts: 733
  • Post Rating Ratio: +8/-0
  • Professional Unpaid Intern
    • @UCx1XQoxAm-ZTz-lwyUqbs0w
    • 123outerme
    • 113/11355
  • Gender: Male
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

 


You can also use the following HTML or bulletin board code to share it on your page or forum signature!


Also do not forget to check our affiliates below.
Planet Casio TI-Planet Calc.news BroniesQC BosaikNet Velocity Games