Oldskooler Ramblings

the unlikely child born of the home computer wars

Archive for the ‘Gaming’ Category

If you focus your energy like a laser, you can do anything!

Posted by Trixter on December 13, 2009

It has taken me decades to understand my own behavior.  Saving you the lengthy self-analysis, I can sum up most of my actions as a reaction to negative stimuli.  No control over my social environment?  Learn to program computers, who always do what I say.  Can’t afford games?  Get a job at the local software store, then learn to crack and courier warez.  And so on.  Most of my hobbies can be traced to events like this.

So what happens when the negative stimulus is gone?  It depends on the hobby.  I don’t pirate (new) games; like movies, I can now afford to purchase or rent them.  I’ve stopped collecting hardware and software because I no longer have a need for the comfort and security that familiar things bring.  As I get older, I find I am finally able to let go of everything that gave me short-term benefits but led to longer-term detriment (collecting software is easy; collecting hardware takes up a ton of space!)

Finally, some of my championed causes have come to fruition and matured:  MobyGames remains the only organized, normalized database of computer and videogames, run by many volunteers.  MindCandy 1 and 2 have taken a small slice of hidden skill and wit and preserved it forever.  DOSBOX exists, and does a (nearly) fantastic job of making DOS games playable, and my efforts combined with others have gotten the games out there.  I’ve made some of my friends laugh with my programming ideas.  That’s a lot of personal accomplishment for someone who has to put family first and work first, and I’m happy thus far.

So.  The time has arrived to shore up and buttress the hobbies.  Here’s the Trixter 5-year pledge, to me as much as to you, in order of project start date:

  1. Finish up MindCandy 3.  Four hours of home theater showcase material on tasty Blu-ray (DVD too).  It’s 80% done and should be ready by March or April.
  2. Complete The Oldskool PC Benchmark, a project I’ve been tossing around for a while.  I’m unhappy that no PC emulator is cycle-exact for any model, not even known fixed targets like the 5150/5160, so this benchmark should help emulator authors get that taken care of.  It will maintain a database of systems that have been tested, so that users and authors of emulators can target a specific model to run programs in.  As each system I own is benchmarked, it will be donated back into the collector community, save for a handful of machines that I need for further development work (see below).
  3. Gutting and rewriting MONOTONE.  Adding features people actually need (like volume and frequency envelopes, or an interface that doesn’t suck ass) as well as a few only I need, like flexible hardware routing.  Remember, kids: You’re never going to wow the pants off of people unless you can drive seven(*) completely different soundcard technologies all at the same time.
  4. Bootable diskette PCjr demo, using the PCjr’s enhanced graphics and sound.  Hopefully presented at a euro party.  You best step aside, son.
  5. Build the Soundcard Museum, another project I’ve been tossing around for quite a while.  (Now you see why MONOTONE enhancements came before this.)  This will take up many months of free time, but I promise it will be worth it for the soundcard otaku.
  6. …and that’s it.  I have nothing else planned.  If they’ll have me, I’ll return to working at MobyGames, with maybe another MindCandy project in the works, if the project doesn’t run out of money.

And between all of these projects, I will play longform games that I’ve been meaning to get to (Mass Effect, Red Faction: Guerrilla, Fallout 3, etc.).  Because I’m good enough, I’m smart enough, and doggone it, people like me.

A keyboard exclusively for programming in binary

Air-cooled coding keyboard for professional use

(*) It is technically possible to put a Sound Blaster 1.0/1.5 (CMS+Adlib), Bank Street Music Writer card (essentially a PC Mockingboard), LAPC-1, IBM Music Feature Card, and SCC-1 into a Tandy 1000-series computer if you take the cover and metal frontplate off to allow room for the full-length cards and configure the LAPC-1 and SCC-1 so that they don’t share the same port and IRQ.   That’s six technologies — the seventh is the Tandy 1000 itself, with its SN76496 3-voice squawker.  If I had a 5161 expansion unit for the 5160, I could become more evil — it adds 7 additional ISA slots to the 7 already in the 5160.  I’d lose the 3-voice Tandy, but the additional slots would allow for adding up to three more IBM Music feature cards and an additional Sound Blaster Pro 2.0, and maybe even an additional SCC-1 (I’d have to check what settings it supports).  But I don’t have a 5161; they’re ludicrously difficult to find complete.  And besides, once you have two SCC-1s in a machine, what is the point of driving anything else?

Posted in Demoscene, Digital Video, Gaming, Lifehacks, MindCandy, MobyGames, Programming, Vintage Computing | 11 Comments »

Blast Processing 101

Posted by Trixter on December 5, 2008

I hit my inaccuracy limit today listening to the umpteenth oldgaming podcast to refer to Sega’s “blast processing” as only a marketing gimmick.  The common reference goes something like this:

…which many people assert was a completely factitious term invented to sell Sonic the Hedgehog carts.  Not that it makes much difference nowadays, but I want to set the record straight:  Blast Processing was not just marketing; it was a real hardware feature that could drastically speed up certain operations.  Marketing only chose the term Blast Processing because its real name is fairly dull and boring.  Blast Processing was… get ready for it…

DMA.

In layman’s terms, a DMA controller is typically added to a system to assist in copying memory around independently of the CPU.  The CPU can issue a memory operation, and then perform other calculations while the memory gets shuffled around by the DMA controller.  For example, the original IBM PC has an Intel 8237 to offload the task of moving data between main memory and I/O ports, because I/O operations are typically incredibly slow and it’s a waste of everyone’s time to have the CPU wait for I/O to get its ass in gear and cough up the next byte/word.  So the 8237 does this, and the CPU is free to perform other work.  If you’ve ever wondered how early DOS backup programs were able to update the screen and compress data while the floppy drives were fully active, you have the 8237 to thank for it.

So what did DMA do for the Genesis?  Actually, not as much as you would think, but it did help out.  As confirmed by Bruce Tomlin, Genesis had a DMA unit which could be programmed to do copies and fills both to and from main memory, as well as VRAM-to-VRAM copies, with an arbitrary increment so that you could do column fills as well as row and block fills.  During display time, it was about the same speed as doing CPU writes, but — here’s the part that could arguably be called “blast processing” — during vertical blanking it was much faster than the CPU.  You may not think that the CPU in a console could get everything ready fast enough to take advantage of VRAM copies during the vertical blanking interval, but you have to remember that the Genesis sported a 7.6MHz 68000 — a 32-bit CPU with no less than 8 32-bit general-purpose registers as well as 8 address registers.  That is huge, and Genesis could easily give the DMA controller enough to do.

So there you go.  While the name could have been better chosen, it was a real thing that could offload a significant amount of work for the CPU.

Update:  It turns out that the creator of the term Blast Processing has publicly apologized for the marketing.  Read that link, not because of the marketing but because it goes into detail as to what exactly Blast Processing was referring to.  Quite specifically:

“Marty Franz [Sega technical director] discovered that you could do this nifty trick with the display system by hooking the scan line interrupt and firing off a DMA at just the right time. The result was that you could effectively jam data onto the graphics chip while the scan line was being drawn – which meant you could drive the DAC’s with 8 bits per pixel. Assuming you could get the timing just right you could draw 256 color static images. There were all kinds of subtleties to the timing and the trick didn’t work reliably on all iterations of the hardware but you could do it and it was cool as heck.”

Posted in Gaming | 34 Comments »

Kicking my own ass

Posted by Trixter on August 8, 2008

I love Wizball. Every few years, as I slowly work my way through my hobby of restoring vintage IBM PCs and clones, I will pull Wizball out and try to finish a game on the PC that I’m restoring at that time (as a burn-in test — yeah, that’s it), and see how far I can get.

The PC version of Wizball is brutal in that the speed of the game is not constant. It speeds up and slows down based on where you are and what enemies are onscreen, which is annoying all by itself, but the real problem is that the entire game is not based off of a timer. If you play it on an original 4.77MHz 8088, gameplay is glacial; the game itself is much easier because of the slower speed, but you discover a new hidden gameplay mechanic of endurance (it can take three to four hours to finish). If you play it on any 80286 or higher, it’s too fast to play.

About two years ago, I discovered a bootable disk distribution I hadn’t seen before with four games on it, one of them being Wizball. I wrote it to disk and decided to try it out on my 4.77MHz PC/XT. After trying the others, I started Wizball and before I knew it a few hours had gone by. Determined to finish, I slogged through and managed to complete the game and get a pretty good high score.

Since the game wasn’t written to save high scores to disk, I wrote my score on the sleeve (like putting quarters on the marquee of an arcade game, a common computer nerd practice back in the day). For your enjoyment, here is that disk:

Not a bad score, if I do say so myself. I wrote the score down, happy that I had finally finished the game, and put the disk away.

Today I was organizing all of my loose floppy disks and sleeves (gathering into a giant pile is more accurate) in an effort to see which disks I could reformat to archive some data off of a new conquest.  In a pile of nearly 100 sleeves, this little gem put me in my place:

Evidently, twenty years ago, I had kicked my own ass at Wizball.

(And it was a true ass-kicking, since my machine twenty years ago ran at 7.16MHz, not 4.77MHz, which meant the game ran normally and required decent reflexes to play.)

Posted in Gaming, Vintage Computing | 6 Comments »

A Rebuttal

Posted by Trixter on August 3, 2008

My son wanted the opportunity to rebut the rules I laid down for shooters, so here is his response:

Max’s Rebuttal

Posted in Family, Gaming | 1 Comment »

Birthday Frags

Posted by Trixter on August 1, 2008

Today I am 37. I am also 237. I’m working on the latter.

My youngest son Max will be 9 years old in November, but already he has been bugging (begging?) me to play some first-person shooters. I initially thought this was a good idea and let him play TimeShift with all of the blood/gore turned off. But something struck me as he played it: As he was gunning down the enemy, he was showing hardly any reaction as to what they were doing. In other words, he was shooting a fairly realistic gun at a fairly realistic enemy, who was yelling and dying in a fairly realistic way, and he simply was not reacting to this at all. That bothered me, so I uninstalled the game (actually I rar’d it up and moved it to another drive — I figure by the time he’s smart enough to figure out how to restore it, he’ll be old enough to play it :-).

While I relish the thought of nurturing the next Fatal1ty, I am bound by the morals/values/scruples that all parents (should) have. So I had to lay down the law last month about what he could and couldn’t play specifically regarding first-person shooters. Coming up with parenting-friendly rules was surprisingly easy (no realistic human targets, etc.). Coming up with the games that honor those rules was a little harder, given that the point of an FPS is to kill things :-) Here’s what Max can expect:

  • 8-9 years old: No human targets or scary environments. Acceptable FPS games: Serious Sam series, Tron 2.0, Shadowcaster
  • 10-11: Human targets okay only if they are zombies or possessed or otherwise completely unrealistic (ie. quite pixelated graphics or low polygon count). Acceptable games: Doom, Heretic/Hexen
  • 12-13: Any target or setting is fine as long as the game is rated ESRB “T” for teen
  • 14-15: Can play anything he wants as long as it’s not pointlessly sadistic (ie. games like Manhunt are not allowed)
  • 16+: Anything goes (I was sneaking into R-rated movies when I was 16 so I figure it would be hypocritical to not let him play anything he wants at 16)

(I’m probably forgetting some eligible games; let me know which ones and I’ll amend the above.)

Note that the above guidelines assume all games will have all gore and bad language set to “off” if the game allows it. Even if they don’t, Max and I have an understanding about bad language (when it is and isn’t appropriate) so I’m not worried about that, and blood coming from an obvious non-human enemy is fine too. Fantasy violence is clearly a game. Getting a headshot on a human soldier can also be a game, but only if you’re properly grounded, and I don’t think a 9-year-old is that grounded.

Max, of course, thinks these rules are completely unreasonable. I think they’re pretty damn lenient!

Posted in Family, Gaming | 6 Comments »

When design was king

Posted by Trixter on January 21, 2008

A lot of old gamers continue to beat the dead horse of “The games were better when I was a kid!”  While there are a ton of reasons why this is just nostalgia rearing its ugly head, there is one very strong reason this is true in some cases:  Since the graphics and sound of early home computers were so terrible compared to arcades of the day, game designers had to focus on actual game design and not just excuses to blow shit up.

I bring this up because my eight-year-old son Max and I just finished playing Archon for the last 90 minutes.  We didn’t even play it on one of the “cool” platforms, like NES or Amiga, but rather on one of the ugliest ports: The IBM PC.  Terrible sound, horrible graphics, and yet none of that mattered.  In 3 minutes I was able to explain the basics, and then 90 minutes later we were still laughing at each other for some crazy battle.  The entire time, I couldn’t get over how basic game design still reigns supreme, 25 years later.

Posted in Family, Gaming, Vintage Computing | 1 Comment »

Playing Between The Lines

Posted by Trixter on November 26, 2007

I finished Half-Life 2 today for the first time (yes, I really did wait until the Orange Box until I bought and played Half-Life 2 — I’m a very patient man) and I have to say that was easily one of the top five games I’ve ever played.

I have a friend that didn’t like Half-Life 2 as much as the later Episodes 1 and 2 (which I have not started yet), and, if I remember his opinion correctly, it was because there was “no story”. I am assuming what he meant by that was that he didn’t feel there was enough explanation as to what was going on. I can see his point; there is no narration, and little dialog directly explains key elements. But I think the reason people like HL2 so much is because of what is not explicitly said — what you get between the lines.

There are lots of little things you can pick up if you listen to all of the dialog (4-speaker audio helps, so you can separate distant/soft dialog from environmental sound effects) and keep your eyes peeled, and while they may not offer direct answers, they give you something much more powerful: Empathy. Gordon Freeman is not Duke Nukem; he’s a scientist who has been thrust into a situation where he’s just as disoriented as everyone else. To the resistance, he’s almost mythical, able to survive and accomplish what no other person has done. Being confronted with that while at the same time being partially in the dark really gives you a sense of what he must be going through. He’s just as confused as everyone else, and only quick wits and the luck of having a hazard suit is what keeps him a hair away from death.

For example (spoiler alert), there’s one place you can look at before the bridge area where there is a series of oil tanks behind a chain link fence. There is a part of the fence that is damaged that you can climb over. There are no supplies, ammunition, or new weapons in this area; there is no reason to go to the trouble of entering it. But if you do, what you find is a person slumped in the corner, dead of a self-inflicted shot to the head, revolver still near his hand. Marked on the wall next to him are three side-view anatomy illustrations of the heads of a monkey, a human, and a human with a Combine soldier mask on. It is after a few seconds of looking at these that it dawns on you that the soldier is not merely wearing a mask, but that the mask is physically part of his anatomy, along with other subtle modifications. That completely changes the tone of the game: You are not only made aware of something insidious and quite disturbing, but worse, the people you meet later in the game don’t know this, and are assuming that the soldiers are simply “police”, or otherwise people on the wrong side of the conflict. They’re fighting what they think is some sort of a civil war, when you secretly know the truth. It’s those kinds of moments, extremely powerful moments through very subtle delivery, that immerse you in Gordon’s situation.

I became more emotionally involved in Half-Life 2 than I have any other game. I was (sometimes simultaneously) surprised, shocked, disgusted, anxious, angry, determined, vengeful, and awestruck. And, I’m not ashamed to admit, I got so worked up sometimes that two nights last week I had to go to bed early and sleep for 12 hours, having made myself quite sick through sheer concentration and stress while playing.

I’ve been a fan of Roger Ebert since the early 1980s, but he is truly mistaken when he has declared, several times, that video games are not art. I think just two hours with Half-Life 2, the same time he spends watching a movie, would change his mind.

Posted in Gaming | 1 Comment »

Trixter Gets Pwned By Son; Film At 11

Posted by Trixter on October 30, 2007

To gear up for finally playing Half-Life 2 (and all the other goodies in the Orange Box), I’ve registered my original Half-Life with Steam and started playing through the original HL, moving on to Opposing Force, and finally Blue Shift. I wanted to get reacquainted with the setting and atmosphere before I took the plunge. Yes, I am that thorough. While such practices always result in much good-natured mocking from my friends, I doubt any of them are surprised.

To try to bone my skills back up to where they were a decade ago, I occasionally take a break and play Half-Life Deathmatch. It was during one of these sessions that Max, my 8-yr-old, saw me playing. After the requisite talk about “the blood and gibs aren’t real, it’s just a game, you would never do this in real life, right?” etc., he watched me get into a particularly hilarious crowbar fight with an evenly-matched opponent. We were both howling, and then he asked the inevitable question, “Can I play?”

Could he? It’s a mouse-and-keyboard FPS with an ESRB rating of “M”. The required skill level and content are years beyond him. And yet, he’s a pretty well-adjusted kid; whenever he sees something in a movie he can’t handle, he knows to close his eyes and/or cover his ears until it’s over. He knows when things are fake and when they’re real. He’s intellectually curious; all this last week I’ve been teaching him chess because he saw a set-up board somewhere and wanted to learn. Not bad for an eight-year-old.

Hell, he’s the son of the co-founder of MobyGames. Why not?

I installed Steam on his machine and registered my copy of Blue Shift to his account; like Half-Life, everything popped up as being registered and in ten minutes he was going through the Hazard Training Course. 20 minutes after that, we were playing HL Deathmatch against each other, in a private local LAN server hosted on his machine. And about 30 minutes after that, he pulled something so clever and so beyond his sum of experiences that it completely floored me. I’m still in awe over it. It’s why I’m posting this entry. See if you can follow along:

One of the sneakiest weapons in Half-Life Deathmatch are tripmines. You stick one to a surface (usually a wall), and a few seconds later a laser comes out of it, sensing the other side of the room. If anything crosses its path, the mine blows up, usually taking the offender with it. On our first map, I was cheerfully placing these all over the place, and he quickly learned what they are and how to use them.

That’s not the cool part. The cool part is, on the second map we played, there is a large area with munitions you can get to by swimming in a small canal with a very strong current. The water in the canal is murky and you can’t see into it until you’re actually down there swimming in the water. The current gets stronger along the way, to a point where you can’t fight it and are swept into the giant room with the munitions. About ten minutes after starting the map, I dove into the canal to get to the bigger room. I swam until the current started to sweep me towards the room… and it was at this point I saw a tripmine placed in the canal, unavoidably in my path. He had not only hidden a tripmine in murky water that you can’t see into until you’re already in it… but had placed it after the point where it still might have been possible to swim out of the way. I had about 1.5 seconds to take that in before it blew me to bits.

Let’s review: Eight-year-old, with no past history of playing any FPS, online or not, accomplishes in less than an hour something so sneaky and clever it takes most young adults a few days of playing, against many other people, to pick up.

I was pwned by my eight-year-old son. In a clever way, not a young-kid reflex twitch way. Holy mother of crap!

Posted in Family, Gaming | 5 Comments »

Completing the trilogy

Posted by Trixter on April 1, 2007

For the first time in as long as I can remember, I’ve played a game to completion.  While I’m 3 years late, I finally finished Project: Snowblind, the unofficial sequel to Deus Ex: Invisible War.  (Why unofficial?  Because when they saw the poor sales numbers of Deus Ex 2, they decided to “salvage” the project and change the assets to something generic to distance themselves from the property.)

If you’ve played the original Deus Ex but hated the sequel, you need to play Snowblind because it offers a glimpse into how the series could have dug itself out of a hole.  The first two Deus Ex games were mostly about avoiding combat; Snowblind promptly thrusts you into combat and never lets up.  Unlike the first two games, it is finally satisfying to enable invisibility, walk up to an enemy, and shotgun blast him into another timezone.

Snowblind is less than $10 for any of the three platforms it came out on; I recommend a console version because the PC version has some major glitches and no patches were ever released.

Posted in Gaming | 5 Comments »

GDC Highlights from a Sick, Sick Man

Posted by Trixter on March 18, 2007

(This post is a week late, but posts are usually better late than never.) I went to GDC the first week of March, and although I was incredibly sick the entire time and missed 90% of the conference, I did manage the following highlights which made it all worthwhile:

  • Finally met Mike Melanson, reverse-engineer virtuoso of video and audio codecs, because he lives in the area. Went to dinner with him and the local MobyGames crew (Flipkin, Ron, Tom Servo) and had great food in a great bar called The Chieftain. (Despite the name, it was an Irish/California-themed bar.)  I quickly lost my voice, but it was worth it.
  • GDC awards ceremony. Graeme Devine presented a community award to The Fat Man; Lord British awarded lifetime achievement to Miyamoto, who accepted in person; some Sam & Max jokes; great fun. Presented by Tim Schaefer who cracked jokes. Excellent vibe. That was the only time I saw Simon Carless (on stage) as he was too busy to meet with anyone during the event. Our MobyGames intern rushed Miyamoto and shook his hand as he got off stage. Whore :-)
  • Later that night, we went to a bar looking for food and I quite literally bumped into The Fat Man by accident and we talked for 10 minutes. He loves Moby; I love his music; it was something I always wish I could have done and now I have. That guy deserves more work.
  • Thursday I met Chris Hargrove (Kiwidog / Hornet) and some other sceners. Chris was this chance thing — I literally screamed to him from the booth when I recognized him. Hadn’t seen him since he crashed at my place a decade ago. We talked about why Duke Nukem Forever has been delayed for so long; caught up on other stuff; he gave me the skinny on what finally happened to Tran. Nice catch-up.
  • Thursday went to the programmer’s challenge and got a few right (to myself — the gameshow was for the super-talented panel) .  Some questions/answers were played for laughs. Some scary smart people on that panel…
  • Friday participated in a game preservation roundtable sponsored by IGDA and am now a member of the group (!).
  • Met Jeff Roberts of Rad Game Tools and expressed my appreciation of his Smacker video codec, a low-resource codec used in hundreds if not thousands of DOS games. Always wanted to do that.

Sick, sick, and more sick, had three fevers, just now this week getting over it. Because of fever I was in the hotel room half the time, only saw Miyamoto at the awards and missed his keynote. I also had to leave Friday afternoon and missed the demoscene party that Pyro throws every year after the event… Still, I’ll never forget it and am glad I went.

Posted in Demoscene, Gaming | 5 Comments »