Jump to content
IGNORED

Are there any new bB tips and tricks I need to know?


Random Terrain

Recommended Posts

I just found some of my game ideas in a notebook, so no more procrastinating. It's time to make some games. Here are a few questions:

  1. Is there anything I need to know about the latest version of bB?
    .
  2. Any bugs in the code that I will have to adjust for?
    .
  3. Has anyone made any updated sprite editors or playfield editors based on what the latest version of bB can do?

Thanks.

Link to comment
Share on other sites

I just found some of my game ideas in a notebook, so no more procrastinating. It's time to make some games. Here are a few questions:
  1. Is there anything I need to know about the latest version of bB?
    .
  2. Any bugs in the code that I will have to adjust for?
    .
  3. Has anyone made any updated sprite editors or playfield editors based on what the latest version of bB can do?

Thanks.

 

 

I have been posting bugs I find in in the 1.0 version in my blog. Batari has been fixing them for the V1.1 release. A work around is always provided until then.

 

Cheers!

Link to comment
Share on other sites

1. There is a long list of things, but I haven't compiled them because I'm lazy and I spend most of the time I have for bB jumping from project to project. You should try to avoid that. A few I can think of though;

 

It isn't documented, but you can pretty much forget about using scrolling with most of the advanced new features, without some not yet released fixes. There is probably a 1.1 right around the corner anyway.

 

So far the best pfres settings I've found to use with the superchip are 22, 24, and 31. Using this option definately limits the ways that you can alter the playfield in-game.

 

Using vblank is now encouraged, but there is no way yet to determine the amount of free cycles in vblank. You will definately need to utilize these cycles if you are using the advanced kernel options.

 

2. None that I have found yet.

 

3. I wish...I use jasc animation shop, then transfer to 2600ide. Something like it that generated code would free up at least half of the time I spend on my huge lame collection of unfinished games.

Link to comment
Share on other sites

Aside from the bugs, there are some considerations with compiling legacy code, if that's what you plan to do. Any code written for 0.99 or older may not work right, but you can fix it one of two ways: Either change the code so that all your X-positions are 14 less than the used to be, or use "set legacy 0.99" at the beginning of your program. Other than that, most code should compile fine, unless you are doing something like exploiting a bug in an earlier version.

Link to comment
Share on other sites

1. There is a long list of things, but I haven't compiled them because I'm lazy and I spend most of the time I have for bB jumping from project to project. You should try to avoid that. A few I can think of though;

 

It isn't documented, but you can pretty much forget about using scrolling with most of the advanced new features, without some not yet released fixes. There is probably a 1.1 right around the corner anyway.

 

So far the best pfres settings I've found to use with the superchip are 22, 24, and 31. Using this option definately limits the ways that you can alter the playfield in-game.

 

Using vblank is now encouraged, but there is no way yet to determine the amount of free cycles in vblank. You will definately need to utilize these cycles if you are using the advanced kernel options.

 

2. None that I have found yet.

 

3. I wish...I use jasc animation shop, then transfer to 2600ide. Something like it that generated code would free up at least half of the time I spend on my huge lame collection of unfinished games.

Thanks. If I could find an affordable, easy to use BASIC for the PC, I'd try to make my own editors that would spit out the correct bB code.

 

 

Aside from the bugs, there are some considerations with compiling legacy code, if that's what you plan to do. Any code written for 0.99 or older may not work right, but you can fix it one of two ways: Either change the code so that all your X-positions are 14 less than the used to be, or use "set legacy 0.99" at the beginning of your program. Other than that, most code should compile fine, unless you are doing something like exploiting a bug in an earlier version.

Thanks. I won't be using any old code.

Link to comment
Share on other sites

A few I learned that weren't on:

http://www.randomterrain.com/atari-2600-me...c-commands.html

for bB 1.0 were:

 

Paddles:

* there is no way to use paddles with multisprite kernel (according to Curtis it isn't even hackable with the current kernel)

* to check paddle button 0, use: if joy0right ...

* to check paddle button 1, use: if joy0left ...

* to check paddle button 2, use: if joy1right ...

* to check paddle button 3, use: if joy1left ...

 

Hacks:

I was shown by Michael that you can get 12 rows of vertical resolution in the playfield with the regular kernel by doing the following immediately after defining the playfield:

pfscroll upup : pfscroll upup

 

However, the caveats are (1) I'm not sure that it continues to work if you mess with pfscroll some more and (2) if you redefine the playfield (even if you are just setting it again to what it is currently) you should NOT call pfscroll up : pfscroll up, otherwise every other time the playfield AND score will be shifted up a bit. To get around this, I was told (and just tested this) that you can just do pfscroll up : pfscroll up once after the first playfield definition, and then set a bit and check it whenever you redefine the playfield so that you won't call pfscroll up : pfscroll up for subsequent playfield redefinitions. Example:

 

(be sure to define some variable up top, for example I've called it "myvariable")

playfield:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

X..............................X

X..............................X

X......X.....XXXXXX.....X......X

X......XX..............XX......X

X......XXXXXXXXXXXXXXXXXX......X

X......XXXXXXXXXXXXXXXXXX......X

X..............................X

X..............................X

X..............................X

X..............................X

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

end

 

if !myvariable[0] then pfscroll upup : pfscroll upup : myvariable[0] = 1

Link to comment
Share on other sites

I was shown by Michael that you can get 12 rows of vertical resolution in the playfield with the regular kernel by doing the following immediately after defining the playfield:

pfscroll upup : pfscroll upup

 

I'm currently upgrading the standard kernel. I'll see if i can add an optionl to display all 12 lines so that you don't have to do any of these tricks that might break.

Link to comment
Share on other sites

Thanks. I wonder if no paddles with the multisprite kernel will change with the next update.

 

That would be great! Curtis said it wouldn't be possible to hack it with the current multisprite kernel in this post. But if the multisprite kernel could be changed somehow to allow it, it would be awesome.

Link to comment
Share on other sites

Something else that would be nice is an example of how to handle sprite2-5 collision detection when using multisprite kernel. This is how I just did it, but it would be nice if someone could post what they think to be the best solution:

 

findclosestp0

closestitemnum = 0

templowdistance = 255

tempitemx = shovelx : tempitemy = shovely : tempitemroom = shovelroom : gosub gettempdistp0

if !p0inventory{0} && tempdistance < templowdistance then templowdistance = tempdistance : closestitemnum = 1

tempitemx = gunx : tempitemy = guny : tempitemroom = gunroom : gosub gettempdistp0

if !p0inventory{1} && tempdistance < templowdistance then templowdistance = tempdistance : closestitemnum = 2

return

 

gettempdistp0

if tempplayerx > tempitemx then tempdistance = tempdistance + (p0x - tempitemx) else tempdistance = tempdistance + (tempitemx - p0x)

if tempplayery > tempitemy then tempdistance = tempdistance + (p0y - tempitemy) else tempdistance = tempdistance + (tempitemy - p0y)

if tempitemroom <> proom then tempdistance = 255

return

Edited by Fort Apocalypse
Link to comment
Share on other sites

Thanks. I'll add anything that batari approves, except for nude photos. :D

 

batari can't think of everything, so every little bit helps. Once that bB wiki is ready, bB users will be able to expand on things and add examples and make bB even easier to use. It has been said that I should keep my bB page up, but after the wiki has all of the info from my page and more, it would be kind of stupid to split people's attention. We could all focus on making the wiki the ultimate bB guide and my page should eventually be deleted.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...