Space Cadet Pinball on Linux
233 points
6 hours ago
| 16 comments
| brennan.io
| HN
s20n
3 hours ago
[-]
It's ridiculous how accurate this recreation is to the original, it looks and feels identical.

The author was able to do this just decompiling the exe files, without looking at the original source code. Basically, completely blind.

So it goes without saying: The deaf, dumb and blind kid sure makes a mean pinball.

reply
saghm
2 hours ago
[-]
I remember in the original there was something you could type when the game was playing the starting sequence (I think it was "hidden test"?) to be able to move the ball with your cursor. I'm curious if this works in this version so I'll probably try it out later when I'm at a computer if no one else has.

edit: It does! I installed the AUR version of it that was linked in the repo README and tested it out, and typing "hidden test" during the game startup sequence lets me drag the ball

reply
Randomno
2 hours ago
[-]
Just to note, Microsoft provides debug symbols for Pinball
reply
giancarlostoro
3 hours ago
[-]
My understanding is you had to NOT look at the disassembled code for a project but have someone else do so and document what they see and that constitutes clean room. Course if I make Claude do the same thing… write a spec from disassembled code, that could work.
reply
Randomno
2 hours ago
[-]
Yes this isn't clean-room. Though none of these decompilation projects have been resolved in court yet. re3 (GTA3/Vice City decompilation) developers were sued by Take Two but they settled out of court.
reply
pipes
2 hours ago
[-]
https://www.pcgamer.com/take-two-dismisses-lawsuit-against-g...

I didn't know about this. Not sure if the developers settled or take two gave up. I would guess the latter as the decompilation / port scene seems to be going strong. Though I don't follow it that closely.

reply
aykutseker
3 hours ago
[-]
Clean room needs an independent second party with their own intent. An AI rewrite probably doesn't qualify, since its output traces directly to what it read.
reply
koolala
1 hour ago
[-]
Just need two AI for a second party.
reply
rvnx
1 hour ago
[-]
That also was exposed to proprietary assets or binaries at some point during training
reply
andy81
3 hours ago
[-]
It's crazy that license laundering is still the primary use case for LLMs.
reply
eahm
24 minutes ago
[-]
You might want to check this one https://archive.org/details/vpinball-x-73-space-cadet for Visual Pinball https://github.com/vpinball/vpinball. There are others that might be even better but JP's is the one that just works without installing and configuring a bunch of other software (https://youtube.com/results?search_query=JP%27s+Space+Cadet).

Damn amazing how they are making these pinballs today.

More tables here too:

https://vpforums.org/index.php?app=downloads&showcat=50

https://vpuniverse.com/files/category/82-vpx-pinball-tables

https://virtualpinballspreadsheet.github.io/

https://nailbuster.com/wikipinup/doku.php

https://archive.org/search?query=visual+pinball+tables

reply
freeqaz
19 minutes ago
[-]
I have struggled to get this project working on non-Windows. It just hangs and crashes no matter what I do or try on Linux/Mac. It's a very Windows-oriented project that's slowly losing the shackles right now.
reply
eahm
10 minutes ago
[-]
Not gonna lie, some tables require way too much work, every software today wants you to be an engineer with 20+ years of some specific experience, what about just double click and let me play the damn game?
reply
andai
5 hours ago
[-]
Cool! I checked out the GitHub:

https://github.com/k4zmu2a/SpaceCadetPinball

It's been ported to a whole bunch of consoles. There's also a browser version!

https://pinball.alula.me/

Also, turns out Space Cadet Pinball is part of a bigger Maxis game I never heard of: Full Tilt! Pinball.

Also turns out we almost got DOOM bundled with Window 95! (GLUEM) but it was rejected: "Can't we just get a game of pinball or something like that?" And here we are :)

https://en.wikipedia.org/wiki/Full_Tilt!_Pinball#Development

reply
vikingerik
43 minutes ago
[-]
And the version from Full Tilt is a significantly enhanced version of the game. It has multiball, where the Windows bundled version doesn't.
reply
diegomacario
3 hours ago
[-]
Last year we shipped a pinball game at Shopify that took some inspiration from Space Cadet. You can still play it here: https://bfcm.shopify.com/

Every year we ship a live visualization of our merchant's sales on Black Friday. For a long time it was just a globe with arcs where each arc shows a real sale going from seller to buyer, but in the last few years we have been transforming the website into something more fun and interactive.

I found programming a pinball machine to be quite challenging. We were a team of 2 engineers and 1 artist and we worked on that project for about a month and a half. We wrote some notes on the process and put them in the desktop computer next to the pinball machine if anyone is curious about how things work.

reply
cbondurant
1 hour ago
[-]
I like the idea mentioned of a source code escrow, and it feels like that would be a great place for national governments to step in. It reminds me of how the British Library requires that any published book have a copy sent to them for archival. Why not have similar laws in place for source code? If for no other reason than pure archival.

I wouldn't mind at all if it was all just purely kept in a metaphorical locked vault, only to be opened after some special conditions regarding the support and lifespan of the software were met. Even if those terms were like, "only after the original copyright has expired", aka 70+ years, it would still be so much better for the state of preservation of source code over the current norms. We have games that have had their original source code lost in under a decade from their publication. (Kingdom Hearts 1) Any alternative is better than the current state of things.

reply
alberto-m
8 minutes ago
[-]
> Any alternative is better than the current state of things.

I don't know, the incentives for creators are already low enough. Any book one writes lands immediately in Anna's Archive and is digested into LLM slop for the profit of Altman & Co. Any piece of investigative journalism, when shared here or on Reddit, sees a link to some paywall-bypass site as one of the most upvoted comments. So we are already in a Bastiat's window situation where people are disincentivized to produce creative work. I'd rather not put the work of software creators even more at risk of being cheaply copied and copyright laundered: any state vault would be an easy target for trillion-dollar corporations.

Aside, as someone doing retro reverse engineering I greatly appreciate the author's words about the tension between software preservation and the need to reward creators for their work.

reply
nottorp
2 minutes ago
[-]
> Any piece of investigative journalism, when shared here or on Reddit, sees a link to some paywall-bypass site as one of the most upvoted comments.

That is generally because they're on random sites that want you to subscribe for a year to read the one piece that was mentioned on the sites you read... not going to happen, sorry.

reply
flossly
4 hours ago
[-]
I like the authors remark on "source code FLOSS escrow" at the bottom of the article.

It's prolly hard to achieve legally, but the idea that a software is close source until it's no longer sold then automatically becomes open source would attract me as a potential user/buyer of the software: less lock-in in the worst-case scenario (being fully dependent on it wile company goes bust or decides to cancel the project).

Reminds me a bit of the https://kde.org/community/whatiskde/kdefreeqtfoundation/

<<The "social contract" ensuring Qt remains open-source is primarily maintained through the KDE Free Qt Foundation, established in 1998. This agreement guarantees that if The Qt Company ever fails to release an open-source version, or if the Qt project is neglected, the foundation has the right to release Qt under a BSD-style license.>>

reply
anamexis
2 hours ago
[-]
It's not quite FLOSS escrow, but source code escrow is somewhat common among big enterprise software contracts. There are companies that facilitate this, e.g. https://www.escrowcompany.co/source-code-escrow/
reply
flossly
2 hours ago
[-]
Did not know that... Thanks.
reply
Asooka
1 hour ago
[-]
I honestly do not think source code will be all that useful. Make it so redistribution, decompilation, reverse-engineering and reimplementation is legal after sales stop and that covers it.
reply
unleaded
5 hours ago
[-]
The Full Tilt version also has multiball which is missing from the Windows version. Lock a ball by shooting into a wormhole where the two lights are the same color, lock 3 balls to start.

If you enjoy playing Space Cadet I would really recommend giving Visual Pinball a try. There are so many more pinball games better than Space Cadet, with amazing tables people have made for them all available for free. I think it's Windows only though (very, tables are all scripted in VBScript and PinMAME is loaded as a COM object).

As an aside I tried to hack around with this and found out the programming for Space Cadet is pretty awful (not to disparage them or anything, it works). The state of the lights directly reflects the game state. (This is the cause of the bug where if you drain or start a mission while the rank-up light show is playing, you can skip a rank.)

reply
MegaDeKay
2 hours ago
[-]
> I think it's Windows only though (very, tables are all scripted in VBScript and PinMAME is loaded as a COM object).

Fortunately for us, you're wrong :-)

VPX now runs on Linux, Mac, iOS, and Android. And it runs great on those platforms thanks to some pioneering work by the dev jsm174. The VBScript bits are handled using just enough Wine to make it happen but the rest of it is all native. Surround sound feedback (SSF), the Direct Output Framework (DOF), Pinup Popper packs (PUP Packs) etc are all supported as well. The GUI that used to be Windows only is now built into Windows / Mac / Linux versions via ImGUI and can be brought up live during play.

If you want to try it out, log into Github and download the latest action for your platform [0]. Most non-Windows users will want to use the latest version in master as this brings the most amount of parity to the Windows version compared to the 10.8.0 release last year. Use the BGFX version as that has the new multithreaded rendering backend that supports Metal and Vulkan. If you want to learn more, best to check out the Virtual Pinball Chat Discord [1] or poke around the wiki [2].

The devs have been putting in a lot of work to generally make VPX cross platform and it shows. I have built my own Pincab [3] based on it and its amazing.

*Edit*: Should have mentioned that VPX is now supported by Batocera as well, though the VPX version in there is getting a bit long in the tooth.

[0] https://github.com/vpinball/vpinball/actions/workflows/vpinb...

[1] https://discord.gg/BhR9h5aWm

[2] https://github.com/dekay/vpinball-wiki/wiki/About-Visual-Pin...

[3] https://github.com/dekay/vpin-cabinet/

reply
jgtrosh
4 hours ago
[-]
I intuitively feel like more realistic games could be more fun, and that I might just have fondness for Space Cadet from growing up with it; but the more I played other pinball games the more I appreciate that space cadet is a simply great game to play, it feels great and there's a great variety of things to keep you hooked.

I wish I could find another pinball game I enjoyed as much. The closest experiences I could find are Xenotitle and Demon's Tilt but I found them harder to get into and get good at.

The next best thing imo is Yoku's Island Express.

reply
SubiculumCode
1 hour ago
[-]
I've played a lot of pinball. Space Cadet is a very good pinball game in terms of design, balance, and interest. I wouldn't short it.
reply
dvno42
29 minutes ago
[-]
Web based version for those feeling nostalgic

https://lrusso.github.io/3DPinballSpaceCadet/

reply
kowalski7cc
5 hours ago
[-]
Sooner or later I'll split the game from data so the second part will be easier, allowing custom flatpaks to extend data. The flatpak has received updates especially for keeping an up-to-date runtime but the upstream game, however, has not and Flathub will only show appstream data for the update. You can see on the flatpak manifest repo that latest commit is 6 months old: https://github.com/flathub/com.github.k4zmu2a.spacecadetpinb...
reply
nh2
5 hours ago
[-]
I wish somebody had as a passion project or company to build Space Cadet into a real physical pinball table.
reply
vunderba
2 hours ago
[-]
There have been a few attempts at this. I think the most well-known one is probably this one [1].

While we’re at it, I’d love to see a physical version of the seseame street pinbal table [2], though that one might be a bit more ambitious. :)

[1] - https://spacecadetpinball.wordpress.com

[2] - https://www.youtube.com/watch?v=JZshZp-cxKg

reply
unleaded
5 hours ago
[-]
Many people have thought about this, IIRC it's not physically possible to build because there is a lane that goes under a bumper (which in real life they extend down quite a bit) https://files.catbox.moe/pnaeri.png
reply
toast0
3 hours ago
[-]
Pop bumpers on an elevated/overlay playfield seems like a nightmare in general, maintenance would be a big pain. I can't think of a machine that has a pop like that, but my internal pinball database is getting pretty dusty.

You might be able to make the kickback lane work with a subway or maybe make the machine a widebody and go around the mess?

reply
ahartmetz
4 hours ago
[-]
Assuming that it's about moving the ball unseen (which makes it much easier) from the sink hole higher on the table to the apparent ejection hole and kicker low on the table.

One could have the ball go quite low below the table surface and then use some kind of mechanical kicker to get it up to table level again near the bottom. It's possibly a unique problem, but seems to be much less work than building the rest of the table.

reply
netsharc
4 hours ago
[-]
Or just have a different ball ready to come out of the exit hole, the top hole would swallow ball 1, and a different ball could exit after a realistic delay...

A bit like Star Trek teleportation.. is it you, or a copy of you?

reply
vikingerik
37 minutes ago
[-]
The Rick & Morty real pinball table (among others) does this - you can shoot into a portal, and the ball (actually a different hidden one) reappears instantly some distance away.
reply
wileydragonfly
3 hours ago
[-]
Just put one pop bumper there, you could make it work
reply
stavros
5 hours ago
[-]
Hm what's the problem with that? I understand that the bumper extends down, but what else needs to be on the underside that makes this unbuildable?
reply
BadBadJellyBean
4 hours ago
[-]
I think it's because the bumpers on top (the white things with the blue dot in the middle) need a lot of space underneath and the line runs through the space that they would need.
reply
stavros
4 hours ago
[-]
Hm I understand the bumper part, but what does the line represent? Why does it need to run on the underside?
reply
jjmarr
4 hours ago
[-]
The line represents a physical tunnel through which the ball can travel.
reply
stavros
4 hours ago
[-]
Oh, there's a hole at the top of the line that leads to an underground lane? That makes sense, I couldn't make that out in the photo, thanks.
reply
toast0
2 hours ago
[-]
If you drain to the far left, and kickback is lit, the ball gets sent along the line and comes out the top (and IIRC, refills your fuel?)
reply
stavros
2 hours ago
[-]
Oh that whole thing is a higher level! I see now, I thought that top section is actually a ground section, thanks.
reply
toast0
2 hours ago
[-]
The purple thing is an overlay... There's the ramp, the three lanes (with lights), three blue mini pop bumpers, and then the ball drops into the inlane for the left flipper.

The kickback puts the ball into the left orbit, which is at ground level, the ball will hit the spinner and then IIRC cause it's outside the crop, it goes into the lanes at the top of the playfield, and into the pop bumper area there.

reply
wileydragonfly
4 hours ago
[-]
I suggested this to a Stern employee 21 years ago, which obviously went nowhere. Back then they were trying to do a Halo machine, which also went nowhere.
reply
adito
4 hours ago
[-]
I was wondering why newer OS doesn't bundle games with their default installation anymore? Even on smartphone. I remember on old dumb phone (nokia I think), you can play snake and some racing game. It even has multiplayer via bluetooth.
reply
willis936
2 hours ago
[-]
That would be doing something nice for the user at the expense of doing slightly less funneling traffic to their app store where they make their money on adtech and access fees.

We wouldn't want to leave any money on the table in the pursuit of a better product, would we?

reply
RobotToaster
3 hours ago
[-]
Google play games comes with a offline copy of snake, solitaire, minesweeper, and a few others. I'm not sure if that's bundled with phones or not, and the games are kinda hidden. I only found out about them because they come up if you try to search Google play without a connection.
reply
morkalork
3 hours ago
[-]
I remember kids begging their parents to play Brick Breaker on their parents blackberries. Of course this was before young children having iPads was normalized
reply
b112
3 hours ago
[-]
Please describe the precise ROI with $1M in research and studies, that will show an OS vendor will make a profit on such bundles.

(I can't imagine any other reason why, except maybe bug reports)

reply
TheAceOfHearts
3 hours ago
[-]
That reminds me, do skilled players actually use the tilt keys? I remember being confused for years as to the purpose of tilt keys because I hadn't used a real pinball machine, and I can't remember it nudging the ball enough to merit the risk.
reply
SapporoChris
3 hours ago
[-]
Yes tilting an actual pinball machine is very legitimate. On the other end, pinball machines have adjustable legs and the arcade owner will make adjustments to the machine to throw people off. Not daily, but when they notice someone is constantly earning free plays, they will take action. Any minor changes will cause the ball to take slightly different paths.
reply
toast0
2 hours ago
[-]
It's been forever since I played space cadet, but skillful nudging is beneficial in many video pinballs. A little nudge here and there helps save balls from the drain and can help make some shots.
reply
pessimizer
1 hour ago
[-]
All good pinball players tilt. Owners can make the machine "loose" or "tight" (at least that what we used to call it.) A loose machine allows a lot of tilting, and a tight one only allows slight nudges.

If the ball is coming straight down the middle, there's no choice but to tilt. A really good player will be able to tilt the tightest machine enough to get that ball to a flipper. Also, a really good player is better at judging "straight down the middle" and choosing not to tilt at all. Anybody who is reasonable at pinball can play for an infinite amount of time on a very loose machine.

It's not actually a factor that can be removed from pinball. You can't have machines tilting when people just lean against them, or when a player pushes a flipper button energetically. The owner has to pick some threshold. They're irredeemably physical games.

reply
thesuperbigfrog
3 hours ago
[-]
It is also available as a snap:

https://snapcraft.io/space-cadet-pinball

reply
eterm
5 hours ago
[-]
I'm always surprised at the nostalgia for Space Cadet Pinball.

Perhaps it was just chance that I grew up playing what seemed like a much better pinball game ( Hyper-3D Pinball, aka Tilt!* ), but I was always underwhelmed by Space Cadet Pinball on windows.

In reality they're both pretty similar, I just happened to play a lot of one before the other, but the full screen DOS experience was much richer than what felt like a much more flat and less 3D windows experience.

You can see some Hyper-3D Pinball / Tilt! gameplay here: https://www.youtube.com/watch?v=q9ufwSkB0XQ

* Not to be confused with "Full Tilt!", from which space cadet pinball comes from.

reply
ahartmetz
4 hours ago
[-]
Pinball Dreams first on a friend's Amiga and then my PC for me, later Pro Pinball. Space Cadet was hopeless garbage in comparison. Space Cadet had a boring table, much worse graphics and sound, and terrible ball physics.

I still applaud the Linux version for its hack value :)

reply
ahartmetz
21 minutes ago
[-]
After watching a video, it seems like I misremembered the ball physics, but the rest seems more or less correct. The sound effects sound really cheap, the music... exists, and in the lower center of the table, there is... uh, a star-shaped gradient thing? That is usually where the most elaborate graphics of the table are! Like a cool spaceship or the space cadet or evil aliens or whatever.
reply
tosti
3 hours ago
[-]
I loved playing Epic Pinball and especially the music. Exactly the kind of sound I enjoy. I collected mod files on floppies as a kid.

Other pinball games are bland and boring to me.

reply
prmoustache
2 hours ago
[-]
Honestly my favorite pinball game of all time is not at all realistic: Devil Crush (I think it was called Devil Crash in the USA). It has been released on both the pcengine and the megadrive. For some reason I tend to prefer the pcengine more despite the graphics quality being a bit below, probably because of the more "dirty" sounding soundtrack. This is my main occupation when I am flying.

https://www.youtube.com/watch?v=J-7iC8z6q8s&t=7

reply
MetaWhirledPeas
4 hours ago
[-]
Yeah the Pro Pinball series cstarted arriving around the same time as Windows 95. I guess people liked the Windows game because it was just a few clicks away.
reply
the__alchemist
4 hours ago
[-]
I was a fan of "3D Ultra Pinball". You have to keep smacking that glider!
reply
peddling-brink
4 hours ago
[-]
Some of us only had pinball. My parents didn’t buy games, so I got what was included.
reply
SubiculumCode
1 hour ago
[-]
Define better.
reply
andrepd
4 hours ago
[-]
It's really no surprise: it's a game that was pre-installed on hundreds of millions of computers. That's it. For people of a certain age it's very very likely they have played it, at least a bit.
reply
stavros
5 hours ago
[-]
Space Cadet wasn't bundled with Windows, was it? It was included in Microsoft Plus! 98 but not Windows 98.
reply
chungy
3 hours ago
[-]
It was actually part of Microsoft Plus! for Windows 95. It wasn't directly available for Windows 98 at all, but the Windows 98 install disc does include an INF file so you can install it, provided you have a copy of Plus! for Windows 95.

It was also included with Windows NT 4.0, Windows 2000, Windows Me, and Windows XP (both the original and x64 versions). Finally removed in Vista to never return.

reply
sakjur
2 hours ago
[-]
Raymond Chen has two blog posts that first describes why Space Cadet was removed because of a 64-bit rounding mode bug and then a follow-up post a decade later clarifying that that might not be the full story.

It's a fun bit of Windows history trivia.

- https://devblogs.microsoft.com/oldnewthing/20121218-00/?p=58... - https://devblogs.microsoft.com/oldnewthing/20220106-00/?p=10...

reply
TazeTSchnitzel
4 hours ago
[-]
Things included with Plus! packs were often rolled into subsequent versions of Windows, and Pinball is such an example.
reply
seba_dos1
5 hours ago
[-]
It was, but in NT 4.0, 2000, Me and XP.
reply
GranPC
5 hours ago
[-]
It was bundled with XP.
reply
andreapaiola
4 hours ago
[-]
Is it legal?
reply
hggh
2 hours ago
[-]
Who cares?
reply