All nostalgia aside, TIL that superfans reverse engineered "Space Cadet" from binary code [1] the same way they did Mario 64 [2]. Not only that, they've ported the result to use SDL and execute in the browser under Emscripten. A super-impressive technical accomplishment with a beautifully tangible result, wow!
My favorite bit - the reverse engineering process seems to have fixed the 64-bit bug Raymond Chen blogged about [3]
> I did not find it, decompiled game worked in x64 mode on the first try.
> It was either lost in decompilation or introduced in x64 port/not present in x86 build.
> Based on public description of the bug (no ball collision), I guess that the bug was in TEdgeManager::TestGridBox
This is my obligatory old-guy post that Space Cadet was one of three tables in the package "Full Tilt Pinball" released by Maxis (along with Skulduggery and Dragon's Keep) which came in its entirety for free with the puzzle game Marble Drop, which was apparently only ever liked by me. So if you want the full set of tables and can 64-bit-ify the installer, the Marble Drop CD might be easy to come by.
I think it's a funny example of great UI discoverability still having failures. I say great because having the tilt keys adjacent to the paddle keys seems like a setup for accidentally hitting tilt in a moment of heat, thereby leading to discovery of the tilt keys. Though perhaps 'moment of heat' is exactly when the player is least likely to realize they hit the wrong key.
Javascript events contain both a key "code" (which generally corresponds to the position on the keyboard and/or the function of the key) and a character string which represents the text that should be added to e.g. an input box.
It seems this game appears to be using the text string to decode the key, so I can press shift+7 (the same key I press to get a "/" character) to trigger the right flipper. You can press whatever key-combination you use to get a "/" character and it will likely work as well.
That is lucky (many things use the code which can be hit-or-miss) in that we can trigger the right flipper, but, at least for me it is a very awkward gesture.
I think it would be nice to be able to change the player controls. I seem to recall the original game permitted this, but the menu option in this version doesn't seem to do anything except pause the game.
I don't have a key for the forward slash either and still am able to write it: /////
The trick is that people like us can reach it by pressing Shift+7. Which of course is rarely recognized by games (or IDEs for that matter - many shortcuts simply don't work).
On my swedish keyboard the left bumper is z and the right bumpers is the *-key (right of 'ä'). Tilt is still x and . so no tilt proximity for the right bumper but usable.
Played this game for hours as a kid. My mom and I printed out the directions so we could read up on all the missions and promotions and stuff.
Having tried other pinball games here and there, this definitely became the standard that I judged everything else by. The physics just feel really good, and the gameplay was a wonderful mixture of skill and flashiness without ever feeling like it was too overwhelming. Just solid from top to bottom.
I'm right there with you. Once you understood what you were doing in the game, it felt like more than pinball, it felt like you were playing a game with the pinball machine, if that makes sense. Going on missions, getting promotions, etc were things you could actively pursue. Fun times.
I’d heard it as ZZT paid for Jill of the Jungle which let them afford Unreal’s longer development cycle while releasing other games (like Epic Pinball.) Epic Pinball and ZZT were two of my favorite games from the 90s.
The next game was Epic Pinball, and it was a huge hit. We estimate that it was the 3rd most successful shareware game ever created. Epic Pinball basically funded the startup of Digital Extremes as well as funding a lot of the development of Unreal.
Pinball FX3 (available on Steam, and other platforms) is pretty good if there's specific real-world tables you're interested in playing. Volume 1 has Medieval Madness, which I have logged far too many hours in.
Medieval Madness is my all time favorite table. I recently bought the version for Pinball FX3, and it's not half bad. I could complain about all kinds of things about PinballFX3, it's very emblematic of the problems with modern gaming, but the tables themselves are pretty good recreations.
It's nowhere near as fun as real pinball, but the one thing that I found really cool was that I was able to play the game on "training mode" and get a better sense for the different things I could do and how to set up certain situations.
My best Medieval Madness score is something like 50,000,000... the table I play on has a high score of about 190,000,000 so I have a long way to go to have a chance at putting in my initials. But I can generally go for a pretty long session on a single credit. Even still, I hadn't ever seen half the stuff that I got to see while playing the virtual version, and I've taken some of that knowledge into the real world when I visit the bar where that table lives.
So overall, digital pinball is cool in my book, if flawed.
Quick edit/addition:
Medieval Madness is unique among nearly all the tables I've played in that it doesn't bullshit you much. Most of the time when I lose balls, I know exactly the wrong thing I did (in particular, trying to hit the castle gate or the trolls without multiball is pretty dangerous). Most tables I've played will suck up a credit in a few flips in ways that seem pretty unfair, but Medieval Madness seems pretty fair. I would love to own a table but they're shockingly expensive, maybe someday!
> I would love to own a table but they're shockingly expensive, maybe someday!
MM has always been on the higher end (or at least for the last long while). And pricing went crazy during covid. But it's a great table, so there's that. Probably fiddly to keep working with all the dodadds though. Personally, I like the very end of the alphanumeric era, right before DMDs came and started stopping the game to show you animations, but collectors seem to prefer DMD games.
Most games you can do a good job of advancing the plot by just shooting for the flashing shots, but maybe avoid center shots, unless you have a good setup, because a missed shot may be hard to recover, although the trolls can be hard to recover from a hit too. Advancing the plot usually results in good scores.
In terms of video pinball that's not virtual physical tables, Demon's Tilt is fairly new, and pretty fun. I was deeply amused when I got a ball stuck and had to use the 'call attendant feature' and got some sort of bonus. But like a lot of video pinball, at some point it is too much a game of skill, and you can have epic ball times and then it's kind of boring.
Yoku's Island Express is also interesting, it's several years old now, and widely ported. It's an adventure game with pinball segments. Boss battles are pretty fun, imho
I like to think (although reality may one day humble me) that I would enjoy the tinkering aspect of owning a table, at least one that I liked enough to make the tinkering worthwhile. I also stumbled on the strategy of just going for the flashing lanes - although you can do quite well for yourself just trying to hit the castle too.
I have been meaning to check out Demon's Tilt. Yoku is fun but didn't grab me enough to go much past the early game.
this is exactly why I bought Pinball FX3, my local barcade got a Medieval Madness table and I remember liking it as a kid, and I wanted to learn more about how the game works beyond "put a few quarters in and hit some flippers until stuff happens", without having to keep pumping fifty cents in time after time.
I think the depth that pinball tables (I'm not enough of a buff to feel comfortable calling them "pins" ...yet) have is hugely underrated. I remember learning about the objectives you can go for in Space Cadet but I was blown away by all the different systems/table features/etc. in MM! so much to learn and keep track of at once, but once you start to get the hang of it, playing & learning more is incredibly addictive. my MM high score in PFX3 is somewhere around 50M (with the hugely unfair default, not "realistic" physics—though I play both), but I haven't been able to get anywhere near that irl just yet.
it is interesting just how much irl pinball physics differ from their virtual counterparts, there really is nothing quite like it.
also, for those unaware, some Medieval Madness trivia:
- a pre-famous Tina Fey voices of some of the princesses
- Tim Kitzrow does his NBA JAM shtick as the joust announcer, and even BOOMSHAKALAKAs sometimes
- there's very occasional "Toasty!" and "FATALITY" samples from Mortal Kombat (Dan Forden, the Toasty Guy, did sound for both games)
really, if you're a fan of pinball/arcade history, it's just a real treat, sort of a culmination of the Williams/Midway arcade scene, in some ways.
> it is interesting just how much irl pinball physics differ from their virtual counterparts, there really is nothing quite like it.
I think there's probably a couple components.
#1 is virtual pinball physics is usually too simple and it plays too deterministically. Real pinball plays differently when the machine clean vs dirty, and it gets (minutely) dirtier as you play, parts wear, etc. Sometimes the ball jumps or otherwise moves in unexpected ways.
#2 is flipper timing variability. In virtual pinball, the controller is usually sampled once a frame, but pinball machines pre-fliptronics had the switches connected to the flippers through a relay, post fliptronics, I'm not sure if there's a sampling delay, but if so, I think the sampling rate is higher than 60Hz. That really increases the possibilities, even if a couple ms here or there doesn't make a big difference.
#3 tilting on virtual pinball is very precise, but I haven't found it nearly as precise in the real world.
If you've seen the Slow-Mo Guys pinball episode you will quickly realize that video game physics still aren't really up to the task; they're very good at getting an effect, but still approximate.
Pinball is full of violent, three-dimensional forces: the pop bumpers launch the ball by crushing it from above, the slingshot bumpers deform the rubber rapidly enough to create visible resonance. Nudging and shaking the game creates a vibration across the whole playfield. And so on.
Most video pinballs outside of the dedicated simulators don't even try to get close, and opt for an implementation that treats the flippers as simple point-and-shoot devices that can always return the ball in any direction; the reality is that the available shots are all dependent on how the ball was tumbling, and the precise details of the flipper coil mechanism(games since the solid state era switch from a high-power coil to a lower-power one to prevent overheating when the button is held; this means that the flipper in the low power state bounces back when hit). High spin and low spin balls are categorically different and many games are designed so that you have to set up difficult shots by first creating a high spin scenario. Add in all the vibrations and deformations of a real game - the exact behavior of rolling down a wireform ramp, for example, is easy to dictate and hard to simulate - and you get to the parts that a simulator can't touch.
> games since the solid state era switch from a high-power coil to a lower-power one to prevent overheating when the button is held
Is this really limited to solid state machines? Pre-fliptronics, this happens under the board, with end of stroke switches, no electronics needed, there's no reason it couldn't have happened on an EM, and lots of good reasons to do it...
My personal take is that even if you could simulate the physics perfectly, there's just something about the physical movement of a ball across a table, that you track with your physical eyes, that just can't be replicated.
I honestly can't think of another table that's close to as fun as MM, it's got the perfect vibe and so many neat little table features. MM was also the first table where I started to learn the objectives (I can get the multiball with pretty decent consistency now). And again, it's probably the fairest table I'm aware of, I very seldom say "that was bullshit!" when playing MM.
Most of my prior pinball experience was just "bang in a few quarters and watch the lights flash until you lose." Imagine my surprise to find that those little cards on the tables actually tell you how to play :)
My 50M play was a magical one, I lucked out in all kinds of ways. My average is around the 25-30M range (on good runs, I'm still not good enough that I don't occasionally flame out near 1M haha)
We had a Star Trek Next Generation table in one of my workplaces and that required a technician to service it once every other month or so (it was free play but only a few of us played it much) so you'll need to budget for that or learning to do that part yourself.
Yeah, I can imagine the maintenance would be fun, but I can equally easily imagine that it would join the ranks of disassembled devices and half-finished projects in my garage. I can also imagine that you get into situations where you need a quick $200 or something for some borked part and just don't want to constantly invest in some expensive toy. Or worse, that you need some part that you just cannot find anywhere. After all, they only manufactured a few thousand of the things. Eventually, I assume the well of replacement parts dries up and you're left either custom-building a new troll or castle or just letting your table sit idle.
Something that no video pinball communicates compared to a physical table is just how violent it is. The force with which the steel ball is launched deflected and bounces is really quite visceral.
The first article focuses on form-authentic cabinets, but the software that powers those (like the open-source Visual Pinball, the freeware Future Pinball, the commercial Pinball FX3, etc.) work on ordinary laptops/desktops too.
Phone apps are close to ideal for a quick game of pinball - touchscreen controls are not perfect, but they are "good enough."
The best "originals" on phone are in Pinball Deluxe Reloaded, which sticks to a flat 2D design.
Pinball FX(Zen Studios) is the runner up and has a series of apps dedicated to its originals and licenses. It tries to have a 3D camera, which isn't the best experience on a tiny screen.
Pinball Arcade and Zaccaria both have apps. The content is pretty good but they haven't been maintained properly to work well on the phone. I still sunk hours and hours into Pinball Arcade despite it having a broken camera implementation in vertical aspect.
Great project... unfortunately nearly unplayable with german keyboard layout because you have to hold shift for a /. Player controls are not working, so no dice...
I would raise an issue, but that is not possible in this project, because it's a fork... :-/
Left and right mouse buttons. Hover the central wheel button over the piston launcher, while pressing the wheel button, rotate the wheel towards you to deploy the launcher. Sorry I don't know pin-ball lingo. There are probably other keyboard interfaces for this......
I don't remember doing anything special. Just copied the files from my older laptop in a writable directory, not under Program Files, but under my user home dir.
This version has a pretty low frame rate, it's just not very snappy. I downloaded the version on the Microsoft store and it works just like I remember.
As a workaround, you can put the following "conditional breakpoint" on the "this.requests[name] = this;" line in the SpaceCadetPinball.js file (formatted):
(name.includes('MID') && (this.end=this.start)),0
This makes the `PINBALL.MID` resource file empty and the rest seems to work.
Nice, but can't turn off the music and can't change the zoom/resolution. Also, left/right-click might be bad items since the browser occasionally hijacks them back from the javascript.
This made me remember growing up playing glider, a game where you are a paper airplane navigating a house or some other location staying aloft on warm air currents and avoiding obstacles such as candles, furniture, and other paper airplanes. This led me here:
A JavaScript port of the game. For some reason I put hours into this game which is strange because I remember playing it on a Mac and I never owned one as a child.
Sweet! I forget about this game entirely, fun memories of being distracted from doing something more productive. I just need Yahoo!'s old pool game from early 2000s.
I wasn't expecting it to work on touch-only devices but the left "leg" worked. But the right "leg" didn't. Is it possible to let it work on touch devices by dividing the screen into two halves such that tap on left register for left and tap on right registers on right? Or is the intention here to keep it vintage and not make it work on touch devices?
Well, it was fun up until I closed the tab by holding down right-click for too long and accidentally activating a mouse gesture. Whoops, that feature wasn't in the original...
i failed my classes cuz i drank too much beer and played space cadet pinball. not my finest hour, but hey, we all make mistakes. hopefully, i'll learn from it and do better next time
I also blame my failing grades on my Macbook. I mean, who uses a Mac for gaming? Talk about setting yourself up for failure. I'll be sure to invest in a real gaming rig next time
i spent so much of my childhood in this game. so glad to see it back but grown up me doesnt find the appeal of wasting so much time anymore. kinda sad to see my childhood go.
>9. Use Z for left flipper, M for right flipper, and ESC to exit
I got banned for a spell from the library computers in middle school because they had a "no games" policy. I think in retrospect, the real concern was random young men like myself, fresh into puberty, loading up the machines with god knows what, but of course they lacked communication skills to express that (hence becoming a sped librarian), so instead we got into a (metaphorical) pissing match that ended with me banned from the computers for... well I think it was allegedly six months, but they lasted about a week before they realized if I stopped asking their informal IT questions, they'd have to bring in an extremely expensive consultant, caved, and let me back on if I promised "not to install games" -- and then we got into pretty much the same argument yet again when once again my shortbus was late, and I tried to sit quietly playing pinball since saying anything out loud risked someone engineering an excuse to put their hands on me and deviate my septum again.
(In case you can't tell from the tone of this post, I'm still raw that when I had Bill Goddman Lichetenstein blowing up my burner email, all I did was do a cutesy unpaid "it gets better" essay for Boing Boing rather than waste my 20s on STEM policy only to find out all I had to do is tell a crowd "Why do we tolerate Mike Doyle and his weird little sex cult" and they'd have a crowd outside Peduto's house in less time than it takes to watch an episode of prestige television.
(It doesn't get better, BTW. Maybe in Seattle or whatever, but if you're a queer, autistic millennial in Appalachia, you need to make some people think every system around them, electronic or physical, might fail if they don't do what you say in order to get them to treat you with the same deference and respect they give elderly pedophiles who control so called civil society.)
Anyways, sorry for the wall of text -- here's a link on how to play pinball in word 97, if you're into that kind of thing:
(But if you attach that box to the net, someone might pop it, since Windows 98 or whatever is no longer receiving security updates, and Mark Zuckerberg and his tech bro cronies have the consent model of a frat boy -- if you don't opt out, they think they can do whatever they want.)
My favorite bit - the reverse engineering process seems to have fixed the 64-bit bug Raymond Chen blogged about [3]
> I did not find it, decompiled game worked in x64 mode on the first try.
> It was either lost in decompilation or introduced in x64 port/not present in x86 build.
> Based on public description of the bug (no ball collision), I guess that the bug was in TEdgeManager::TestGridBox
[1] https://github.com/k4zmu2a/SpaceCadetPinball.
[2] https://github.com/n64decomp/sm64
[3] https://devblogs.microsoft.com/oldnewthing/20220106-00/?p=10...