The shoutbox is currently out of service. Join us on Discord instead.
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.

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!
Creator of X3D, a 3D portal rendering game engine for Nspire, 68k, and PC

catastropher

X3D now has lighting! Here's a screenshot:

X3D Static Lighting: ShowHide


If you'd like to give it a try, here's the download link!
Creator of X3D, a 3D portal rendering game engine for Nspire, 68k, and PC

matrefeytontias

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

November 22, 2017, 05:23:22 am #273 Last Edit: November 22, 2017, 05:25:04 am by catastropher
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):
X3D Custom Map/Physics: ShowHide


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
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?  ???
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
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):
Test Chamber: ShowHide


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
Creator of X3D, a 3D portal rendering game engine for Nspire, 68k, and PC

catastropher

Been working on the new portal rendering system :3

Screenshots: ShowHide







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.
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.
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.
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?

Powered by EzPortal