Jump to content
IGNORED

The Final D Released


kikipdph

Recommended Posts

55 minutes ago, Thomas Jentzsch said:

What's wrong on real hardware? Using Stella, I spot some inconsistent scanline counts, does it roll?

When I hit an enemy on the Harmony cartridge, the screen glitches (screen flicker). It's okay on my Stella. I don't personally have an Atari 2600, so I can't test it regularly.

The background doesn't move (roll), and the top line flickers as a force field effect.

Edited by kikipdph
Link to comment
Share on other sites

Stella sensitivity to imperfect frames is not 100% accurate. Also each TV behaves differently.

 

If you enable the info overlay, you can see it flickering from time to time. If you then skip back in the debugger, you can see that some frames are longer than 262 scanlines.

And you can increase the jitter sensitivity in developer mode from 8 to 9 or 10. This will catch more frame bugs, even slight ones.

Link to comment
Share on other sites

3 hours ago, Thomas Jentzsch said:

Stella sensitivity to imperfect frames is not 100% accurate. Also each TV behaves differently.

 

If you enable the info overlay, you can see it flickering from time to time. If you then skip back in the debugger, you can see that some frames are longer than 262 scanlines.

And you can increase the jitter sensitivity in developer mode from 8 to 9 or 10. This will catch more frame bugs, even slight ones.

I knew where the problem was, now we know what's causing it, but I haven't found the BUG. I tried to solve it with one more drawscreen, but Atari doesn't allow it, or rather, it does allow it but it slows down the game a lot, but it solves the 262 lines problem. However, that method cannot be used because it slows down the game. Even though it solves the problem, it's not a viable solution. I'm new to Batari Basic, and I didn't know that the Stella had separate functions :)

Edited by kikipdph
Link to comment
Share on other sites

49 minutes ago, Thomas Jentzsch said:

Sounds like you have to optimize your code. Do you know which code is most time consuming? Or maybe there is code which must not be executed each frame? 

The most important problem occurs when missile0 and sprite make contact, that is when this

 

if missile0y + 3 > player5y  && missile0y < player5y + 7 && missile0y < 180 then m = 1
     if m = 1 && missile0x + 8 > player5x && player5x + 8 > missile0x then  missile0y = 190: player4y = player5y : player4x = player5x : o = 1 : gosub __polica_9 : player5y = 210   
     m = 0

 

It's similar to when the Enemy hits the Player and doesn't create a problem.

sub polica 9 is scoring

The variable "o" is for the animation and sound of the enemy's death.

"Player4" replaces "sprite5" and serves with "o" as the animation of the enemy's death.

The variable "m" is used to detect which sprite is dying.

Edited by kikipdph
Link to comment
Share on other sites

4 minutes ago, Thomas Jentzsch said:

What happens when you remove the scoring call?

That's the problem and that's the only thing I didn't pay attention to.

 

I will test it some more and then we will see if it's resolved. Now, I just need to figure out how to implement the score.

Link to comment
Share on other sites

3 hours ago, Thomas Jentzsch said:

You could set a marker and increase the score when you have time.

The problem still persists, Score just slightly eased it.

Something is wrong with the code, and I can't figure out what. I'm also a bit overwhelmed with life.
 

if missile0y + 3 > player5y  && missile0y < player5y + 7 && missile0y < 180 then m = 1

The part of the code that I previously wrote, when I isolate it, everything is okay. The variable N is not the problem, but rather in this part.
 

if missile0y + 3 > player5y  && missile0y < player5y + 7 && missile0y < 180

 

Link to comment
Share on other sites

15 minutes ago, Thomas Jentzsch said:

I do not do bBasic, so I cannot help with details. You should ask in the bB forum. 

And it's actually better because I found an error, although it's not really an error in the code, but rather something that is meaningless and difficult to explain.

Link to comment
Share on other sites

Cool game! I love the graphics and the way how the enemy moves on the later stages. The only thing that botters me is how slow the first stage is. I know it supposed to be easy but you have to wait a lot without little to do. Maybe the enemies could shoot the player?

Anyway really cool overall. I love the background details and the enemy design.

Edited by Phobos867
Link to comment
Share on other sites

On 3/26/2023 at 11:05 AM, kikipdph said:
if missile0y + 3 > player5y  && missile0y < player5y + 7 && missile0y < 180 then m = 1
     if m = 1 && missile0x + 8 > player5x && player5x + 8 > missile0x then  missile0y = 190: player4y = player5y : player4x = player5x : o = 1 : gosub __polica_9 : player5y = 210   
     m = 0

One way may be to balance branches by adding labels to jump around doing both long conditional checks on m each frame, based on m:

 

if m=1 goto branch2:rem load balance
branch1 if missile0y + 3 > player5y  && missile0y < player5y + 7 && missile0y < 180 then m = 1:goto donebranches:rem load balance
branch2 if m = 1 && missile0x + 8 > player5x && player5x + 8 > missile0x then  missile0y = 190: player4y = player5y : player4x = player5x : o = 1 : gosub __polica_9 : player5y = 210   
     m = 0
donebranches

This way only one of those long conditional checks will be done each frame and should not impact the other.

Not sure if you wanted to use and instead of logical &&

 

  • Like 1
Link to comment
Share on other sites

On 3/27/2023 at 9:36 AM, Phobos867 said:

Cool game! I love the graphics and the way how the enemy moves on the later stages. The only thing that botters me is how slow the first stage is. I know it supposed to be easy but you have to wait a lot without little to do. Maybe the enemies could shoot the player?

Anyway really cool overall. I love the background details and the enemy design.

This is my second video game, and when I realized that I had surpassed the limitations of Atari, and that the repairs required more time, I lost the will to fix this one and make other games.

But I agree with what you wrote.

Link to comment
Share on other sites

On 3/28/2023 at 2:37 PM, kikipdph said:

This is my second video game, and when I realized that I had surpassed the limitations of Atari, and that the repairs required more time, I lost the will to fix this one and make other games.

But I agree with what you wrote.

It's just a nitpick though. The game is pretty fun and I'm getting used to it!

Edited by Phobos867
Link to comment
Share on other sites

5 hours ago, Phobos867 said:

It's just a nitpick though. The game is pretty fun and I'm getting used to it!

The game has been pulled due to revisions, it will be released in a few days. I will write to you when I publish it. "Now the first phase has been shortened."

Edited by kikipdph
  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

ZeroPage Homebrew is playing The Final D on tomorrow's ZPH stream LIVE on Twitch, hope you can join us!

 

Games:

 

 

(WATCH AT 1080P60 FOR BEST QUALITY)

 

UPDATE! The time has changed to 6PM PT and has been updated in the post as unfortunately Darcy is feeling under the weather and can't make it for an early show. See you tonight!

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