Hacker News new | past | comments | ask | show | jobs | submit login
Defender (1981) by Eugene Jarvis and Sam Dicker (github.com/mwenge)
167 points by mwenge on July 12, 2021 | hide | past | favorite | 78 comments



I love this video game. For a brief moment, about four years back, I was the top player on the Williams Defender Players Unite facebook group at hard difficulty settings: https://www.youtube.com/watch?v=7iEqoYW013E

And, for the hackers, here's a version of the Defender ROM, modified by a programmer named Jim Bowley, to render an impossibly difficult version of the game: https://www.youtube.com/watch?v=LhZlOwEvd5M

The above is running on JROK -- http://www.jrok.com/ -- custom silicon to emulate the original chip (much better than MAME), it's contained in an original cabinet, with an original monitor, and a custom built control panel, designed to be as authentic to the original as possible, and hand-built by Jim Bowley https://www.jbgaming.co.uk .

Here's a player, mikeville66, whose video inspired me to get better. This is maximum difficulty on the first-run ROM chips, the infamous Green ROMs: https://www.youtube.com/watch?v=yrkx6vuiMrE

And if you're interested in an instructional video of how to play: https://www.youtube.com/watch?v=8PEpDMgR9D0

Defender was a big game back in the day, grossing about a billion dollars worldwide.


I also loved this game, but then Stargate was released and I liked it more. Do you why they are so similar? Do they share any code or the same programmers?


I like Stargate too. In fact these days it's the game I'm playing. Though I go back and forth. For me, back in the day, I went from Stargate to Defender because the 7/11 got rid of their Defender and the Safeway on the next block got a Stargate :-)

What I noticed about Stargate back then, coming from Defender, was that it was easier to shoot things. I think this was because the Stargate chip was an upgrade--the faster CPU wouldn't steal time slices from me at odd moments, so the game was more predictable. I remember Eugene Jarvis and Sam Dicker talking about the Defender->Stargate upgrade process at the California Extreme arcade convention in 2014. Stargate is a fun game, and these days I play more casually, not really trying to perfect my skill.

As someone else in the comments noted: Defender is more raw. It's like those characters from the older version of the Matrix: Difficult to kill. It's like Yngwie Malmsteen's demo tape before his first album. There is a basic visceral appeal to it.


> Yngwie Malmsteen's demo tape before his first album

Saw him more than once live because he was always opening for a band I wanted to see :)


Stargate is Defender 2. Some marquees even said Defender 2. It's by Jarvis and De Mar. https://en.wikipedia.org/wiki/Stargate_(video_game)

Legend has it that the reason Stargate is so hard compared to Defender is because the one of the early test units ended up in an arcade where one of the best Defender players in the country hung out; when it came back to Williams with his scores filling the high-score table, they assumed this was because it was just too easy. So they fixed that.


I've got a cabinet built by Jim - it's amazing. Highly recommended.


A bit disappointed to see this repo doesn't contain the source code for the sound effects. Defender's sound effects kicked ass and were a big part of what made the game experience so intense. Instantly memorable, quintessential sounds of the arcade era.

Williams used the same sound hardware (and many of the same sound effects as well) on all their arcade and pinball games from the late 1970s through the mid 1980s. And unlike other machines that used dedicated sound-generating chips like the AY-3-8910, the Williams sound board was just a 6800 CPU hooked up to an 8-bit DAC. It did everything in software. No square wave generators or hardware timers. The pitch of the sound was controlled by variable-length delay loops!

I spent a bit of time reverse-engineering the sound ROMs a while ago. From what I recall, there were a few different sound-generation algorithms. Some of them generated simple pulse waves or noise. Another was wavetable-based; it used samples in ROM and manipulated them in various clever ways. Another one, which was responsible for their coolest sounds, used a bonkers system of multiple nested loops generating variable-width pulse waves... I was never able to fully understand it...



WOW! That's incredible.

This was exactly what I wanted to write someday. It definitely brings up a lot of memories if you played a lot of Williams' pinball machines as well. The sound ROM in Defender evolved from the pinball sound board, and some of the sounds marked as (?) came from all the games before Defender.


I spent a fair amount of time with this yesterday!

WOW


Pssst.

https://github.com/historicalsource/williams-soundroms

(Were you the one that ported the code to C# and generated new WAV files from the original algorithms? That was kick ass)


Thank you, that's awesome!

I never published my reverse engineering work, but I think you're referring to http://lomont.org/software/misc/robotron/


Yes! That's the one.

I've had it on my list to write a WASM port of this someday. Someday....


Through a random work connection I got to chat with Larry DeMar (“LED”) who coauthored both Defender and Robotron and who, as such, was one of my personal idols. He was super personable and was pretty curious to learn what our challenges were in making Crash for PS1. It was definitely one of those unique life events I’ll never forget..


When I met Eugene I asked him to autograph the instruction card from my High Speed pinball machine. I had already got Steve Ritchie's autograph, so I remarked to him "Now all I need is Larry DeMar's signature." And Eugene went ahead and forged Larry's signature! What a guy.

https://twitter.com/txsector/status/488077919630409728


What did Eugene do on High Speed? ( I have Ritchie’s sig on my pin)


He's credited for sounds; his name is on the playfield, right below the "Drive Again" light. https://www.ipdb.org/showpic.pl?id=1176&picno=71282&zoom=1

(I don't know if this is because High Speed reused sound effects from previous Williams games or if he contributed new code.)


At the time of High Speed, DeMar and Jarvis were still working as VidKidz. The software for High Speed was written by them as contractors to Williams. Eugene probably helped out with some code here and there.


I felt that Defender and Robotron (designed by the same team) were on another plane of difficulty compared to other games of the era. They required more visual processing ability and faster reflexes owing to the speed and number of objects on the screen trying to kill you.

Asteroids and Galaga were walks in the park by comparison.


Most of the people I knew that liked Defender and Robotron also liked Joust. Also Williams Electronics produced, though it doesn't mention Jarvis or DeMar as being involved.


Joust was a different design team, John Newcomer and Bill Pfutzenreuter. But the hardware was the same as Robotron.


If you haven't seen this doc yet, rent or buy it:

https://youtu.be/BRnzBFM0BvY


Just watched. Yeah, great film. Sure glad you mentioned it. Hearing from those guys is a real treat. Lol, Eugene: Crush the Player, but make them want and pay for more.

To the Williams team:

For a time, I had Playstation, Dreamcast, in one corner of a living room, and MAME loaded up with the best of Coin OP in another.

It would ebb and flow, but the Coin OP side always saw a lot of play. At the time, MAME was running on a pretty great PC, big ass SONY Trinitron CRT with solid keyboard, mouse, other controllers. Sometimes I would make one if a game proved compelling enough for the kids, not just mine. Neighborhood kids. They would come to play on the killer MAME setup.

In my bedroom, during those times, I had an SGI Indy that I built XMame on, and it would just play Smash TV, when compiled with aggressive optimization. That was my machine to play classics on, Defender, Asteroids, Smash TV, Robotron...

To be fair, the console side was on an even bigger, like 200 plus pound SONY WEGA.

Might as well make the most of the tech at the time.

Those Coin OP games worked even when it was not about hard won quarters. And we (family) toured the local arcades as long as we could. And did drive in movies too.

The Internet did a similar thing at home. It encroached on gaming time, then became gaming time. Quake 3 Arena displaced all of it for quite a while. Networked FPS is amazing, as we all know.

Cell phones had an impact too. Suddenly young people could talk away from parents, without having to have a place to meet up. This aligned roughly with the Internet, and maybe gets missed. Text was huge. I used to teach other parents how to read all the shorthand lingo. Many parents had no idea.

SMS and chats of various kinds were as intoxicating as the best video games were, Coin OP or not.

As an 70's and 80's era kid, I saw the arcades from later pinball (which I still find amazing and fun), to old black and white arcade games, vectors (another experience worth having if you can on a CRT in an arcade), through Defender and all that we see in this film. For a little while, arcades felt new again when the bigger machines and more body movement games, Dance Dance and others, got people moving in many ways, not just flogging controls and a few buttons. I liked that time as much as I did the often smoke filled arcades where I could find hard core, Star Castle, Rip Off, Defender, Tempest, and many others.

At the arcade, we could play, talk, live out parts of ourselves, share that, and do it away from parents. Same goes for cruising around in cars, until that was made illegal... networks were a concept many knew about and few experienced. Phones had wires and or were an expensive resource, often including watchful eyes and ears.

Cell Phones, home consoles, Internet really did take out the arcade, but for a few today able to exist reasonably.

Also, see those 1up cabinets? People really like them, even when the game experience is sub par. Seems like the arcade experience is still relevant, but with poor economics. And annoying ticket / prize schemes.

It all was a fun time. Glad I was there. Sometimes want to go back.


I went out of my way to get a dual joystick (and marble ball) game controller when I built my mame box, specifically to play robotron (it also works for two player games).

I can't get past about level 5 or 6 in robotron.


As a kid at that time, I remember seeing Defender appear at the local pizza place. At one point, that little corner arcade had a Defender, Asteroids, PAC Man, and eventually a Star Wars cabinet.

Defender was a stand out experience. At that time, there was nothing like it.

Needless to say, getting pizza was amazing! We, friends and I, would wolf it down and run off to dump the money we saved and whatever we could mooch from the always intrigued, and somewhat confused adults at the table.

Curiously, one remarked to the effect of the pizza being a side show with the real money going into beer and games. I do not recall them playing much, content to drink and enjoy our antics.

The very first time I saw Defender, a friend and I had been studying the games, reading about graphics, and thought it was something special just from attract mode. Good resolution for the time, color cycling, 16 colors, and the motion spoke to something intense.

Of course it totally was!

Those sounds pumped out of a respectable amp, lots of bass, and bang on clarity were the kind of experience one does not forget. Same goes for the visuals. That particular cabinet was not totally new. It has seen some love.

All combined, little bits of dust on the CRT, great, worked in controls, other artifacts one would see from a machine seeing consistent and aggressive plays, the only way I can describe our impressions was like that of a powerful sports car, idling after a pro worked it in on the track, and then... our turn.

I say, we, our... because the first few runs was a two player experience. One would be watching, trying to understand all the baddies, flow, what happens, when, why, all while the other is staying in game, blasting away, hoping to clear the level.

We would alternate too. Play every other level, whatever made sense as we gained the skill needed to play through.

But the real show was an older kid who showed up one day able to play for a considerable time. Game difficulty ramps for a while. New players have no real idea what is to come, and the moment they do, they crave it again and again. A person can get into flow just watching someone play this game.

Raw games like this, and by that I mean having really solid basics along with slowdowns, and such that would normally take one out of the experience, ended up taking one deeper into it all. Soon, those are known, expected, a sign of mastery.

For an example, see the original "Star Raiders" on Atari 8 bit computers. It is similarly raw, with similar slowdowns. Years later that game was fixed with highly optimized particle computations and would run at a solid 50 / 60hz depending on whatever region it was played.

Some appreciated it, but a surprising number of people, myself included, found it more sterile. It just is not the same.

Stargate is kind of like that, but is also a different game, so it does not detract like the fix to Star Raiders did.

And through all this, I just wanted to convey how those early experiences went. This game is remarkable, and for many, again myself included, an experience worth having anytime. This title gets a player into flow, the zone, whatever people call it, rapidly.

Demands it.


I've seen this exact source code in person! Eugene Jarvis and Sam Dicker brought the Defender source code (several boxes of tractor-feed printouts) to the California Extreme arcade convention in 2014.

Photos: https://twitter.com/txsector/status/1302421155391791104

You can see that the file in the first photo is an exact match of "BLK71.SRC".


Defender was head and shoulders above every other arcade game when it was released. It consumed quite a bit of my pocket money.


I was always envious of those who really bonded with it.

I never managed to really gel with it, probably because of the control scheme. But I always respected how it was SO unapologetically hardcore -- it was a game for the true arcade masters.

I wasn't a total wimp at least. My favorite game from the era is probably Robotron, also by Jarvis. Absolutely punishingly hard as well. Love it to this day.


I was quite good at it in the 1980s, but I tried playing it a few years ago and was awful at it... and even after about 10 games, it wasn't coming back to me.


Were you playing on arcade hardware on a CRT or emulation and an LCD? Old games have tricky timing, and a little bit of input lag can really wreck things.


Seconded. I love this game too, and for the reasons already given.

Raw is probably the most resonant descriptor to me.

I got a chance to play on a real machine a while back.

I am a lot older, worse, but better than laggy play would suggest. Timing matters. A low latency experience is best for this game.


I love reading about and being reminded of these classic games!

I played Defender on an Atari 2600 in Brazil in the early 1980s and remember the ship would disappear when you fired, probably because the 2600 could only draw a limited number of objects on the screen at once.

Here is a blog post with memories of some old games compared to recent ones: https://hypertexthero.com/space-invaders-brazilian-cerrado/


There was a good article that I can't find any more about someone who got really good at defender by immediately shooting all of the humanoids, thereby triggering the swarm of mutants. It was a good lesson on how you can get good at something by leaning into the difficult parts instead of shying away from them.


I imagine you're recalling this folklore.org posting: https://www.folklore.org/StoryView.py?story=Make_a_Mess,_Cle...


Yep, thanks for that!


See also:

How David Beats Goliath: When underdogs break the rules. Malcolm Gladwell, 2009.

https://www.newyorker.com/magazine/2009/05/11/how-david-beat...


That's reminiscent of that guy on Jeopardy a few years back who sought out the Daily Doubles. Even thought he would lose many/most of them, IIRC his strategy was to prevent others from scoring with them. It worked, even though he was criticized for it.


Here you go, all space: https://www.youtube.com/watch?v=g7SOiKahy_k

Definitely not easier. But good practice.


Truly one of the great games of the era. The pace and slickness of the movement felt head and shoulders above the rest. I lost many hours!


Agree, it was special in multiple ways:

  - The idea that you were orbiting the planet, somehow more than 2D, yet not 3D. 
  - Not just shooting but also rescuing. 
  - The speed, fluid movement and quick reverses. 
  - Color and sound crucial to situational awareness. 
I sometimes imagine it as a first-person game, true 3D, view from the cockpit. Wouldn’t that be something!


The first title I worked on in the games industry was a game called Lunatik, which was billed as a 3D Defender (for PS1, Saturn, and PC). It never worked.

I wrote some comments on this article [1] about why it failed, if you’re interested.

[1] https://www.unseen64.net/2020/11/16/lunatik-pure-entertainme...


Thank you. I really enjoyed reading that -- sorry the project didn't work out. I think I remember seeing press for that back in the day and thinking it sounded promising.

Of course, with the benefit of decades of hindsight, now we know that the classic 2D gaming concepts often don't translate well to 3D. You're trading a full 360 degree field of awareness for something... less... in a 3D perspective.

I think that was actually part of the appeal of 2D games now that I think about it. Instead of being claustrophobicly limited to a tunnel-like field of vision, 2D games generally let you see behind your character just as well as ahead.

It's almost a "god-like" or omniscient kind of experience, when compared to the tunnelvision feeling of many 3D games.


Spent far too much time and money on Defender.

I noticed that Williams arcade machines were better in many ways than others. This applied even more to the pinball machines. There was a quality about them that put Bally and others in the shade.


> There were four versions of the game released: White Label, Blue Label, Green Label, and Red Label, in that order. Each release was a circuit board with the compiled code split across a number of different ROM chips, also referred to as 'ICs'.

Pedantry: Assembly code is assembled, not compiled. I believe I'm losing my personal war on this, and someone here will certainly try to equate the simple mnemonic->opcode substitution and 2-pass label resolution an assembler does with the more complex and in-depth code emittance a compiler does, but it still grinds my gears.


Mine too, but I gave up years ago.

Have gone as far as a quick hand assembly on paper, then type the bytes in and run them. All that ever happened is numbers got moved around, maybe a few computed, and that's it. And doing that exercise did move some people, who relapsed later on.


I received a broken Defender cab for free. Two memory chips, a better ground strap, and a powersupply and it was back in business. My 6 year old twins and I played it for several years...I realized that no matter how much practice I got, I was never going to get any better at it. It then helped fund christmas one year.


Very cool.

I'm curious, how did the source become public? Did the creators release it, was it found somewhere, ...?


The README states the source came from https://github.com/historicalsource/defender. "A collection of historical source files, for education and perusal." Which begs the question, where did Historical Source get it? Alas, there is no indication.


A number of ex-Williams engineers donated old work materials to the Strong Museum of Play in the last few years. It looks like this includes Sam Dicker's work:

http://archives.museumofplay.org/repositories/3/resources/22...

So perhaps it was scanned and distributed from there? Seems unlikely since the code was either printed on paper or stored on old 8" floppies from the development system. But you never know.

EDIT: looking at Historical Source's repo, they have a LOT of old Williams IP here. This was copied from someone's development machine somewhere.


Doesn’t Williams own the rights to it, or whoever bought Williams in the 1990s?


I'm curious too. At glance there is no license in either repo. The game is still sold commercially I believe in various forms.


I think they just dumped the ROMs and then translated back to assembly code.


I've read through some of these listings, it's legit.


Stargate Defender, the sequel, was even better. Many quarters were spent on it.


You just triggered my PTSD. Stargate was great for the lunatics who thought Defender was too easy.


I was one of those lunatics. :)


Note if you rescued guys and went through the Stargate, you'd jump levels. This was ... exciting.


Not sure. "Stargate" suffered a little bit of Special Edition muckery.

"Defender" was more raw — three chords and a guitar attitude.


Random thought as I find myself returning to this thread, looking over at great 14'ish inch CRT I just finished tuning to peak performance, also musing about whether I want to put it into a cabinet just for this game. Has been a while since I last played it with the factory controls. Seems I really do miss this experience.

Maybe Ground Kontrol here locally has a Defender...

But I digress, and really want to pose a tech question:

How robust are the parts of the game managing resources?

Has anyone dropped a 6309 into their game, or run their CPU at a higher clock?

Secondly, have people made modifications, such as something like a lander from hell wave, where they just keep coming, or maybe all pods, that kind of thing?


Wow. Thanks for reminding me about Datastorm, the first Defender come I ever played (Amiga, around 1992). I just installed the Amiga emulator fs-uae and downloaded the ADF file. IT WORKS. It's amazing how much detail you remember from a game you played when you were in your teens 30 years ago. That intro tune, man.. they really knew how to make music on those things. The game rocks too. I remember it being a bitch, and I just got my ass kicked a by it again. In fairness, I'm using cursor keys and right ALT.


This is awesome, but Stargate Defender II is really the real deal. Am I the only one that associates these games with the band Rush?


Nope. I am the same.

This game is one I play on sight. The world could be imploding. Do not care.

So great. Everything feels present, and all done at 1Mhz on my favorite 8bit CPU.

Trivia: The Williams sound board is a 6800 running at .8'ish Mhz, connected to a DAC. It plays ONE sound at a time. It can be interrupted, and is all the time in Defender.

Defender has a sound priority system that has always fascinated me. You get one sound, and that team made it count to the max. The player gets the sounds that matter most, when they matter most and it all just flows.

Exemplary!


Interesting that they used the 6800 for the sound board, but 6809 for the main board. I guess the 6800 was far cheaper? And I guess they'd be assembly (but not opcode) level compatible to a certain extent.


The 6800 predates the game. Defender used the standard Williams sound board from the pinball games.

Basically, it received sound requests and blasted them out through a big, mono amp. These iconic sounds were used in Defender along with some new ones.


Reading the source. It's amazing what this game does without sprite hardware, just pushing pixels.


Seriously!

The 6809 is a powerful 8 bit CPU. In addition to just pushing pixels, the higher level engine is a master class in priorities, tradeoffs to maximize player action, given arguably limited resources. The better features in that CPU were all employed to great effect.

The sound system, plays one sound at a time. The right sounds happen at the right times, conveying a ton with just one sound channel.

Baddies are moved out of the field of play at times to keep frame rates up.

Single buffer, screen draw happening on alternating upper, lower regions to avoid display artifacts, tearing and such.

So many great choices!


OMG! Yes!!

I was a master at this back in the day, and even better at StarGate (Defender2)

One of the things about StarGate was that you could write almost a whole sentence if you beat the high score instead of just your initials.

I was in fierce competition with my friend and we would troll each other by writing horrible stuff on the high score for everyone in the arcade to see.


If I only had all those quarters I dumped into these machines I could probably retire :)


skimming through the source code it is amazing to me that someone could write an entire game like this in assembly. I tried to figure out how things are drawn and how object collisions are detected - I can't


This one uses a single buffer screen. Draw on the portion not being displayed.

It also has an interesting way to manage objects to keep the game moving, but for a few slowdown events that actually make the game great. When there is too much to do, baddies are simply moved to an inactive region. Players in the moment hardly notice, but bystanders do.

Finally, each baddie is its own little process. They have their own behaviors, and can be spawned, moved, etc. in simple, fast ways that do not break the experience.

Others have said this game feels raw, intense!

I feel these elements all contribute to that feeling. It is a bitmap game, no hardware sprites, and Jarvis basically aimed to kick the players ass! This game does that.

At 1Mhz, this game is a work of art, IMHO. So many good choices and balancing of resources.



This game handles camera movement better than many recent blockbusters.


The github page is short on details of why or how this game is notable and important. To someone not familiar with the game, then the rest of the info on the page seems lacking in context.


Defender was my fathers favourite video game and I have fond memories of playing with him when I got a port of it for the megadrive.


Same story for me. I remember him teaching me how to play as a kid while I stood on a stool between him and the machine at the local arcade.


This was also known as Planetoid on the old 8 bit BBC B micro and was sold by Acornsoft. It wa a fantastic frenetic game back then!


I love this comment line in the source code:

"PRAYAH 1: P L O G L A M S T A H T"


I wonder how hard it would be to code an AI to play this game.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: