Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/10/2014 in all areas

  1. One issue with the station graphics is the gaps in the image which are used to create a shadow effect. They look great, but play havoc with collision testing. I built a test version, available below, that lets you move a horizontal shot around with the right joystick. It denotes a collision by changing the score to 888888: If the shot ends up in a shadow there's nothing to collide with, so the score shows 0: Collision tests are done row-by-row, so I got to thinking that a way to handle that would be to also consider the rows above and below the row being tested. I should be able to fill in the shadows by ANDing the above and below rows together then ORing that with the row being tested. In pseudo code that'd be (row-1 & row+1) | row. To test the idea, I wrote a quick a command line program. It first outputs the rows of the station using ASCII graphics: ............XXXX................ ............XXXX................ ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXX.................. ..........XXXXXXXX.............. ..........XXXX.................. ..........XXXXXXXX.............. ......XXXXXXXX....XXXX.......... ..........XXXXXXXX.............. ......XXXXXXXX....XXXX.......... ..........XXXXXXXX.............. ..XXXX................XXXX...... ............XXXX................ XXXXXXXX............XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXX........XXXX....XXXX........ XXXXXXXX............XXXXXXXX.... XXXX........XXXX....XXXX........ XXXXXXXX....XXXX....XXXXXXXX.... XXXX....XXXXXXXXXXXXXXXX........ XXXXXXXX....XXXX....XXXXXXXX.... XXXX....XXXXXXXXXXXXXXXX........ XXXXXXXX............XXXXXXXX.... ............XXXX................ ..XXXX................XXXX...... ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXX.................. ..........XXXXXXXX.............. ..........XXXX.................. ..........XXXXXXXX.............. ..........XXXX.................. ..........XXXXXXXX.............. ..XXXX................XXXX...... ............XXXX................ XXXXXXXX............XXXXXXXX.... XXXXXXXXXXXXXXXXXXXXXXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXX....XXXXXXXXXXXXXXXX........ XXXXXXXX....XXXX....XXXXXXXX.... XXXX........XXXX....XXXX........ XXXXXXXX............XXXXXXXX.... XXXX........XXXX....XXXX........ XXXXXXXX....XXXX....XXXXXXXX.... XXXX........XXXX....XXXX........ XXXXXXXX............XXXXXXXX.... ............XXXX................ ..XXXX................XXXX...... ..........XXXXXXXX.............. ......XXXXXXXXXXXXXXXX.......... ..........XXXXXXXX.............. ......XXXXXXXX....XXXX.......... ..........XXXXXXXX.............. ..........XXXX.................. ..........XXXXXXXX.............. ..........XXXX.................. ..........XXXXXXXX.............. ..........XXXX.................. ..........XXXXXXXX.............. ................................ ............XXXX................ then again as each row would appear for collision testing: ............XXXX................ ............XXXX................ ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ......XXXXXXXXXXXXXXXX.......... ......XXXXXXXXXXXXXXXX.......... ......XXXXXXXXXXXXXXXX.......... ..........XXXXXXXX.............. ..XXXX......XXXX......XXXX...... ..XXXX......XXXX......XXXX...... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXXXXXXXXXXXXXXXXXXXXXX.... XXXXXXXXXXXXXXXXXXXXXXXXXXXX.... XXXXXXXXXXXXXXXXXXXXXXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... ..XXXX......XXXX......XXXX...... ..XXXX......XXXX......XXXX...... ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..XXXX......XXXX......XXXX...... ..XXXX......XXXX......XXXX...... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXXXXXXXXXXXXXXXXXXXXXX.... XXXXXXXXXXXXXXXXXXXXXXXXXXXX.... XXXXXXXXXXXXXXXXXXXXXXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... XXXXXXXX....XXXX....XXXXXXXX.... ..XXXX......XXXX......XXXX...... ..XXXX......XXXX......XXXX...... ..........XXXXXXXX.............. ......XXXXXXXXXXXXXXXX.......... ......XXXXXXXXXXXXXXXX.......... ......XXXXXXXXXXXXXXXX.......... ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ..........XXXXXXXX.............. ............XXXX................ ............XXXX................ The test can be found in the source in subdirectory quadtest. The results looked good, so I dropped it in. We now get a collision in the shadows: but not in empty spaces outside the image. I also changed it so that flying into the station will destroy the station as well as the ship. ROMs draconian_20140508.bin draconian_20140508_test.bin Source Draconian_20140508.zip
    1 point
×
×
  • Create New...