• 0 Posts
  • 91 Comments
Joined 1 year ago
cake
Cake day: July 5th, 2023

help-circle
  • Unfortunately I think that Sega themselves weren’t the only group lacking confidence in the Dreamcast. In fact, I feel like they put up a valiant fight, with marketing and first-party titles.

    Critics and consumers all had an extremely “wait and see” attitude that I think took the theoretical advantage of the incredibly early launch and turned it into a huge liability. People didn’t want to commit to buying their next console without seeing what the other offers were going to be. So Sega had to work hard for about two years to keep the real and actually available Dreamcast positioned high in the market while their competitors had the luxury of showing jaw-dropping demos of “potential” hardware (i.e. “Here is some video produced on $50,000 graphics workstation hardware that is made by the same company that’s currently in talks to produce our GPU.”)

    Third-party publishers also didn’t want to put any serious budget toward producing games for the Dreamcast, because they didn’t want to gamble real money on the install base increasing. This resulted in several low-effort PS1 ports that made very little use of the Dreamcast hardware, which in turn lowered consumer opinion of the console. When some of these games were later ported to PS2 as “upgraded” or “enhanced” versions, that only further entrenched the poor image of the Dreamcast.

    I have owned all four major consoles of that generation since they were still having new games published for them. And if I had to choose only one console to keep from that group, it’d be the PlayStation 2, because of the game library. It’s huge and varied. I have literally hundreds of games for it, while I only have a few dozen games for the others. But looking at the average quality of the graphics and sound in the games for those systems, I’d also rank the PS2 in last place, even behind the DC.

    Sony was a massive juggernaut in the console gaming market at the time. The PlayStation 1 had taken the worldwide market by storm, and become the defacto standard console. It’s easy to forget that the console launches for this generation were unusually spaced out over a four year period, and Sony was the company best positioned to turn that to their favour. People weren’t going to buy a DC without seeing the PS2, but once they did, many were happy to buy a PS2 without waiting for Nintendo or Microsoft to release their consoles. The added ability to play DVDs at exactly the time when that market was hitting its stride (and more affordably than many dedicated DVD players) absolutely boosted their sales in a big way. Nintendo’s GameCube didn’t do that, and by the time the original X-Box came to market, it wasn’t nearly as much of a consideration.



  • Problem is, you could pirate every single game on dreamcast. Just get a legit copy of the game (renting, buying and returning, borrow from a friend), and have a CD burner.

    Then you could make a 1:1 copy of the game in roughly an hour.

    You make it sound trivial. While Sega left a security hole open for games to be loaded from a regular CD, the official games were released on GD-ROMs, a dual-layer CD with a 1.2 GB capacity.

    So first off, you couldn’t read them completely in a regular CD-ROM or even DVD-ROM drive. (I’m not counting the “swap” method because it’s failure-prone and involves partially dismantling the drive and fiddling with it during operation.) You had to connect your console to a computer and use some custom software to read the GD-ROM on the console, and send the data over.

    Once you had the data, you then had the problem of trying to fit a potentially 1.2 GB GD-ROM image onto a regular CD-ROM. A handful of games were actually small enough to fit already, and 80-minute and 99-minute CD-Rs would work in the DC and could store larger games. But for many games, crackers had to modify the game files to make them fit.

    Often they would just strip all the music first, because that was an easy way to save a decent amount of space. Then if that wasn’t enough, they would start stripping video files, and/or re-encoding audio and textures at lower fidelity.

    Burning a CD-R from a downloaded file was easy, but ripping the original discs and converting them to a burnable image generally was not.










  • Let me know if you find one that uses AI to find groupings of my search terms in its catalogues instead of using AI to reduce my search to the nearest common searches made by others, over some arbitrary popularity threshold.

    Theoretical search: “slip banana peel 1980s comedy movie”
    Expected results in 2010: Pages about people slipping on banana peels, mostly in comedy movies, mostly from the 80s.
    Expected results in 2024: More than I ever wanted to know about buying bananas online, the health impacts of eating too many or not enough bananas, and whatever “celebrities” have recently said something about them. Nothing about movies from the 80s.


  • That was my first take as well, coming back to C++ in recent years after a long hiatus. But once I really got into it I realized that those pointer types still exist (conceptually) in C, but they’re undeclared and mostly unmanaged by the compiler. The little bit of automagic management that does happen is hidden from the programmer.

    I feel like most of the complex overhead in modern C++ is actually just explaining in extra detail about what you think is happening. Where a C compiler would make your code work in any way possible, which may or may not be what you intended, a C++ compiler will kick out errors and let you know where you got it wrong. I think it may be a bit like JavaScript vs TypeScript: the issues were always there, we just introduced mechanisms to point them out.

    You’re also mostly free to use those C-style pointers in C++. It’s just generally considered bad practice.



  • As someone who has often been asked for help or advice by other programmers, I know with 100% certainty that I went to university and worked professionally with people who did this, for real.

    “Hey, can you take a look at my code and help me find this bug?”
    (Finding a chunk of code that has a sudden style-shift) “What is this section doing?”
    “Oh that’s doing XYZ.”
    “How does it work?”
    “It calculates XYZ and (does whatever with the result).”
    (Continuing to read and seeing that it actually doesn’t appear to do that) “Yes, but how is it calculating XYZ?”
    “I’m not 100% sure. I found it in the textbook/this ‘teach yourself’ book/on the PQR website.”



  • Back in the olden days, when we used kerosene-powered computers and it took a three day round trip to get IP packets via the local stagecoach mail delivery, we still had games even though Steam didn’t exist yet. :b

    We used to transfer software on these things called disks. Some of them were magnetic, and some of them used lasers (you could tell them apart because for the laser ones it was usually spelled “disc” with a “c”).

    Anyway, those dis(k/c)s mostly still work, and we still have working drives that can read them, and because the brilliant idea of making software contact the publisher to ask if it was OK to run had only just been invented, we can generally still play games from the period that way. Some people kept their old games, but others sell them secondhand, which I believe the publishers still haven’t managed to lobby successfully to be made illegal, unless I missed a news report.

    Even if you can’t get the original physical media for a game, sites like GOG sell legal digital downloads of many old games, which are almost always just the actual old software wrapped in a compatibility layer of some kind that is easy to remove, so you can usually get the games running natively on period hardware/software. Finally, some nicer developers and publishers have officially declared some of their old games as free for everyone to play.

    There are still legal options for playing old games on old systems.


  • Most people use the term “Hungarian Notation” to mean only adding an indicator of type to a variable or function name. While this is one of the ways in which it has been used (and actually made sense in certain old environments, although those days are long, long behind us now), it’s not the only way that it can be used.

    We can use the same concept (prepending or appending an indicator from a standard selection) to denote other, more useful categories that the environment won’t keep straight for us, or won’t warn us about in easy-to-understand ways. In my own projects I usually append a single letter to the ends of my variable names to indicate scope, which helps me stay more modular, and also allows me to choose sensible variable names without fear of clashing with something else I’ve forgotten about.


  • The Steam Deck is a handheld Linux-based PC with a built-in game controller. The special Steam version of Linux (SteamOS) comes with software (Proton) that lets you run a lot of Windows games, and Valve have put some effort into helping/encouraging developers to get their games working with it.

    The Nintendo Switch is a closed system that can only play official Nintendo-licensed software. Even if you “jailbreak” a Switch, I don’t think that there’s any realistic way to get modern Windows games running on one.


  • I bought this back in the day, and played it through to the end. I vaguely recall somewhat enjoying it overall, but the strongest impression that I have now is of frequently being bombarded with unrepeatable, dense, plot-critical dialogue (usually from teammates via radio) during intense action scenes when I was busy trying to sneak around, evade, beat up, or have a shootout with multiple enemies simultaneously. This often seemed to be by design, with enemies spawning at the same time the dialogue begins. As a passive viewer watching a show, it’s cool when the characters have intense philosophical debates during fights, but as an active player I found it extremely difficult to follow both at the same time. I don’t even remember what the story of the game actually was, because I missed so much vital information that I gave up trying to follow it. That was a real disappoment for a big GitS fan.

    Also, many of the missions can seem very open initially in terms of how the player can approach them, but quite soon I got the feeling that there’s exactly one “right” way through each challenge, and it’s up to the player to find it, sometimes with very few hints.

    I’ve tried several times over the years to give it another go, but somehow I never seem to make it past even the first mission before I put it away again.