Author Topic: how to make fps in ti basic  (Read 10430 times)

0 Members and 1 Guest are viewing this topic.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: how to make fps in ti basic
« Reply #15 on: June 16, 2013, 04:49:58 pm »
I don't think we should judge people too fast, but of course we need to be realistic about what the calc can accomplish:

15 MHz Zilog 80 CPU
24 KB of RAM (21 on CSE models)
480-1530 KB of Flash storage memory (3500 on CSE models)
No graphic card/accelerator
And TI-BASIC is far slower than Axe and Assembly.

It's possible to make an FPS in BASIC, but it will look like this:



Minecraft could theoretically be possible too, but you would only be able to look up at 90° angle and down the same way, and turning around would look like the screenshot above. Plus the game would take ridiculous amounts of RAM. For example, a matrix based map that is 10x10x9 would take 8111 bytes of RAM. Also you wouldn't be able to see more than 9 blocks at once.

On a CSE calc, this is probably the best graphics and frame rate that you could pull from pure BASIC without using a single pic variable (the following animated GIF is fake, so it could actually be even slower, especially if you only coded TI-BASIC for less than 10 years, but it shows a small idea of how jumping in such minecraft game would be):
« Last Edit: June 16, 2013, 05:41:34 pm by DJ Omnimaga »

Offline markgrimes98

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 6
  • Rating: +1/-0
    • View Profile
Re: how to make fps in ti basic
« Reply #16 on: June 16, 2013, 06:26:47 pm »
thanks everyone for teh help. i didnt realize the calc was so limited. i will thnk of another game to program.

Offline ben_g

  • Hey cool I can set a custom title now :)
  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1002
  • Rating: +125/-4
  • Asm noob
    • View Profile
    • Our programmer's team: GameCommandoSquad
Re: how to make fps in ti basic
« Reply #17 on: June 17, 2013, 05:44:17 am »
If you want to program games, i really reccomend to learn a language other than basic, like axe, grammer or assembly. If you really want to use basic however, you might also want to look into libraries like xlib (included in the doorsCS shell)
My projects
 - The Lost Survivors (Unreal Engine) ACTIVE [GameCommandoSquad main project]
 - Oxo, with single-calc multiplayer and AI (axe) RELEASED (screenshot) (topic)
 - An android version of oxo (java)  ACTIVE
 - A 3D collision detection library (axe) RELEASED! (topic)(screenshot)(more recent screenshot)(screenshot of it being used in a tilemapper)
Spoiler For inactive:
- A first person shooter with a polygon-based 3d engine. (z80, will probably be recoded in axe using GLib) ON HOLD (screenshot)
 - A java MORPG. (pc) DEEP COMA(read more)(screenshot)
 - a minecraft game in axe DEAD (source code available)
 - a 3D racing game (axe) ON HOLD (outdated screenshot of asm version)

This signature was last updated on 20/04/2015 and may be outdated

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: how to make fps in ti basic
« Reply #18 on: June 17, 2013, 05:50:27 am »
oh yeah, you should use dcs then, all the libs it has included give you so many features, you'll swim in them. You'll be able to store in appvars stuff etc. and if you are awesome you'll even be able to do greyscale (though that is pretty advanced due to lack of speed)

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

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: how to make fps in ti basic
« Reply #19 on: June 17, 2013, 05:54:54 am »
And if you are awesome you'll even be able to do greyscale (though that is pretty advanced due to lack of speed)
DJ made it in Reuben Quest but again, DJ's the god of BASIC. :P

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: how to make fps in ti basic
« Reply #20 on: June 17, 2013, 12:22:06 pm »
Well, Reuben used Omnicalc, which is slower than DCS, so using DCS it would be easier. Axe Grayscale is even easier, though, since Axe does it for you.

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: how to make fps in ti basic
« Reply #21 on: June 17, 2013, 12:24:32 pm »
but axe doesn't have lbls like you use 'em currently so you'll have to learn loops which i would recommend anyways :D

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

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: how to make fps in ti basic
« Reply #22 on: June 17, 2013, 12:28:44 pm »
Axe haz labels. :3 They're actually better than loops if you think of it from an ASM point of view.

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: how to make fps in ti basic
« Reply #23 on: June 17, 2013, 12:31:20 pm »
Axe haz labels. :3 They're actually better than loops if you think of it from an ASM point of view.
erm, don't you mean functions, that they just use the lbl token? :P functions!=lables, functions are faaaaaaaaaaaar more epic

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

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: how to make fps in ti basic
« Reply #24 on: June 17, 2013, 12:34:14 pm »
Axe doesn't have functions, it has sub routines (the difference is a little subtile but one thing is that variable focus doesn't exist for example). And you have the Goto command as well.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Re: how to make fps in ti basic
« Reply #25 on: June 17, 2013, 01:59:32 pm »
Aren't lbls in Axe like jumps in Z80 ASM?

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: how to make fps in ti basic
« Reply #26 on: June 17, 2013, 02:25:08 pm »
Yes they are so it's quite fast. ;) It's literally 3 bytes and 10 T-States

Offline ben_g

  • Hey cool I can set a custom title now :)
  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1002
  • Rating: +125/-4
  • Asm noob
    • View Profile
    • Our programmer's team: GameCommandoSquad
Re: how to make fps in ti basic
« Reply #27 on: June 17, 2013, 02:27:18 pm »
Aren't lbls in Axe like jumps in Z80 ASM?
The lbls in axe are basically pointers to certain pieces of code. And just like in z80 asm, you can either call them, or jump to them.
Because of this, axe lbl's are handled only by the compiler, and are thus 0 bytes large in the compiled program. The goto's or calls(subs) do take space and use CPU cycles, however.
« Last Edit: June 17, 2013, 02:29:58 pm by ben_g »
My projects
 - The Lost Survivors (Unreal Engine) ACTIVE [GameCommandoSquad main project]
 - Oxo, with single-calc multiplayer and AI (axe) RELEASED (screenshot) (topic)
 - An android version of oxo (java)  ACTIVE
 - A 3D collision detection library (axe) RELEASED! (topic)(screenshot)(more recent screenshot)(screenshot of it being used in a tilemapper)
Spoiler For inactive:
- A first person shooter with a polygon-based 3d engine. (z80, will probably be recoded in axe using GLib) ON HOLD (screenshot)
 - A java MORPG. (pc) DEEP COMA(read more)(screenshot)
 - a minecraft game in axe DEAD (source code available)
 - a 3D racing game (axe) ON HOLD (outdated screenshot of asm version)

This signature was last updated on 20/04/2015 and may be outdated

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: how to make fps in ti basic
« Reply #28 on: June 17, 2013, 05:21:35 pm »
Yeah that's what I thought. This also means there are no memory leaks like when using a TI-BASIC lbl inside a block/loop, right?

Offline tr1p1ea

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 647
  • Rating: +110/-0
    • View Profile
Re: how to make fps in ti basic
« Reply #29 on: June 17, 2013, 05:52:06 pm »
If you wanted to make an FPS i would suggest raycasting as opposed to 3D.

That being said, an fps is not the type of project to tackle when you're only starting out programming wise. The things id learn first are dealing with program flow, sprites, data structures and of course, the inner-workings of the calc and OS itself.

Still keep the fps goal, but maybe make it a long term one? :).

Out of curiosity, have you seen Gemini or other calc fps's?
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."