Author Topic: Basic Elite  (Read 13712 times)

0 Members and 2 Guests are viewing this topic.

Offline tifreak

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Basic Elite
« Reply #15 on: June 28, 2005, 03:07:00 pm »
Do you want me to explain the string, matrix, or list detection? :)smile.gif
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

Offline mdjenkins86

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 235
  • Rating: +0/-0
    • View Profile
Basic Elite
« Reply #16 on: June 28, 2005, 03:48:00 pm »
matrix please :)smile.gif

Offline mdjenkins86

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 235
  • Rating: +0/-0
    • View Profile
Basic Elite
« Reply #17 on: June 28, 2005, 03:57:00 pm »
I do collision detection using a binary test.  A matrix is scanned in and the plotter test conditions for movement.  You can walk onto places with a one on them.  If the tile has a zero then its a collision. In other words...The screen is split into 40 sections.  It is 8 by 5.  If you are on tile on and dress down, tile 9 (or map[1,9]) will be tested to see if it has a zero in that corresponding cell.  If it does, you cant move to that section.

Each map is made of 3 maps
Map1Tiles
Map1Collision
Map1Event

The first on draws the map made of 40 cells
The second on has a 0 or 1 for each of the 40 tiles
The third allows events to be written under each cell.

The movement program runs until the event stacker is populate with an event from one of the cells.

Offline tifreak

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Basic Elite
« Reply #18 on: June 28, 2005, 04:15:00 pm »
Ok, matrix detection is extremely simple on the 8x series. Since the matrix only handles numbers, you have to use a converter to change the numbers into what it is you want displayed. You can also use the numbers to determine hit detection, since in the case of the 8x, you have an 8x16 screen, you have an 8x16 matrix, so you can use the variables that control the character to also navigate the matrix at the same time. You would just need conditions that would search [A](var+/-1,var+/-1), the conditions depending on which key is pressed.

The map data itself is figured by a coordinate system, kinda like a grid on a map. I use 0,0 as the top left corner, and work my way down. This map data is then stored into any matrix that you wish to use.

You also have to comprise the hit detection in to two parts for this to work, without getting dimension errors. This would be edge-of-screen detection, and not-at-the-edge-of-screen detection, basically a bunch of < and > symbols.

The events are easily handled, as there is a line of code that searches to see if the character is standing on a spot that isn't empty. You do not have to make sure about walls and stuff, since the hit detection does that when you move the character. :)smile.gif

I think that is everything...
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

Offline mdjenkins86

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 235
  • Rating: +0/-0
    • View Profile
Basic Elite
« Reply #19 on: June 28, 2005, 04:32:00 pm »
QuoteBegin-tifreak8x+June 28, 2005, 22:15-->
QUOTE (tifreak8x @ June 28, 2005, 22:15)
Ok, matrix detection is extremely simple on the 8x series. Since the matrix only handles numbers, you have to use a converter to change the numbers into what it is you want displayed. You can also use the numbers to determine hit detection, since in the case of the 8x, you have an 8x16 screen, you have an 8x16 matrix, so you can use the variables that control the character to also navigate the matrix at the same time. You would just need conditions that would search [A](var+/-1,var+/-1), the conditions depending on which key is pressed.

The map data itself is figured by a coordinate system, kinda like a grid on a map. I use 0,0 as the top left corner, and work my way down. This map data is then stored into any matrix that you wish to use.

You also have to comprise the hit detection in to two parts for this to work, without getting dimension errors. This would be edge-of-screen detection, and not-at-the-edge-of-screen detection, basically a bunch of < and > symbols.

The events are easily handled, as there is a line of code that searches to see if the character is standing on a spot that isn't empty. You do not have to make sure about walls and stuff, since the hit detection does that when you move the character. :)smile.gif

I think that is everything...  

 Oh my god, That is almost exactly how I do it.
Great minds I tell you. :)smile.gif

Offline tifreak

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Basic Elite
« Reply #20 on: June 28, 2005, 04:43:00 pm »
lol, but I prefer the string detection, since it is much faster, and consumes a third less of space...
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

Offline mdjenkins86

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 235
  • Rating: +0/-0
    • View Profile
Basic Elite
« Reply #21 on: June 28, 2005, 04:52:00 pm »
Go on...tell me more do you string matrices, because that just gave me a huge idea, I wonder how much space I could save....

Offline tifreak

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Basic Elite
« Reply #22 on: June 28, 2005, 05:04:00 pm »
Well, I am not totally sure how strings work on the 89...

You store your map data to a string, which is simple enough. I have used it for graphics on the homescreen, and for the graphscreen with 8x8 tiles. What you have to do is take how many per row, and then how many per column, multiply, and that has to be the length of the string. Using a converter for tiles (the homescreen just requires the output command) you have the screen place the tiles and what not. Then you need to determine where the character starts at.

Say, for intents and purposes, the tile map is 8x16, and the character starts on the 5 row, 3rd from the left. 4*16 is 64, +3 is 67. so you need to set a variable to 67. Please note that there is a command on the 83/83+ that allows us to go through a string, starting at a defined point, ending at a defined point that will show what is there.

any who, when moving left or right 1 space, you ass/subtract 1. when moving up or down, you add/subtract 16. if moving from screen to screen, up/down requires add/subtract 112, while moving left/right from screen to screen requires add/subtract 15.

This of course varies with screen and map sizes...

If I knew more about strings and stuff on the 89, I would be able to provide more detailed info on it... :)smile.gif
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

Offline mdjenkins86

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 235
  • Rating: +0/-0
    • View Profile
Basic Elite
« Reply #23 on: June 28, 2005, 05:19:00 pm »
I see what you did and no I don't know how to do this in 89 basic.   :(sad.gif I could do this in C with no problem.

Offline tifreak

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Basic Elite
« Reply #24 on: June 29, 2005, 02:16:00 am »
Well, I shall look into this, maybe I can come up with something that is relatively close...
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

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
Basic Elite
« Reply #25 on: June 29, 2005, 02:33:00 am »
O_Oshocked2.gif

wow I got lot of reading this morning (compared to maxcoderz forum)

I like strings a lot for ASCII games because you can have the scrolling using wordwrap I mentionned a month ago if I remember but I prefer matrices for tilemaps (graphical) because it allow us for instant map loading using ASM libs and they are easier to modify. With strings you have to take the first part of the string, combine it with the new character and combine it with the rest of the string to change a character. Using ASM libs isnt really a good idea for people who just want to show how powerful BASIC can be tho because its not pure BASIC.

Offline tifreak

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
Basic Elite
« Reply #26 on: June 29, 2005, 02:58:00 am »
Well, we try to keep you busy. :)smile.gif
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

Offline mdjenkins86

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 235
  • Rating: +0/-0
    • View Profile
Basic Elite
« Reply #27 on: June 29, 2005, 03:51:00 am »
Kevin- I remember you talking about that before.  On the 89, only text can be outputed so scrolling would have to use another method.  There is the recycling method.  Which alows you to scroll up and left...but not down or right....but in c maybe...

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
Basic Elite
« Reply #28 on: June 29, 2005, 04:28:00 am »
I should try to make a racing tunnel in ASCII in ETP studio :)smile.gif

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
Basic Elite
« Reply #29 on: July 05, 2005, 02:42:00 pm »
btw are the recent interviews with Hiryu and Fryedsoft finished yet? If so will they're be included in the next newsletter?