Space Cadet Pinball on Linux

(brennan.io)

227 points | by jandeboevrie 5 hours ago

16 comments

  • s20n 2 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.

    • saghm 1 hour 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

    • Randomno 2 hours ago
      Just to note, Microsoft provides debug symbols for Pinball
    • giancarlostoro 2 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.
      • 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.
      • aykutseker 2 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.
        • koolala 1 hour ago
          Just need two AI for a second party.
          • rvnx 1 hour ago
            That also was exposed to proprietary assets or binaries at some point during training
      • nullsanity 2 hours ago
        [dead]
      • andy81 2 hours ago
        It's crazy that license laundering is still the primary use case for LLMs.
  • andai 4 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

    • vikingerik 6 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.
  • 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.

  • cbondurant 27 minutes 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.

  • flossly 3 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.>>

    • 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/
      • flossly 1 hour ago
        Did not know that... Thanks.
    • 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.
  • unleaded 4 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.)

    • MegaDeKay 1 hour 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/

    • jgtrosh 3 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.

    • 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.
  • kowalski7cc 4 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...
  • nh2 4 hours ago
    I wish somebody had as a passion project or company to build Space Cadet into a real physical pinball table.
    • 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

    • unleaded 4 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
      • toast0 2 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?

      • ahartmetz 3 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.

        • netsharc 3 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?

      • wileydragonfly 3 hours ago
        Just put one pop bumper there, you could make it work
      • stavros 4 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?
        • BadBadJellyBean 3 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.
          • stavros 3 hours ago
            Hm I understand the bumper part, but what does the line represent? Why does it need to run on the underside?
            • jjmarr 3 hours ago
              The line represents a physical tunnel through which the ball can travel.
              • stavros 3 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.
                • 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?)
                  • 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.
                    • 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.

    • wileydragonfly 3 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.
  • 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.
    • willis936 1 hour 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?

    • 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.
    • morkalork 2 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
    • b112 2 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)

  • 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.
    • SapporoChris 2 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.
    • 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.
    • pessimizer 38 minutes 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.

  • thesuperbigfrog 2 hours ago
    It is also available as a snap:

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

  • eterm 4 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.

    • 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 :)

    • tosti 2 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.

    • prmoustache 1 hour 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

    • 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.
    • SubiculumCode 1 hour ago
      Define better.
    • the__alchemist 3 hours ago
      I was a fan of "3D Ultra Pinball". You have to keep smacking that glider!
    • peddling-brink 4 hours ago
      Some of us only had pinball. My parents didn’t buy games, so I got what was included.
    • andrepd 3 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.
  • stavros 4 hours ago
    Space Cadet wasn't bundled with Windows, was it? It was included in Microsoft Plus! 98 but not Windows 98.
    • 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.

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