Author Topic: A 3D development project  (Read 5597 times)

0 Members and 1 Guest are viewing this topic.

Offline Joshuasm32

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 142
  • Rating: +19/-7
    • View Profile
    • Network
A 3D development project
« on: June 28, 2013, 01:56:06 pm »
I would like to create a 3D program with simple graphics in TI-BASIC.  I do not expect it to be very fast at all, but I just want to have the concept down for the future.  What I want to make is something that looks like a first person shooter.  I already decided that to make it work, you need a big matrix of graphics locations and 4 coordinates; X and Y for the location coordinates, W and Z for the view coordinates.  However, while I get how to do the the X and Y graphics, I cannot seem to figure out an effective algorithm for the W Z coordinates' graphics.  Does anyone have experience with this?  Thanks in advance for the help!   :D
My name is Josh and I a developer at Moonzean. I enjoy Radiohead, web development, Java, and cryptograms.
Spoiler For No Surprises, by Radiohead:
A heart that's full up like a landfill
A job that slowly kills you
Bruises that won't heal

You look so tired unhappy
Bring down the government
They don't, they don't speak for us

I'll take a quiet life
A handshake of carbon monoxide

And no alarms and no surprises
No alarms and no surprises
No alarms and no surprises
Silent, silent

This is my final fit
My final bellyache

With no alarms and no surprises
No alarms and no surprises
No alarms and no surprises please

Such a pretty house
And such a pretty garden

No alarms and no surprises
No alarms and no surprises
No alarms and no surprises please

Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: A 3D development project
« Reply #1 on: June 28, 2013, 02:42:27 pm »
Do you know a little bit about 3d vectors and vector projection?
If you like my work: why not give me an internet?








Offline Joshuasm32

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 142
  • Rating: +19/-7
    • View Profile
    • Network
Re: A 3D development project
« Reply #2 on: June 28, 2013, 03:29:08 pm »
No, this is my first 3D program.  I am trying to learn the concept for the future, though.  Can you help?
My name is Josh and I a developer at Moonzean. I enjoy Radiohead, web development, Java, and cryptograms.
Spoiler For No Surprises, by Radiohead:
A heart that's full up like a landfill
A job that slowly kills you
Bruises that won't heal

You look so tired unhappy
Bring down the government
They don't, they don't speak for us

I'll take a quiet life
A handshake of carbon monoxide

And no alarms and no surprises
No alarms and no surprises
No alarms and no surprises
Silent, silent

This is my final fit
My final bellyache

With no alarms and no surprises
No alarms and no surprises
No alarms and no surprises please

Such a pretty house
And such a pretty garden

No alarms and no surprises
No alarms and no surprises
No alarms and no surprises please

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: A 3D development project
« Reply #3 on: June 28, 2013, 03:46:35 pm »
You may want to have a look at Xeda.s raycaster in basic. Sorry, I am on my Android so I can't really give you the link but you'll surely find it under Xeda's "last contributions" (in her profile)
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: A 3D development project
« Reply #4 on: June 30, 2013, 09:36:43 pm »
Moved to TI-BASIC sub-forum, because it's kinda misleading in the projects section (I had my hopes up thinking it was a new 3D project with screenshots and stuff).
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: A 3D development project
« Reply #5 on: June 30, 2013, 10:00:46 pm »
Oh, the BASIC raycaster is more like a pseudo-3D thing, but the topic is here. I based that off of Lodev's tutorial and code by Matrefeytontias. I'm not all that good at 3D stuff, but I found some math about 3D rotations and whatnot in my Linear Algebra book. I have some difficulty figuring out the right way to do projections, still.

Offline tr1p1ea

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 647
  • Rating: +110/-0
    • View Profile
Re: A 3D development project
« Reply #6 on: July 01, 2013, 01:45:26 am »
I complete 3D system involves a fair bit of groundwork. That said you can make simple enough 3D projects if you dont require full 6-degrees-of-freedom movement. Luckily an FPS doesnt require this which is why you can get away without the need to store orientation in matrices/quaternions etc.
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."


Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: A 3D development project
« Reply #7 on: July 01, 2013, 03:54:28 am »
I think a 3d-ish dungeon crawler would be easier in BASIC. You turn 90 degree angles, so you can put coördinates of anchor points of the 3d perspective in a lookup table and draw lines.

« Last Edit: July 01, 2013, 03:55:48 am by Keoni29 »
If you like my work: why not give me an internet?








Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: A 3D development project
« Reply #8 on: July 03, 2013, 11:19:48 pm »
Yeah that would work, although maybe with a slightly smaller view depth, to save speed.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline tr1p1ea

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 647
  • Rating: +110/-0
    • View Profile
Re: A 3D development project
« Reply #9 on: July 03, 2013, 11:26:28 pm »
Would love to see a demo of this method.
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."


Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: A 3D development project
« Reply #10 on: July 03, 2013, 11:36:04 pm »
Now that you are in this topic, I wonder if just displaying a large bunch of 8x8 sprites using xLIB chained sprites method would be fast enough compared to drawing a bunch of lines? That would allow better graphics while still not taking too much space.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline tr1p1ea

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 647
  • Rating: +110/-0
    • View Profile
Re: A 3D development project
« Reply #11 on: July 03, 2013, 11:40:05 pm »
It would be variable and dependent on how much is going on at any time.

That said, line drawing should actually still be reasonably fast on the 84C, and the possibility of extra colours is a bonus too :).

I guess this calls for some tests!
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."


Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: A 3D development project
« Reply #12 on: July 04, 2013, 03:48:02 am »
Oh I meant the BASIC line drawing commands. To be honest, they are kinda slow compared to many other stuff D:
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: A 3D development project
« Reply #13 on: July 04, 2013, 05:16:31 am »
That method does look good, but yeah, as dj said, prolly a smalle depth to save speed :)
* Sorunome would like to see a demo of it too ^^

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline Joshuasm32

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 142
  • Rating: +19/-7
    • View Profile
    • Network
Re: A 3D development project
« Reply #14 on: July 17, 2013, 01:31:22 pm »
Sorry, I didn't read this tread for a while...   <_<  The 90º turn angle would work well, but how would you store the data?  I guess a matrix could work, but I wonder if another method is faster, such as a list or an appVar.   :-\
My name is Josh and I a developer at Moonzean. I enjoy Radiohead, web development, Java, and cryptograms.
Spoiler For No Surprises, by Radiohead:
A heart that's full up like a landfill
A job that slowly kills you
Bruises that won't heal

You look so tired unhappy
Bring down the government
They don't, they don't speak for us

I'll take a quiet life
A handshake of carbon monoxide

And no alarms and no surprises
No alarms and no surprises
No alarms and no surprises
Silent, silent

This is my final fit
My final bellyache

With no alarms and no surprises
No alarms and no surprises
No alarms and no surprises please

Such a pretty house
And such a pretty garden

No alarms and no surprises
No alarms and no surprises
No alarms and no surprises please