Split Second

Moderator: Moderators

Skadiet
Posts: 10
Joined: Sun Jan 14, 2018 7:50 pm

Split Second

Post by Skadiet »

Greetings Everyone!!

Edit: 1/28/2019 - Added new version of the ROM in this OP.

I am pleased to announce that I have created my very first NES game! Thanks to all the help and guidance in the community. What better way is there to announce your first game than in the 2018 NESdev Competition.

So, now, what is this game? Well as many of you may recall, way back in the 1980s we never had fancy hand-held video games like Switches or anything. What we did have was standalone hand-held video games. One of which was called, “Split Second,” originally introduced to the world by Parker Brothers in 1980. I mostly seem to recall playing it in the back seat of my parents’ old red 1984 Buick Century. The game itself was constructed with dark red plastic and had an old fashion 1970s “Star Wars-ish” feel to it. It had a simple display which only consisted of an array of red lights. Some of the lights were bar shaped and some were circular. It had four directional buttons as well as a start and a select button. Finally, the bottom 3rd of the game was an enormous vent which was probably more for show than serving any practical purpose. But who knows – maybe that was the only way to keep the CPU from overheating. Have a look at this picture from Electronic Plastic (http://www.electronicplastic.com/game/?company=&id=625), to see for yourself.

Image

I have created a port of Split Second to the NES. I tried to keep the same look and feel as with the original game. I also tried to replicate the game play and sounds as best as I could. As a first attempt, I am generally happy with the way that the NES game reproduces sounds but there is definitely some room for improvement. I am hoping to make some improvements to the sounds and graphics over the next month.

Here were my technical goals/achievements for this project:
  • 1. Learn 6502 assembly language.
    2. Learn to use NESASM compiler.
    3. Learn to use an NROM 128 mapper to keep things simple.
    4. Use only background tiles (no sprites anywhere in the game).
    5. Create simple light weight sound engine.
One thing I am very concerned about is that I do not want to plagiarize anything from the original hand-held game. I tried to call this out explicitly by citing the original work from Parker Brothers on the title screen. I also spent some time on uspto.gov and couldn’t find any associated trademarks. I wrote my own code and produced my own graphics. I’d like to think of this project as a tribute to Split Second but if people (who know more about trademarks than I do) are uncomfortable with the current name, I can certainly change it.

How does one play? See the original manual (https://www.manualslib.com/manual/12161 ... e=2#manual) for details. But it’s pretty straight forward. There are 8 distinct games. You select a game by using the select button and you start playing a game by using the start button. In some of the games you move a ball around the screen. In some of the games you move a bars around the screen. The object of each game is to complete the course as fast as you can. If you’re playing by yourself you can do time trials to see how fast you can complete each game. If you’re playing with multiple people you can take turns to see who is the fastest! I would recommend playing with the sound on as the scoring feedback system was originally meant to be heard. For example, there are different sounds for beating your previous score versus failing to beat your previous score etc.

Here are the names of the games:
  • 1. Mad Maze (Visible)
    2. Mad Maze (Preview)
    3. Mad Maze (Invisible)
    4. Space Attack (Beginner)
    5. Space Attack (Pro)
    6. Auto Cross
    7. Stomp
    8. Speedball
Hope you have a chance to play. If you find any bugs, let me know!
Attachments
split_second.nes
(24.02 KiB) Downloaded 617 times
split_second_005.png
split_second_005.png (3.32 KiB) Viewed 16346 times
split_second_002.png
split_second_002.png (3.31 KiB) Viewed 16346 times
split_second_001.png
split_second_001.png (3.12 KiB) Viewed 16346 times
split_second_000.png
split_second_000.png (3.32 KiB) Viewed 16346 times
Last edited by Skadiet on Mon Jan 28, 2019 8:50 pm, edited 1 time in total.
M_Tee
Posts: 430
Joined: Sat Mar 30, 2013 12:24 am
Contact:

Re: Split Second

Post by M_Tee »

Will chime in more later, but I love it!
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: Split Second

Post by lidnariq »

Skadiet wrote:Finally, the bottom 3rd of the game was an enormous vent which was probably more for show than serving any practical purpose.
Speaker grilles were often hidden under things that looked like that ... and it turns out there is a speaker there. (youtube repair video)

edit: being a little too young to have had one of these when they were new ... it's kinda neat seeing a hardware instance of Wario Ware.
Skadiet
Posts: 10
Joined: Sun Jan 14, 2018 7:50 pm

Re: Split Second

Post by Skadiet »

lidnariq wrote:Speaker grilles were often hidden under things that looked like that ... and it turns out there is a speaker there. (youtube repair video)
Wow, that's pretty cool! Thanks for sharing the video, I hadn't seen that one yet.
yaros wrote:Just a though, it would be a little easier to play in games like maze, if you add faint image of other segments that are not lit, like you would see on real game.
Yeah, agreed. That was actually my original intent but then when I wasn't sure how to do it, I went with the black background! But I can definitely revisit it now that the main game logic is complete. Thanks for the suggestion.
User avatar
nesrocks
Posts: 563
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: Split Second

Post by nesrocks »

Color 07 should be really faint, but most emulators show it too bright. What you could do is flicker it.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: Split Second

Post by FrankenGraphics »

Here's a quick test for two techniques. Sorry for butchering your graphics.

Assuming the back panel is not really black but deep red or reddish brown, you can separate the plane from inactive marks by a dregree on the hue axis. This is the easiest way to achieve really faint changes with the PPU. Some setups might make one of the colours appear a little brighter or darker than the other, but it's not too bad in this case.

If you want it even more faint, you could checkerboard the pattern. Since there's no scrolling, you won't get the "shimmer" effect that's mostly unwanted. The pattern won't be a checkerboard, but it could work, still. I did that on the lower left marks. Edit: Or you could flicker them like nesrocks said.

I used 07 for the back plane, and 06 for the off marks.

The game was pretty fun even though i have no experience from the original gadget! The whole concept of remaking the original is really neat, too.
Attachments
quicktest_splitsecond.bmp
quicktest_splitsecond.bmp (30.12 KiB) Viewed 16238 times
User avatar
nesrocks
Posts: 563
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: Split Second

Post by nesrocks »

If you checkerboard it there will be artifacts in CRT displays. The best way to get flicker is what Macbee taught me. Get horizontal lines that alternate every frame. Looks smoother than full/empty display of the image.

Not having a black background is a good idea, though on second thought I guess I wouldn't use that brown. Keep it all in the red spectrum.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
Skadiet
Posts: 10
Joined: Sun Jan 14, 2018 7:50 pm

Re: Split Second

Post by Skadiet »

FrankenGraphics wrote:If you want it even more faint, you could checkerboard the pattern. Since there's no scrolling, you won't get the "shimmer" effect that's mostly unwanted. The pattern won't be a checkerboard, but it could work, still. I did that on the lower left marks. Edit: Or you could flicker them like nesrocks said.

I used 07 for the back plane, and 06 for the off marks.

The game was pretty fun even though i have no experience from the original gadget! The whole concept of remaking the original is really neat, too.
I think I do like the "even more faint" option because I used the $06 color on the whole "plastic casing." I'm afraid it would all just look the same. When you say that I could checkerboard the pattern but that it won't actually be a checker board, is that just due to the CRT distorting the pattern - but different than the "shimmering effect?" Glad you had fun playing!
nesrocks wrote:If you checkerboard it there will be artifacts in CRT displays. The best way to get flicker is what Macbee taught me. Get horizontal lines that alternate every frame. Looks smoother than full/empty display of the image.
This sounds good too. Unfortunately, as a consequence of using an NROM 128 mapper, I only have two 8K prg rom banks. One has 3 bytes free and the other has 37 bytes free. :lol: Not sure if I'd be able to pull this off in 40 bytes. Of course, I could always just convert the mapper to NROM 256....
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: Split Second

Post by FrankenGraphics »

When you say that I could checkerboard the pattern but that it won't actually be a checker board, is that just due to the CRT distorting the pattern - but different than the "shimmering effect?" Glad you had fun playing!
yeah, the pattern might come across as a bit braided. You may also see a few bright or dark speckles from the borders between two neighboring colours, but this is mostly the case between colours of different brightness, not hue. Such artifacts will "shimmer" in a scrolling scene (change brightness depending on position) but aren't that much of a problem on most still screen scenarios since the artifacts aren't animated then. Here, where the're just a slight difference in hue and an almost neglible difference in brightness, the thing i think you need to consider the most is the distorted checkerboard pattern.

Here's a run through blarggs' ntsc filter tool with contrast and sharpness set to middle. A softer screen will look slightly better on checkerboard patterns (since they're smudged out into the blend we actually might want), and a sharper screen will look slightly worse, since the distortion of positions becomes more pronounced.
filtered.bmp
Unfortunately, as a consequence of using an NROM 128 mapper, I only have two 8K prg rom banks.
-There's some space left in your chr rom banks. If you really wanted, i'm eyeballing that you could put some 500-600 bytes of data in there if you pack the tiles, freeing up prg rom

-If you haven't already, i think you could save some space by RLE compressing your screens. I think doing the RLE vertically instead of horizontally (as per normal) would save you more.
User avatar
nesrocks
Posts: 563
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: Split Second

Post by nesrocks »

Be really careful with checkrboard dithering. That filter does not properly recreate what happens on NTSC CRT. Nasty diagonal lines will be created as artifacts.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
User avatar
Banshaku
Posts: 2417
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Re: Split Second

Post by Banshaku »

Tried the game and it was interesting.

I don't think that I ever saw it as a kid but I would have been quite young too when it came out. Our first game were some dedicated pong like machine maybe made by radio shack then we had an odyssey 2(not sure the name, it had a keyboard on it).
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: Split Second

Post by FrankenGraphics »

One other thing that could work (with better clarity) is resuming the black back plane, then
-set the red emphasis bit (this will brighten all reds and dampen all others by degrees of non-redness)
-let inactive marks have colour $07 or $08 (depending on how much you want the marks to be faint)
-adjust the yellow buttons to $28 (which has a really nice warm yellow when red bit is set)

Pros:
-you don't need dither or flicker
-better playfield clarity
-less colour monotony.

Cons:
-You need to detect or manually set PAL/NTSC region since they swapped the R and G bits for the PAL version.
-Rare variant systems and consoles that have been hacked by enthusiats to have an rgb output (also rare) will look different*. But it's still playable.


I think this techique is probably the least invasive to your original expression if you can get a region detection in. It can also be combined with the brownish red backplane if you want better colour distinction yet prefer the backplane to have some colour.

The dithering is just there because i didn't change it from my last mockup. To the left is using colour $07 (a bit darker than the casing), and to the right is using $08 (markedly darker than the casing but also noticably colder - i think it looks quite nice that way personally).
redemphasis.bmp
Last edit:
The new "darker than 06" property through the red bit could perhaps be used for shading on the plastic shell or edge smoothing of the same, even if the minimalist approach is nice on its own.
Last edited by FrankenGraphics on Sat Dec 29, 2018 8:54 am, edited 3 times in total.
User avatar
pubby
Posts: 583
Joined: Thu Mar 31, 2016 11:15 am

Re: Split Second

Post by pubby »

Might be neat to have an option where you hold the controller sideways (vertical). It would resemble holding the original game.
Skadiet
Posts: 10
Joined: Sun Jan 14, 2018 7:50 pm

Re: Split Second

Post by Skadiet »

The good news is that it was pretty easy to change the "clear_board" method to produce an off-colored board in color $07 instead of drawing an all black board. It looks pretty good as is - don't think I will need the alternating horizontal lines method or dithering this time around.

The bad news is that if I really go through with this... I'll have to re-write code in each of the 8 games and it would require me to upgrade to NROM 256 :( . For example, see in the screen shot how there is black around the ball and the space ship. The off-colored board gets erased when you move the ship around. Same thing with the other games. Would definitely like to try. But not sure if I will have the time in January. Will keep the group posted with any updates. Thanks for all the good suggestions!
Attachments
split_second_007.png
split_second_007.png (3.55 KiB) Viewed 16051 times
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: Split Second

Post by FrankenGraphics »

Yeah the game is already fun. Please think of my feedback as signs of enthusiasm.
Post Reply