Jump to content

Photo

Nyan Cat Game - Work in Progress

WIP work in progress 2600 Nyan Cat

108 replies to this topic

#101 JeremiahK OFFLINE  

JeremiahK

    Chopper Commander

  • Topic Starter
  • 217 posts
  • Location:Indiana, USA

Posted Fri Apr 20, 2018 12:28 AM

I figured it out! The way I have the controls implemented made it a bit tricky, but it works perfectly now.
Every frame, it checks for a centered joystick. If that case is true, it sets the control bit, if not, it leaves it. Only when the cat changes rows is the control bit cleared.
I also fixed the cat tart, which was having the top scanline clipped off on all rows but the bottom. I won't post the bin, but I do have it on GitHub if you want to try it out.

#102 vidak OFFLINE  

vidak

    Moonsweeper

  • 458 posts
  • Location:Sydney, Australia

Posted Sat Apr 21, 2018 6:43 PM

noice!!!



#103 JeremiahK OFFLINE  

JeremiahK

    Chopper Commander

  • Topic Starter
  • 217 posts
  • Location:Indiana, USA

Posted Mon Jun 4, 2018 9:08 PM

Big update today!

 

I am in the process of re-organizing the project into banks, and since I was tired of working on the game itself, I decided to take a try at coding the menu.  I want the menu to have a nice big animated Nyan Cat rendered as accurately as possible.  Above the cat will be displayed the players' scores, alternating between player 1 and player 2, and below the cat will be a scrollable menu.  Each player will be able to select a cat color, and the cat will be colored according to which player's score is being displayed.  (NTSC only for now, but for anyone wondering, I am intending on making this game truly PAL/50 compatible with the flip of a switch, including gameplay timing.)

 

Today, after weeks of many many re-writes, I finally finished the kernel for drawing the cat.  Well, pretty much.  I just have to work on the rainbow a bit so it doesn't bounce with the cat, and there are a couple minor touch-ups to do, but the hardest part is done.  I am quite literally pushing the Atari to the edge of the abyss with this kernel, and all the usable objects are needed (Press Alt + comma in Stella to see how I am using the objects).  It's technically not pixel-perfect, I rounded out the paws because it saves a lot of ROM and there are two very minor but practically undetectable flaws.

 

The code is not uploaded to github yet, but I will upload it as soon as I add my old code to the new code in a better structured way.  Then I think I'll work on the gameplay again, since this long break has given me ideas of how to implement the random object generation.

 

The .bin is attached!  I cut it to 4K since I am only using 1 bank for this.

 

Edit: You can use the COLOR/BW switch to pause the animation

Attached Files


Edited by JeremiahK, Tue Jun 5, 2018 2:51 PM.


#104 Tjoppen OFFLINE  

Tjoppen

    Chopper Commander

  • 221 posts

Posted Tue Jul 17, 2018 3:55 AM

Woah, that's much better than my old attempt from 2011 :) Try hitting HMOVE every line if you can, so the black comb become less of an issue. With TIAtracker now existing the music could probably be improved too



#105 JeremiahK OFFLINE  

JeremiahK

    Chopper Commander

  • Topic Starter
  • 217 posts
  • Location:Indiana, USA

Posted Thu Jul 19, 2018 6:37 AM

Thank you!

 

Unfortunately, there is no way of getting rid of the black comb.  I am using the time between HMOVE's to set 4 objects' move registers before the next HMOVE, all while drawing the kernel, and there isn't enough time to do anything else.  (Unless I can think of a way to preload everything into RAM. Edit: scratch that, I took a look, and that is what I am already doing.)  I do have plans for the music, though!


Edited by JeremiahK, Tue Jul 24, 2018 9:21 PM.


#106 JeremiahK OFFLINE  

JeremiahK

    Chopper Commander

  • Topic Starter
  • 217 posts
  • Location:Indiana, USA

Posted Fri Oct 12, 2018 10:05 PM

So, a little update.

 

I discovered graphical glitches on two of my systems.  In my big nyancat display, I am drawing an asymmetrical playfield, but instead of writing the 2nd PF2 data at cycle 48, I have to do it at 50.  This happens right at the start of a new playfield block.  Apparently, not all systems handle this correctly, as one of my 4-switch consoles, after warming up for a few seconds, failed to update PF2 until the next block.

I have provided a test .bin for this, which draws a purple playfield grid, and should fill in only 9 blocks of the playfield with yellow.  If 10 blocks are filled in, switching the color switch back and forth should go between 10 and 9 blocks filled in with yellow.  (It updates PF2 at cycle 50 in color mode and 49 in b/w mode.)  I will post a video below showing this.

 

I was able to fix this, but now I have run into another problem with my light-sixer.  It randomly flashes areas of the cat that should be colored with the playfield instead colored with the background.  It's hard to see in the video, but basically there are just blocks of grey in the rainbow, cat tart body, and background that flash on and off for no apparent reason.

 

I might try to break this kernel down like I did before to figure out what is wrong, but I don't know for sure if there might just be something wrong with my system.  I would appreciate it if some of you could test this on all your systems to see what is displayed versus Stella.  Especially if you have a light-sixer.  If this turns out to be a widespread issue, I will see what I can do.

 

The left difficulty switch pauses the cat animation, and the right one pauses the cat + rainbow animation.  You can use the color switch to select NTSC or PAL mode, so if you have a PAL system, you can test it too!

 

(In case there is any confusion, please test "nyancat.bin".

"cycle_50_PF2_write_glitch_test.bin" is just included so you can test it out if you want to.)

 

Attached Files


Edited by JeremiahK, Fri Oct 12, 2018 10:21 PM.


#107 JeremiahK OFFLINE  

JeremiahK

    Chopper Commander

  • Topic Starter
  • 217 posts
  • Location:Indiana, USA

Posted Sat Oct 13, 2018 11:46 AM

After looking at the code and doing some testing, I have discovered that the problem is not in the kernel.  The frame's PF graphics are stored in RAM, and somehow the code that pushes the graphics into RAM is not working as expected in the light-sixer.  I will look deeper into this later.


Edited by JeremiahK, Sat Oct 13, 2018 11:47 AM.


#108 AkashicRecord ONLINE  

AkashicRecord

    Chopper Commander

  • 140 posts
  • Programming Tetris

Posted Sat Oct 13, 2018 12:04 PM

There's just something exciting about a cat and rainbow pop-tart pushing the envelope...

#109 JeremiahK OFFLINE  

JeremiahK

    Chopper Commander

  • Topic Starter
  • 217 posts
  • Location:Indiana, USA

Posted Sat Oct 13, 2018 11:30 PM

All right, so since the playfield was acting up, I decided to test Adventure, since it uses playfield graphics extensively.  And the game doesn't work at all.  So it seems I have another light-sixer on my hands that needs to be repaired.  Not exactly what I wanted, but thankfully I can leave my code alone now.


Edited by JeremiahK, Sat Oct 13, 2018 11:30 PM.






Also tagged with one or more of these keywords: WIP, work in progress, 2600, Nyan Cat

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users