Announcing: Yar's Revenge NES Clone

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Announcing: Yar's Revenge NES Clone
by on (#71915)
Hello Everyone.

The 2010 Mini-game compo was announced this past summer. I initially did not consider entering, as I was very busy with work and my consulting. However, In October I began thinking about creating an entry. On Nov 2 I began coding. Its been a lot of fun, and I'm not done yet. But the game is quite playable.

My game started as a "as close as I can make it to the original clone" of Yar's Revenge. Over time I have opened up to making some changes to the game physics and rules. My goal is to keep the game as close to a "spiritual successor" of the original as possible, yet expand it a bit. My own personal judgment / criteria for a game of this sort is replay value. There are very few Atari 2600 games that I find fun to play anymore. Yar's Revenge and Adventure are two of my top 10 most favorite games for replay.

Unfortunately, on Nov 12, Atari announced that they had licensed the IP for Yar's Revenge to another company to create a FPS / Fighter sim game of the same name. Damn it I thought! But I am undeterred. I will change the game's name, and most likely change the graphics (which sucks, as I really like the retro look it has).

The original game fit in 4K and took advantage of the TIA's (Atari 2600 graphics chip) playfield pipe-line to create the neutral zone. My neutral zone isn't as cool looking as the 2600s, but I did what I could :). My game fits in 12K of prog-rom and uses maybe 60% of my 8K char-rom. No mapper is used.

I am undecided if I will enter my game into the minigame compo, or attempt to publish it.. I am open to discussion with others who would want to merge several minigames into one larger ROM, create a production run and split the profits.

I wish to thank Tepples for his beta-testing and other feedback. Tepples, I look forward to your continued involvement.

Features (some implemented, some planned):
  1. Simultaneous two-player / co-op mode.
  2. Larger Qotile shield (original was 8x15 cells, mine is 16x32 cells).
  3. Multiple Qotile shield + shield rotation configurations (not fully coded yet).
  4. Near-pixel perfect collision detection (I should write an article on how I did this).
Big items on my to-do list:
  1. Sound effects / music engine.
  2. Built-in instruction manual (accessed from title screen menu option).
  3. Additional weapons (not in the original game, and not coded yet).
  4. On-screen display for score, lives, trons for each Yar.


The neutral zone looks weird in a still image, but when the game is playing it flickers like the original.

Image Image Image
Image Image Image

You can play the original game online here:
http://www.atari.com/play/atari/yars_revenge

Instructions for the original game:
http://www.atariage.com/manual_html_page.html?SoftwareLabelID=603

Unfortunately, I am getting bogged down with the development. Furthermore, starting this Sunday I must divert my time to finishing up some other code for a boring, yet profitable, side project (payroll software, tax tables and IRS forms are changing). I will need to put this game on hold for a few weeks. Experience has shown me that I tend to lose interest in a project unless I stay on top of it. :( So I'm posting this paragraph so that you guys can hold me to finishing this game.

I would like to encourage others working on the minigame compo to share info about their works in progress. If Jeroen is unable to "finish" the compo (however that would be defined), then maybe we can collectively agree to take it in a new direction.

by on (#71918)
Looks awesome! I LOVE THAT FONT. I can't wait for a demo to come out! :D


Lookin' good, take some time off and take a breather on coding if you can, then pick a day to come back and tidy off some stuff. I do that, and I get tons of stuff done. Maybe the same would work for you? ^_^


Keep on working, man! Looking epic. :)
Re: Announcing: Yar's Revenge NES Clone
by on (#71963)
clueless wrote:
Unfortunately, on Nov 12, Atari announced that they had licensed the IP for Yar's Revenge to another company to create a FPS / Fighter sim game of the same name. Damn it I thought! But I am undeterred. I will change the game's name, and most likely change the graphics (which sucks, as I really like the retro look it has).

Meh, or just stick it to the man and don't change a thing, I doubt any of the possible publishers would care. :) If you feel creative you could add a possibility to switch between the original 2600 graphics and some enhanced ones (maybe in real time, like in the Monkey Island remakes), since you have some CHR and PRG space left.

Like always it's nice to see new homebrew for NES, good work! Btw I think it's spelled "Yars' Revenge" (plural).

by on (#71964)
It sounds pretty cool, I had played that game a lot before. I may be able to fit in Garage Cart #2 (especially since I may add WRAM to it, I could compress more stuff).
Re: Announcing: Yar's Revenge NES Clone
by on (#71998)
clueless wrote:
My game started as a "as close as I can make it to the original clone" of Yar's Revenge.


Freakin' awesome, man!
Re: Announcing: Yar's Revenge NES Clone
by on (#72034)
clueless wrote:
Yar's Revenge.


Uhh...scuze me...but who is Yar and why does he want revenge?
Re: Announcing: Yar's Revenge NES Clone
by on (#72035)
casperjeff wrote:
clueless wrote:
Yar's Revenge.


Uhh...scuze me...but who is Yar and why does he want revenge?


In "Platform Studies: Racing the Beam: The Atari Video Game System" by Nick Montfort and Ian Bogost:

"The name "Yar"...was devised by spelling Atari CEO Ray Kassar's first name backward."

"Howard Scott Warsaw's first assignment at Atari was the project that would eventually result in Yar's Revenge. Initially, he was to port the arcade game Star Castle, produced by Cinematronics, to the Atari VCS. As he told an interviewer, "I soon realized a decent version couldn't be done, so I took what I thought were the top logical and geometric components of Star Castle and reorganized them in a way that would better suit the machine."

Star Castle is a vector game.

Not sure where "Revenge" comes from but I'll re-read the chapter more carefully and re-post if I find it.

by on (#72036)
I should have posted earlier today...

Please don't feed the trolls. "casperjeff" is a co-worker of mine. I made the mistake of sending the URL of this forum topic to him earlier today. He's been giving me shit over "why are you writing a game for such an old system" for a while.

by on (#72042)
Ask him if he has ever published a game, it'll be different thinking from that perspective. :D Haha, I like the graphics now but I guess if you want to change them, do. Oh well, hope it turns out fun! :D

by on (#72045)
I really like the graphics that I have. But they are copyrighted and Atari is actively profiting from this property.

The Atari 2600 sprites were all one color each (at least in this game). The NES allows three color choices for each pixel. I have yet to take advantage of this. My palettes for the Yars are:

Code:
.segment                "RODATA"
game_palette:
; Background palette.
        .byte   $0f, $27, $28, $22      ; Qotile shield, ascii text.
        .byte   $0f, $00, $03, $08      ; Neutral zone
        .byte   $0f, $0f, $0f, $0f      ; Unused
        .byte   $0f, $0f, $0f, $27      ; Title screen alternate text palette.

; Sprite palette.
        .byte   $0f, $21, $22, $23      ; Yar #1
        .byte   $0f, $29, $2a, $2b      ; Yar #2
        .byte   $0f, $15, $16, $17      ; Qotile, QMissile(s)
        .byte   $0f, $30, $14, $28      ; Yar's gun, Zorlon Cannon


During game play the Neutral zone and Qotile palettes change almost every frame. Yar #1 is "blue(ish)" and Yar #2 is "green(ish)".

The original game used an 8x8 sprite for Yar, and the Qotile was 8x9. In my version, all meta-sprites (Yar, Yar's death animation, Qotile, Swirl) are 16x16 pixels (2x2 sprite tiles). With the exception of Yar's tail-fins, he is an exact 200% enlargement of the original. The Qotile looks similar, but is completely different at the pixel level. The swirl animations (3 frames) are exact 200% scaled up from the original as well. Yar's bullets, the Qotile's "destroyer missile" and the Zorlon cannon are all 1x1 PPU sprites (8x8 pixels).

by on (#72056)
Oh your going to deatariize them? Cool, I thought the look was fine but this'll surely be better. Try to pull out as much detail if you want...I'd say maybe even make the main guy flash different colors, like the Defender logo (Score in game and score list also) http://www.youtube.com/watch?v=3pgh8pf5xzA That'd make it really fancy I think. :D Just an idea though, good luck! ^_^

by on (#72200)
Hello Everyone,

Kevtris was kind enough to beta-test my game on his FPGA-based NES device (the "Kevtendo"), capture the video and upload it to youtube.

I have really crappy sound effects right now, and the youtube video encoding process was unkind to the neutral zone and it desynched the audio from the video. But the video gives an idea of what game-play is like.

http://www.youtube.com/watch?v=_jJ8tvR0fMA

by on (#72937)
This is such a cool-ass idea! Yar's Revenge is probably my favorite 2600 title, so I can't wait to get my hands on this once you render it in beautiful NES glory!

by on (#74022)
Update: I've been refactoring my game's main-loop. My original implementation had 5 game kernels:
  1. title screen
  2. game play
  3. Qotile death explosion
  4. Yar death animation
  5. score screen


When a Yar would die, the game would halt and switch to a new kernel that would draw Yars exploding, then change to the score kernel. This mirrored the functionality of the original game, but was rather annoying when playing 2-player co-op mode.

So I changed stuff around so that Yar now dies in game, and the game keeps on playing. Also, I plan to add the ability for a second player to join in any game in progress (just pick up the controllers and press 'A' or 'Start').

My next deadline is to have something solid to demo at the MGC in ~40 days. I might fabricate (or commission the fabrication of) a few carts, host a competition at the MGC and award the cart(s) are prizes. **


** Memblers, are you still planning on attending the MGC? Do you have an eprom burner and some leet soldiering skills? PM me if you can help make a few carts for me (I'll cover the cost of materials, shipping and drop your name in the credits).

by on (#95350)
Hey, just wondering, did this ever get finished? Was there a public release of any kind?

By the way, I actually worked on the recent remake, during which I played the original every day after lunch. I became a big fan of it. The remake itself didn't turn out great, but I was proud of what we managed to do, given that our company completely collapsed during its development.

Also, the remake was called "Yar's Revenge" but the original was called "Yars' Revenge", in case anyone was trying to sort that out.

by on (#95358)
I have not "finished" the game to my satisfaction. I consider it a "playable prototype". However, I don't have the time to finish it. Sooner or later I'm going to clean up the source a little, change the name and then open-source it with a license suitable for allowing its inclusion into a multi-cart. But, I don't really have the time right now to make those changes either :(.

by on (#95365)
Ah, I know how that is. Well, it looks pretty cool from the video you had. Good luck then.
Re: Announcing: Yar's Revenge NES Clone
by on (#125287)
I'd bet CBS wouldn't have liked a reskin like this:

Image
By Cracked reader Douglas A. McDonnell
Re: Announcing: Yar's Revenge NES Clone
by on (#125289)
Tepples, that is awesome! Looks Atari 2600ish.
Re: Announcing: Yar's Revenge NES Clone
by on (#126490)
clueless wrote:
Tepples, that is awesome! Looks Atari 2600ish.


The 2600 couldn't do that but the 7800 might have been able.
Re: Announcing: Yar's Revenge NES Clone
by on (#135271)
You should finish it. I look at that MGC cart and wonder whatever happened to the project.
Re: Announcing: Yar's Revenge NES Clone
by on (#135272)
I got bogged down in the sound engine.
I have a day job.
I do side work for $$$.
I have two children now (both born after the MGC 2011)


I have been considering open-sourcing the game, so that it can be included on multi-carts. I wanted to fix the sound code first, but never have the time. Any free time that I have I spend on my side project (it is hard to do time-consuming fun stuff for no revenue when other projects that I have do generate revenue). However, I don't want the game to die. I'll think of something...
Re: Announcing: Yar's Revenge NES Clone
by on (#135276)
I respect that. I went through two jobs (three really) since then, kid went up a few grades, and opened a business. On a tangent, I have a serious bulk of EEPROMs and RAM, plus a bunch of processors, IC's and what not. What types of those do you guys use in your burning and production work?