Follow TV Tropes

Following

Darth Wiki / Idiot Programming Video Games

Go To

There's a word for games where the code is barely hanging together, with stupid layout, utterly unscaleable fixes and workarounds on top of workarounds. "Shipped"

There are times when even a Core i9 or Ryzen 9 processor will meet its match, and when even an amateur programmer will shake their head in disgust.

Note: Before adding any entries, consider if it would fit better as an Obvious Beta or a Game-Breaking Bug.

    open/close all folders 

    Examples that run across various games 
  • As mentioned on the front page, computers do not have pure RNG, but instead they use something called PRNG (pseudo-random number generator). What they do instead is that they take a preset string of numbers as a "seed" and use that to generate a stream of random-looking numbers. This is not Idiot Programming because computers can't do real RNG without an outside source. While many video games rely on PRNG, there are some that use this really badly:
    • For a specific example at least one poker site was cracked this way. Someone wrote a program that, using the programmer's knowledge of the RNG and the player's own pocket cards, could tell the player everyone else's cards as well as the future cards that would come off the deck, completely breaking the game.
    • Another example was found in a keno machine that would always roll the same sequence of numbers after each reboot since it used the same seed every time it booted up. This allowed one clever guy to win big three games in a row. Slot and keno machines nowadays prevent this by constantly advancing the seed even while it's not being played, by either incrementing the seed number or just rolling and throwing away the outcomes note .
    • RANDU, the infamous random number generator included on IBM computers in the 60s. How bad is it? Aside from the fact that every number is odd (which is bad on its own, yet easy to work around), any three adjacently generated numbers can be mathematically related into a plane (which looks like 15 planes when plotted due to modulo arithmetic).
      • And because the computer it was included with, System/360 mainframe, is widely regarded as their greatest work and was the computer of The '60s and The '70s, the generator became so widespread that the traces of it periodically surface even now, over 50 years past.
    • Sega's 1988 arcade version of Tetris uses the exact same RNG seed every time it boots up, resulting in the infamous "power-on pattern". This goes against a major concept of Tetris (randomized pieces) and allows the player to simply use the pattern to plot out their piece placements to max out the score counter in as few pieces as possible, rather than playing against an RNG seed they don't know and dealing with whatever it throws out. You need to have machine-resetting privileges or be playing on an emulator to take advantage of this, though.
    • Generally speaking, using the RNG to advance the RNG makes it less random, as multiple positions will end up having the same result. This mistake is common enough to have its own name - "RNG jitter". One of the programs guilty of it is NetHack, as constantly mentioned in this April Fools' Day TAS submission.
    • Spectrum computers will always generate the random number .0011291504 the first time a random number is called after booting up. This can be avoided by coding RANDOMIZE to reroll before calling a random number, but the poor quality control of the Spectrum's output means many, many programs do not bother to avoid it. It is such a cliche to see .0011291504 appear in bad Spectrum games that there are Deconstruction Games referencing it, such as RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE.
  • Many video games tend to have unused assets, functional but otherwise dead code among other things that can only be found by data mining. Websites like The Cutting Room Floor are made to document their findings, but the question some would have is: why would developers leave them in instead of taking them out if they aren't going to be used? The answer is because it can potentially wreck the game, especially if these assets were linked to somewhere else. As a result, developers choose to leave them alone at the cost of the game being slightly larger than usual. This is not Idiot Programming by itself; there's no guarantee that everything put in the game would be used for one reason or another. Often than not, this is excused because the size of the game with unused assets packed in is often a non-issue. However, considering how fragile coding is, how removing assets can destroy a program outright and how managing space is super important, any developer who doesn't take this into account IS Idiot Programming.
  • While more of a lack of foresight than outright Idiot Programming, some games can't run properly above the assigned 30fps limit/cap to maintain the stability of a console game, especially when ported to newer systems or PC. Examples are as follows:
    • Little King's Story was made in a custom engine for the Wii, without maintainability or future usage in mind, and random parts of it relying on the game running at 30 FPS in random different ways. This came back to bite XSEED in the ass when they wanted to port it to PC in 2016, resulting in a massive case of Porting Disaster. It was so bad that they had to bring in Durante, the guy responsible for putting out a Dark Souls fix patch within 24 hours of that game's release, to try and fix it. While Durante managed to make the game much more stable and optimized, he had to concede when it came to making the game work at an uncapped framerate, and included a framerate toggle button for the things that simply couldn't be fixed to work at 60 FPS. He praised the people responsible for the original porting for managing to simply make it run, and made a post about his time fixing the game here.
    • At launch, Vanquish doubled the damage players received when run above the original 30fps cap. The problem is that the PC version had no cap unless the graphics settings were raised, it was played on a low-end PC, or the FPS was intentionally capped with an external application such as Nvidia Inspector or AMD FRTC. Thankfully, this was fixed soon after launch.
    • The PC port of Valkyria Chronicles had the damage taken from intercepting fire tied to the 30 FPS cap. While this was fixed, there was a contingent of players asking for it to not be fixed, since it made Scout rushing unviable.
    • Dark Souls II, prior to the Scholar of the First Sin edition, doubles the degradation rate of the weapon when run above the original 30fps cap.
    • Sword Art Online Fatal Bullet becomes incredibly glitchy (e.g. the friendly AI becomes less sophisticated) when not run at the assigned 30fps. Thankfully, there are in-game FPS cap settings.
    • Halo: Reach (specifically the Master Chief Collection) has stutters in cutscenes that get worse the higher the fps is. When it's capped to 60 it's barely noticeable, but when it's uncapped...
    • The PC port of Red Dead Redemption 2, while not an outright Porting Disaster by any means, contains a bizarre glitch where the time of the day and night cycle is tied to the 30fps cap of the console original. On high-end PCs, the game can run at significantly higher frame rates, meaning that the cycle can be 2x-3x faster... which means that stat-boosting items are effective for a correspondingly shorter amount of time, weapons degrade faster than normal, etc. Averted by the later patches by Rockstar, though.
    • While Warriors Orochi 4's Jiggle Physics being reduced on the PS4 and Xbox One was initially blamed on censorship, it was later discovered that this was because they were tied to the framerate. While the Switch version runs at the intended 30 FPS, the PS4 and Xbox One versions run at 60 FPS, causing the physics to not behave properly. Thankfully, the PC version allows the player to lock the framerate to 30 FPS, making the jiggle physics behave as intended.
    • The PS2-era Grand Theft Auto games are programmed to function properly at either 25 or 30 FPS, and if you go significantly above that the physics and several other game aspects go haywire. Nevertheless, many people are unaware of this and keep asking why they can't swim properly in San Andreas. While mods exist to alleviate this, they only partially fix this issue.
    • The initial PC port of The Touryst has the game's speed tied to a 60 FPS cap. While this is certainly better than being tied to 30, what makes it egregious is that starting the game with a higher refresh rate will have a pop-up warn you to change it. This means the developers were fully aware of the issue but opted to put in a warning screen instead of simply capping the framerate. Eventually, uncapped framerate support was patched in.
  • Older PC games are always programmed to base the speed they ran at from the computer's processor, with no upper limit. In most cases, this is less due to incompetence and more due to Technology Marching On due to older computers having slower processing speeds than modern ones. However, some programs run too fast on computers that were available when the game was released. In fact, this is the reason why some older computers have a "turbo" button on them - it artificially limits the computer's processor speed so these programs are playable. Here are some examples of games that somehow managed to break that:
    • The DOS versions of Mega Man 1 and 3 managed to run too fast to play on computers on the market at the time of their release due to the framerate being based on the processor of the computer playing it.
    • The PC port of Sonic 3 & Knuckles had the same issue. When it ran in windowed mode, the game's framerate was based on the speed of the processor running it, which resulted in a ridiculously-fast, unplayable game - even when the port was first released. Fortunately, playing the game in fullscreen bases the framerate on the refresh rate of the monitor, which will still usually be around the same framerate it was meant to run at over two decades later.
    • The PC port of Bubble Bobble by NovaLogic somehow managed to invert this issue by becoming slower and more unplayable if it's run on a faster CPU- with the game running fine on a 12Mhz 80286, but when run on a 166MHz Pentium the game runs at an unplayable 1fps. It takes a community-created executable-level reimplementation of the game code to fix the problem at hand.
    • This also occurs at a compiler library level. Namely, people with computers faster than a 90MHz Pentium may find games and applications that were compiled using Turbo Pascal 5 through 7 unusable with instant "divide by zero" error crashes. A significant chunk of Epic Games' output during the DOS era was affected and needed to be patched to be fixed. In the meantime, a patched version of the library for Turbo Pascal 5 through 7 was also released to prevent the compiler from churning out more problematic programs.
  • A lot of security pundits said you risked getting malware by downloading pirated content. However, legitimately purchased content might be hiding some nasty surprises. The following entries are some infamous unintentional cases (not intentional cases, like bitcoin-miner games that briefly slip under Steam's radar).
    • One Easter Egg that was common with a lot of Sega Dreamcast games was that if you were to put the disc into a PC, you'd find extras on it. Atelier Marie: The Alchemist of Salburg did this, and included a screensaver. However, the person behind this idea apparently didn't scan their machine for viruses first, as the screensaver was infected with a virus called "Kriz". If the user is unfortunate enough to install the screensaver, the virus wipes the BIOS if the PC's clock is set to Christmas note . The game was later reprinted with a non-infected version of the screensaver, and later re-releases lack the screensaver completely.
    • WarGames Defcon 1 was infected with a trojan horse virus called "Marburg". After installation of the game, it bloats any EXE or SCR file it can find with its own code, and infected applications will do the same. Three months later, the desktop will be filled with the Windows "Error icon", as if the PC had a skin rash.
    • Three PC magazines in Europe had their copies of the SiN (1998) demo infected with "CIH", a rather infamous worm that triggers its payload on the 26th day of a month, which will overwrite the victim's hard drive with random junk until the system crashes, and then corrupt the victim's Flash BIOS, bricking the PC and putting it beyond repair (the latter of which was unintentional, as the creator intended for it to only test a security vulnerability). Thankfully, due to increasingly protected access, the worm doesn't affect NT-based (from XP onwards) Windows anymore.
    • The Steam release of Touhou Seirensen ~ Undefined Fantastic Object was initially infected with "DarkHotel", a piece of malware made to hack into WiFi networks of hotels in order to steal data from anyone connected. While DarkHotel's payload is completely situational, and the user would have to be at the right place at the right time for it to do any significant damage, enough concerned users reported the game setting off their antivirus programs to warrant it being delisted from Steam for a little over a month until it was eventually patched out.
  • A lot of games, especially 3D games that are made using the Unity Game Engine, tend to have a lot of performance issues when compared to games with equal or better graphics and content. For instance, a mid-end machine that can run Far Cry 5 well will struggle to run 7 Days to Die without lagging. This is also a problem with developers who don't take into account the processing power of consoles, which can't be upgraded like a PC. It's rare to find a game made in the Unity engine that is very well optimized.
  • Back in the days of DOS and Windows 9x, many games (such as the PC version of Slave Zero, as the late Lowtax discovered and wrote a review about it on Something Awful) were hard-coded to assume that the CD-ROM drive was "D:", rather than actually bothering to check with the OS to see that this was the case. If you had more than one hard drive or had your disk partitioned - which a lot of people with >2GB hard drives had to do prior to Windows 98 arriving on the scene - you were generally out of luck unless you could either edit the game's configuration files or find a No-CD patch.
    • Ubisoft apparently decided to resurrect this little relic of the 90s with Assassin's Creed: Unity and Assassin's Creed Syndicate, which will crash on bootup if they're installed anywhere other than the C: drive. It is possible to get them to work while installed on another drive, but requires copying several files and creating symbolic links to the C: drive. Thankfully, this issue was patched out.
  • Some third-party Wii games have GameCube controller support. However, some of them (such as Castlevania: Judgment and Cartoon Network: Punch Time Explosion) also shut off all other controller methods if a GameCube controller is plugged in, even though the Wii is perfectly capable of handling both controllers at the same time. So, if you want to use a Wii Remote but you accidentally left a GameCube controller plugged in, you'd be frantically pressing buttons and wondering why the game isn't accepting any of your inputs.
  • Some games, such as don't take it personally babe, it just ain't your story and the version of Planescape: Torment on the Dungeons and Dragons Anthology collection, close by forcing itself to crash. The reason this is bad programming should be fairly obvious.
  • Many PC and mobile phone games with controller support only offer button layouts for an Xbox controller, even if they support Playstation controllers. While the two use very similar button setups (four face buttons, two analog sticks, four shoulder buttons, and a D-pad), allowing for fairly simple button-to-button reassignment, it's still extremely annoying to see an Xbox button prompt and have to mentally remap it onto the PS buttons. Worse, some games (like Fist Puncher) don't support Playstation controllers at all, forcing gamers to buy a controller for a system they may not even own just to play them comfortably (Fist Puncher is an especially notable case because the intro screen will outright insult you for not playing it with a controller).
    • This is however an improvement toward controller detection, as Xinput, the Windows API and controller firmware that allow the use of Xbox and Xbox-compatible gamepads, allow consistent button detection compared to the preceding (roughly pre-2008) Direct Input method (which usually can only display number buttons), and many controllers have wildly inconsistent mapping, including many console ports at the time that cannot detect the right analog stick.
  • Early in the life of the Xbox 360, many gamers used the console's optional VGA cable to play their games with HD graphics, as true HDTVs tended to be rare and expensive back then. PC monitors at the time usually had a 4:3 aspect ratio, which most game engines were smart enough to handle by simply sticking black bars at the top and bottom of the screen, with a few even rendering natively at the right resolution. However, some engines (including the one used for Need for Speed Most Wanted and Carbon) instead rendered the game in 480p - likely the only 4:3 resolution they supported - and upscaled the output. Needless to say, playing a 480p game stretched to a higher resolution note  looked awful, if not worse than just playing it on an SDTV.

    Developers 
While most bad programming is a one-time thing, these developers prove that, with some not-so-hard work, it can happen again and again.
  • The licensed NES games produced by Australian developer Beam Software (now known as Krome Studios Melbourne) in the late 1980s were notorious for their botched renditions of well-known songs. However, this wasn't due to any lack of talent on the part of the composersnote  - for some inexplicable reason, the company's NES sound engine was only able to play music back at a tempo of 150bpm. This wasn't such an issue with the original titles the company produced, as the composers could write their music with this limitation in mind, but most of their output was licensed games for LJN Toys, meaning that a lot of familiar tunes got horrifically butchered. It wasn't until near the end of the NES' lifespan that they fixed this problem.
  • Bethesda is absolutely infamous for its sloppy code:
    • Fallout 4 and The Elder Scrolls V: Skyrim Special Edition are equipped with "Creation Club", where players can purchase exclusive fanmade content from the new Bethesda store service. Already controversial for proving to some that Bethesda learned nothing from their ill-fated attempt to add a price tag to Skyrim mods on the Steam Workshop in 2015, this one makes itself even worse by downloading all of the Creation Club files (whether you intended to actually buy any of them or not) and only making stuff you paid for usable in-game. While having to carry DLC you don't own for a single game on a console that's expected to get by with only eight gigabytes of space is bad enough, these games could reach the point where you had space requirements in the terabyte range on top of their already ridiculous system requirements. The only redeeming factor is that mods are only added seasonally (usually every six months or so) and, possibly due to the controversy surrounding the Creation Club, are much fewer than those hosted on Bethesda's own website or Nexus Mods (likely so they won't reach catastrophic space requirements until long after most companies would stop supporting a game), and their presence in the Creation Club means that Bethesda, at the very least, claims that they will all work with each other and with future updates to the game itself. That said, those updates still tend to break mods anyway, most commonly Script Extender and any mods that require it.
    • Skyrim Special Edition also has a weird glitch that causes issues with the save file thumbnails in the save/load menu. The cause of the issue is... the anti-aliasing setting being something that isn't "best" ("off" results in the thumbnail being blank, and "low" results in the thumbnail being a screenshot from a moment before the player saved).
    • One consistent criticism on the pure gameplay side of Fallout 76 is that bugs that have existed as far back as Fallout 4 and Skyrim are going unpatched for twofold stupid reasons - they're showing up in the first place because Bethesda seems to be basing each new game on a "fresh" iteration of the engine without any of the fixes they've already made for each individual game on the engine, and they're not getting fixed quickly because Bethesda also seems to be used to letting the fans patch their games for them, leaving them with nothing to fall back on for an always-online multiplayer game where the fans can't mod out old bugs. And despite this being built from the ground up as an always-online multiplayer game, they apparently didn't find it prudent to program multiple years into the game, as the instant the real-world clock struck midnight on January 1st of 2019, everything in-game that relied on a timer went crazy, and had to be patched.
    • While Fallout 3 was groundbreaking at launch, its PC version had several problems.
      The game wasn't properly coded for multi-core CPUs, which were becoming popular when the game went gold. And even though Microsoft announced that they were discontinuing DirectSound upon the release of Windows Vista during Fallout 3's development, the game's engine still used DirectSound; so upon release, the game locked up a lot and its music stuttered hard.note  As a result, playing Fallout 3 on then-new high-end dual-core PCs running 64-bit versions of Windows Vista was a nightmare.
      And when Windows 10 came about, it was discovered that the game's installer forcefully tried to install Games For Windows Live, which at best, didn't work with "ordinal" errors; and at worst, it broke the system networking stack because it was coded to use system kernel for networking. It took the GOG.com release (in 2017) to finally make the game playable out-of-the-box without real GFWL installation, but Bethesda themselves stayed silent until 2021, when they finally updated the Steam release to remove the mandatory GFWL installation script.
  • Indie game developer and utter egomaniac MDickie used to host the source code for many of his games, including the infamous The You Testament. By looking at the code, you discover for instance that some "exit program" functions work by deliberately crashing the game.
  • Sega, with their Mega Drive/Genesis titles on Steam, finally opened up modding support for them through Steam Workshop, much to the rejoicing of fans everywhere. However, it was soon discovered that for some reason, uploaded mods that utilized SRAM support wouldn't save their data... unless the mod was listed under Sonic 3 & Knuckles. And even then, it will not save all data properly if the mod's SRAM data is bigger than the aforementioned game's, as seen with Sonic 3 Complete.
  • Telltale Games was so notorious for pushing out Obvious Betas of their games that you have to question whether or not they actually bug-tested them. Given that they were revealed to rush games out as quickly as possible in an attempt to turn a profit, they likely didn't.
    • Strong Bad's Cool Game for Attractive People has its share of problems. Skipping the dialogue too often in the PC versions causes the character textures to disappear, and the Wii version will freeze on Coach Z's dialogue in Extended Mode if the console's set to widescreen mode (which is the default view for it). To make matters worse, you need to see this scene to get 100% completion.
    • For whatever reason, Poker Night at the Inventory refuses to load if you have an Xbox 360 controller or something similar plugged into a USB port.
    • Never play the iOS version of Poker Night 2. It's a Porting Disaster because the game was never designed for it. There are slowdowns, random crashes, aliasing beyond belief, and it's nearly impossible to play unless you're using an iPad.
    • The Wii versions of Sam & Max: Freelance Police had a tendency to lock the cursor at the lower-right corner of the screen, which softlocks the game.
  • Valve took this up a notch by making its Linux Steam client delete all files on the machine it's running on if its directory is changed.
    • To make matters worse, Steam's uninstaller also deletes everything in the folder it's on.
    • When adding a game library that already has games on it, Steam may delete the entire thing and start over. Even if you have all your games on it.
  • The introduction of the Paradox Launcher and subsequent integration of Cities: Skylines to the launcher was a disaster. The launcher is a real piece of work that needs administrative rights to install and run, and will not work otherwise. Cue the game becoming broken on systems owned by security-conscious gamers. It's no secret that the launcher is extremely reviled, half of the posts on Paradox's forums are questions about bypassing the launcher completely. And yet Paradox is adamant about removing it.


Game series with multiple examples

    Final Fantasy — This Square Enix Are Sick 
While the Final Fantasy series is lauded for its polished production values, the games are often coded in bizarre, idiotic ways.
  • There are several issues in the original Final Fantasy:
    • The intelligence stat doesn't work, running from battles (which is supposed to be based on both Luck and Level) is controlled by a combination of unrelated factors (specifically Luck, the status of the 3rd and 4th player character slots, whoever attacks 3rd, and the health of the 4th character slot), and most equipment buffs & spell debuffs don't even work. The only one that wasn't fixed in subsequent re-releases was the critical hit rate being tied to the weapon's index in the database.
    • Each character has several stats, three of which are useless. One of those stats is INT, which is supposed to be linked to Magic Power. Instead, Magic Power depends entirely on the STR stat, because the game treats all damage as... well, damage. On a similar note, the game also treats all Healing abilities as having negative damage, which means that it's entirely possible for your HP-critical party member to block the CUR3 you cast on them!
    • Elemental gear is supposed to have bonus effects depending on what they're used on: flame and ice swords would deal bonus damage to ice and fire enemies respectively, and armor would reduce the damage done by an enemy that it's strong against. This doesn't happen at all, meaning that there's nothing that sets them apart from regular gear.
    • There are also other mistakes in the code, which result in spells that should halve the enemy's evasion doubling it, spells that should increase your accuracy doubling your evasion instead, and the status-healing spell VOX (which cures Silence) can only be cast on the caster - and a character with Silence can't cast spells, rendering it useless in that scenario.
  • Final Fantasy II is almost as bad as the first game:
    • Instead of a traditional leveling and experience point system, the game has characters gain higher maximum health whenever they lose a significant amount of health in battle, and become more skilled with weapons and spells the more they use them. However, glitches in how said mechanics are implemented meant that it ends up being more efficient for players to get their characters to attack each other to gain extra health, while weapon and spell skill is determined by how many times the "attack" and "magic" commands were selected (as opposed to how many times they were carried out), meaning players can rapidly achieve Disc-One Nuke status by repeatedly selecting and then canceling attack and spell commands.
    • The ability to flee from battles is tied into the characters' "evade" stat, which has to be either reasonably close to or higher than the "evade" stat of whatever enemies they're facing in order to successfully flee. When this is combined with the game designers closing off sections of the map by populating them with enemies vastly stronger than their party, however, the end result is that, if a player ever strays into a section of the map they aren't supposed to be in, they have to sit and watch helplessly as their party is rapidly obliterated with no hope of escape.
    • Ultima is supposed to be the game's most powerful spell. However, it ends up being useless due to a glitch in how the spell's damage is calculated, which results in a fully-powered Ultima almost never causing much more damage than a low-to-mid powered elemental attack.
    • While the programmers remembered to enforce Contractual Boss Immunity where the Death spell is concerned, they forgot to do the same with the Toad and Imp spells, which also act as insta-death spells in this game. This means that, once you've acquired said spells, it's possible to kill nearly every boss in the game in just a single turn.
  • Final Fantasy VI is a hot mess of Game-Breaking Bug content, Good Bad Bugs that chop down the difficulty, and otherwise ignores a few key faults in its code.
    • Thanks to a programming error, the Evasion stat does not work at all, and all attack evasion is instead regulated by the Magic Block/MBlock stat. This makes the Blind/Dark debuff useless, as they work by greatly increasing a target's Evasion.
    • Relm's Sketch command is so unbelievably buggy that it can have any number of effects on your game, which include filling your inventory with items, turning a party member into a Guest-Star Party Member you're only supposed to use once, or even completely corrupting your save.
    • Sending a character into the coliseum makes them computer-controlled in a one-on-one fight against a monster, and it's a one-way ticket to Artificial Stupidity. Characters will frequently cast spells like Antidote and Remedy despite not being under a bad status effect, Mog will try to Dance even though it will never work, Terra will morph into her Esper form (if she's able) and then proceed to stand completely still until she dies or the effect wears off, and Sabin will use the Soul Spiral/Spiraler Blitz technique if he has it, which will instantly kill him and lose the match.
    • The "Vanish" spell gives a target the Clear status, which makes physical attacks always miss in exchange for making magical attacks always hit, which is what it's supposed to do. However, the line of code that says this was given higher precedence than the Contractual Boss Immunity to instant death spells, which means that almost every enemy in the game can be instantly killed by casting Vanish and then casting either Doom or X-Zone/Banish.
      • Suspiciously, a few enemies are immune to the spell. Including a few high level bosses.
    • It's possible to make a party with no one in it, usually if it only has a Guest-Star Party Member in it. If you do, all you can do is open the menu to see no one's there, and as soon as you close the menu the game explosively glitches into oblivion.
    • Due to the way save points are coded, whenever the player has to control multiple parties, as long as one party is standing on a Save Point, a player can save and use Tents anywhere they want.
    • The Final Boss' ultimate attack, Forsaken, was supposed to deal its full damage to each of the party members, but was incorrectly programmed to divide its damage among all party members instead, resulting in a visually-impressive but pitifully weak attack.
  • Final Fantasy VII has multiple scenes that never play as they should because they were erroneously linked to arbitrary flags. This includes how the ability to see Aerith's ghost after her death is switched off by talking to an unrelated innkeeper in a flashback, and how a scene with Cloud and Barret discussing politics is locked away entirely by a flag that triggers when going to the back of the church with Aerith. There are also scenes that can only be accessed by having more Love Points than exist in the game, locking those out.
  • Final Fantasy XII's Scrappy Mechanic, treasure chests that generate loot based on whether or not you have a certain piece of armor equipped, is actually the result of an RNG that happened to be dependent on both which other chests had been opened by the player and the position of the Diamond Armlet item. Strategy guide writers soon figured out how the RNG functioned, which lead many to assume this was a deliberate game mechanic and making it a deliberate Ascended Glitch in the Zodiac Age remaster.
  • The PC ports of Final Fantasy XIII and XIII-2 released in 2014 are downright abysmal, likely as a result of being handled by a team that had never developed for or played games on PC.
    • Controller support is handled through a custom API rather than using the standard xinput.dll that most games do. This approach not only fails to take controller vibration into account but also hurts the game's performance if there isn't a controller connected, due to the API scanning for controllers constantly.
    • Both games perform abysmally on most hardware configurations, for multiple reasons. The main reason is that the engine handles all of its logic on a single thread, severely bottlenecking itself. Additionally, there are other issues which include but are not limited to: broken resource management that fails to take full advantage of the one CPU core running the game, poor memory allocation for HUD elements to the point that simply bringing up the minimap can cause a 20% performance hit, and a custom frame pacer that causes the game to stutter and run even worse if it can't maintain a stable 60 FPS (which it most likely won't).
    • XIII initially shipped with no graphics options, which was eventually addressed by modder Durante. XIII-2 released with graphics options, alongside a patch to add the same setup to XIII, but there weren't any more options besides the few that Durante was able to inject despite not having access to the game's codebase. Said options didn't even work as well as his mod; Playing in any resolution other than 720p would make the descriptions of scanned enemies fail to render, something multiple modders had discovered and found ways to work around well before Square Enix could've started working on a patch.
  • The 1.0 version of Final Fantasy XIV was filled to the brim with idiot programming. On launch, most computers could barely run the game at a stable framerate, much less a smooth one. Because the game engine used was optimized for single-player games and not an MMO, performance chugged heavily. There were other strange quirks like a flower pot which had as many polygons and shader codes as a player character model because the design team prioritized graphical quality over absolutely everything else. The game would lag quite often since, at the time, the servers were only located in Japan and the developers also decided to have almost everything in the game being done server-side. Simple tasks such as going through a menu, selecting a skill, or opening the map were programmed to run on the server's end — so whenever anything was affecting the server's performance, the player would feel it.
  • From about July 2018 to February 2019, Final Fantasy Brave Exvius saw heavy criticism for an increase in bugs and a slow pace to fix them. While the game ran solidly during its launch, its programming quality steeply declined as it got older. The game's coding for updates was copied and pasted from the first patch of the Japanese version, bugs and all, and these major glitches usually stayed on the Global side for up to months on end with no acknowledgment from the team, despite present solutions already existing. Daily quests were broken for a week, raid damage was bugged for a month, and the friends list, one of the most integral parts of any gacha game, stayed broken for somewhere between five months to a year. In contrast, any Good Bad Bug got fixed within the day, most infamously when the game was shut down for emergency maintenance because they accidentally made certain units redeemable a week early. The final straw was a new bug that caused players to lose all progress in multi-tiered events whenever the game crashed or was shut down in the middle of a stage, which stayed in the game for a full month. The programming (and priority on what to fix) was so shoddy that multiple popular content creators made videos calling out the developers for prioritizing money and gacha over making the game actually playable, and Gumi and Square Enix spent their monthly Q+A session in their update apologizing for it.
  • The Final Fantasy Legend has a particularly hilarious example of a programming oversight, one that proved popular enough to carry over into other games in the SaGa series: the chainsaw weapon (or just "SAW" in the original GB release) was supposed to inflict a One-Hit KO on any monster with a defense stat lower than the weapon's user's strength stat. Instead, however, the reverse happens: using the chainsaw on enemies with a higher defense stat than the user's strength stat is an instant-kill, making it possible for players to one-shot the final boss.

    Pokémon — Technology Is Not Incredible Under Game Freak 
Pokémon may be the biggest multimedia empire on the planet, but Game Freak and other developers involved made several mistakes with the titles over the years. Given that the series is known for being extremely ambitious with tons of content and having surprisingly complex game mechanics that many casual players wouldn't know about, it's not surprising that it ended up at a cost of having a lot of issues.

Multiple Generations

  • Starting with Gen III, the games introduced a bunch of complex algorithms and checksums that ensure things like save data aren't corrupted. While this caused no issues initially, when the system was brought over into Pokémon Diamond and Pearl, it resulted in doing anything with the PC storage system (which includes merely opening it up) tripling the amount of time taken to save a game due to the overly secure encryption system performing a hefty checksum review that makes sure that every slot in the storage system isn't corrupted.
    • For some reason, the Nintendo 3DS games use these same checksums on game assets like textures, even though those are stored in the game's ROM and can't be modified through course of normal play. Since the game has to check these when loading, it slows down loading new areas - not a huge problem in the Gen VI titles (Pokémon X and Y and Pokémon Omega Ruby and Alpha Sapphire), you just get a slightly longer loading screen than usual, but Gen VII (Pokémon Sun and Moon and Pokémon Ultra Sun and Ultra Moon) rewrote parts of the game engine to stream new maps instead of having explicit loading screens, which can result in a number of areas on the overworld experiencing regular slowdown.
  • When the mainline series made the Video Game 3D Leap with X and Y, Creatures Inc. created Pokémon models with very high polygon counts. This was done to future-proof them, reducing the workload needed when carrying them forward to more powerful hardware years down the road. The issue comes in that the 3DS installments use these high-poly models rather than specially edited low-poly versions, resulting in battles — sometimes in singles, but regularly in doubles — suffering from frame rate drops due to the hardware being unable to smoothly handle animating so many detailed characters at once.
  • The companion app Pokémon Bank's anti-hacking measures were notorious for letting through hacked Pokémon (which it's supposed to block) while rejecting legitimate ones (Pokémon from events, legendary/mythical or not, are some of the more common victims due to their movepools or special ribbons), and updates released to make it compatible with newly-released games generally don't work as intended since they failed to take into account newly-legalized species and movepool/ability combinations, as well as other factors. For example, when the app was updated to allow storing of Pokémon from the Generation I games (as they were released on the 3DS Virtual Console in 2016), the app did not correct the names of these older Pokémon to match the post-Gen V normal capitalization standard or add diacritics when necessary; having a glitch Pokémon in the box would cause the nicknames of all Pokémon afterward to be shifted; and the games themselves would deem Pokémon transferred from the games and evolved into species introduced after Gen I as illegal and unable to be traded or used in battles online, along with Pokémon from older generations caught in Safari or Dream Balls or those with their Hidden Abilities that can only be found through Island Scan in Sun & Moon despite those ones being perfectly legal in the previous generation.

Generation I (Red, Green, Blue, Yellow)

  • The first generation, even by admission of the development team, was one step removed from spaghetti code. The source code for the original Red and Green was so fragile that it couldn't be used for the international release. This is why the Updated Re-release Pokémon Blue was reworked into Red and Blue.
    • The most famous Japan-only glitch is known as the "Select Glitch". The programmers forgot that players might try to leave the Items or Pokemon menu while in the middle of rearranging items, so they didn't set it to disable rearranging things when closed. The result: By selecting an item, closing the menu, going to the Pokemon menu, and selecting another one there, you can swap an item for a Pokemon. This leads to all kinds of glitchy effects, which must be seen to be believed.
  • While many of the technical shortcomings and glitches of the early games can be attributed to the strict limitations of the Game Boy or oversights,note  there are some that can't be chalked up to anything but errors on the part of the dev team.
    • Most notable of these is the 1/256 glitch that makes moves slightly less accurate than they should be. To determine if a move hits or not, the game randomly generates a number between 0 and 255. It then compares that number to a predetermined number based on the game's accuracy rate, i.e. 255 for 100%-accurate moves; if the randomly-generated number is less than the predetermined number, the move hits, and if it isn't, it misses. The mistake is in using "less than" rather than "less than or equal to", and because of that moves have 1/256 lower odds of hitting than they should. For instance, moves that are supposed to be 100% accurate have a 1 in 256 chance of missing due to the chance of rolling a 255, which is now known as a "Gen I miss".
    • The Game Boy games have several typos in the code which causes things to not work properly. In Gen I, Focus Energy is meant to multiply the Critical Hit ratio by 4, but it instead divides it by 4.
    • Another major code typo is Ghost-type moves being ineffective against Psychic-type Pokémon, whereas they were supposed to be super-effective instead (though this has little actual effect on balance due to deeper design issues).
  • Gen 1 catch rates and ball modifiers are, to put it lightly, convoluted and unintuitive in how they work. It's to the point where the Ultra Ball usually underperforms the Great Ball. To explain all of this:
    • Each Ball has a value associated with it to increase the odds of capture. The PokéBall has a value of 8, the Great Ball a value of 12, but for some reason the Ultra Ball has a value of 8.
    • Status effects offer a flat chance to capture, between 4.6% and 16.6%, and if that fails then the actual calculation is done. So for Pokémon that are really hard to catch, such as legendaries, putting it to sleep will get you a 1/6th chance of capture with an Ultra Ball, regardless of anything else. It's easier to just put it to sleep and throw balls at it than it is to hurt it to increase your chances of capture. By contrast, this same strategy in later generations results in needing to throw, statistically, 10 times more balls.
    • The capture rate increases with lower HP but reaches a maximum at a threshold. For PokéBalls and Ultra Balls, the threshold is 1/3 of max HP. For the Great Ball it's 1/2. That means you have to hurt the Pokémon more to get a better chance with a Ultra Ball than you do with a Great Ball.
    • The Safari Ball is internally similar to an Ultra Ball but has a Great Ball's catch rate, which explains why catching anything in the Safari Zone is a crapshoot at best.
  • The enemy trainer AI in Gen I has a major flaw: if it has a move that is super effective against the Pokémon it is fighting, it will always use it, regardless of whether or not the move damaged the opponent. The most infamous case of this is Lorelei's Dewgong, which will constantly use Restmove explanation if put up against a Fighting or Poison type - and since enemy trainers don't have PP in Gen I, it can use Rest as much as it wants, which could render the battle Unintentionally Unwinnable if you don't have any way to attack it. Yellow fixed this by creating a special check for this specific fight to prevent this from happening. Another case less likely to cause an unwinnable state is Lance's last Dragonite, who will spam Barrier and Agility (which are also both Psychic-type moves, the former of which it shouldn't even be able to use) in a futile attempt to exploit weaknesses, which can result in a Poison-type Pokémon such as an underleveled Venomoth or even a level 3 Weedle poison-stalling the Dragon Pokémon until it faints.

Generation II (Gold, Silver, Crystal)

  • The catch rate for Pokémon was revamped in Gen 2 to make more sense with the standard balls, and some special balls were added to increase the catch rate further depending on what it did. However, a lot of the special balls you could use were either broken or have a weird quirk that makes them mostly useless:
    • The Love Ball is meant to catch Pokémon of the opposite gender as your current set monster, but it instead works if the Pokémon is the same gender and species.
    • The Fast Ball is supposed to be more effective at catching any Pokémon with a chance of fleeing from battle, but instead of checking the three tables of Pokémon who flee (those with a 10% chance of fleeing, those with a 50% chance of fleeing, and those who always flee), it only checks the first three Pokémon in the 10% table, meaning it's only more effective at catching Magnemite, Grimer, and Tangela.
    • The Moon Ball is supposed to be more effective when used on Pokémon species that evolve by using a Moon Stone. However, the catch rate boost can never apply because the item is programed to be more effective on species that evolve with a Burn Heal, which is a consumable status effect-healing item, not an evolution item.Why?
    • The Heavy Ball mostly works as intended, but the way its bonuses are implemented is odd. The bonuses are added to the catch rate instead of being a multiplier, meaning its effects are only noticeable for heavy Pokémon with low catch rates, of which there are precisely two: Snorlax and Lugia. Pokémon Crystal also introduces a bug where the weights of Pokémon whose index numbers are divisible by 64note  are retrieved as junk data that gets interpreted as weights large enough to get the largest possible boost.
    • The Level Ball ignores the catch formula, so there's no point in hurting or applying status effects to the Pokémon.
  • There's also an oversight in Gen 2 where only Sleep and Freeze increased the odds of catching a Pokémon. The rest do nothing.

Generation III (Ruby, Sapphire, Emerald)

  • Pokémon Emerald has a flaw in its RNG system where it always starts at the value 0 due to a coding error. This causes each "frame" from the start of the game to be exactly the same. The end result: the player is left with a predictable sequence of personality values and therefore exactly what stats and nature they will get per time waiting in-game. For example, if the player encounters a Pokémon exactly 100 seconds from starting their cartridge, they will always receive this spread: Relaxed 22/12/10/10/29. Similarly, if a Ruby or Sapphire cartridge has a dead or removed battery, the game will always start its RNG at 0x5a0.
  • Replacing a dead internal battery in a Gen III game will not re-allow most time-based events to occur, since instead of assigning those events to occur after a certain amount of time has passed, they instead assign them to occur when the total time since the save started reaches a certain point, and this counter is reset every time the battery is replaced. For example, a berry planted at an internal time of 2,400 hours may take 12 hours to reach the next stage of its development, but the game measures the time passing by marking the time it is set to reach that stage to an additional 2,412 hours. Hacking the games is the only way to rectify this error.

Generation V (Pokémon Black and White and Pokémon Black 2 and White 2)

  • While the profanity filter introduced in Black and White only blocks exact matches when initially inputting text, the GTS will block any filtered words that happen to be found inside of otherwise-acceptable words. What elevates this quirk beyond the typical Scunthorpe Problem is twofold: the list of censored words includes keywords that are only dirty in one language but are blocked regardless of what language the game is in, and the filter will block unnicknamed Pokemon whose species names contain censored words. This has resulted in the likes of Cofagrigus, Bulbasaurnote , and Crapustulenote  being untradable online without nicknames. And since you can't change nicknames of traded Pokémon in these games, you have to breed and raise another one if you want it to be called its species name.

Generation VI (Pokémon X and Y)

  • Pokémon X and Y had some problems when they were first released. Prior to the 1.1 patch, players saving their games in certain areas of Lumiose City (the major hub city of the game) risked booting into a completely frozen state, with all inputs rejected and various textures failing to load. A nastier example is that Game Freak forgot to encrypt the Wi-Fi communications. When this was discovered, hackers created a program to identify what moves their opponent is using each turn in a match, which some unscrupulous players promptly took advantage of. Fortunately, Game Freak caught wind of this and released the 1.2 patch to block the exploit, as well as making the patch mandatory for future online communication.

Generation VII (Pokémon Sun and Moon)

  • In this generation, every map contains its own unique copy of every asset associated with it. For example, every map that has Lillie in it has its own copy of her model, animations, and textures; major characters have hundreds of duplicate models all over the entire game, wasting tons of storage space and loading time. This technique is used in some other games to speed up loading, as it reduces the amount of time the drive spends seeking Explanation. However, this technique only offers any kind of benefit when reading off something like a disc or a non-solid state hard drive. The 3DS's only two storage mediums are cartridges and flash memory SD cards - both of which don't have seek times. This, combined with the aforementioned excessively high poly models and unnecessary checksumming, is believed to be why Gen 7 suffers from so many framerate problems compared to the previous generation.

Generation IX (Pokémon Scarlet and Violet):

  • The games suffer from excessive lag and memory leaks because unused information isn't deleted upon exiting cities or towns, and the entire map is loaded at any given time, requiring players to turn off auto-save and regularly close and reboot the game during longer sessions to prevent performance issues from piling up. Of extra note is that the entire map includes an ocean around the game world that is larger relative to Paldea than Earth is to Spain, with this ocean being within an unfathomably huge sky sphere that is larger relative to this ocean model than the Sun is to the Earth. While the games do cull offscreen objects and geometry, they never do this to the ocean or sky; unless the player enters a building, all parts of these gargantuan models are loaded at all times.
  • In the initial release version of Scarlet and Violet, the Battle Stadium uses the same RNG seed for every fight; a clever player can exploit this to ensure that the normally Awesome, but Impractical One-Hit KO moves always hit. This was fixed in version 1.1.0.
  • The Version 1.2.0 patch was intended to solve many of the glitches that plagued the game during launch. However, while it does help alleviate the issues (if only slightly), it also added an additional problem for a small fraction of unlucky players. The update can randomly corrupt the player's existing save file, with there being no clear trigger for what causes this: some have lost it via buying the DLC, others by connection to Pokémon Go, other by sending postcards, etc., with the end result being the player losing all progress and needing to start a new game. Thankfully, there exists a method to recover lost game data.
  • Unlike past games in the franchise, the Pokedex's alphabetical sorting function is based on the language that the gaming console is set to instead of that of the save file. In the event of a mismatch between the two, the Pokedex will use the proper alphabetization for the Switch's language while the species names stay in the save file's language, resulting in the Pokemon appearing to be listed in a nonsensical order.

Spin-Off Titles

  • The original Japanese release of Pokémon Mystery Dungeon: Blue Rescue Team had a really nasty bug that wiped the save data of any GBA game in the DS slot if it wasn't a copy of Pokémon Mystery Dungeon: Red Rescue Team. Since the DS isn't designed to receive downloadable patches, a recall had to be issued and a patched version of the game was released in its place, with the international versions also having this fix.
  • Pokémon Masters can be rendered entirely unplayable for those with a poor internet connection. If the game needs a large data download and the internet connection is slow, the game will eventually lose its download progress and start over before giving up and exiting to the title screen. There is no way to play the game without completing the download.

Individual games with multiple examples

    AI Dungeon 2 — At Least It's Outputting Actual Words 
While AI Dungeon 2 is in many ways a marvel of programming, often generating believable responses to anything the player enters, it also has a few major issues:
  • AI Dungeon 2's API has such a severe vulnerability that user data including unpublished creations could be easily scraped from without the users' knowledge, which has been happening for months. This has reportedly happened twice, with the fix applied to the latter incident signifying the game's downward spiral into a different kind of mess entirely. Technical explanation of the vulnerability here. (no, you did not read that wrong, creations had zero API security the first time the data breach happened)
  • Not even the outsourced review service, Taskup, is safe. When the auto-suspension system was dropped, the database for the offending stories waiting for review contained a vulnerability that also resulted in hackers being able to download those stories.
  • Near the end of April 2021, a silent update about a more restricted censorship system was dropped, which proceeded to annoy a lot of users. When it was first dropped, it suffers from the classic Scunthorpe Problem which prevents the player from sending the input despite seemingly containing no explicit words at first glance (look no further than blocked inputs due to the mentions of "breastplate" and "girl" somewhere in the text regardless of Adjustable Censorship on the player's end). It also plays poorly with anything related to age (ex. "> You use a 5-year old laptop.") or, during the filter's early days, animals (ex. "> You ride your horse to the next kingdom."; this proceeded to break some of the default prompts generated by the game) regardless of context. This sensitive censor is more than likely to cause the player to get temporarily suspended from false positives and, if that happens, allows a third-party moderation site to manually check the offending input, if not the whole adventure/story to determine if said player should be permanently banned. This would be fine on published adventures, except at the time, the Explore section was taken down for a revamp, meaning practically everyone's adventures are private, and the developers are fine with reading them (and eventually, having a third-party peek as well). Since the updated content policy, it finally, officially confirms that all the guidelines also apply to unpublished works when it used to be not the case (combined with Lying Creator, plus an inexplicable Nintendo-bashing remark from one mod from the (now unofficial) Discord server to add to the trash fire when the users inevitably criticized the update). Combined with how trigger-happy the censorship system is and the aforementioned vulnerability, this creates Paranoia Fuel for the users, as it proves that their seemingly-private stories (which may contain all sorts of fetishes one might understandably prefer to keep secret) are actually accessible to the developers.
    • Players eventually learned the pattern and, among other things, it turns out that a combination of swear/explicit words (again, Scunthorpe Problem ensues) or certain non-explicit terms that can be interpreted as innuendo with any term related to children ("boy", "girl", "kid", the word "child" itself, among many other terms discovered) or school (anywhere from elementary to high school, as well as preschool) somewhere in the story within the AI's "reading" range, even without any mention of numbers between 0-18note , will nearly guarantee the input block. This also extends to Remember and World Info entries, again not taking any context into consideration (to be fair, the lack of context reading is due to the nature of the AI used), which would confuse a player starting off a scenario, whose both Remember and World Info happen to include the offending terms, that would only break itself in a loop of "The AI doesn't know what to say..." before prompt generation at the earliest. With the game finally implementing automatic suspensions, the problems already elaborated only make things worse for players unaware of (or even those that try to work around) the broken filter which is highly likely to result in false positives. And it can only go worse with the updated terms of service and content policy, which means more trigger words/phrases from other contexts added to the filter. This also applies to the output generation too, meaning that a suspension indeed can happen through no fault of their own.To make things worse...
  • If the player gets suspended and then wants to cancel their subscription if they are a premium user... well, too bad. Getting suspended disables all access to AI Dungeon 2, including managing subscriptions (unless they're subscribed via either Google Play or Apple App Store; PayPal subscriptions can be managed, but it's buried so deep in the service that most players are not aware how). What's more, some players have reported that their canceled subscriptions were silently reactivated, with the only way those players found out being a sudden charge on their bank account.
  • The notification for when a suspension will be lifted is also known to be inconsistent between the in-game message and the e-mail (like one being supposedly earlier than another). There was even a case where a player got a 24-hour suspension and a 7-day suspension at the same time after they unwittingly triggered it multiple times.
  • The updates to the World Info library post-filter fiasco somehow not only brought back entries long deleted by the player, but also anywhere from a few to hundreds of duplicated entries that clogged up the list. The bulk delete option also does not allow selecting all entries in one go like in most programs — the player has to manually pick them one by one, which is made more tedious by the entries now being separated into pages.

    Hunt Down the Freeman — You Fucked Up My Code 
Hunt Down the Freeman is a colossal failure on every level, and the programming design is no exception.
  • When it was released, 60 GB of storage space was required to play a game that, compared to its contemporaries like Doom (2016) and The Witcher 3: Wild Hunt, is not graphically impressive. A lot of that space is taken up by unused assets, uncompressed textures upscaled for 4K resolutions, SFM cutscenes, and the entire Source Engine SDK. Even the demo released in 2016 was included, and it's not even playable in-game. The developers later rectified this and cut down the required space to 40 GB, which is still far too much.
  • The loading times for when the game loads another part of a level can take up to two minutes. Not too bad, until you realize that the game it's based on, Half-Life 2, rarely took more than 10 seconds to load.
  • The saving system is broken and has the potential to corrupt your saves. At the time of release, the most consistent way is by quicksaving in a vehicle, which always produces broken saves.
  • The AI is a spectacular case of Artificial Stupidity. The pathfinding for allies is broken and often leads to them being stuck trying to enter the same door.
  • The developers didn't make critical allies immortal, yet also failed to take into account what would happen if one of them dies while in battle. The result is critical allies going into a T-pose and the following message appearing on-screen.
    #HL2_GameOver_Ally
  • The parkour system is already finicky to begin with, but the highlight is that, despite it being required to progress at points in the game, the prerequisite action required to do parkour (holstering your weapon) is not mapped to any keys by default.
  • And all of this doesn't include the state of the game on release, which had critical bugs like missing textures for many models, cutscenes not triggering, and requiring the console to be used just to progress.

    Jan Ryu Mon — Better Off Buying a Mahjong Set 
Jan Ryu Mon, an online Mahjong game by PlayNC, has plenty of evidence suggesting it was programmed by drunken monkeys.
  • If a cookie gets blocked from the site (most notably on the registration page), the server gives a "Fatal Error" page with a stack trace - no indication whatsoever that the problem is a blocked cookie.
  • The login only works in Internet Explorer - attempting to log in on any other browser will result in a "Please use Internet Explorer 6.0 or higher to log in" pop-up message as soon as you clicked on the username or password fields, and then repeat the pop-up every time you try to type a letter, click on one of the fields, or click the "Login" button.
  • Even though the game ran in a separate .exe file, it would give an error message on startup if the game executable was launched directly. The only way to launch it is to download the ActiveX extension from the game's site, log in, then use a button on the site to launch the extension for the sole purpose of launching the game - the extension would pass along your login information to the game, and they apparently didn't think to make the game executable ask for a login.
    • This is actually becoming a concerningly common way to handle log in "securely". Even Final Fantasy XIV and Counter-Strike Online (which uses a separate Nexon client on top of Steam itself) use a variation with an embedded IE session in a "login client" window. Try loading quite a few MMOs with your Internet connection offline and watch the fun.
  • When you log in, the game is ridiculously slow because of the eye-candy animations for every single turn. This was further exacerbated by the graphics engine, which was so inefficiently programmed that the game experienced more lag and frame-skip to show a Mahjong table with one hand moving one Mahjong tile than Touhou Project games do trying to animate 2,000 bullets simultaneously. This is often caused by graphics engines that cache nothing or very little, instead opting to re-render most or all of the screen from scratch on every single frame.
  • To add insult to injury, their server had major routing issues during the beta (and still have some as of this writing), forcing many players to go through a proxy just to connect, which also meant a lot of lag - one round could be easily half an hour, even though many other online Mahjong games can finish a round in 10-15 minutes.
  • And then there's a plethora of random crazy Game Breaking Bugs.
  • Plus the game occasionally deals a hand of 13 Haku tiles, even though there's only 4 of each tile in a set.

    Sqij! (ZX Spectrum port) — The Mother of All Porting Disasters 
The ZX Spectrum port of SQIJ! has been described by Stuart Ashen as the worst game ever made, even worse than the usual contenders like Big Rigs: Over the Road Racing, and you won't be surprised after seeing how it's coded. This coding horror show is literally unplayable by default, and even if you do manage to get it working, the game is a constant stream of collateral damage.
  • We'd be remiss to start with anything other than the reason it's literally unplayable by default: the game's code forces Caps Lock to be on, but the game only accepts lowercase inputs, meaning you can't do anything without manually exiting the game to switch Caps Lock off.
  • The game is riddled with severe graphical glitches such as afterimages and tearing bits off the sprites. The game does not properly track the locations of enemies, so you are deemed to not only have hit them if you go anywhere near them, but also to have shot them if you fire anywhere near them.
  • The code to collect objects doesn't work at all; if you collect more than one piece of the "Enertree" (the goal of the game), the game believes you have collected zero pieces and won't let you drop any off. Technically you could still beat the game by collecting and delivering one piece at a time, but only if you have nothing else to do with your life.
  • If you enter a room with a locked door from the right, the game teleports you through the door, because it's programmed to always move you to the left when you enter such a room. Due to incorrectly reused variable names, two of the game's doors open and close constantly every time an enemy moves up or down. To add insult to injury, if you attempt to leave any room without being in the lower half of the passageway, the game crashes.
  • The game is extremely slow because it was written in Laser Basic, which uses standard ZX Spectrum BASIC for most processing. There are also some peculiar decisions made as to what should be done every frame. While there are good games written with Laser Basic, the real kicker is that the developer didn't encrypt the game. This means that loading the game also loads the full binaries for Laser Basic. By quitting the game, you can then use this yourself and get a £14.99 software utility for free. Due to this, distributing or owning a physical copy of Sqij! is technically illegal. Yet its publisher didn't take notice and released it twice - once on its own, once as part of a compilation. The only reason a lawsuit didn't happen is because the game itself was so obscure it took several years until people finally discovered the oversight.
  • Unlike other examples on the page, Sqij! was badly coded on purpose and likely wasn't playtested. Jason Creighton, who was 15 when he was asked to port the game, was contractually obligated to make a game for publisher The Power House. After a falling out with the higher-ups (apparently due to not being given a copy of the original Commodore 64 game to work from, based on this Eurogamer article), he lazily threw together a game so bad he figured The Power House would reject it on the spot. They then published the game without looking. The game became notorious in the ZX Spectrum community, and comp.sys.sinclair's "bad game contest" used to be hosted at sqij.co.uk in tribute to it. The programmer in question later admitted the game was bad and took the whole thing in stride.

    Yandere Simulator — Code So Sloppy, Yandere-chan Could Weaponize It 
Yandere Simulator is infamous for many things, and the code itself is one of them. YandereDev is not a professionally trained programmer, meaning he hasn't been taught good coding practices like commentingnote , problem and sub-problem decomposition, or code abstraction. This results in very messy and hard-to-read code that, debunked if-else meme aside, is difficult to update and creates several performance problems.
  • An infamous example of amateur coding in Yandere Simulator: the game has a large number of different states that the player can be in. Instead of using a state machine or set of state machines to manage this, which is commonly used in other games that have a large number of states, the game instead has separate variables for every single state the player could be in. This means that the program has to allow for any combination of states, even combinations that are impossible to happen in-game without modding. For example, in order to check if the player character can start an action, instead of checking if the player's merely in an idle state, the game has to check that every "non-idle" variable is false.
  • Additionally, instead of calling the GetComponent function once and storing the component data in variables, the code calls it every time the game retrieves a piece of data that should already be in memory. As you can imagine, this is absolutely terrible for performance.
  • In general, the code is needlessly complicated because of a lack of more advanced programming methods. Abstracting the code would greatly reduce the number of calculations the game makes — especially in its update function that gets checked every frame — and thus improve the game's framerate and performance.
    • For an example of why this is bad, every single NPC is a copy of the same object and runs the same code, meaning that each student is constantly checking if they should be doing the teacher's routine, and vice-versa (on top of hundreds of other similar issues). In a more competently programmed game, base NPC code would be shared between objects using inheritance to avoid this, and only certain objects would use specific code (students would only use the code intended for students and therefore wouldn't have to check if they're teachers, for instance).
  • Many of the files aren't optimized well for their size. One rather jarring example is the fact that the highest poly model in the game is a toothbrush - which is actually a stock asset that's meant for 3D animation. Even if there was a legitimate reason for using this asset for game development, it was put into the game without making any edits to the mesh.


Individual games with their own examples

Even the most competent and not-so-competent games can have a mistake or two.
    Games A-M 
  • Action 52 for the NES is already a masterpiece of broken game design, with not a single one of its 52 games past Obvious Beta status or even acceptable for alpha standards. But one of the key factors for some of the glitches that can happen in the game is the mapper in the cart, not just in the coding. Action 52 uses Mapper 228, which is unique as it's similar to the ones found in most bootleg multi-carts. Every game made for the NES has different types of mappers, and some of them have their own coding that can pull off some effects - like in the Japanese version of Contra, there's snow blowing in the mountain level, which was removed in the international versions because Nintendo didn't allow third-party developers outside Japan to manufacture their own cartridges with custom mappers. If you were to use a mapper, you need to be aware that the console can only read information from it in a specific way, or else you'll run into problems. Even then, it's not guaranteed to work because, for the most part, the NES isn't made to read unlicensed mappers, especially if you were to program something in a certain way that the NES couldn't handle. One notable example regarding this issue is that Alfredo and the Fettucini and Jigsaw always crash when you try to load them normally, even though most games on the cart start just fine. Why is that? The mapper issue is the same reason why the unreleased Cheetahmen II stops at Level 4, as it uses the same cart as Action 52. While this is fixed in unofficial patches and the still-buggy re-release, if you own the original, you need to fiddle with the cartridge upon inserting it into the system so it'll boot up the inaccessible levels.
  • Aliens: Colonial Marines was regarded as a poorly-designed game in general, but one of the biggest reasons was that the Xenomorph enemies suffered from some of the most broken, dysfunctional AI in any modern videogame. Years later, it was discovered that this was the result of a typo in the game's configuration files (someone misspelled "tether" as "teather") and that, when corrected, the Xenomorphs had perfectly serviceable AI that even had the occasional moment of Artificial Brilliance. While correctly-functioning AI wouldn't have saved the game from its numerous other problems, it might at least have propelled it into So Okay, It's Average territory instead of just being bad (and prompted some software companies to ask you to spell "tether" in online interviews).
  • The developers of the Anno Domini series need to be slapped with some basic GUI guideline books. For example, the first game would only save after you hit the Save button, but not after naming the save game. It would also completely remove the game directory on uninstall, including save games and settings. Anno 1404, released in 2009, still assumed that there would be only one user per computer, and that this user would have admin rights.
  • Anthem has been noted for its horrific memory leaks. The PC version often leads to even eight-core processors getting 100% usage on every core and can sometimes force your OS to reboot, while PS4 versions can not only cause the entire console to crash and force-shutdown during matchmaking but also (on rare occasions) brick the entire console.
  • The bundle edition of Baldur's Gate series (not the enhanced version) published in France by Mindscape contains the main games in French, while both expansion packs (Tales of the Sword Coast for the first installment and Throne of Bhaal for the second) are provided in their English version, which changes all of the text from French to English. note  This was obviously something they knew about before shipping since it's written (in small font) on the back of the box.
  • The GOG version of Baldur's Gate III ends up having some rather serious problems when it comes to size bloat. While the game itself is already oversized enough as it is at 122 GB, its the update patches and especially the offline installers that suffer big time. It is not unheard of fairly simply patches having being the full 122 GB in size or for some to take up as much as 1 TB or more when trying to install. More often than not it ends up being easier to just uninstall the game and then redownloading it over having to go through the patching process.
  • Banzai Pecan: The Last Hope for the Young Century is not without its problems, but none were as egregious as the palette-swap feature for its main character. Without using them, the game takes roughly 4 seconds to load. If you use any of the palette-swaps (save for her Awakened Mode), it extends the load times to nearly 16 seconds. What makes this even more bizarre is that the game can load most enemy types in many other colors without any issues.
  • Big Rigs: Over the Road Racing. It's an obvious pre-alpha build of a game, with no collision detection, no AI, and some incredibly bad physics (for example, you can go as fast as you want - Warp 9000, if you have the patience - but only in reverse). Despite being obviously an alpha, the creators tried to sell it as it was anyway.
    • In one of the most blatant cases of "why did they bother?", they added AI in a patch... which causes the truck to drive in a fixed course at a rate of 1 mph and stop short of the finish line. Why? Well, the opponent stops because it has finished the race, but there is no loss condition in the game. That's right, the game simply doesn't allow you to lose.
    • Something in the game's code causes it to be a severe memory vampire, as it uses half the available RAM when it's running. No one knows why; lord knows nothing in the game itself needs anywhere near that amount.
  • Bloodborne's netcode is almost as bad as the original Dark Souls, taking over half an hour to summon a friendly player, and then sometimes believing that you're being invaded by an unfriendly player when there isn't one. It also had terrible environmental optimization before patches, leading to Loads and Loads of Loading.
  • The Blue's Clues games by Humongous Entertainment are the only games that can't run on Windows 3.1, despite other SCUMM engine games working just fine on it. Why is this? The Live-Action Cutscenes for Steve has filenames that are too long for Windows 3.1 note . If the files and pointers are shortened manually, the games run perfectly fine.
  • Call of Duty: Ghosts is apparently a sloppily-developed game. It weighs in at a hefty 30GB and requires 4GB of RAM (8GB recommended). You'd think this game would be amazing on all fronts... until you find that the game is rather bloaty, will happily eat your RAM (it even stutters on the loading movies after the level is done loading), and looks no better than previous installments on the highest settings. Compare this to the Trope Codifier for Tech-Demo Game Crysis from just six years prior, which runs just fine on the recommended requirements (a "wimpy" dual-core processor and 2GB of RAM) and only needed about the same storage space as contemporary games (like, say, Call of Duty 4)note  and a graphics card two generations later to run on absolute max settings at 60FPS. Later COD games have gotten even worse about this, as the required system specs get higher and higher for little noticeable graphical improvement - a system that meets the recommended requirements for Ghosts, and will still struggle to run that game at high settings, is barely at the minimum requirements for Black Ops III, and will constantly crash trying to run the game unless the settings are so low that it looks worse than the first game from 2003 - while also proving that it's still running on an engine from 2003, with assets popping in at ridiculously short distances.
    • Call of Duty: Black Ops Cold War easily reaches over 200 gigabytes in file size, and while it looks stellar graphically, there really isn't any reason why it needs to take up such a massive chunk of space, especially for consoles that don't have a lot of space in the first place. This gets even worse when you take into account that other games of similar graphical power and content size get by with their file sizes reaching at most around 60-80 gigabytes.
  • The remake of Cannon Fodder recreates the game with a modern 3D engine. However, the remake takes an incredibly long time to load, even on modern computers, and doesn't keep loading in the background if you alt-tab out of the process. Click start, go brew a cup of coffee, lazily mix it with sugar and milk, drink it while you read the paper, come back, and if you're lucky, the game will be just about ready to start. And for all that, the graphics are really nothing to write home about.
  • Cartoon Network: Punch Time Explosion is a halfway decent Super Smash Bros. clone, with emphasis on "halfway". There's a ton of lazy development quirks that almost make the game unplayable: unresponsive controls, an unfinished battle system, and an unintuitive control scheme that even veteran Smash players will find hard to get used to. There's also an infamous bug that freezes the game during one of the final levels. And instead of trying to fix the issue, the developers told everyone to just input the code that unlocks everything, which makes playing Story Mode pointless. While there are ways to bypass this bug (usually by sheer luck), it's still a problem that makes the game a textbook example of Obvious Beta.
  • The initial release of the Android port for the seminal SNES RPG Chrono Trigger was nothing short of a disaster. It was incompatible with many then-popular contemporary devices like the Samsung Galaxy S3, which could've run the game easily, and threw in extremely aggressive always-online DRM that crashed the game the moment the phone went offline, changed networks, or even received a call. While this form of DRM isn't uncommon on mobile games, most at least give some mercy window. It was also completely incompatible with the Android 4.3 update, which was released the same year as the port - and this took Square-Enix a full year to fix. The port was replaced in 2018 with an improved one based on the then-recent (and admittedly itself not well-loved) PC port, and it was semi-generously given out for free to current owners. While feedback was still mixed, it was at least seen as a big improvement.
  • For some bizarre and unexplained reason, the PC version of Code Vein has a single elevator in a late-game area that takes several minutes to start moving if your framerate is above 60fps. No other elevator in the game has this problem, including another elevator in the same area, making it stand out as extremely strange.
  • While Valve Software never really paid much attention to Counter-Strike in the first place, a few aspects of the game are just plain terribly coded:
    • Valve Anti-Cheat does little if anything to actually stop cheaters, and most players use third-party clients with stricter cheat detection. It only scans the game files to see if a program is modifying them with no regard to what's actually happening in-game, which means that a player that's running at Super-Speed across the map and getting five instant headshots every single round could easily be ignored by the Anti-Cheat and only be banned by manual reports, and a player that's hiding their cheats is nearly impossible to get banned.
    • For some reason, player models don't reflect the way the actual player is aiming, so enemies see the model snap to them incredibly quickly in a way that resembles cheating in other games, which contributes to a lot of "crying wolf" reports that make the game's banning system even more of a joke. Why Valve doesn't simply fix this is beyond the community's knowledge.
    • The "mesh" layer that codes the bot movement in some maps is incredibly poorly generated, including bots going around obstacles that no longer exist, standing out in the open because the area is coded as "cover", and, in at least one case, failing jumps and inflict significant damage on themselves.
  • Until Patch 1.3.0, Crysis Remastered refused to create save files if your Nintendo Network ID contained certain characters a Windows PC would consider "illegal", such as a colon, resulting in the game crashing.
  • The netcode for the original Dark Souls is infamous for being terrible. It can take upwards of half an hour to summon a friendly player, and sometimes the game thinks that you're being invaded by an unfriendly player, preventing you from exiting an area for over 10 minutes until the problem resolves itself.
    • This isn't even getting into the notorious PC port, which is less of a port and more of a straight-up emulation of the Xbox 360 version, thanks to FromSoftware having very little experience with porting games to PCs at the time. The resolution is absurdly limited and the controls are designed to have both hands on the keyboard most of the time, which is incredibly finicky at best for a game like Dark Souls. It also initially had the much-maligned Games For Windows Live attached to it, which was eventually removed in favor of Steamworks instead.
    • Dark Souls II attempted to fix this problem by adding dedicated servers for matchmaking, which did alleviate the issues somewhat. Unfortunately, the dedicated servers are only used for matchmaking; once you actually connect everything is handled as a peer-to-peer connection, meaning astronomical lagspikes and severe Hitbox Dissonance if you happen to connect to a player across the world. The game's engine also had an odd quirk where the game's framerate actually affected the degradation speed of your weapons, for some baffling reason.
    • Dark Souls III had an anti-cheat software that was so poorly programmed that it would often mistake the game's actual code as cheats, ejecting innocent customers from online play. It was so bad, in fact, that even simply switching from offline to online could trigger the anti-cheat. Fortunately, FromSoftware did eventually fix the anti-cheat and removed many of the accidental bans.
    • In early 2022, it was discovered that all of the Dark Souls games on PC had an exploit that would allow an invading player to remotely take over your PC. After some delay, From Software and Bandai-Namco finally acknowledged the exploit existed and took the games offline. However, due to them gearing up to release Elden Ring during that time, they later said they wouldn't have time to fix the issue until after Elden Ring released, meaning that all 3 Dark Souls games would be unplayable online for over a month, possibly longer. It turned out to take most of 2022, with the original versions of the first and second games never being fixed and From commenting that they did not intend to do so. The Updated Re-release Dark Souls II: Scholar of the First Sin and Dark Souls Remastered (both running updated netcode) are the versions with full functionality.
  • The PC version of Deadly Premonition (which is amusingly named the "Director's Cut") is such a bad port that the game has only one possible resolution to be played at: 1280×720. While this is High Definition, even the lowest-quality LCD monitor has a native resolution bigger than that, and any CRT monitor has a different aspect ratio. The game was released in 2013, too, so we weren't that dated on the monitor department. Fortunately, because it's a PC game, modders were there to do what developers couldn't (albeit Version 0.9.5 of the mod causes a lighting glitch that isn't in the previous version).
  • Death Trap is already an infamous point-and-click horror game, but one of the more notorious aspects about it is how the game works. In ActionScript 2 note , there are two commands called "gotoAndPlay(frame number)" explanation and "gotoAndStop(frame number)" explanation. These commands are meant to be used for really basic stuff, like buttons in menus; they're not meant for more complex stuff like, say... movement buttons in point-and-click games. You can guess that the author used them because of how simple they were. Since these two commands work with the main timeline, it's impossible to make a traditional point-and-click game using this setup without making it really linear. And that's exactly what the author did - he made the game really linear.
  • For some reason, The Demon Rush has many unnecessary things in its files that add to its already bloated memory footprint. These include Netscape 2.0, printer support, DirectX 8 (when version 9 had been out for over five years), 16 different "sound not found" handlers, and the Hebrew character set.
  • According to this Spanish fan video, Digimon World was found to be coded inefficiently, which resulted in long load times every map change. The main culprit? The Digivolution system. The game calculates whether the partner Digimon can digivolve or not in every single frame. Revising a few lines of code related to this mechanic actually makes the game run 4 million times more efficient.
  • When Disgaea came out on PC, it was considered a disaster on many levels due to poor performance, unresponsive controls, and spotty gamepad support. One modder decided to reverse-engineer the game and see what was causing the problems, and in the process discovered that much of the game relied on bizarre, archaic, and ancient methods of handling basic internal things like input polling, controller support, texture coordinates, and screen refreshing in OpenGL, resulting in the issues listed above. It was also missing features from other ports, notably the one for the Nintendo DS, such as French localization and non-blinking Geo Panels.
  • While easily fixed compared to most examples out there, the definitive edition of Divinity: Original Sin II has one very odd quirk. One feature of the game is the ability to switch to the base version of the game while playing. How this is accomplished however is that both versions are installed simultaneously, as in, completely separate installations that as a result doubles the file size as everything is installed twice. And there is no option to download just one version which is especially bad on GOG if you want to get the offline installers which end up more bloated than they need to. Fortunately, once installed it can easily be shaved down by simply deleting the unwanted version from the game files.
  • Dragon Age: Inquisition was loaded with bugs from the very beginning. The most infamous among them is the notorious Patch 4, which was not only nearly seven gigabytes large but had a programming error in the Xbox One port that caused it to uninstall and reinstall the entire game (though this is also due to a glitch in how early versions of Xbox One's operating system handled patches, with said glitch also happening with patches for Assassin's Creed: Unity).
  • Dr. Jekyll and Mr. Hyde (NES) is already a notoriously poorly-designed game, and is made even worse to play by a baffling glitch in the way the game speed is handled. Like a lot of other NES games, it's designed to reduce its frame rate and game speed when there are a lot of enemies on-screen, in order to work around the system's sprite limitations. The problem is that the code responsible for this has the opposite effect of what was intended, resulting in the game running at a pathetically low frame rate most of the time, and then causing the game to speed up and add in a whole bunch of Fake Difficulty during the more difficult sections, especially in the last level.
  • Sometimes, Dungeon Fighter Online gives you a broken page showing on the launcher, saying that the navigation to the page was canceled. Since the entire program is based on Internet Explorer, even if you use the Firefox plugin made by users at DFO Nexus, it won't access the page, giving most of the time a timeout error. The worst part, however, is that it could not only break the login page, but a bug regarding SSL certificates could show you the login to pages that are not from Neople, such as godaddy.com or datameer.com. Fortunately, this stuff is fixable by resetting the router.
  • The installer for Duke Nukem Forever seems to have been programmed by someone with an "everything but the kitchen sink" mentality. Not only does it install a bunch of applications and frameworks that the game doesn't actually use, but it installs the AMD Dual-Core Optimiser regardless of whether your CPU is multi-core or even made by AMD.
  • Like most PC games, the PC version of Enter the Gungeon can be played with a controller. One of the key mechanics is "blanks", one-use items that erase all bullets on the screen when used. On the default control layout for the PC version of Enter the Gungeon, "Use Blank" is not bound to a button. Pity the poor soul who puts in a controller and starts the game without altering the layout first.
  • EVE Online had a stellar example of what not to do in programming with the initial rollout of the Trinity update. Eve had a file called boot.ini that contained various parameters... but it's also the name of a critical system file stored in C:\. A typo in the patch caused it to overwrite the version in the root directory, not the game's folder, resulting in an unbootable system that had to be recovered with a rescue disk. This is the exact reason you never name your files after something that already exists in the OS, and the file in question was renamed start.ini.
  • Five Nights at Freddy's World constantly took five seconds to load whenever the game sends you to the overworld (minus the Halloween Backstage area, with takes place in a separate frame). This is because the battle system takes place on the same frame as the overworld, which had tons of texture assets used for that section. Scott revealed in a long deleted Steam post that this was a mistake he made early in development, and he couldn't fix it without remaking the entire game again. Some fans discovered that had Scott reduced the colour bit rate depth and used DirectX 11 included with the Clickteam 2.5+ add-on, the load times would be reduced.
  • The PC version of Five Nights at Freddy's: Security Breach was 80 gigabytes at launch, larger than giant open-world games like Cyberpunk 2077 and The Witcher 3: Wild Hunt. Fans quickly discovered that this wasn't due to the game containing 80 gigabytes worth of content, but rather Steel Wool Studios disabled Unreal Engine 4's asset compression. Simply using the engine's SDK to recompress the game's data files dropped it down to a much more reasonable 35 gigabytes.note  While an official patch reduced the PC version to 64 gigabytes, the console versions were reported to be much smaller in comparison, with the Switch port being only 8 gigabytes large.
  • The long-running Football Manager series has its roots in the late 90s and early 2000s, and it shows. For those unaware, Football Manager games involve a lot of number crunching. However, the game lends itself extremely well to this, since you have many managers, matches, teams, players, clubs, and so the game does the same tasks many times. So what's the problem? Almost the entire game is single-threaded. The detailed match engine (which is used by default only for certain games such as your team's league fixtures) is multi-threaded, but unless you run almost all leagues in the game at this setting (which will make it slow as hell, even with the best-overclocked hardware in the world), the impact of multiple cores is practically non-existent. For typical settings, multiple cores might shave a few seconds off minutes of loading. In a game renowned for Loads and Loads of Loading, massive speedups could be achieved by rewriting the game to use 21st century processor architecture efficiently. Despite well over a decade of multiple cores being dominant, this is still an issue as of Football Manager 2022, and if you run the game on high-end hardware, this results in a game at least an order of magnitude slower than it needs to be if the developers could code properly and bothered to optimize it.
  • Grand Theft Auto IV: The PC port was commonly cited as an example of this trope before patches were released. Disproportionately heavy performance on the most commonly available computers of the time (even high-end computers from more than a decade later have performance issues running the game at its highest settings), and a graphical settings menu that had an issue where setting the quality to low made the game run slower. True, patches helped alleviate these problems, and the game engine boasts its share of Game Mods, but the game became a textbook example of shoddy PC ports. Also, the game required the infamous Games for Windows Live on top of its own Social Club launcher, and a massive amount of tampering of the game files is needed to even run it in present Windows versions; it's horribly optimized for Windows 8 and above, which is not recommended if you want to play it via Social Club (if ever, because massive amounts of fan patches are required and none of the PC players touched the multiplayer). Although finally, in 2020, as the Complete Edition is released, the GFWL requirements and installations are removed at the cost of multiplayer.
    • It's not until some fans managed to make the game run on Vulkan (a graphical API that didn't exist until around 8 years after GTA IV was released) that the game ran as intended in modern systems on a fresh Complete Edition installation, but even then some of the PC options (such as draw distance) exceed what the game engine capable of - as such, raising the draw distance above 35 will make the game frame drops.
    • Most of the Loads and Loads of Loading in Grand Theft Auto V's GTA Online mode was caused by parsing a 10 MB JSON database of in-game purchasable items in such an egregiously inefficient manner that a fan patch was able to reduce it by 70%. Luckily, 7 years after the game's release, the fan patch prompted Rockstar to create their own official fix for the issue (and pay the fan a bug bounty for his troubles).
  • The PC version of Guitar Hero III: Legend of Rock has an unforeseen quirk that limits how many custom fret-charts can be put into the game. The developers decided to put a cap on how many text objects can be on a menu at a time... which also goes towards the high scores. An in-depth analysis of this bug can be found here.
  • All attempts at unofficial expansions for Heboris (a Tetris: The Grand Master clone) have more or less died out, because attempts to peek into the source code, much less make any further modifications, have proven futile due to the game being a messy hybrid of a gaming scripting language and C++.
    • On a related note, there were a handful of genuine C++ ports of it. However, the MINI version (which allows for "plugins" to define additional game modes and/or rotation rules) is the most commonly used version, and the way it works inhibits any attempt at porting it entirely to C++.
  • Like most Idle Games, Hero Simulator Idle Adventures lets you purchase an in-game autoclicker to attack enemies, and lets you purchase further improvements like increasing its damage which stay with you when you start a New Game Plus. Unlike most idle games, these only last as long as you keep the browser tab open: merely reloading the page causes the game to remember that you purchased the auto-clicker, but doesn't actually give you the autoclicker. An update was issued that lets the autoclicker survive the page reloading, but not its upgrades (and even then it tends to stop working after a while). It also has a mechanic where you can watch ads for in-game bonuses, but these fail more often than not without giving you the bonus.
  • Initial releases of The Horde were deliberately programmed to delete save files from every other game on the system without informing the player in order to make room for itself. This was changed when the developers realized that people didn't like this "feature".
  • Hoshi wo Miru Hito is often cited as being one of the (if not the) worst RPGs ever made, and its asinine programming flaws are the main reason for that. Just to name a few:
    • While the overworld has many different places you can enter, they all share the same "exit" ID - which is the same as the very first town. Walked to a town halfway across the world? As soon as you exit, you're placed all the way back where you started the game.
    • The game's very first weapon, the Ray Gun, is so weak that equipping it lowers your stats. On the same note, whenever you equip a new item over an existing one, the "old" item isn't put in your inventory - instead, the old item completely disappears.
    • In battle, you are never shown the ones digit of your current HP, as it's cut off by the border around your character's sprite. This means that, if your HP counter shows a "5", you could have anywhere from 50 HP to 59 HP.
    • The battle menu is so broken that you can't even access it without obtaining party members. When you finally do obtain additional party members, you can't even see their stats, equipment, or money, as the game only lets you see those for the first character.
  • Improbable Island originally stored stats in a weird way — there were database values for your total attack, defense, hit points, and your various modifiers, but no values for your base stats. On top of making it difficult to calculate anything, this proved particularly problematic when the owner wanted to upgrade the system eleven years into the game's lifetime, and he ended up having to rebuild the whole damn thing to make it do what he wanted. note 
    CavemanJoe: The analogy of this current system is an RPG character sheet where you pencil in your total attack, and then when you get new gear you rub out the old value, subtract your old gear, add your new gear and write in the new value. If you make a mistake at any point, then your math is gonna be wrong until you notice and then have to try to remind yourself where all these numbers came from.
  • The netcode in JoJo's Bizarre Adventure: All Star Battle is terrible, resulting in mind-blowing amounts of lag no matter how good your connection is. This thankfully doesn't affect Campaign mode, which unlocks most of the content in the game, because that only uses the connection to look up what other players have set as their characters (the actual fight is you versus the AI).
  • League of Legends has a mass of bugs despite the "200 years of programming knowledge" put into it, with a multitude of bugs in it left and right. But the buggiest place is the client for the game. While the old League client was a mess at times, it pales in comparison to the host of problems the new client has, which can range from minor issues like the graphics not loading properly to more major issues like not being able to quit out of the client. And yet Riot seems to ignore (or at the very least downplay) how bad their client is at times, much to the infuriation of the fanbase.
  • Left 4 Dead 2 had a huge update after many years in 2020 with "The Last Stand" update, which includes the reintroduction of unique Common Infected models taken from the first Left 4 Dead. Unfortunately whatever was responsible for the spawning and randomization of Common Infected models was severely messed up, since even machines exceeding recommended configurations experience stuttering as infected models are spawned, despite the models being fairly low-poly and low-detail.
  • LEGO Island 2: The Brickster's Revenge is infamous for its Loads and Loads of Loading, on par with the likes of Sonic the Hedgehog (2006). The reason for this? The game prioritizes rendering the loading screen over actually reading any data. This means that for every frame that is rendered, only a single byte of information is read, which causes the game to spend an eternity loading things for absolutely no reason. The kicker? This can be fixed by changing a single instruction in the game's EXE file, which makes it read all the data before rendering a single frame, and the loading is minimized to only half a second rather than minutes on end.
    • In any game, a 3D model that is placed repeatedly is simply the same one used over and over again. Not in this game, where many reused models in the game are actually duplicate copies, wasting a lot of disk space. The grandest example of this is the asteroids minigame, where the asteroids have two variations - normally, this would require loading just four files (specifically, their model and collision files), but the game instead gives each of the 235 asteroids its own model, requiring the game to load 470 files.
  • The online play in Meteos Wars seems to have forgotten about lag entirely. As a Falling Blocks Puzzle Game, it only needs to keep track of the other player's incoming blocks and controller inputs, but it decided to keep track of the exact locations of every block as they're falling, resulting in much more lag than necessary. If the connection becomes unstable, instead of taking guesses and correcting itself later (as is seen with all other falling-blocks puzzle games with online play), it just stops the action until the signal restabilizes, or terminates the match outright if it's taken more than a few seconds. All the while, as the online play shifts between slow and immobile, the timer counts down in real-time, functioning independent of the game, resulting in nearly every online match ending in a time-out instead of elimination.
  • Ah, Minecraft: a beautiful world that rewards creativity, a multiplayer experience like no other, endless exploration to wherever your heart desires, and the uncanny ability to bring modern computers to their knees. How is this possible? How does a game with graphics so simple they should run fine on a Pentium 2 require a modern gaming box to play at high resolution without stuttering - let alone if you dare to apply graphic-improving mods and/or run 4K resolution? Well, let's just say there's a reason nobody writes 3D games as a weekend project in Java.
    • Proving the point, the game eventually got recoded from the ground up in C++. This effort spawned a console version, a mobile version and a new Windows version (free if you've already bought the Java edition) that runs much more smoothly. Unfortunately all the mods were written for the Java version and cannot run on the recoded one. A strong argument can be made that most of the fun in Minecraft, especially after the original game has been on the scene for so long, comes from the mods, so it should be no surprise that many players never even bother with the recoded version and still run the original Java mess - though at least modern hardware has made the whole thing a bit of a moot point, if still an exercise in inefficiency.
  • Myth II: Soulblighter had an uninstaller bug that was discovered after the game had gone gold. If you uninstalled the game, it deleted the directory in which the game was installed. Additionally, it was possible to override the default install settings and install the game in the root directory of a given drive. Fortunately, only one person suffered a drive wipe as a result (the person who discovered the bug), and they actually replaced the discs after the copies of the game were boxed, but before the game was shipped. Still, it was a fairly glaring blunder.

    Games N-Z 
  • The graphics engine for Need for Speed: Most Wanted (2012) cannot run above 30 FPS without massive framerate drops. The issue can't even be explained by a correlation to the number of objects present on-screen, as this even happens in the loading screen. This was discovered by people who noticed that locking the framerate to 30 in the PC version's configuration file eliminates the gratuitous slowdown that the PC version of the game is known for. Generally, games being locked to certain framerates isn't Idiot Programming, as some games were deliberately designed to run with certain framerates in mind, which means that trying to change it to any other framerate (like 60 FPS) would normally cause the game to run at double speed and have screwy physics (among other glitches). Here's the catch: the game's graphics engine is a modified version of the same engine that powered the last Criterion NFS game, Hot Pursuit (2010), which could run perfectly fine at an uncapped framerate. Need for Speed: Rivals also runs terribly and barely reaches 30 FPS in systems that should've been exceeding the recommended system requirements at the time. It makes you wonder how a company in charge of a big-budget racing game series modified an existing, completely proprietary graphics engine in such a way that they accidentally broke the engine.
  • When Nights of Azure was ported to PC, the developers didn't include the option to close the game, requiring users to force-quit it from outside the program. This is one of the most basic features any game should have, yet they didn't bother to code it in. Also, if you're a keyboard user, Azure and Atelier Sophie: The Alchemist of the Mysterious Book have no options to rebind keys. If that's not bad enough, the game doesn't even bother to tell you the controls!
  • The Nintendo Switch Online's Virtual Console replacement for playing Nintendo's older games has a serious flaw. One of its features allows you to create a "Suspend Point", which saves the state of the game at that point so you can pause, then resume the game any time you want. It's the same as the state save feature in emulators. The problem is that the Suspend Point saves the entire state of the game, including the save file, whereas emulator save states only save the system's RAM contents and keep the game saves in a separate file. This means that, if you create a suspend point, save the game, then later load the suspend point, you lost all progress between the suspend point and where you thought you saved.
  • Getting decent performance out of Path of Exile can be as much of a gamble as its randomly-generated loot. Some people find themselves running the game just fine on a laptop that's slightly out of date, while others with the newest parts have to contend with framerate drops and outright freezing. People on Reddit discovered that one source of the performance issues is the sound - people have reported significant improvements after disabling certain sound sources. Not muted, disabled. As in, you have to directly edit certain files in the game's folder to stop it from rendering certain sounds, because the game would still render them while muted.
    • Near the end of the Delirium league, Grinding Gear Games unveiled their beta support for Vulkan, which in place of DirectX 11 resulted in a significant performance boost across all machines capable of using it. Where things turned sour was the league that came right after it, cited by some to make the game run worse than before on DX11.
    • Another easily exploitable issue in Path of Exile is the game handling all damage calculations server-side. Because of how the game handles it, it's perfectly possible to make a build that has so many individual calculations that the entire server crashes.
  • The PAYDAY 2 Steam version is pretty good, stable, and is generally considered to be a great game... except for the fact that every time it updates, it doubles the game's total size without any explanation before dropping the size back to its original amount after the update's installed.
  • As discovered by a modder, Persona 5 adds an instance of lines from every interaction with NPCs into memory (no matter if the player has spoken to them or not) but does not erase them unless the player changes areas, meaning a new copy of the instance is added for every repeated interaction. If the player constantly speaks to the same NPC over and over without moving to another area, the game will eventually crash from running out of memory.
  • At launch, the remake of Pharaoh has a bug that will prevent armies from appearing, meaning the city is safe for the rest of the level... but the game also automatically pauses itself at the start of every month.
  • The Pinball Arcade is a labor of love, a long-term project to digitize as many notable pinball machines as possible. Though a noble effort, it's pretty clear the people at Farsight Studios are pinball fans first, programmers second:
    • A lot of the stranger glitches stem from the fact that when a ball enters a ramp, loop, or another fixed path, rather than letting physics do its thing, the game will move the ball along that path once it detects the ball has reached the entrance at a sufficient speed. This results in the ball taking the routes of those fixed paths even when it's not actually there, most notably if the ball flies over an entrance or under a raised path.
    • This ball-guiding programming exists in the first place because the physics themselves are improperly programmed. Without it, the ball will occasionally and unpredictably accelerate, decelerate, go through solid objects, or fly off at angles; this happens the most in the Whirlpool in White Water, where the ball will occasionally fly right off the table, as (apparently) there's no protective glass. Oddly, the programmers seem to have taken this into account, as the game immediately provides a replacement ball when this happens.
    • A bigger issue, however, is Farsight's Skewed Priorities as far as what platforms they'll support despite them porting the game to every major platform. For some reason, they prefer the PlayStation 3, giving it the most priority with updates, patches, and DLC while every other platform - including the PlayStation 4 - either receives them months later or not at all, resulting in the PS3 version being relatively smooth and free of major glitches while everything else is a mess. This also applies to the mobile landscape in that particular OS updates, both on iOS and on Android, cause Pinball Arcade or its variants to glitch to nigh-unplayable levels while they never get fixed. Meanwhile, patches continue to be released on the mobile versions to fix minor, rarely-occurring problems while issues like there being only the sound of the flippers and a completely absent Heads-Up Display remain unaddressed years later. It's as if the programmers at Farsight assume players never update their devices.
  • The original PlanetSide, a 2003 MMOFPS with up to 111 players on each of the three empires fighting on each individual 20×20km continent, handled everything clientside (thus "Clientside" still being a Fan Nickname for the game), with the game only checking up with what the server knows every couple seconds, which caused a significant amount of the gameplay to be devoted to exploiting the hilariously bad netcode (for example, "ADADA" strafing relied on the game not realizing when players shift their strafing direction, causing them to teleport from side to side on other players' screens). Because everything was clientside, the game was also one of the easiest MMO games to hack, with common hacks including warping all players on a continent to stand directly in front of you (on your screen) and kill them, causing players from across the continent to spontaneously fall over dead, or enabling a hack to disable weapon cone-of-fire, which would result in sniper shotguns and Gatling guns that could pick off players from a thousand meters out. Even without hacks, the game was pitifully easy to exploit - players could stand somewhere safe, unplug their Ethernet cable, then run around the battlefield knifing enemy players to death. Once the player was happy with how many kills they got, the player could then plug the cable back in and bask in huge amounts of XP as half the battlefield suddenly dropped over dead (this exploit was eventually fixed by locking the game's controls if the server didn't respond for a few seconds). For a long time, having a certain type of dual-core processor would cause the game to run in turbo mode, causing vehicle and players to move and fire several times faster than normal. Thankfully, Planetside 2 uses much more serverside authentication, which has fixed almost all the issues with the first game's idiotic netcode.
  • Pool of Radiance: Ruins of Myth Drannor had a severe uninstaller issue that was discovered after release: it ruined the registry of the system because the uninstaller tried to delete the wrong registry values - which belonged to Windows 9x at the time - and system DirectX files too (proper uninstallers don't touch system files, even if they installed anything there to make the game work), and according to a few who played the game and were affected by this bug, it happens on top of another bug that renders the game itself unwinnable and unplayable. The update at the time that claimed to fix the bug instead told buyers to copy the contents of the installation disk, and use the fixed installer provided by the patch.
  • While bootlegs aren't exactly well-programmed in the first place, Fargus Multimedia's Russian bootleg of Putt-Putt Saves the Zoo takes it to a whole new level. While it already had wrong voice clips for characters and nonexistent lip-sync, when it was originally released, the game's W32 file - which executes the game - was blank, making it completely unplayable. This was only fixed when fans stuck a W32 from the US version onto it.
  • The uninstaller for early betas of Realm of the Mad God's Unity version would delete all files in the folder containing the game's folder (for example, if the game was installed in C:\Program Files\RotMG, the uninstaller would delete all of the Program Files), which almost invariably would lead to unrelated files being deleted or worst case scenario the entire PC being bricked.
  • Red Alert 3: For God knows what reason, if a unit dies while you're preparing an Attack-Move command, the command turns into a Move, meaning your units will now charge into the mass of enemies you told them to engage instead of attacking. Just in case the ludicrously incompetent pathfinding (ships like to beach themselves, units often get stuck on terrain, go exactly the wrong way around an obstacle, slow to a crawl when moving in formation, or otherwise treat orders as particularly unappealing suggestions) wasn't driving you up the wall.
  • Red Steel 2 is a wonderfully made game on the Wii that looks and plays very crisply on the surface, with 60fps and graphics that rival the PS3 and Xbox 360. Yet all of this comes at a steep technical price: intense disc activity. For almost the entire time you play this game, you can hear it noisily strain your Wii's disc drive as it struggles to load everything around you and keep a high framerate. Sometimes, it gets so bad, the game actually has to briefly stop itself in an emergency to spend a few irritating seconds "[r]eading [the] disc". Hope no one endures the shame of having to say Red Steel 2 broke their Wii.
  • Saints Row 2 suffers the same thing as Grand Theft Auto IV: Disproportionately heavy performance on most common computers of the time, and graphical settings so poorly done that setting the quality to low made the game run slower. Unlike GTA IV, which was finally fixed with fanmade mods and patches, attempts to fix Saints Row 2 (including modding it, releasing it to GOG, and porting it to Linux) have been a failure so far. This was later revealed to be because the PC version of the game was a third-party effort, and when their effort was revealed to be half-hearted at best, Volition fired them from the project, declared fixing it hopeless, and washed their hands of the port entirely. Thankfully, the source-code was recovered and a small group of developers decided to work on an updated version to both make the game run acceptably and integrate the DLC that was never released for PC, but time will tell.
  • Second Life is notorious for unusually large amounts of lag due to poor or nonexistent optimization. Even medium-end computers using the lowest graphic settings suffer from high lag. Some of this can be attributed to many content creators having bloat on their creations, such as using 1024x1024 textures on objects where no large texture is necessary, and models having extremely high numbers of polygons. The engine mainly uses CPU instead of GPU which often creates problems as well, among other causes.
  • The Sims series:
    • The Sims 3:
      • It is known for having a large number of expansion packs... and for their horribly wasteful installation method. Every time you install an expansion pack, another copy of an identical set of help files (in all languages) is installed on the machine. Plus, if you uninstall The Sims 3, it removes the majority of the expansions' content - but not the extra help files, for which you must run the expansion pack's uninstaller.
      • The game's engine itself was so broken that it made Bethesda games at launch look perfect: there's a lot of game-breaking bugs that are only fixable via fanmade tweaks, and an FPS limiter on high-end hardware is necessary to prevent the system from overheating due to the lack of an internal FPS limiter. Even then the game (as of the last update) suffers from a lot of Loads and Loads of Loading and being sluggish, with lags and stutters, even when played on systems released much later than the game's last expansion and update.
      • Updating the PC's GPU driver results in a complete reset of all game settings, including those not related to graphics (e.g. sound volume, Sims' life expectancy...).
    • The Sims 4 improve upon the Sim's AI making them pathfind better... except that Sim action queues, including NPC ones, will clog the game logic, occassionally causing Sims freeze to command. The issue is complicated with the ability to fast forward the game that will confuse the NPC Sim queue logic as well... There's mods like Unclogger and Lag Fix, but the fix aren't guaranteed.
  • The Alpha release of the fangame Sonic 2 HD sent a few people panicking when an antivirus employee warned of a possible keylogger contained within the demo, and this was spread around through a user relaying the word without explaining further. As it turns out, the "keylogger" is caused by a badly programmed DirectInput handler, causing the game to detect inputs even when the game's window is not in focus, a behavior similar to some actual keyloggers.
  • Sonic the Hedgehog (2006) is an Obvious Beta - probably the most infamous example from a AAA-publisher - that's rightly criticized for all manner of issues, but probably the biggest complaint is its Loads and Loads of Loading, particularly in the hub worlds. This is because the game loads the entire hub world whether it's needed or not, even when you're already in the hub world.
    • To give you an idea of how ridiculous the loading could get, talking to an NPC would cause the game to reload the entire hub world from the disc - even though you were already in the hub world. Then once it's finished, the NPC would speak a single line of dialogue, and then it would load the entire hub world again. This is only subverted on one of the missions in Shadow's story, as you are given the instructions first, and then it loads once. You'd think they would make all the missions like this to bypass the very ludicrous and frequent load times.
    • This issue is demonstrated well during one of the boss fights - one bug allows you to explore the whole hub world, even though only a small portion of it is used in the fight. Sure, the textures for certain locations won't load, but the coding will.
    • Thanks to a typo in one of the game's scripts, Sonic's energy meter never drains like it's supposed to. This allows you to infinitely use many of his abilities, breaking the game wide open.
  • Space Empires V, unlike all its predecessors, is notorious for being a resource hog, bringing even the mightiest of PCs to their knees, despite running only on DirectX 8:
    • The battle replay files generated by the game, instead of storing "Ship A shot at ship B and hit it for 15 damage to the armor.", stores "Ship A fired bullet X. 50 milliseconds later, bullet X has moved a few pixels. After another 50 milliseconds, bullet X has moved a few more pixels. Repeat ad infinitum. Bullet X hit ship B for 15 damage to the armor." Thus, battle replays are frequently in the tens of megabytes - per turn!
    • Every time you load the ship list screen, the game loads into memory all the data about all the ships in the game, regardless of if it is actually going to be used in the list's current view mode, delaying the screen's loading by upwards of a second. Fortunately, you can disable the loading of some of the larger bits of data, such as order queues, but then you can't see it in the list when you bring up the views that use it...
    • Processing a turn for a multiplayer game when the game is set to fullscreen mode is much slower than processing the same turn when the game is set to windowed mode, in which the game doesn't bother drawing anything but just processes in the background. (In fact, everything is slower in fullscreen mode for some reason.)
    • The game has a scripting language that you can use to write random event and espionage scripts... but the language is horribly broken in the way it handles the order of operations. Calculating 5 + 3 × 4 will give you 32, not 17 - but that's just the tip of the iceberg. Somehow you can manage to take 1, then repeatedly subtract and add 1 from it alternatingly, and wind up with any negative number you want, simply by repeating the subtraction-addition cycle the right number of times!
  • Splinter Cell: Blacklist is plagued with issues, such as poor multiplayer support because people can't seem to connect to one another (and everything goes through Ubisoft's infamous UPlay service) and where the game's saves are stored. You would think if you regularly back up your saves, that they would live in the My Documents folder or the App Data folder. Nope, they live where UPlay is installed, which is usually in the Program Files folder. And to make matters even worse, the permissions for the saves folder are left open to anyone, which wouldn't be a problem... if you don't consider everything in Program Files requires admin privileges to write files into.
  • Super Mario Superstar 1, a notoriously bad but long-gone Super Mario World Game Mod, has a bizarre case of this in the final battle. Not only does the final boss fail to do anything (in fact, nobody can figure out what it was supposed to do) and make it Unintentionally Unwinnable, but via some absolute miracle of shoddy programming... the boss' graphics glitch if you enter its room through one door and not the other. As in, you go through one level ID and it appears correctly, you go from another level ID and the graphics are glitched tiles.
  • Super Monkey Daibouken. Despite being for the Famicom, as opposed to the Famicom Disk System, it had to load regularly. And that's to say nothing of the game's battle system, which is too inconsistent to be remotely coherent.
  • Super Smash Bros. Ultimate has one major example that can easily force a struggling player to the point of ragequitting. Restarting a failed spirit battle? Hope you're ready for Loads and Loads of Loading—the game has to individually unload and reload every single asset used in the fight every time you restart. Even if you didn't go through the menu. In fact, that's actually slightly faster than just restarting the battle directly.
  • When it was announced that the PC version of Titanfall would require a massive 48GB of hard drive space, many assumed that it was a sign of developers finally starting to include visual assets that far exceed those of typical 360/PS3 ports. As it actually turned out, a whopping 35GB of the game's installation was taken up by uncompressed audio files, in every single one of the game's 20 languages. The developers' rationale for this was because they thought the audio decompression would take up too much CPU power on older and/or bargain-basement PCs... never mind the fact that any CPU which struggles with anything as simple as audio decoding probably wouldn't be powerful enough to run the game in the first place. Had they compressed the audio files and actually made separate installers for different languages, the game install would probably only be about 15GB.
  • A special case goes towards the Doodle system in Toontown Online. It seemed fine at first, but when private servers arose after the game's closure, Doodles couldn't be implemented as-is because they put a ton of strain on the servers. You see, the coding for Doodles was very poorly written, and no one knew this because Disney has tons of money and, as such, had access to servers where the strain didn't matter. The problem wasn't noticed until much later on, and fans had to rewrite the code from scratch just so they could be implemented.
  • The Touhou Project series has problems with online play:
    • The fighting games by Twilight Frontier have very poor netcode. For one, you have to go out of your way to even get it to work (it requires you to port forward your router, which can be tedious or risky depending on what kind of router you have). Then there's the fact that it can't even handle pings that are too high, which causes it to softlock the games on a black screen and force you to close it out manually. Because of this, the Lobby system introduced in an update for Urban Legend in Limbo completely broke for people outside Japan, forcing everyone else to continue using the archaic method of directly connecting to each other's IP address. They didn't even bother fixing this for Antinomy of Common Flowers' Steam release, only adding an option for English subtitles (not that the translation is any good). They clearly anticipated people outside of Japan to buy it, so why they didn't bother fixing the online for a competitive fighting game is anyone's guess.
    • The online mode of Touhou Juuouen ~ Unfinished Dream of All Living Ghost works so badly that the community quickly gave up on it. As shown in this video, it will try to connect you to another player regardless of where they are in the world and lower the FPS depending on how bad the connection is, which can result in the game running at below 10 FPS even in the menus rendering it completely unplayable. Even if you're lucky enough to connect to someone close and get it to run at 60 FPS, there'll still be micro stutters and slowdown that will desync the game and mess up everything. There's even a bug where your opponent's game thinks you're playing the wrong character.
  • Undertale, being made almost entirely by one Toby Fox, has a few issues:
    • All of the RNG-based Easter Eggs were initially Dummied Out by accident. This is because Fox didn't realize that the string reading the values that triggered them was case-sensitive.
    • The game's dialogue system contains hidden "control strings" which dictate, among other things, whether to show the next line or close the current text box and continue when the "advance dialogue" key is pressed. As this Reddit post shows, the "close text box" string is sometimes used when the "show next line" string should be used instead, resulting in some lines of dialogue never showing up. This can cause some unintentionally Orphaned Setups when the skipped lines are the punchline of a joke.
    • The sequel, Deltarune, has a much more severe error than the ones in Undertale: the uninstaller of the initial release of the "SURVEY_PROGRAM" deletes the directory it was installed in instead of just the contents in the folder itself. Fox admitted this could have "catastrophic" consequences, and advised people to not use the game's uninstall tool. Tellingly, he would hire a larger staff to help him out with subsequent chapters, both to ensure that he could finish the game within his lifetime and to reduce the risk of further programming snafus like this.
  • Prior to the 2022 UI update, the world search function in the Oculus Quest 2 port of VRChat was completely broken. It worked fine once or twice, but after that, searches would have fewer results (even if a previous search was repeated), and eventually it would get stuck on said results, and would be the only ones that show up regardless of what the players puts in. This would also affect worlds that appear on the Quick Menu, as it'd eventually stop caching worlds after so many searches, only loading the first four or five worlds in each section. Until the afformentioned UI update remedied the problem, many Quest players had to constantly close out of the game and relaunch it whenever they wanted to do a new search. Or alternatively, they had the VRChat website on hand, and just searched there instead, as it allows players to send invites to themselves.
  • Welcome to Ponyville was a relatively short My Little Pony: Friendship Is Magic visual novel, and yet it was over a full gigabyte in size. This was due to the fact that the programmers appeared to have no knowledge of data compression: for example, a brief audio file for a closing door was over 32 MB (with several minutes of silence to boot). Some have estimated that if the audio and sprite files were properly compressed and trimmed, the game could have been 60-90 MB.
    • To make matters worse, after one reviewer criticized the game's technical flaws, they proceeded to block his social media accounts so that he could no longer contact them and refused to take any advice from other programmers. Some suspect that their shutdown was not due to hackers like they claimed, but embarrassment after an unofficial 5MB Flash port was released on the internet.
    • Even worse, a lot of the files in the game were unused. Every single folder has at least one file that's never called in the game. While it's normal for games to have unused content, the issue is that these textures weren't scaled to run in a game with a 640×480 resolution, along with them being huge in size. Considering the quantity of these files, this further compounds the reason why a game of this type was so unusually large.
  • Wildlife Camp is a PC game released in 2010 that doesn't have an option to put the game in windowed mode, one of the most basic features that a game can have. This would be bad enough on its own, but if you open up the game's options.ini file, you'll find that the game does have a fullscreen toggle - the line of code that enables the button for it to appear has just been commented out. Re-enabling the code causes the fullscreen toggle to appear in-game and work without a problem, which begs the question of why it was Dummied Out in the first place.
  • The initial rollout of The Witcher had atrociously bad back-end code. This is best seen when upgrading to the Enhanced Edition, as despite the latter adding no small amount of content, the same computers loaded as much as 80% faster than before. That's the difference a little optimization can make.
    • Playing Poker Dice in the first title is heavily prone to crashing the entire OS, to the point where it forces a reboot.
  • WWE 2K20 suffered from a crippling (yet hilariously appropriate) Y2K-like bug where several modes stopped working the minute January 1st, 2020 ticked in. The only way to get the game working again was to set your machine's clock back before that date, and that's only if your version of the game wasn't tied to the servers. Thankfully, this was patched. Unfortunately most of the other examples of a Game-Breaking Bug weren't, WWE2K20 was such a disaster that developer Visual Concepts took the extraordinary step of cancelling WWE2K21 outrightnote  to completely rebuild the series from scratch. This paid off and WWE2K22 was met with much better reception.
  • There's one point in X-Men (1993) where you have to restart your Genesis to continue. A fun idea in theory, but the issue is that a lot of later Genesis models like the Nomad lack a Reset button entirely, and powering the system off and then on doesn't count as restarting the system. Even then, it's really finicky on whether or not it actually works; you have to press Reset long enough to where it sends the actual signal, or else the game just soft resets entirely.
  • X-Wing Alliance: Reflective of the game's Obvious Beta status, there's quite a few instances of this:
    • In the family campaign mission to collect an Imperial probe, the player must fly past a customs checkpoint that falls under attack by pirates. At one point a civilian gunship jumps into the scene; it then proceeds to crash into the nearby space station and explode on impact.
    • In the fourth campaign you must inspect an entire Imperial/Black Sun convoy; one freighter randomly explodes when you jump in, often resulting in "Mission Failed".
    • In one family mission to steal Viraxo supplies for the Rebel base at the Vergesso Asteroids, one of the family freighters may randomly explode just as the mission is nearing its end, also resulting in "Mission Failed".
    • In the fifth campaign's final mission to destroy the Hurrim pirates' secret base, one of your objectives is to ensure your allies rescue a series of Mobquet Transports captured by the enemy. Some of them will not move after they have been repaired. In the same mission, the Rebel frigate Jericho (listed in the objectives as "must return to the fleet") will sometimes make a hyperspace jump to nowhere when exiting the battle area, leaving the mission technically unresolved despite all other objectives being complete and no enemy forces remaining.
    • There are numerous instances in the game where ships will randomly crash due to temperamental collision detection, and others where some vessels simply won't do anything even in mission critical situations, serving strictly as set pieces.
    • In your mission to capture the shuttle Tydirium, another Imperial shuttle will randomly take off, usually crashing into the hangar bay of the station and exploding.
    • In an early family mission, Aeron is forced to abandon the Selu, renamed the Venix when the Viraxo disable it during a covert op. Despite destroying it being a mission-critical condition, you are still called out for attacking a friendly craft and it counts against your score.
    • Another mission in the fourth campaign has you protecting the transfer of an Imperial computer from ship to ship until it is finally delivered to a Rebel cruiser. One of the ships in the chain will remain stationary rather than hypering away after sending off the computer, allowing itself to be destroyed and resulting in "Mission Failed" - particularly aggravating as (1) its survival is not listed among the victory conditions until after it is destroyed, and (2) it can still trigger after the mission has been "won", invalidating all of your efforts.
    • In the final mission of the third campaign, sticking around to blow up the Star Destroyer after the mission is completed will retroactively cause mission failure, as Shuttle AA-23 will suddenly be listed as destroyed despite being safely returned to the Rebel fleet.
  • Zero Gear, a rather forgettable Mario Kart clone, isn't problematic in and of itself... but the nature of its Steam integration in 2010 allowed it to be used to play any Steam-locked game you wanted, without owning the gameExplanation. This was most notably used by hackers to bypass VAC bans, since the same vulnerability existed in the free demo for the game, making it trivial to make a new account and get back into cheating without having to buy the game again.
    • The same method was used by various crackers including the now-arrested Voksi (one of the infamous crackers who boasted of capabilities to play online with pirated games and tricking Denuvo instead of removing it) but using a different game to bypass, which is Space War, a hidden to normal user game created to demonstrate aspects of the Steamworks API for developers.

Top