Jump to content

Photo

Best practice with moving background made of tiles

tilemap

2 replies to this topic

#1 asdronin OFFLINE  

asdronin

    Space Invader

  • 26 posts

Posted Wed May 8, 2019 2:09 PM

Hi all,

Im still starting in 7800basic and learning from Atarius Maximus tutorials, thats a nice source of information really helpful =). Well while I learn Im planning what game I will do, and I have one doubt, regarding tilemaps I have seen plotmapfile seems slower as if has different palette for each tile but if my backgrond is moving (like on a shmup) whats best practice? because its highly possible that my background tiles have different palettes so it seems fitting but in relation to the movement? I mean I dont know if moving background tiles will be rendered on the off-screen section with one method or the others, so maybe just plotting the tiles sprites manually would be faster, so I would like to know beforehand to decide what path I should take. Thanks a lot for any clue regarding this



#2 RevEng OFFLINE  

RevEng

    Bit Player

  • 5,213 posts
  • Location:bottom of the stack

Posted Wed May 8, 2019 3:29 PM

Welcome asdronin!

The best practice on the 7800 (and 7800basic) actually depends highly on the game requirements. This is one of the reasons that there aren't presently high-level scrolling functions.

You nailed it on the head, that varying palettes are problematic. If you're scrolling sideways, then they're less problematic if they span the screen horizontally. Similarly if you're scrolling up then having the same palettes vertically is less problematic.

If the background consists of a few objects, even very wide ones, it will be better to "fake scroll" them with sprites.

If you need to do a real sideways scroll, you can reach under the hood and modify the position of the background character objects. It would be up to you what to do once you've scrolled an entire character, and how you'd refresh it.

Doing a plotmap each screen will have horrible performance. It's possible, but not recommended, unless it's some sort of quick screen transition.

I should also say that fine vertical scrolling isn't available right now. You can again reach under the hood, but this one is more complicated.

Last word, I'd recommend you start simple. That way you're not learning 7800basic at the same time you're trying to push at the limits.

#3 asdronin OFFLINE  

asdronin

    Space Invader

  • Topic Starter
  • 26 posts

Posted Wed May 8, 2019 7:21 PM

Thanks a lot RevEng =). I come from developing in other platforms (mainly c++ with other libs, Flash and recently Unity) and well I find many things that are different of course, so I have to try and get a good performance on top. 

 

I will keep in mind what you said and mainly I will be using sprites to fake that scroll effect, I got the idea that plotmap isnt very recommended for scrolling backgrounds, I think that maybe its really good for static screens or as you said slight transitions, probably like first zelda games as we see in the examples provided with the 7800basic.

 

I have seen a project thats still on development called "Bullet festival" by Roy, and it has vertical scrolling but also the backgrounds move sideways slightly, since the sprites share the same palette probably it runs so fast because of that, so my assumption is that making a vertical scroll like that is the best to achieve a good performance, after all he has like 3-5 columns of sprites moving down really fast and just changing their X slightly when ship move sideways, I will try something based on all that you said, thanks a lot for explaining everything so well =).

 

Also yes you are right, its better to learn from something simple but because I dont know how much time I will have for this game and I dont like to leave things unfinished, Im anticipating a few steps on what I will be using, Im on part three of the tutorials right now and Im not coding the same game he made but learning a lot from everything explained here and there =)






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users