Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Cleretic
Feb 3, 2010


Ignore my posts!
I'm aggressively wrong about everything!
Spinning off from the PYF Game Glitch thread, where people started talking about the things that aren't actually bugs, they're in fact entirely working as intended, but are just weirdly janky ways developers have made games do what they need it to. Turns out there's a lot of really fun ones!

A few quick highlights from the glitch thread, including the thread namesakes:

Arrath posted:

Yeah its very fun trivia, like how early versions of WoW didn't actually support most quest objectives beyond "kill X" so pulling a lever or turning a valve for a quest would fire a script that spawns and kills a rabbit somewhere in the game world to kludge around it.

TooMuchAbstraction posted:

My game has quite good support for ships and guns, because those are two core aspects of the game. It has...rather less support for anything else. I did make planes their own first-class citizens, but they get launched by invisible plane guns that I position on top of aircraft carriers -- and it's the gun, not the ship, that the plane returns to when it needs to rearm or refuel. But when it comes to bosses? They're all ships or guns. The flying battleship is a ship, of course -- in fact, it uses submarine logic to float at a fixed altitude instead of rocking with the ocean's movement. It just floats above the water instead of belowe it. The submarine boss is a ship, and when it (in a cinematic) flips over and turns into a battleship, I despawn the submarine and spawn the battleship. The giant volcano boss is a gun. The train is a ship, and so are the flying train tracks it travels on.

Philippe posted:

It's like the Fallout 3 thing from awhile back, where the Presidental metro train you ride is just a guy wearing the metro as a hat, running along a predetermined path under the world. Gamebryo, man. Never change.

Cleretic posted:

I feel like clever janky ways that games implement things is at least glitch-adjacent, and able to be appreciated in the same way. Like when you learn that in FFVI, every single in-combat-engine cutscene with Kefka takes place when your party has less than four people in it, because Kefka's programmed as a temporary party member solely so they can load him into those scenes.

SpacePig posted:

This one's always one of my favorites with this type of stuff. It's not complex or anything, it just makes me laugh.
https://twitter.com/the_rabbit42/status/1045045419280125953

Adbot
ADBOT LOVES YOU

Kennel
May 1, 2008

BAWWW-UNH!
Classic:
"Back on Wing Commander 1 we were getting an exception from our EMM386 memory manager when we exited the game. We'd clear the screen and a single line would print out, something like 'EMM386 Memory manager error. Blah blah blah.' We had to ship ASAP. So I hex edited the error in the memory manager itself to read 'Thank you for playing Wing Commander.'"

Paper Tiger
Jun 17, 2007

🖨️🐯torn apart by idle hands

The developers of Outer Wilds faced a challenge where they needed to ensure that floating point calculations near the player consistently used smaller / more precise coordinate values, no matter where the player traveled to in the solar system. Because one of the core experiences of the game is traveling between planets in a spaceship, the developers didn't want to partition the game world into a bunch of different zones each with their own coordinate spaces.

What they did was have player movement actually apply an opposite force to *every other physics object in the game*, such that the solar system moves around the player rather than the player moving around the solar system. By doing this, the player stayed at the origin of the game space, and the low coordinate values were always the ones nearest the player. Sure, calculations happening on the other side of the solar system had to use larger / less precise coordinates, but who cares, that's on the other side of the solar system! Applying forces to every object in the game with every movement didn't end up affecting performance too much, since everything was always having physics simulated on it all the time anyway.

Discussion of it starts at 31:47 in this video (I recommend watching the full thing, it's pretty cool):
https://www.youtube.com/watch?v=LbY0mBXKKT0&t=1907s

Commander Keene
Dec 21, 2016

Faster than the others



Lol the game literally uses Futurama space drives.

Humbug Scoolbus
Apr 25, 2008

The scarlet letter was her passport into regions where other women dared not tread. Shame, Despair, Solitude! These had been her teachers, stern and wild ones, and they had made her strong, but taught her much amiss.
Clapping Larry
When I was working on Hasbro's Trivial Pursuit game it allowed online internet play (for a casual game in 1998 no less). We noticed that the scores would drift and the game would go out of sync and we had less than two weeks to Gold Master. We told the dev team and all of a sudden there was now a new 'THINKING' screen and mysteriously the sync issues were gone. I cornered the programming lead and asked him what the hell did you do because I smelled chicanery. He laughed and told me, they saved the current scores then intentionally crashed the game process after spawning a secondary process that first brought up the 'THINKING' screen and then relaunched and reconnected the game. When the game was reconnected the secondary process was killed and the game continued on. Apparently it was easier to do that than to try to maintain any kind of sync with the online service that Hasbro was mandating.

Captain Hygiene
Sep 17, 2007

You mess with the crabbo...



Let us never forget Creepy Watson, a character working as intended to get around his unfortunate lack of walking animations

https://www.youtube.com/watch?v=13YlEPwOfmk

Arrath
Apr 14, 2011


Kennel posted:

Classic:
"Back on Wing Commander 1 we were getting an exception from our EMM386 memory manager when we exited the game. We'd clear the screen and a single line would print out, something like 'EMM386 Memory manager error. Blah blah blah.' We had to ship ASAP. So I hex edited the error in the memory manager itself to read 'Thank you for playing Wing Commander.'"

One of the timeless classics. I've coded this reference into excel macros and other random poo poo over the years.

HelleSpud
Apr 1, 2010
Mickey Mania and Sonic 3D's secret time warp/level select was actually the game crashing. Sega wouldn't approve games that crashed.

https://www.youtube.com/watch?v=i9bkKw32dGw

Video is from the guy who made the levels.

HelleSpud
Apr 1, 2010

Inspector Gesicht posted:

There was that Twitter thread a while back about how Vagrant Story was a graphical masterpiece, despite being the first 3d project by the team that did the largely 2d FF tactics. The game cheated the effect of soft lighting by straight up painting the environments and character models with lit areas.

Fifty Farts
Dec 23, 2013

- Meticulously Researched
- Peer-reviewed

HelleSpud posted:

Mickey Mania and Sonic 3D's secret time warp/level select was actually the game crashing. Sega wouldn't approve games that crashed.

https://www.youtube.com/watch?v=i9bkKw32dGw

Video is from the guy who made the levels.

The last time one of that guy's videos (probably that same one) got linked, I spent an hour or so watching his stuff and he's a perfect fit for this thread.

Kikas
Oct 30, 2012

Wait isn't this similar to what Resident Evil 1 does? It has static cameras because the levels are actually few basic shapes on top of extremely detailed images with properly alligned collision so it looks like it's a very impressive level.

Cleretic
Feb 3, 2010


Ignore my posts!
I'm aggressively wrong about everything!

Kikas posted:

Wait isn't this similar to what Resident Evil 1 does? It has static cameras because the levels are actually few basic shapes on top of extremely detailed images with properly alligned collision so it looks like it's a very impressive level.

Honestly, one of the classic examples for this thread is that pretty much every room you only see from one angle (or from multiple angles but not needing the whole room) are built like stage sets combined with that invisible bridge in Indiana Jones, and basically only exist to be seen from exactly that angle.

ninjahedgehog
Feb 17, 2011

It's time to kick the tires and light the fires, Big Bird.


Titanfall 2's most famous level, Effect and Cause (spoilered because it's an insanely cool level and if you haven't played TF2 yet you should) works by having the present and past versions of the level stacked on top of each other, and all your time-travel wristwatch actually does is teleport you up and down on the Y axis.

Not as buckwild as some of the ones mentioned already, but I like it for its sheer simplicity to simulate something you'd think would be really complex.

Captain Hygiene
Sep 17, 2007

You mess with the crabbo...



ninjahedgehog posted:

Titanfall 2's most famous level, Effect and Cause (spoilered because it's an insanely cool level and if you haven't played TF2 yet you should) works by having the present and past versions of the level stacked on top of each other, and all your time-travel wristwatch actually does is teleport you up and down on the Y axis.

Not as buckwild as some of the ones mentioned already, but I like it for its sheer simplicity to simulate something you'd think would be really complex.

That's pretty neat, I love that level but somehow I'm not super surprised that they worked out a pretty simple way to do that on the fly.

Humbug Scoolbus
Apr 25, 2008

The scarlet letter was her passport into regions where other women dared not tread. Shame, Despair, Solitude! These had been her teachers, stern and wild ones, and they had made her strong, but taught her much amiss.
Clapping Larry

ninjahedgehog posted:

Titanfall 2's most famous level, Effect and Cause (spoilered because it's an insanely cool level and if you haven't played TF2 yet you should) works by having the present and past versions of the level stacked on top of each other, and all your time-travel wristwatch actually does is teleport you up and down on the Y axis.

Not as buckwild as some of the ones mentioned already, but I like it for its sheer simplicity to simulate something you'd think would be really complex.

That's the exact same way Dishonored 2 does it with 'Crack in the Slab' (Aramis Stilton's Mansion) (Only they have three levels stacked)

Orange Fluffy Sheep
Jul 26, 2008

Bad EXP received
The Cinnabar coast glitch in Pokemon Red/Blue happens because, in order to display the trainer name OLD MAN in the catching tutorial, the game temporarily changes your name to OLD MAN and stores your real name in the encounter table, which is normally empty in a town.

Normally this is fine as encounter data is updated when going to an area with random encounters. But in another effort saving measure, the encounter table isn't updated when going between areas without encounters, like, say, two towns.

So you go from one town to another, and the game uses your name as encounter data, because it put it in the encounter table for safe keeping and didn't change it out because it didn't see a need to.

The levels get past 100 because letters are that high of index number. Your name is a variable width field, so the game includes a terminator character to specify the end of the name; it's what makes M' show up regardless.

A few shortcuts to ease up on the game boy's weak processor, and it results in one of the most famous glitches of all time.

ninjahedgehog
Feb 17, 2011

It's time to kick the tires and light the fires, Big Bird.


Orange Fluffy Sheep posted:

The Cinnabar coast glitch in Pokemon Red/Blue happens because, in order to display the trainer name OLD MAN in the catching tutorial, the game temporarily changes your name to OLD MAN and stores your real name in the encounter table, which is normally empty in a town.

Normally this is fine as encounter data is updated when going to an area with random encounters. But in another effort saving measure, the encounter table isn't updated when going between areas without encounters, like, say, two towns.

So you go from one town to another, and the game uses your name as encounter data, because it put it in the encounter table for safe keeping and didn't change it out because it didn't see a need to.

The levels get past 100 because letters are that high of index number. Your name is a variable width field, so the game includes a terminator character to specify the end of the name; it's what makes M' show up regardless.

A few shortcuts to ease up on the game boy's weak processor, and it results in one of the most famous glitches of all time.

This is also why every kid on the playground had different Pokemon pop up when they were looking for MissingNo -- I remember I kept getting Mewtwos while a friend of mine got a bunch of Snorlaxes. Actually catching MissingNo and using him in fights hosed up your game something fierce as I recall though

Chamale
Jul 11, 2010

I'm helping!



ninjahedgehog posted:

This is also why every kid on the playground had different Pokemon pop up when they were looking for MissingNo -- I remember I kept getting Mewtwos while a friend of mine got a bunch of Snorlaxes. Actually catching MissingNo and using him in fights hosed up your game something fierce as I recall though

Your name had a capital D as the 3rd, 5th, or 7th letter. Your friend had a capital E in one of those spots. Missingno's sprite is 8x8 blocks, but the normal maximum is 7x7, so it overflows into the Hall of Fame data and scrambles it. If you catch it, it wreaks havoc on other sprites, but it doesn't make the game unplayable. Using a level 0 'M can cause divide by zero errors that crash the game, though.

Enos Shenk
Nov 3, 2011


A fun one about Skyrim. In that engine the NPCs are actually fairly clever. They have a schedule set up by the designer, like from 0:00 - 5:00 sleep, 5:00-7:00 eat, etc. They determine their own targets for those actions in the area they're contained in (called a cell). This is why you get weird stuff like NPC High Lords having a nap in a servant's bed. Because the script just says "Locate the nearest bed tagged object and activate it"

All NPCs must also exist somewhere. You can't just spawn in a character to do a little scene, they have to have a home cell that they chill in, and bringing them out into the world is just teleporting them out. This is how the courier dude works.

Sometimes in the game a character called the Courier will approach you and give you a letter. The Courier must always exist somewhere, so he's stored in his own little inaccessible cell and teleported out to freedom when he needs to do his job. You can use cheat codes to warp to his cell, and find him just hanging out in a tiny little stone room. Occasionally he gets released into the world without any clothes, I tried to debug that for a mod once and I never could find what caused that to happen.

There's a couple quests where you have to track down an NPC based on a schedule you're given. I believe there's one where you have to assassinate a head guard guy for the Dark Brotherhood. Well, he's executing a scripted in schedule saying "On this day be in this cell, on that day be in this other cell" This quest frustrates a lot of players because if you try to fast travel to where he'll be, the game recalculates all the NPC schedules as well as the day, so by the time you arrive at the location he's moved on.

Zamujasa
Oct 27, 2010



Bread Liar
Puggsy (Genesis/MD) does a lot of its effects by using triggers and teleporters for the little physics objects. For example, a puzzle might involve 'using' an item on a switch, which just teleports that item away into a small off-screen tube where it falls and triggers another switch that does something elsewhere in the level.

Here's one example from a very simple level view. When you trigger the puzzle in this stage, an object falls through the various points outside the stage on the right. As the object falls through each of the triggers on the way down, it causes one of the level blocks to update, creating a sort of animation.



If you know what to look for, you can sometimes hear objects bouncing around off-screen. :v:

Orange Fluffy Sheep
Jul 26, 2008

Bad EXP received

ninjahedgehog posted:

This is also why every kid on the playground had different Pokemon pop up when they were looking for MissingNo -- I remember I kept getting Mewtwos while a friend of mine got a bunch of Snorlaxes. Actually catching MissingNo and using him in fights hosed up your game something fierce as I recall though

Just encountering the jerk, unless it's the fossils or the ghost, ruins Hall of Fame data, because, in a system designed for 56x56 pixel graphics, is something like 104x104, which is over three times the graphics to draw. Turns out, Hall of Fame data is juuuuust after the RAM dedicated to drawing graphics, so the oversized sprite overflows into that space.

That's also why it lags when you encounter one, because it takes so long to draw.

Neito
Feb 18, 2009

😌Finally, an avatar the describes my love of tech❤️‍💻, my love of anime💖🎎, and why I'll never see a real girl 🙆‍♀️naked😭.

Kikas posted:

Wait isn't this similar to what Resident Evil 1 does? It has static cameras because the levels are actually few basic shapes on top of extremely detailed images with properly alligned collision so it looks like it's a very impressive level.

It's how a lot of pre-rendered stuff worked, back in the PS1/Saturn era. Use a powerful computer to bust out a neat scene and then take a screenshot of it and throw it on a CD, basically.

Chamale posted:

Your name had a capital D as the 3rd, 5th, or 7th letter. Your friend had a capital E in one of those spots. Missingno's sprite is 8x8 blocks, but the normal maximum is 7x7, so it overflows into the Hall of Fame data and scrambles it. If you catch it, it wreaks havoc on other sprites, but it doesn't make the game unplayable. Using a level 0 'M can cause divide by zero errors that crash the game, though.

IIRC level 0 pokemon actually cause an issue with the formula for EXP that was used by Gen 1 and 2; specifically my memory is that the formula for Slow growth-rate pokemon would spit out a negative at levels 1 and 2, so they solved that problem by preventing the generator from ever spitting out those levels (that's also why egg pokemon started at level 5 in G/S/C but level 1 in R/S/E, which used a lookup table instead of a formula)

Enos Shenk posted:

A fun one about Skyrim. In that engine the NPCs are actually fairly clever. They have a schedule set up by the designer, like from 0:00 - 5:00 sleep, 5:00-7:00 eat, etc. They determine their own targets for those actions in the area they're contained in (called a cell). This is why you get weird stuff like NPC High Lords having a nap in a servant's bed. Because the script just says "Locate the nearest bed tagged object and activate it"

All NPCs must also exist somewhere. You can't just spawn in a character to do a little scene, they have to have a home cell that they chill in, and bringing them out into the world is just teleporting them out. This is how the courier dude works.

Sometimes in the game a character called the Courier will approach you and give you a letter. The Courier must always exist somewhere, so he's stored in his own little inaccessible cell and teleported out to freedom when he needs to do his job. You can use cheat codes to warp to his cell, and find him just hanging out in a tiny little stone room. Occasionally he gets released into the world without any clothes, I tried to debug that for a mod once and I never could find what caused that to happen.

There's a couple quests where you have to track down an NPC based on a schedule you're given. I believe there's one where you have to assassinate a head guard guy for the Dark Brotherhood. Well, he's executing a scripted in schedule saying "On this day be in this cell, on that day be in this other cell" This quest frustrates a lot of players because if you try to fast travel to where he'll be, the game recalculates all the NPC schedules as well as the day, so by the time you arrive at the location he's moved on.

Another one of those emergent situations was the treasure-hunting foxes in Sssssssssssskyrim? Basically, foxes want to run away from you, and they want to run a certain number of navmesh triangles away from you; in the open, where you usually encounter a fox, the navmesh has big, less detailed triangles, but around, say, the areas where there were little treasure troves would have smaller, higher-precision triangles. The fox, however, was programmed specifically to run X triangles away from the player, and would satisfy this in as quick a way as it could, which would tend to make treasure troves and secret areas act as attractors for it's algo.

Zamujasa posted:

Puggsy (Genesis/MD) does a lot of its effects by using triggers and teleporters for the little physics objects. For example, a puzzle might involve 'using' an item on a switch, which just teleports that item away into a small off-screen tube where it falls and triggers another switch that does something elsewhere in the level.

Here's one example from a very simple level view. When you trigger the puzzle in this stage, an object falls through the various points outside the stage on the right. As the object falls through each of the triggers on the way down, it causes one of the level blocks to update, creating a sort of animation.



If you know what to look for, you can sometimes hear objects bouncing around off-screen. :v:

Sounds a lot like what people will do in Super Mario Maker to get timers and things in a system that's not really built to have those. What's old is new again, eh?

Orange Fluffy Sheep posted:

Just encountering the jerk, unless it's the fossils or the ghost, ruins Hall of Fame data, because, in a system designed for 56x56 pixel graphics, is something like 104x104, which is over three times the graphics to draw. Turns out, Hall of Fame data is juuuuust after the RAM dedicated to drawing graphics, so the oversized sprite overflows into that space.

That's also why it lags when you encounter one, because it takes so long to draw.

RGME has an awesome and far too detailed video on exactly why the game draws MissingNo the way it does:

https://www.youtube.com/watch?v=ZI50XUeN6QE

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

Neito posted:

Sounds a lot like what people will do in Super Mario Maker to get timers and things in a system that's not really built to have those. What's old is new again, eh?

Battleblock Theater does something similar. One particular enemy is basically a sawblade goomba, that just goes back and forth. Enemies can press buttons. Late-game levels tend to feature a lot of those enemies pressing buttons to create cycles for things like spawning/despawning platforms or firing lasers and other stage hazards. The neat thing is that they don't bother to hide this at all, and indeed sometimes you'll need to interfere with the enemies to be able to progress.

Megillah Gorilla
Sep 22, 2003

If only all of life's problems could be solved by smoking a professor of ancient evil texts.



Bread Liar

Neito posted:

Another one of those emergent situations was the treasure-hunting foxes in Sssssssssssskyrim? Basically, foxes want to run away from you, and they want to run a certain number of navmesh triangles away from you; in the open, where you usually encounter a fox, the navmesh has big, less detailed triangles, but around, say, the areas where there were little treasure troves would have smaller, higher-precision triangles. The fox, however, was programmed specifically to run X triangles away from the player, and would satisfy this in as quick a way as it could, which would tend to make treasure troves and secret areas act as attractors for it's algo.

That sounds like the sort of behaviour you'd want to keep. Train players that following foxes can lead to treasure.

Given how foxes are viewed in a lot of folklore as tricksters, it's even "lore accurate".

ninjahedgehog
Feb 17, 2011

It's time to kick the tires and light the fires, Big Bird.


Neito posted:

Another one of those emergent situations was the treasure-hunting foxes in Sssssssssssskyrim? Basically, foxes want to run away from you, and they want to run a certain number of navmesh triangles away from you; in the open, where you usually encounter a fox, the navmesh has big, less detailed triangles, but around, say, the areas where there were little treasure troves would have smaller, higher-precision triangles. The fox, however, was programmed specifically to run X triangles away from the player, and would satisfy this in as quick a way as it could, which would tend to make treasure troves and secret areas act as attractors for it's algo.

lmao that's nuts, one of the really cool and unique things Skyrim does and it's completely by accident. Gamebryo.txt

Megillah Gorilla
Sep 22, 2003

If only all of life's problems could be solved by smoking a professor of ancient evil texts.



Bread Liar

Phy
Jun 27, 2008



Fun Shoe

Megillah Gorilla posted:

Given how foxes are viewed in a lot of folklore as tricksters, it's even "lore accurate".

And I think it's a combination of this and one or two other factors that are why foxes got singled out as treasure guides.

Presumably other non-violent wild animals use the same fleeing behavior when approached, so in principle they should also lead you to points of interest when startled. However, in Skyrim that's basically deer/elk/goats and rabbits. Those all run a lot faster than you can, making it a more difficult chase. Especially with rabbits, who are small and fast enough to just kind of disappear on you. If they ever get to a site with treasure, you probably don't see it.

Meanwhile, the ungulates drop more loot than the one paltry pelt a fox carries, so your interactions with them are likely to be with a bow or ranged spell rather than following them for fun. By the time you've chased your third or fourth elk halfway across the province to hit it with your sword, you're probably going to learn to just fuckin shoot them or let them be.

Foxes, however, run slowly enough that you can easily follow them without sprinting. You might get the idea from this that they're running slow to allow you to keep up. So they fall into this neat little category of easy to follow/pointless to kill/pre-existing cultural depictions that gives their fleeing AI the best chance at reaching its logical endpoint, the high-poly navmesh with neat stuff or treasure.

Neito
Feb 18, 2009

😌Finally, an avatar the describes my love of tech❤️‍💻, my love of anime💖🎎, and why I'll never see a real girl 🙆‍♀️naked😭.

Huh, someone finally found a use for lalafell other than banning them from the ERP houses.

Alhazred
Feb 16, 2011




https://i.imgur.com/SzShnuk.mp4

Blue Footed Booby
Oct 4, 2006

got those happy feet

ninjahedgehog posted:

lmao that's nuts, one of the really cool and unique things Skyrim does and it's completely by accident. Gamebryo.txt

The only part of gamebryo that Oblivion used was the renderer. For Skyrim they completed the codebase of Theseus to the point where there was no licensed code left. All those bugs that have been around for multiple games? Those are in Bethesda code and always have been.

StillFullyTerrible
Feb 16, 2020

you should have left Let's Play open for public view, Lowtax

Neito posted:

Huh, someone finally found a use for lalafell other than banning them from the ERP houses.

explain more to us your knowledge of these ERP houses

Neito
Feb 18, 2009

😌Finally, an avatar the describes my love of tech❤️‍💻, my love of anime💖🎎, and why I'll never see a real girl 🙆‍♀️naked😭.

StillFullyTerrible posted:

explain more to us your knowledge of these ERP houses

I have some friends who are into the ERP scene in FFXIV (up to the point of installing nude mods) and apparently it's common practice to ban lalafels, for, well...

Exactly the reason you'd expect for a race that looks like this at full maturity:

StillFullyTerrible
Feb 16, 2020

you should have left Let's Play open for public view, Lowtax
that was intended as a joke my dude

StillFullyTerrible
Feb 16, 2020

you should have left Let's Play open for public view, Lowtax
also that looks more like a potato than a person

CordlessPen
Jan 8, 2004

I told you so...
When you Google ERP you get results about Enterprise Resource Planning.





Thank god!

One More Fat Nerd
Apr 13, 2007

Mama’s Lil’ Louie

Nap Ghost

CordlessPen posted:

When you Google ERP you get results about Enterprise Resource Planning.





Thank god!

Your google results are based on your own search history, so this just means you're not a weirdo internet pervert.

Which tbh, is kinda a self own at this point, c'mon, the empire is in decline, have some fun with it.

CordlessPen
Jan 8, 2004

I told you so...

One More Fat Nerd posted:

Your google results are based on your own search history, so this just means you're not a weirdo internet pervert.

Clearly the only reason I'm not a weirdo internet pervert is because Google didn't allow me.

Cleretic
Feb 3, 2010


Ignore my posts!
I'm aggressively wrong about everything!

StillFullyTerrible posted:

also that looks more like a potato than a person

Congratulations, you've picked up on the FFXIV community's joke.

Lalafel are intended to be based on a combination of the chibi-style designs in the sprite-based games, and the artstyle of Akihiko Yoshida (Final Fantasy Tactics, the FFIII/FFIV 3D remakes... Nier Automata, weirdly), so there's non-terrible logic behind their creation. It's just that it doesn't really matter to people.

ToxicFrog
Apr 26, 2008


The story about WoW's wall rabbits reminds me of the classic UNIX multiplayer dungeon crawler Crossfire.

These days it supports python scripting, so if you want to do something fancy you just stick a python script into your map and away you go. Back in the day, though, there was no scripting apart from a very primitive declarative language for implementing dialogue trees for NPCs. So how do you do fancy stuff like "the player can drop gold in the well to get a 50/50 chance of something cool", or "when the player enters the room the door locks behind them and a bunch of enemies teleport in", or "when the boss dies a timer starts and when it runs out everything starts exploding"?

Well, you build a lot of complicated machinery into the walls of the level:



The bit at the top is a random number generator; when the spikes under the center boulder are triggered, the boulder will roll off onto one of the neighbouring buttons and trigger it. The bit under it is a short timer -- spikes will push the boulder to the left (since that's the only direction it can move in), and it will trigger a button that causes more spikes to rise under it, pushing it onto the rightmost button, which does something.

The bit at the bottom with the meat is a form of "when the player does X, do Y only if they haven't already done Z" -- there are more spikes that can push the meat onto the button, but opening the gates first will cause the lightning spell turrets (the yellow things) to destroy the meat. This can be used to implement traps the player can disable, or secrets that they can only access if they avoid doing something, or the like. Before scripting support was added, pretty much any sort of event triggers involved a rube goldberg machine of spikes, gratings, buttons, lightning turrets, scrolls, meat, and boulders, just outside the player-reachable bounds of the level.

(The "when the boss dies" trick -- not featured in this map -- is done by giving the boss an invisible button in their inventory; when they die, they drop their loot on top of the button and trigger the timer, which eventually triggers the deathtraps, probably a bunch of spell turrets configured to cast create bomb and a bunch of teleporters to start dropping the bombs into the level proper.)

When I first got into it there were maps with way more complicated wall machinery, but it looks like most of them have been converted to Python these days and I don't care enough to dig up pre-2000 builds of the game to get the really gnarly screenshots.

Adbot
ADBOT LOVES YOU

Hirayuki
Mar 28, 2010


This all feels like the kind of stuff the tutorial taught me to do in Electronic Arts's Adventure Construction Set back in the mid-'80s. It was and is extremely cool the kinds of things you can accomplish with workarounds, even if I got bored with it too quickly to make much with it.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply