Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Scope - light phaser game

Reply to topic
Author Message
  • Joined: 08 Oct 2012
  • Posts: 108
  • Location: Colmar PA, United States
Reply with quote
Scope - light phaser game
Post Posted: Sun Aug 21, 2016 12:20 am
Hey, I wrote another game. It's called Scope. It uses the light phaser and it's a test of reflexes.

There is a cursor where the light phaser points. Only the bar around the target is illuminated. Find the color red and shoot it within 3 seconds. Miss once or let time expire, and you go back to the title screen. Complete all 20 rounds and your score is compared against a table that determines your average reaction time. You can use the d-pad instead of the light phaser, but it's much harder to get a good score.

I have not tested this on a cartridge, but it uses much of the same code I used in Porkpolis and Shooting Stars, so it should work. I really need to get off my butt and shell out the money for an everdrive :) You can download it at http://64kbgames.webs.com or from the zip file attached this message. There's also a video for those to lazy to open a .zip :) Enjoy.



  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14744
  • Location: London
Reply with quote
Post Posted: Sun Aug 21, 2016 12:15 pm
Are you doing the greyscale effects with a palette swap? That's hard to do on a real system without glitches. How about the gun tracking? That won't work without a screen flash, probably.
  View user's profile Send private message Visit poster's website
  • Joined: 01 Jan 2014
  • Posts: 331
Reply with quote
Post Posted: Sun Aug 21, 2016 12:20 pm
You can do it with nametable flipping without glitches. All the effects in the demo i wrote use it except for the vectors.

Use two (or more) nametables and switch as needed. I don't know if it is what is happening here but you could have the same nametable written twice pointing to separate palettes.

EDIT: I checked code it is being done here via palette writes. if you want a heads up on how to do it via nametables i can go in to it more but there is not much more to it than what i said above.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14744
  • Location: London
Reply with quote
Post Posted: Sun Aug 21, 2016 2:39 pm
Hmm, I wonder if that would do me any good for ono? I guess not since I'm using all 16 entries too (and sprites).
  View user's profile Send private message Visit poster's website
  • Joined: 08 Oct 2012
  • Posts: 108
  • Location: Colmar PA, United States
Reply with quote
Post Posted: Sun Aug 21, 2016 3:04 pm
Maxim wrote
Are you doing the greyscale effects with a palette swap? That's hard to do on a real system without glitches. How about the gun tracking? That won't work without a screen flash, probably.


Yeah, I'm using palette swaps. I avoid doing palette swaps below a certain scanline (128, I think). The color bar has a ceiling (line 0 to line 64) and a floor (line 128 to line 0).

The game does use screen flashing to track the light gun. It flashes 5 times per second. However, if you use the control pad instead of the light gun, as I do in the video, the screen flashing automatically turns off when up, down, right or left is pressed.
  View user's profile Send private message
  • Joined: 08 Oct 2012
  • Posts: 108
  • Location: Colmar PA, United States
Reply with quote
Post Posted: Sun Aug 21, 2016 3:17 pm
Oh, I forgot to mention this. You can press up on controller 2 to scroll through the images instead of playing the game :)
  View user's profile Send private message
  • Joined: 01 Jan 2014
  • Posts: 331
Reply with quote
Post Posted: Sun Aug 21, 2016 10:54 pm
@maxim, not sure.

It has some hard limitations, vram used for second nat and a 1:1 palette set up between palettes. The twister had tile rows alternate between palettes, this let me set up the next tile row palette colors slow enough to keep artifacts in h-overscan without distorting current row. If you think about it though you could do the same within a single palette if you used a small enough number of colours.

Like always with these things it is where do you make the sacrifice.

@dragonfeet, nice work. The colour trick looks cool :)
  View user's profile Send private message
  • Joined: 08 Oct 2012
  • Posts: 108
  • Location: Colmar PA, United States
Reply with quote
Post Posted: Mon Aug 22, 2016 11:22 pm
psidum wrote

@dragonfeet, nice work. The colour trick looks cool :)


Thanks! But it's not quite perfect on real hardware.

I have a 32kb test cart. I loaded the first two banks of the game on to that. Only the title screen and soundtrack fit, but it's enough to test the color bar code and the light gun tracking code. On a real master system, the greyscale to color transition actually happens in the middle of a scanline. But you have to look real close to notice it. The effect still looks cool though.

The light gun tracking works, but now I'm thinking I should flash more than 5 times per second for more fluid movement. I won't do any updates until I can test the whole thing on an flash cart, so it'll probably be a while.
  View user's profile Send private message
  • Joined: 08 Oct 2012
  • Posts: 108
  • Location: Colmar PA, United States
Reply with quote
Post Posted: Sat Sep 17, 2016 5:18 pm
Finally got around to playing this on an Everdrive.

The high score sprites on the title screen were showing the wrong tiles for some reason. I fixed it. Everything else worked fine. The updated copy is attached.

  View user's profile Send private message
  • Joined: 14 Apr 2013
  • Posts: 624
Reply with quote
Post Posted: Sat Sep 17, 2016 6:28 pm
dragonfeet wrote
Finally got around to playing this on an Everdrive.

The high score sprites on the title screen were showing the wrong tiles for some reason. I fixed it. Everything else worked fine. The updated copy is attached.

The problem with the wrong tiles for the high score comes from uninitialized memory. In Emulicious you can set uninitialized memory to another value than 00 in Options->Emulation->All Systems. And in the Breakpoint Window you can set a breakpoint to halt on accesses of uninitialized memory.
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!