Way back when I was in college in the mid-90’s, I took a year off to professionally write video games. This was in Vancouver, BC, and I was writing (at least attempting to write) in 65816 assembly for the Super Nintendo at a company called Radical Entertainment. At the time I had just finished my second year of college, and I had taken a semester on the basics of machine computation. Everything seemed pretty foreign though after having only programmed at that time in Basic, Pascal, Modula-2, and C.
C is often described as a “low level language”, and being “close to the hardware”, which is definitely true, but at the time it felt a heck of a lot closer to Pascal than it did to writing in assembly. The Super Nintendo doesn’t have a lot of memory, either on the stack, or in ROM, and it wasn’t really possible to do things like have proper subroutines, at least on the code base that I was working on. Most of the code was a mess, and there wasn’t really any formal training; you were expected to just figure it out, and figure it out quickly. This isn’t easy to do when your development system is a cobbled together Super Nintendo with a development board hooked up through the parallel port to a 486. Assembling and loading the whole game could take 10-15 minutes, so you would quickly have to figure out tricks to speed things up like only loading portions of the game into memory.
Radical had had a lot of clunky titles for the SNES in the 90’s including Bebe’s Kids, Brett Hull Hockey, and Power Piggs of the Dark Age. There were a lot of great, super smart, talented people who worked there, but for whatever reason we just didn’t develop really great games. I suppose this mostly had to do with release pressure as well as the sheer difficulty of making magic come out of the Super Nintendo. It’s possible, but even with the blood, sweat, and tears we were pouring in, it was still awfully hard.
The code base I was working on, however, wasn’t terrible because I was developing the title from scratch, or using some clunky library routines, but was due to our team writing a port of two existing games to work with exercise bicycles. Specifically Speed Racer, and Mountain Bike Rally. Both titles, particularly MBR, were kind of a mess. Speed Racer had fantastic artwork, and a really great sound track, but it was a victim of its own ambition. It combined a Mode-7 (faux 3D) racing game with a 2D platformer, and neither part was properly tuned or worked well. The racing parts suffered from brutal yo-yo AI and kind of bizarre track layouts. The platformer had absolutely awful collision detection and unresponsive controls, probably due to having a 7 frame walk cycle animation. MBR was also a Mode-7 game, but it had ridiculously poor controls and made you (honest to god) repeatedly button mash the gamepad in order to pedal the mountain bike. Not exactly a super fun game.
There was something about using a real exercise bike that made both games work though. The feedback you got from the pedal tension increasing when you rode/drove up a Mode-7 hill and then decreased when you were coming back down the other side was really compelling. You were getting a workout, and actually having fun while doing it. The interaction with the bike pulled something out of each game and made up for all of the weird deficiencies and idiosyncrasies.
That said, the bikes, to my knowledge, never got sold. Spin classes weren’t really a thing yet, and there just wasn’t a market in 1995 for a $1000+ (in 1995 dollars no less) fitness bike that hooked up to a kids computer game system. On the flip side, if you can get your hands on one now, the bike/game is so extremely rare that it’s now (as of 2018) the fourth most expensive Super Nintendo game out there!