Genfanad Developer Interview

For this perceptive podcast, I spoke with Andrei Krotkov who is working on the MMO Genfanad to try and bridge the gap between the live service games of today and MMOG design of the past. Due to google hangouts causing problems, my voice is not going to sound right for this cast. We spoke about the design of the game, trying to make a MMOG in 2022, and more.

Video: Its Programmer, On SNES DOOM

I’ve been doing a lot of high-effort posts lately, even for things that should be fairly quick. Working to make this more sustainable, here’s a laid-back post that’s mostly just a Youtube video of a talk between the guys of Digital Foundry and Randy Linden, coder of the SNES port of DOOM, which uses the SuperFX chip to make the hardware push polygons at a rate that, while not stellar by PCs-of-the-time standards, at least not abysmal.

Let’s run down the differences of hardware:

PC running MS-DOS: targets VGA monitors, displays all its pixels in software, but makes up for it with a minimum requirement of a 386 running (if memory holds up over nearly 30 years) at 33 mHz.

SNES: Its processor is a much slower workalike of the 65C816, a 16-bit version of the 6502, running at 3.58 mHz. While it makes up for its slower clock speed with a simpler design, meaning instructions complete generally in fewer cycles, it’s hard to make up for that 10-fold difference in speed.

Their use of specialized graphics hardware was an important advantage, at the time, of consoles over personal computer hardware. Even many standard home microcomputers, like the Commodore 64 and Atari 800, had dedicated graphics hardware that helped games run better than what most PCs could do. Even when VGA came out, the standard had no hardware-level support for scrolling or sprites.

Consider what it takes to scroll a screen without hardware support: something in the system has to be able to move every pixel from one spot on-screen to another. The NES pulls this task off by having a bank of memory that its PPU can be pointed within, meaning the memory could stay in the same place, and the graphics chip would just work from a different region within it. Sadly, this technique is not amenable to 3D graphics, which usually do require every pixel on the screen to be recalculated every frame, either in software or hardware.

The SNES is known for having a rather slow chip for its time, but more demanding games tended to make up for it with co-processor chips included on the cartridges. The most well-known of these are the DSP-1, which functioned as a math co-processor; the SA-1, which was basically a second 65C816 running at around triple the speed and with a few added features; and the SuperFX, which ran at about the SA-1’s clock speed but functioned as a graphics accelerator. (The later SuperFX 2 ran at twice that speed.)

These were far from the only add-on chips included on Super Famicom and SNES carts. Since the SNES had a much larger address space than the NES’s 6502-clone, the need for mapper chips was much less, but these co-processors were used in a number of more notable games to help it make framerate goals.

Hm. Well, I tried making it a laid-back kind of post. Ah well, back to playing Live-A-Live.

DF Retro: The Making of Doom on Super NES – The Original ‘Impossible Port’

News 9/29/2022: Dire Tidings From Texas

“We scour the Earth web for indie, retro, and niche gaming news so you don’t have to, drebnar!” – your faithful reporter

It’s been a slow day at the news desk, blobs and blobbies. Just three items-

Mollie Taylor at PC Gamer tells us that Atlus is suing fans for reviving an old MMORPG of theirs, Shin Megami Tenshin Imagine Online. A particularly galling part of the article: “The suit claims the fan server has ’caused and will continue to cause irreparable damage to Atlus unless restrained by this Court,’ despite the servers being dead for over six years.” Not cool, Atlus! Of course, the law is complex, and very often on the internet the law being violated is not the one you think it is at first, be this seems particularly egregious.

Nintendo Life has an article by Gavin Lane on which Zelda title players should try first, and of course you just know I’d have to link it as an excuse to get in my two gelatinous cents! I really think people should try the original Legend of Zelda first! It’s hard, oooooh yes it is drebnar, and you’ll die a lot, but that’s what makes it fun! It’s not like you lose much when you die either. The article’s own argument (which you’ll have to read to get Gavin’s reasoning) is: Ocarina of Time, Link to the Past, Breath of the Wild, and Wind Waker.

And a group of writers headed by Rachel Watts at Rock Paper Shotgun report on their favorite indie titles from out of EGX 2022.

Finally, if I might talk about a non-gaming issue that affects all of us on the web… the U.S. Fifth Appeals Court has made a horrendous, head-scratching decision that could easily turn social media into a hailstorm of spam and misinformation, at best. The Atlantic has an article up called Is This The Beginning of the End of the Internet, and from what I’ve seen so far it’s possible? It all has to do with a Texas law that forbids social media from “censoring” people’s feeds, saying if they have 50 million users they no longer have First Amendment rights. Of course the law is complex (as I mentioned above), and the effects of this decision, if it isn’t overturned or outright nullified by an eventual law, will spill out in several directions. But those of us remembering the era leading up to the election of the Terrible Orange Man will remember the kinds of things that floated around Facebook at that time. This looks like it might open the already-leaky floodgates, and, at the very least, turn social media sites into unusable hellholes. For more, you probably should read the article-provided The Atlantic doesn’t ward it from your sight with a paywall. It’s nearly the end of the month, if you’re out of free articles they should reset soon. That’s the way it works, right?

(EDIT: Fixed link. The Windows clipboard continues to cause me problems, argh.)

Romhack Thursday: Junkoid

On Romhack Thursdays, we bring you interesting finds from the world of game modifications.

A hack of NES Metroid, Junkoid doesn’t offer many changes to the original game besides graphics and area maps. Most of the engine changes it has are pre-existing patches made by other people. It uses the Metroid map and save game patch, but only offers a map for the starting region. Fortunately, while it has some cool secret areas to find, its mazes aren’t particularly complex, and I was able to complete it without keeping any maps on paper.

Junkoid’s premise is that the game world is a dream had by its protagonist, which is its excuse to provide a variety of imagery without any great coherency to it. One area seems like it’s drenched in blood, which I am not usually a fan of) Another like it’s a cloning factory, dedicated to making clones of the heroine, but its boss is a penguin that acts mostly like Ridley.

For the most part it’s not too difficult going, but I found that the final boss could be very frustrating. It uses Mother Brain’s coding most as-is, and doesn’t have the Zebetite gates immediately before it so you can get by with fewer missiles, but it’s very easy to get tossed around by the various hazards of the final area, and the boss’s weak spot, which can only be harmed by missiles, was a bit too finicky when registering hits. Still though, I can vouch that it’s possible.

Have some more screenshots:

Junkoid’s Romhacking.net page

Realms Deep 2022 Indie Showcase

This is a showcase dedicated to the demos we played during the realms deep 2022 showcase. If you would like me to take a look at your game for a future video/stream, please reach out.

Remember EYEZMAZE and GROW?

There was a time when these short Flash games were the toast of the internet. There is very little cultural memory online for anything that isn’t absolutely huge (and almost no quality control over the things that become huge) so no one talks about GROW anymore, or its Japanese creator On, which is a tremendous shame.

EYEZMAZE took a tremendous blow when Flash shut down. I really hate how people generally accepted its demise as good and necessary when it obliterated so many great things, like Homestar Runner’s original website, that are only now sort of becoming available again. There were serious problems with Flash, it’s true, but not all the reasons it was shoved out the airlock were good ones. Fortunately On has converted many of his games to work with HTML5.

The art is great for its own sake, but the games, available by clicking on the icons at the top of the site, are the highlights, and foremost of those are the GROW series. I was going to link them individually here, but most of them are GROW in some form of other. You should probably start with the first.

The object is to figure out the best order to click on the various items to add to the GROW planet. Every time you add something, things that were already on the planet may “level up” depending on the other things that are with it there. Some things being added too early may harm the development of other things. Usually there’s one specific order that will result in a perfect score (and an animation that goes with it). Figuring it out, using the visual clues from your failed attempts, will usually take many tries, but a run through only takes a couple of minutes at most. All off the GROW games take this general form, although most of them aren’t as complex as the first.

Bitrot has not been kind to GROW. There was an Android version of Grow RPG that appears to have succumbed to Google’s awful app culling policy, where if something isn’t updated, for whatever reason, in a certain time they just delete it. (Not nearly enough has been said about his hostile this is to software preservation. It’s horrendous.)

On has had health struggles over the years, which have interfered with his creation of new amusements. He still seems to be up and active though, and we hope he continues creating both his games and his art for a while to come.

EYEZMAZE (some games may require Ruffle)

On’s Twitter feed

On’s Bilibili page (Bilibili is a Chinese video site)

Tron Arcade Documents

The Arcade Blogger recently spotlighted some documents related to the design process of the classic 1983 arcade game Tron, including information on some dropped minigames for it. Tron is such an interesting production. It is of course based on the movie of the same name, which has become a cultural landmark despite not actually doing that well in theaters upon its release. One of the interesting facts revealed in the article is that the arcade game actually outperformed the movie, despite being released while interest in US arcade gaming was falling.

Rogue Command Developer Interview

For this Perceptive Podcast, I spoke with Mario who is currently working on the game Rogue Command: combining deck building, roguelikes, and RTS into one game. We spoke about the design of the game and balancing all these different elements together.

Let’s Learn About Pixel Scaling and Rotation

When you start using emulators, it won’t be long before you’re brought up against the choice of which scalers to use, a bewildering collection of options with names like Nearest Neighbor, AdvMAME3x, and RotSprite.

Resizing pixel images in an intelligent way is a difficult problem for many reasons. Most techniques intended for use on photographs won’t apply, since they’ll produce unacceptably blurry results when applied to extremely low resolution art. Pixel art is designed so that every dot matters, and adding new pixels carelessly can cause problems, such as Mario flipping us the bird in the right-hand image below:

Mario vs MMarrioo:A possible result of bad upscaling.

Additionally, being done frequently in real-time emulation, scaling algorithms must be fast. Yet the fastest solution, called Nearest Neighbor, produces very blocky results, and also only really works well if images are scaled up to an integer multiple of the original in X and Y dimensions.

A good backgrounder of various issues is available from an old blog post here, but there’s been some interesting advancements in the field since then. RotSprite is a good contemporary solution that also can rotate pixel art images well.

The problem of rotation is made simpler by a nifty trick that’s used by many image editors and libraries. It turns out you can rotate an image by an arbitrary amount with three simple shear operations. (If you don’t know what shearing is, it’s just tilting an image by some amount in a direction. It’s pretty awesome that this works since shearing is easy to do.)

Example image borrowed from the above linked page. I’m amazed this works.

Sundry Sunday: Strong Bad Plays Vampire’s Castle

We’ve posted Strong Bad videos a few times before here, and for that I make no apologies. Left up to me we’d be a 24/7 Homestar Runner joint. But there already is a 24/7 joint of that nature, and it’s called homestarrunner.com, although we do have a more frequent update schedule than them these days.

This one’s special though in that it is a new Strong Bad video, one that went up late last Sunday evening. In it, the bulbous-headed wrestleman plays the short DOS text adventure Vampire’s Castle, which was written in less than 200 lines of BASIC code. It inspired the HSR Flash game series, previously linked, Thy Dungeonman, Nos 1, 2 and 3 (“Behold thy graphics!”), which you can still play (drumroll)… with Ruffle!

Vampire’s Castle is completely text, so the Baddest Strong enlisted the help of The Cheat to make illustrations of the rooms, which is where a lot of the entertainment value of this video derives.

Strong Bad’s Disk 4 of 12: Vampire’s Castle (30 minutes)

What We’re Playing 9/24/22

rodneylives (John Harris): Still working on Live A Live (just started the last chapter), Animal Crossing: New Horizons, Pinball FX 3 (Party Zone, Funhouse, High Speed II: The Getaway), Party Zone pinball (grand champion on local machine, at Pinball Palace)

Josh Bycer: Shovel Knight Dig, trying to find time to start Death Loop.

philnelson: Cult of the Lamb, Splatoon 3, and Fallout: New Vegas.

If you’ve been playing or watching something you enjoy and want people to know, tell me on Twitter (I’m @rodneylives), preferably with a hashtag like #whatimplaying, which I’ll take as permission to relay here.

Video: Make Your Own Raycaster

A raycaster engine is a simple 3D engine that just draws lines from the player’s position to the nearest terrain wall for each horizontal pixel on the screen. It was what was used in one of the foundational 3D action games, id Software’s Wolfenstein 3D.

For those with a coding bent (the word bent seems so suitable when it comes to people who enjoy programming), Youtube account 3D sage demonstrates how to implement a raycaster in a series of three videos. The first one is embedded below:

Here are links to the whole series: Part 1 (17 minutes), Part 2 (14 minutes), and Part 3 (22 minutes)

Later he did another series on implementing the kind of engine that’s in DOOM, but we’ll look at that at a later date.