Jump to content



0

I am the new, have many of question


7 replies to this topic

#1 purduecrum OFFLINE  

purduecrum

    Moonsweeper

  • 378 posts
  • Location:Lafayette, IN

Posted Fri Aug 12, 2011 4:17 PM

Hi all,

I've been foolin' around with some batari basic and came up with this little demo that includes a title screen and a five room walk around. The character can also fire.

I have some questions...

1. I noticed that sprites can be resized to be bigger than 8 by 8. Is that a better option than using player0 and player1 both to make my character and to animate its legs? Does using both player sprites (for one character) significantly limit other (non-playfield) items that can appear on the screen?

2. I made four sprites (H,A,L,O) for my title screen. I rotate displaying them and get the flicker. Is there a better approach? What options (examples please) are available to make a more complex title screen?

3. Each time the character shoots the missile remains on the screen after it gets near to the wall. Is there a way to make it disappear? Do I just have to set it to the color of the background once it reaches a particular x value?

4. How do games like Beserk put multiple enemies on the screen at one time? Are these not sprites? Does the batari compiler just lack the optimization and finite control that one would have if programming in 6502 assembly? Any other limitation (big picture) that I should be aware of when working in batari?

Just getting started...

Bill

Attached Files


Edited by purduecrum, Fri Aug 12, 2011 4:18 PM.


#2 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Fri Aug 12, 2011 5:35 PM

View Postpurduecrum, on Fri Aug 12, 2011 4:17 PM, said:

1. I noticed that sprites can be resized to be bigger than 8 by 8. Is that a better option than using player0 and player1 both to make my character and to animate its legs? Does using both player sprites (for one character) significantly limit other (non-playfield) items that can appear on the screen?
If you need a character that is wider than 8 pixels, you use two sprites. If it just needs to be taller, you only need to use one sprite (unless you want to do some kind of crazy animation where the top part and bottom part need totally separate animations that can't be done with one sprite).




View Postpurduecrum, on Fri Aug 12, 2011 4:17 PM, said:

2. I made four sprites (H,A,L,O) for my title screen. I rotate displaying them and get the flicker. Is there a better approach? What options (examples please) are available to make a more complex title screen?
Titlescreen Kernel (by RevEng)




View Postpurduecrum, on Fri Aug 12, 2011 4:17 PM, said:

3. Each time the character shoots the missile remains on the screen after it gets near to the wall. Is there a way to make it disappear? Do I just have to set it to the color of the background once it reaches a particular x value?
Check out this example program:

http://www.randomter...missile_example




View Postpurduecrum, on Fri Aug 12, 2011 4:17 PM, said:

4. How do games like Beserk put multiple enemies on the screen at one time? Are these not sprites? Does the batari compiler just lack the optimization and finite control that one would have if programming in 6502 assembly? Any other limitation (big picture) that I should be aware of when working in batari?
They used assembly language. All kinds of magic can be done with assembly language. You might want to read Racing the Beam:

http://www.amazon.co...s/dp/026201257X


You might also want to watch this video:

www.youtube.com/watch?v=MBT1OK6VAIU


batari Basic is amazing because it lets average people who only know BASIC style languages get the beginnings of a game up on the screen in minutes instead of days or months. The speed and ease of use come at a cost, though. There are a lot of things we can't do, but those limitations are shrinking. For example, the beta version of bB lets us have 10 multicolored sprites on the screen at the same time.

Edited by Random Terrain, Fri Aug 12, 2011 7:10 PM.


#3 jrok OFFLINE  

jrok

    Stargunner

  • 1,108 posts

Posted Fri Aug 12, 2011 6:01 PM

View PostRandom Terrain, on Fri Aug 12, 2011 5:35 PM, said:

View Postpurduecrum, on Fri Aug 12, 2011 4:17 PM, said:

1. I noticed that sprites can be resized to be bigger than 8 by 8. Is that a better option than using player0 and player1 both to make my character and to animate its legs? Does using both player sprites (for one character) significantly limit other (non-playfield) items that can appear on the screen?
If you need a character that is wider than 8 pixels, you use two sprites. If it just needs to be taller, you only need to use one sprite (unless you want to do some kind of crazy animation where the top part and bottom part need totally separate animations that can't be done with one sprite).

That can be done with one sprite, if you store the sprite's shape data in RAM. With each sprite line stored in RAM, you can change individual lines using traditional 'if-then' and 'on' statements. I was doing something like that in Circus Galacticus, storing the shape and color data for P0 in the Superchip RAM. I'll see if I can dig up the relevant posts.

Edited by jrok, Fri Aug 12, 2011 6:01 PM.


#4 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Fri Aug 12, 2011 7:12 PM

View Postjrok, on Fri Aug 12, 2011 6:01 PM, said:

That can be done with one sprite, if you store the sprite's shape data in RAM. With each sprite line stored in RAM, you can change individual lines using traditional 'if-then' and 'on' statements. I was doing something like that in Circus Galacticus, storing the shape and color data for P0 in the Superchip RAM. I'll see if I can dig up the relevant posts.
If you have time, maybe you could collect the info and put it in a new thread. Then I could link to your new thread from the bB page.

#5 jrok OFFLINE  

jrok

    Stargunner

  • 1,108 posts

Posted Fri Aug 12, 2011 7:38 PM

View PostRandom Terrain, on Fri Aug 12, 2011 7:12 PM, said:

View Postjrok, on Fri Aug 12, 2011 6:01 PM, said:

That can be done with one sprite, if you store the sprite's shape data in RAM. With each sprite line stored in RAM, you can change individual lines using traditional 'if-then' and 'on' statements. I was doing something like that in Circus Galacticus, storing the shape and color data for P0 in the Superchip RAM. I'll see if I can dig up the relevant posts.
If you have time, maybe you could collect the info and put it in a new thread. Then I could link to your new thread from the bB page.

I actually think there *is* a thread dealing with this, but the AA search engine has always been resistant to my wiles. It's hard as hell to find old threads (probably some of which is owing to how big the batari basic section has become).

Ironically, the closest I could find was another thread I started where I... asked where to find the topic! :roll:

But in that one, SeaGTGruff offers a great explanation of how it works, including an outline of the way sprite data is stored and retrieved in general. Here's that thread: http://www.atariage...._1#entry1996145

#6 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Fri Aug 12, 2011 9:17 PM

View Postjrok, on Fri Aug 12, 2011 7:38 PM, said:

But in that one, SeaGTGruff offers a great explanation of how it works, including an outline of the way sprite data is stored and retrieved in general. Here's that thread:

http://www.atariage....45#entry1996145
Thanks. Looks like it might be over the heads of most new bB users, especially this stuff:

http://www.atariage....06#entry1995506

#7 purduecrum OFFLINE  

purduecrum

    Moonsweeper

  • 378 posts
  • Location:Lafayette, IN

Posted Fri Aug 12, 2011 9:34 PM

Okay... Update...

I have read both Racing the Beam and Leo Scanlon's 6502 software design book (not tonight). All of the timing/cycles stuff looks like a very painful learning curve to navigate.

I tried to experiment with the Titlescreen Kernel but it doesn't want to play nice. I guess I need some more background on bank 2 and titledrawscreen. Is there a maximum height for the data that is copied from the IMG2CODE and is placed in the 96x2_1_image.asm file? I'll have to experiment more with the examples provided. But enough for tonight...

#8 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Fri Aug 12, 2011 9:46 PM

View Postpurduecrum, on Fri Aug 12, 2011 9:34 PM, said:

All of the timing/cycles stuff looks like a very painful learning curve to navigate.
The good news is that stuff isn't as hard with batari Basic. You can write a lot of code without even getting close to going over 262 scanlines. It all depends on what you are doing.




View Postpurduecrum, on Fri Aug 12, 2011 9:34 PM, said:

I tried to experiment with the Titlescreen Kernel but it doesn't want to play nice. I guess I need some more background on bank 2 and titledrawscreen. Is there a maximum height for the data that is copied from the IMG2CODE and is placed in the 96x2_1_image.asm file? I'll have to experiment more with the examples provided. But enough for tonight...
You might want to ask your question in the Titlescreen Kernel thread since RevEng probably gets a notification when somebody posts in it.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users