Jump to content
disjaukifa

Atomic Meltdown <-- my new homebrew game

Recommended Posts

I thought that the 32 setting caused inconsistencies in the scanline count, but I could be wrong. Looking at the latest bin, it does have this problem, but I can't say for sure that it is caused by the pfres setting. I do know that 30 is safe and works well.

Share this post


Link to post
Share on other sites

I thought that the 32 setting caused inconsistencies in the scanline count, but I could be wrong. Looking at the latest bin, it does have this problem, but I can't say for sure that it is caused by the pfres setting. I do know that 30 is safe and works well.

 

How are you seeing that? It looks fine to me when I have been testing it, and I have been playing with it for the last 15 minutes trying to beat my own game (sad isn't it when you can't beat your own game)

 

I can't want to test this out with a real joystick and not my keyboard!!!

 

Screen%20shot%202009-09-28%20at%2012.02.22%20AM.png

 

 

-Disjaukifa

Edited by disjaukifa

Share this post


Link to post
Share on other sites

Press the "~" key on your keyboard, this will open the Stella debugger. You will see the scanline count. It should remain constant at 262. Anything over that is a problem. At the far right, you will see "Frame +1", this allows you to step through your game one gameloop at a time, to see what the scanline count is with each drawscreen.

 

Inconsistencies can be caused by using incorrect settings, or by having commands that take more cycles than are available. You can check to see how many cycles are being used by adding "set debug cyclescore" at the top of your code.

Share this post


Link to post
Share on other sites

I thought that the 32 setting caused inconsistencies in the scanline count, but I could be wrong.

I'll have to keep an eye on that since I am starting a new game that uses that setting.

Share this post


Link to post
Share on other sites

I thought that the 32 setting caused inconsistencies in the scanline count, but I could be wrong.

I'll have to keep an eye on that since I am starting a new game that uses that setting.

 

I'm looking into it now, the really problem is, I'm not sure how I'm going to reduce it . . . . and why is it a problem for it to be over 262???

 

Thanks

Disjaukifa

Share this post


Link to post
Share on other sites

You could try changing the setting to something other than 32 (say 24 or 30) to see if it makes a difference. I think anything over 262 could make the screen roll on real hardware. I had a hack once that played perfectly on Z26 but when I got a Kroc cart it rolled like crazy on the TV.

Edited by accousticguitar

Share this post


Link to post
Share on other sites

You could try changing the setting to something other than 32 (say 24 or 30) to see if it makes a difference. I think anything over 262 could make the screen roll on real hardware. I had a hack once that played perfectly on Z26 but when I got a Kroc cart it rolled like crazy on the TV.

 

I'm getting like 576 on the game screen . . . so something is really really wrong here. This is not good at all! Whats worst is I have NO idea how to fix it . . . .

 

-Disjaukifa

Edited by disjaukifa

Share this post


Link to post
Share on other sites

You could try changing the setting to something other than 32 (say 24 or 30) to see if it makes a difference. I think anything over 262 could make the screen roll on real hardware. I had a hack once that played perfectly on Z26 but when I got a Kroc cart it rolled like crazy on the TV.

 

I'm getting like 576 on the game screen . . . so something is really really wrong here. #$^(#*$^*^$*^# This sucks! Whats worst is I have NO idea how to fix it . . . .

 

-Disjaukifa

 

Well MausGames and Accousticguitar,

 

I must say I'm lost, I have posted a bin with has the resets and I have posted the .bas file. I really didn't want to because hahahah ya'll are not going to like the code . . . its a bit . . . everywhere you could :-o.

 

But I would love to get this scanline thing down to the 262. Now where is what is confusing the me . . . when I play 2 Player Coop its absolute fine . . . its right at like 192, 242 I think. I have attached both the latest code and binary, if you guys could take a look at it and see what you can figure out, I would so appreciate.

 

Thanks

Disjaukifa

atomic_meltdown.bas

atomic_meltdown.bas.bin

Share this post


Link to post
Share on other sites

I hate to break this to you (and admit my ignorance) but I am almost as new to batari Basic as you are and I've never messed with scanlines before. MausGames on the other hand knows his stuff.

Share this post


Link to post
Share on other sites

I hate to break this to you (and admit my ignorance) but I am almost as new to batari Basic as you are and I've never messed with scanlines before. MausGames on the other hand knows his stuff.

 

Yeah, I've got this horrible feeling that I have yet another major re-write coming my way but at least this time I trying making as many subroutines as possible.

 

I think the issues is with my if statements, I think i have WAYYY to many of them, but I am hoping for other to see if they can kind anything I did wrong.

 

-Disjaukifa

 

PS: 300 Posts!!

Share this post


Link to post
Share on other sites

If you are using Stella, I think it's Alt+Z to turn off player0, that should help if you have to test what happens after the game has run for a certain amount of time.

 

Really????? I really need to read the documentation that came with stella . . . I had no idea it could do that . . . weird!!!

 

Now I see why people love stella so much for debugging!!!

 

-Disjaukifa

The next release of Stella will expand on this, and also support disabling collisions. So you'll be able to disable collisions of player0 but still see the actual graphics.

Share this post


Link to post
Share on other sites

I'd recommend you keep the subroutines fairly shallow - there isn't a lot of stack memory free.

 

Also bear in mind that there's some overhead for each sub call as well... actually a lot of overhead if you're calling subroutines from other banks.

Share this post


Link to post
Share on other sites

I'd recommend you keep the subroutines fairly shallow - there isn't a lot of stack memory free.

 

Also bear in mind that there's some overhead for each sub call as well... actually a lot of overhead if you're calling subroutines from other banks.

 

Ok, so if I need to use subroutines, I need to try to keep them in the same bank . . . right?

 

Thanks

Disjaukifa

Share this post


Link to post
Share on other sites

Any reason why when i try to download it I get a wierd screen full of strange characters instead of a downloaded file?

 

You need to right click on it and click save as . . .

 

-Disjaukifa

Share this post


Link to post
Share on other sites

Ok, so if I need to use subroutines, I need to try to keep them in the same bank . . . right?

Need to=no, try to=yes

 

Bank switching is another expensive operation, so try to keep the bank-switching goto/gosub calls to a minimum.

Edited by RevEng

Share this post


Link to post
Share on other sites

Ok, so if I need to use subroutines, I need to try to keep them in the same bank . . . right?

Need to=no, try to=yes

 

Bank switching is another expensive operation, so try to keep the bank-switching goto/gosub calls to a minimum.

 

Well the good news is I know have the title screen and most of the game selection screens under control, I'm having to rethinking how I I can do this game.

 

-Disjaukifa

Share this post


Link to post
Share on other sites

When I play it the score on the title screen alternates between 192 and 256 every few seconds, and while playing the game it starts with a score of one or the other and builds from that and the score also flickers violently during play.

 

The rest looks great, though!

Share this post


Link to post
Share on other sites

When I play it the score on the title screen alternates between 192 and 256 every few seconds, and while playing the game it starts with a score of one or the other and builds from that and the score also flickers violently during play.

 

The rest looks great, though!

 

Hey,

 

Here is one that has the title screen and the player selection more under control.

 

I'm working on the rest of the game now, I hope to have the scan-lines down to a good range by later this evening.

 

Thanks

Disjaukifa

atomic_meltdown.bas.bin

Share this post


Link to post
Share on other sites

This is one 2600 programming situation where "learn as you go" isn't the greatest method.

 

You need to read up on how the hardware works, then you can see how each kernel configuration compares to the rest as far as resources available. This is something I'm still working on, and it still inhibits a lot of what I try to do with bB.

 

You are currently using a configuration that requires far too many cycles to be practical. When using the "debug cyclescore" option, the score will turn red every time you go over; it's happening a lot. If you switch to pres=30 you should have enough free cycles to continue working on your game.

Edited by MausGames

Share this post


Link to post
Share on other sites

This is one 2600 programming situation where "learn as you go" isn't the greatest method.

 

You need to read up on how the hardware works, then you can see how each kernel configuration compares to the rest as far as resources available. This is something I'm still working on, and it still inhibits a lot of what I try to do with bB.

 

You are currently using a configuration that requires far too many cycles to be practical. When using the "debug cyclescore" option, the score will turn red every time you go over; it's happening a lot. If you switch to pres=30 you should have enough free cycles to continue working on your game.

 

Ok now I am seriously confused . . . when I switch pfres to 30 and take out two lines from my playfields the numbers are like 768 and 832 but are WHITE. Where I have pfres set to 32 and the playfield is 32, I have the score at 128 but its RED.

 

Now I am seriously confused. If the score color is WHITE does that mean I'm ok and if its RED I'm not ok???? I really need some help here . . .

 

Most of the game is WHITE for the score color, so I need to figure out what I should be seeing and what it means because I think I am all kinds of twisted at the moment . . .

 

Thanks

Disjaukifa

post-24538-125417687769_thumb.png

post-24538-125417688421_thumb.png

post-24538-125417688989_thumb.png

Edited by disjaukifa

Share this post


Link to post
Share on other sites

AHHH HAHAH!!!!

 

Ok Random Terrain you have the BEST website EVER . . . for programming in Batari Basic other than this fine AA site!!!! Ok Ok Ok I get it now. As long as the color is WHITE then you are good on cycles and the game should run fine. If the colors turn RED when you are using WAY too many cycles . . . see I totally didn't not get that, I just thought you wanted the cycles to stay at like 262 or below!!!

 

Jeez I'm feeling a mighty stupid at the moment!!! Can someone please tell me I got that correct?

 

Thanks

 

-Disjaukifa

Share this post


Link to post
Share on other sites

Hey Guys,

 

New .bin file. I think I have fixed everything, I don't ever seem to go into the red one the score, its always stays white!!! I have restored the store to its usual, I think I have the cycles worked out, I'll keep you update!!

 

Thanks

Disjaukifa

atomic_meltdown.bas.bin

Share this post


Link to post
Share on other sites

Sorry for not explaining what I was talking about very well, there is still a lot that is fuzzy to me too.

 

Cycles can be thought of as the amount of time you have to get things done. The bigger the number is, the better off you are, but you are only as safe as the lowest drop. So you have to pay attention, you'll have situations where one thing's happening once every 5 times through your gameloop, and something else happens once every 20 times through your gameloop, and they're both going to hit at the same time. Then you have stuff happening every game loop.

 

The best thing to do is REM out every line in your main loop that is conditional or doesn't execute on every frame. You should end up with a constant score when using "debug cyclescore" then un-REM each line and "~" to go into debug mode. Step your frames forward until you get to the frame that this line executes on to see how many cycles it is using. Do that for everything you add and you'll know what's using what, and eventually fine-tune a lot of ways to reduce cycle usage.

 

Scanlines are the actual horizontal lines of the display. So you can see how a setting that extends the display past what is intended, or having an inconsistent number can cause problems.

Edited by MausGames

Share this post


Link to post
Share on other sites

Hey Guys,

 

Its been three days since my last update, I have re-worked the majority of the code so that its within a good cycle limit, I have created some bugs in doing so, but I'm in the process of working them out. Also I just got my Pre-Production Harmony so I will be testing the code on my 2600 tonight so I will let you know how that goes and I will also be testing 2 Player with my wife tonight as well.

 

Also I got my two Tac-2s I had order in the mail today as well, so now I can test two players (heheh I only had 1 joystick, yet I have 3 paddles . . )

 

I will post later tonight to let you know how it goes!!!

 

Thanks guys

-Disjaukifa

Share this post


Link to post
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.

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...