Author Topic: A Resolve For a New Standard  (Read 7638 times)

0 Members and 1 Guest are viewing this topic.

Offline mdjenkins86

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 235
  • Rating: +0/-0
    • View Profile
A Resolve For a New Standard
« on: June 28, 2005, 04:26:00 pm »
First, I want to congradulate all of you on a job well done.  I have seen and read new concepts that push the boundary of our art.  Each of us has trully push the Basic language to it limits. If you can make a function mapper in Basic, you are a pro.

But alas I have resolved to challenge myslef to expand the limits of my potential for the sake of story telling.  I am trully inspire by the mappers I have seen.  I am especially proud to observe the brillant utilization of Output (The honest blew me away.  I didn't know that was possible, but a mapper using output funtion is really quite interesting to a 89 programmer like myself.)  I trully believe that I have made the fasters mapper in pure 89 Basic but found that it still took about 1 second to redraw the entire screen.  This is what inspired me to create mapit2 a C program that maps the screen in about .1 seconds and is nearly fast enough to support 4 direction screen scrolling.

This is my problem:
My current mapper draws a screen.  Then when the user walks off of the screen, the screen fades out, the map is redrawn and the screen fades back in.  This process roughly takes about 1 second and isn't slow by any means.

But what I want to do is have the screen scroll as the user moves up, down, left or right.  I don't want to have to redraw every time the character moves off screen. I want to keep the character relatively in the center of the calculator screen at all time unless they reach a map boundary.

I want to draw the entire map to a big scructure, which would be the entire map and then move that scructure when the character moves.  Does anyone know what I am getting at.  I have an idea about how this would be done, but I could use input.

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
A Resolve For a New Standard
« Reply #1 on: June 29, 2005, 02:21:00 am »
hmm so9und interesting. I dont know how you could get the character stay in the center of the screen, but on the 83+ we have an asm lib that allow us to scroll a desired amou8nt of pixel, then we just draw the new line of sprites (from the map) in the blank space. Thats a pretty old method on the 83+ but it's still efficient. I dont know if its what you want tho :???:confus.gif

Offline mdjenkins86

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 235
  • Rating: +0/-0
    • View Profile
A Resolve For a New Standard
« Reply #2 on: June 29, 2005, 03:43:00 am »
That was initially my first idea, but it is just way too low level for me.  What I want to do is just move a picture around in space.  I need to fiqure out how to move the picture past 0,0 and into the negative.

arti

  • Guest
A Resolve For a New Standard
« Reply #3 on: June 29, 2005, 04:36:00 am »
You're talking about smooth/tile-by-tile scrolling.

A couple of months ago I made a slow but working tile-by-tile scroller in BASIC89 (I thought it was cool back then, but now I see how slow it is, disgusting  :dang:banghead.gif):
user posted image

The way I do it is you save in a pic part of the screen, replace the saved pic on the screen x pixels to the left, and then on the empty space on right you call the new row of tiles from the matrix. And it's slow as hell.

I tried to mimic the same thing in C, with BitmapGet/Put, but it's almost as slow as it is in BASIC! (however, the map is full screen not 4 by 5, but the laggy effect is unbearable).

The way the pros do it is they draw everything to buffers and then copy the buffer to the lcd memory, (or so I gather), but I didn't have the time or patience to figure that out. :(sad.gif

dysfunction

  • Guest
A Resolve For a New Standard
« Reply #4 on: July 02, 2005, 09:09:00 am »
Have you guys seen this http://www.ticalc.org/images/news/1999-11-07-zelda.gif?
Looks like a damn good mapper.

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
A Resolve For a New Standard
« Reply #5 on: July 02, 2005, 09:16:00 am »
oh yeah that one, its still very slow and should not be used in Zelda but it would be fast enough in a RPG on HW2/HW3  

Offline tifreak

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2708
  • Rating: +82/-3
  • My Kung Fu IS strong...
    • View Profile
    • TI-Freakware
A Resolve For a New Standard
« Reply #6 on: July 02, 2005, 09:59:00 am »
Well, after mdjenkins gets the rest of his tutorials complete, I would like to port aod to that kind of game on the 89... I think it would be a really nice step for the aod line...
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
A Resolve For a New Standard
« Reply #7 on: July 02, 2005, 10:10:00 am »
Indeed, AODR alerady rocks, I hope you can find a way to make map loading faster than RL3 :)smile.gif

Offline mdjenkins86

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 235
  • Rating: +0/-0
    • View Profile
A Resolve For a New Standard
« Reply #8 on: July 02, 2005, 07:55:00 pm »
Hmm...arti, you hit it right on the head...buffering a screen into memory, this is what I want to do.  Impressive mapper in Basic you've got there.

Offline mdjenkins86

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 235
  • Rating: +0/-0
    • View Profile
A Resolve For a New Standard
« Reply #9 on: July 02, 2005, 07:58:00 pm »
QuoteBegin-tifreak8x+July 2, 2005, 15:59-->
QUOTE (tifreak8x @ July 2, 2005, 15:59)
Well, after mdjenkins gets the rest of his tutorials complete, I would like to port aod to that kind of game on the 89... I think it would be a really nice step for the aod line...  

 Work in progress... :)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
A Resolve For a New Standard
« Reply #10 on: July 03, 2005, 12:11:00 pm »
explaining how to do this mapper could be a great addition for your tutorial mjenkins %)rolleyes2.gif