### Author Topic: TI-Basic Collision Detection  (Read 2738 times)

0 Members and 1 Guest are viewing this topic.

#### SiphonicSugar

• Full User
• Join Date: Jun 2015
• Location: United States
• Posts: 253
• Post Rating Ratio: +1/-1
• Inspiration
• Gender:
##### TI-Basic Collision Detection
« on: September 22, 2015, 09:46:59 pm »
Okay, so I've had the idea of making an RPG for a while.  To keep things organized, I have a couple things written out (like a code flow chart and other stuff that I am to lazy to talk about).  So, I started a topic like this on Omnimaga but people seemed to forget about it, so I guess I'm moving over here.  Anyway, for the tile mapping that I am going to use in my RPG, I decided not to use matrices or lists, but store the maps in a string.  Well, everything works out correctly, and I can display a map on the screen (I'm to lazy to make it so you can change maps right now and I am still trying to find the easiest way to do it), but I do not have collision detection.  I want to be able to have the program do this:

Movement stuff
Test to see if your coordinates are not in a wall or something (I'm using "X" for walls right now)
If you are, then set your coordinates to what you had before you moved

But I have no idea how to do this, like test to see if there is an "X" where you want to move your player.

• Calculators owned: TI-89, TI-84 Plus, TI-92, TI-84 Plus C SE, and TI-Nspire CAS with Touchpad
I'm just trying to grab some inspiration.

#### c4ooo

• Pedanticity prevents ambiguity
• Super User
• CW Contest II Winner
• Join Date: Aug 2015
• Location: 127.0.0.1
• Posts: 1031
• Post Rating Ratio: +13/-4
• Gender:
##### Re: TI-Basic Collision Detection
« Reply #1 on: September 22, 2015, 10:14:13 pm »
Here is some quick code i wrote to accomplish this:
Code: [Select]
`"()()()()()()()()()::::::      ()():    :      ()():           ()():           ()():    :      ()()::::::      ()()()()()()()()()"->Str1For(Y,1,8Output(Y,1,sub(Str1,Y*16-15,16End5->X5->YWhile 1getKey->KX+(K+26)-(K=24)->AY+(k=34)-(K=25)->BIf sub(Str1,B*16-16+A,1)=" "ThenOutput(Y,X," "Output(B,A,"π"A->XB->YEndEnd`As you can probably tell, "π" is the player. The player can walk on top of anything that is a space.

#### SiphonicSugar

• Full User
• Join Date: Jun 2015
• Location: United States
• Posts: 253
• Post Rating Ratio: +1/-1
• Inspiration
• Gender:
##### Re: TI-Basic Collision Detection
« Reply #2 on: September 22, 2015, 10:53:03 pm »
Well, I find this very helpful!
• Calculators owned: TI-89, TI-84 Plus, TI-92, TI-84 Plus C SE, and TI-Nspire CAS with Touchpad
I'm just trying to grab some inspiration.

#### xlibman

• Omni founder & CW co-founder
• CodeWalrus Staff
• Super User
• Forum Maintenance
• Original 5
• CodeWalrus Supporter
• Join Date: Nov 2014
• Posts: 18985
• Post Rating Ratio: +100/-5
• Gender:
##### Re: TI-Basic Collision Detection
« Reply #3 on: September 23, 2015, 02:06:15 am »

1) Try to only use like 1-2 different tiles on which it's possible to walk into. That will speed up collision detection since you will only have to check 1 or 2 different characters.

2) If you run into a non-floor tile, make sure that your game exits the walking engine loop and processes the rest of the collision detection outside (eg if you encounter a NPC, door, treasure chest or boss). That might cause some lag when walking into walls, but at least walking on floors will be faster due to having fewer code inside the loop

3) Start small and backup often! RPGs can be overwhelming as first project and they get large fast. For example, see how few dungeons the first Illusiat games had.
• Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
• Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

#### SiphonicSugar

• Full User
• Join Date: Jun 2015
• Location: United States
• Posts: 253
• Post Rating Ratio: +1/-1
• Inspiration
• Gender:
##### Re: TI-Basic Collision Detection
« Reply #4 on: September 23, 2015, 09:49:09 pm »
What program or whatever do you recommend that I use for programming?  Because for some reason, I have this idea of programming on calculator, and I didn't know if that was a good idea or not...
• Calculators owned: TI-89, TI-84 Plus, TI-92, TI-84 Plus C SE, and TI-Nspire CAS with Touchpad
I'm just trying to grab some inspiration.

#### Unicorn

• ??? ??? ??? ??? ???
• Super User
• CW Contest II - 2nd place
• Join Date: Jan 2015
• Location: ??? ??? ??? ??? ???
• Posts: 2829
• Post Rating Ratio: +5/-2
• make :PICKACHUP: a thing!
• Gender:
##### Re: TI-Basic Collision Detection
« Reply #5 on: September 24, 2015, 02:34:14 am »
I suggest writing the bulk of th program in sourcecoder (it has cloud storage if you have a cemetech acount) so you can do it anywhere you have a computer, and also on-calc if you havesmall problems and a long car ride, or something like that. Make sure to keep each version the same though.
• Calculators owned: I own all of them: PICKACHUP TI 84+ CSE TI 83+ SE TI something something ??? ??? ??? ??? ???
• Consoles, mobile devices and vintage computers owned: PICKACHUP ??? ??? ??? ??? ???

#### xlibman

• Omni founder & CW co-founder
• CodeWalrus Staff
• Super User
• Forum Maintenance
• Original 5
• CodeWalrus Supporter
• Join Date: Nov 2014
• Posts: 18985
• Post Rating Ratio: +100/-5
• Gender:
##### Re: TI-Basic Collision Detection
« Reply #6 on: September 24, 2015, 04:44:45 am »
SourceCoder is what I use most of the time, but it requires an Internet connection. If you don't want to have to get on a website to use it, then TokenIDE might be better for you. TI-Connect CE has an editor as well but I don't know how good it is.

Also, backup often, very often, on multiple storage mediums.
• Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
• Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

#### SiphonicSugar

• Full User
• Join Date: Jun 2015
• Location: United States
• Posts: 253
• Post Rating Ratio: +1/-1
• Inspiration
• Gender:
##### Re: TI-Basic Collision Detection
« Reply #7 on: September 24, 2015, 07:56:18 pm »
Okay, thanks.
• Calculators owned: TI-89, TI-84 Plus, TI-92, TI-84 Plus C SE, and TI-Nspire CAS with Touchpad
I'm just trying to grab some inspiration.

#### SJCubed

• Full User
• Join Date: Sep 2015
• Location: New York
• Posts: 22
• Post Rating Ratio: +0/-0
• Formerly known as jsj795
• Gender:
• WalriiPoints: 75
##### Re: TI-Basic Collision Detection
« Reply #8 on: September 30, 2015, 12:12:58 am »
I use TokenIDE myself. Good luck with the RPG! I'm trying to finish what I tried to make 4-5 years ago right now >.<
• Calculators owned: TI-84+SE

#### c4ooo

• Pedanticity prevents ambiguity
• Super User
• CW Contest II Winner
• Join Date: Aug 2015
• Location: 127.0.0.1
• Posts: 1031
• Post Rating Ratio: +13/-4
• Gender:
##### Re: TI-Basic Collision Detection
« Reply #9 on: October 01, 2015, 06:56:35 pm »
Actualy, you dont need to use for loops to render the map. You can render the map much faster with just Output(1,1,Str1)

Personally, i would recomend prgramming on the calc with a shell like doors or zstart. As long as every thing as archived, it should be easier.

#### SiphonicSugar

• Full User
• Join Date: Jun 2015
• Location: United States
• Posts: 253
• Post Rating Ratio: +1/-1
• Inspiration
• Gender:
##### Re: TI-Basic Collision Detection
« Reply #10 on: October 01, 2015, 08:57:07 pm »
I think that I am going to start using Doors instead of MirageOS.

Doors has a cursor!
I didn't want to use it at first because I did not like the CSE version.
• Calculators owned: TI-89, TI-84 Plus, TI-92, TI-84 Plus C SE, and TI-Nspire CAS with Touchpad
I'm just trying to grab some inspiration.

#### xlibman

• Omni founder & CW co-founder
• CodeWalrus Staff
• Super User
• Forum Maintenance
• Original 5
• CodeWalrus Supporter
• Join Date: Nov 2014
• Posts: 18985
• Post Rating Ratio: +100/-5
• Gender:
##### Re: TI-Basic Collision Detection
« Reply #11 on: October 03, 2015, 04:46:26 am »
I personally don't like the mouse, but I like DCS better than Mirage for a few things: First of all, it has instant Goto when exiting programs and going in the code, we can read archived program code (although DCSE8 implements it better) and unlike Mirage, folders won't get deleted after a RAM clear.

Also on the CSE you don't have much choice to use DCSE because it's the only shell available.
Actualy, you dont need to use for loops to render the map. You can render the map much faster with just Output(1,1,Str1)

Personally, i would recomend prgramming on the calc with a shell like doors or zstart. As long as every thing as archived, it should be easier.
Indeed. You will be able to draw your map instantly that way.
• Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
• Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne