Jump to content

Photo

[INTYBASIC] - Help displaying constantly positioned text during scrolling

Intellivision INTYBASIC

11 replies to this topic

#1 shots47s OFFLINE  

shots47s

    Combat Commando

  • 5 posts

Posted Sun Jun 25, 2017 12:41 PM

First off, thank you very much for creating INTYBASIC, it is a great tool for making programming Intellivision not so daunting.  It is quite an impressive tool.  

 

I am very new to the language, and I am mainly trying to implement some pieces of things to learn how to do certain game elements.  I encountered one that I haven't been able to crack.  I was working with the 'landscape' Example program, and I thought it would be an interesting exercise to have a statically placed string at the top that would change with a collision of the sprite with the background.  While I have the collision part working, I cannot figure out how to keep a character statically placed.  This would be a useful procedure when wanting to display a score at the top or bottom while the game would have a scrolling background.  I am sure that I am missing something quite simple, but if someone could point me in the right direction.  I would greatly appreciate it.  

 

Obviously (at least to me) putting the character in a BACKTAB card doesn't work.  I doubt this needs a MOB to complete, as that would be wasteful.  Should I be writing something on the BORDER, I can't figure out how to do that.

 

Thanks in advance and sorry if this is a stupid question.

 

 



#2 carlsson ONLINE  

carlsson

    Metagalactic Mule

  • 8,446 posts
  • Location:Västerås, Sweden

Posted Sun Jun 25, 2017 12:54 PM

As far as I know, if you scroll the screen, everything scrolls along. Thus you in theory have two solutions: use MOBs for static display which you already figured out, or use GRAM that are dynamically redrawn counter to the scroll direction to appear like they are in the same location. Whether there is a ready made example of the latter, I'm not sure.



#3 nanochess ONLINE  

nanochess

    Processorus Polyglotus

  • 5,777 posts
  • Coding something good
  • Location:Mexico City

Posted Sun Jun 25, 2017 1:06 PM

The Intellivision hardware scrolling doesn't admit a "simple" way to put a fixed text into screen as it moves all the screen.

The easiest is to use a MOB to draw something (there is 2x width) or have a status screen where you can show the stats you want.

The hardest is to keep a redefining rotating GRAM to show a single digit in a fixed position.

Glad you're liking IntyBASIC. :)

#4 Tarzilla OFFLINE  

Tarzilla

    River Patroller

  • 2,100 posts
  • Huh?
  • Location:Alberta, Canada

Posted Sun Jun 25, 2017 1:28 PM

As nanochess said, there is theoretically a way to do what you want, but it would fall into the "advanced" category as well as the "is it worth it" category.

That's why Super Cobra uses the method of showing score and fuel the way it does:

https://youtube.com/...h?v=Qybwmut6gBY

Or don't use hardware scrolling and use preshifted GRAM tiles to fake the scrolling, there are a examples in the forum.
Space Patrol uses fake scrolling to keep the score in place, since it never actually moves
https://youtube.com/...h?v=oEF6x1m31RU

Also not a simple thing to do.

#5 shots47s OFFLINE  

shots47s

    Combat Commando

  • Topic Starter
  • 5 posts

Posted Sun Jun 25, 2017 5:52 PM

Thank you very much for the quick response, that all makes sense given the games I have played on the Intellivision.  If I decide to take it on, I will certainly post my solution.

 



#6 intvnut OFFLINE  

intvnut

    River Patroller

  • 3,234 posts
  • Location:@R6 (top of stack)

Posted Sun Jun 25, 2017 7:14 PM

Bump'n'Jump addresses this for vertical scrolling by sliding the digits vertically.  Likewise for River Raid and its stationary status display.

 

For Space Patrol, I simply don't use hardware scrolling at all.  I actually keep 8 separate "rotations" of the background graphics for the mountains, craters, rocks, etc. and spend a bunch of cycles blasting those into GRAM every frame.



#7 Tarzilla OFFLINE  

Tarzilla

    River Patroller

  • 2,100 posts
  • Huh?
  • Location:Alberta, Canada

Posted Sun Jun 25, 2017 8:36 PM

Bump'n'Jump addresses this for vertical scrolling by sliding the digits vertically.  Likewise for River Raid and its stationary status display.
 
For Space Patrol, I simply don't use hardware scrolling at all.  I actually keep 8 separate "rotations" of the background graphics for the mountains, craters, rocks, etc. and spend a bunch of cycles blasting those into GRAM every frame.


I forgot about those two. Bump N Jump's speedometer and the effect on the playfield is noticeable but River Raid is flawless, it would be interesting to view the GRAM across 8 frames to see how they balanced the fuel gauge, score and the river and the other objects.

#8 intvnut OFFLINE  

intvnut

    River Patroller

  • 3,234 posts
  • Location:@R6 (top of stack)

Posted Sun Jun 25, 2017 9:34 PM

I forgot about those two. Bump N Jump's speedometer and the effect on the playfield is noticeable but River Raid is flawless, it would be interesting to view the GRAM across 8 frames to see how they balanced the fuel gauge, score and the river and the other objects.

 

River Raid is flawless only because it devotes the entire right stripe of the screen to the status, limiting the river to the left 3/4ths of the display.  :-)

 

It was fun watching Peter Kaminski talking about how proud he was the day he figured out how to make that happen.  He also complained that he got in trouble for making the Intellivision version more featureful than the Atari version, such as having the ability to fly over land as long as you don't hit a tree.  I don't remember which year it was he spoke about it.  Maybe it was CGE2K4?  The MP3 file is here if someone wants to go listen:  http://www.digitpres...mp3/2k4_mp3.htm

 

FWIW, there aren't many elements in River Raid that require updating GRAM.  At most, I believe it just needs to update the picture associated with your plane as you bank left and right.  The remaining graphics could be loaded statically into GRAM.


Edited by intvnut, Sun Jun 25, 2017 9:37 PM.


#9 mr_me OFFLINE  

mr_me

    River Patroller

  • 3,806 posts
  • Location:Ontario

Posted Mon Jun 26, 2017 5:26 AM

Bump'n'Jump addresses this for vertical scrolling by sliding the digits vertically.  Likewise for River Raid and its stationary status display.
...

So if I understand this correctly, it should be possible in a game like Super Cobra, to have a row of characters stationary, while the background scrolls horizontally. Taking up 20 gram characters might be an issue; do you guys think the CPU time would be too significant and a problem? Games that scroll horizontally and vertically (eg. Auto Racing) might make it too complicated to keep background characters stationary, assuming you can't spare any sprites.

Looking at Super Cobra, are they blacking out the top row of characters unnecessarily? I think there are a few games that black out a row or column when they don't need to.

#10 shots47s OFFLINE  

shots47s

    Combat Commando

  • Topic Starter
  • 5 posts

Posted Mon Jun 26, 2017 5:35 AM

River Patroller, it is a very impressive effect, as it doesn't seem to have any artifacts and scrolls very naturally, kudos. I was looking through the annotated assembly, and it is very impressive work. 



#11 mmarrero OFFLINE  

mmarrero

    Star Raider

  • 61 posts

Posted Mon Jun 26, 2017 7:50 AM

I attached code that does coarse horizontal scrolling in assembly that also skips the top row. The demo uses fine scrolling as an experiment (for example, instead of text, I'd display an energy bar, only needing to redefine 1 card). The demo also scrolls the screen "infinitely", which is unusual except in the game Sega Teddy Boy.

Spoiler

The source also includes regular scroll code, but it doesn't read tile data to fill gaps (it's also untested...). All the asm routines could be improved a lot (they were experiments for my game, Princess Lydie). For vertical scrolling, my IntyMusic source code has an ASM coarse vertical scroll (up/down) routine that skips 2 bottom rows and the right column.

Attached Files



#12 shots47s OFFLINE  

shots47s

    Combat Commando

  • Topic Starter
  • 5 posts

Posted Mon Jun 26, 2017 8:57 AM

Awesome, thanks, I am so glad I came to this forum, you all are so very helpful.  Thank you for all of the great tips and responses, I really appreciate it.







Also tagged with one or more of these keywords: Intellivision, INTYBASIC

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users