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
Captain Hygiene
Sep 17, 2007

You mess with the crabbo...



Huszsersvn posted:

I've had waking dreams exactly like that, down to the limb noodlification.

That's the weirdest thing, isn't it? I had those all the time when I was younger, just trying to walk normally and suddenly I'm on a roller coaster ride flying through the air.

Adbot
ADBOT LOVES YOU

Slickdrac
Oct 5, 2007

Not allowed to have nice things
The sky was made for me. It’s calling to me.

Drrr Drrr Drrr

Booourns
Jan 20, 2004
Please send a report when you see me complain about other posters and threads outside of QCS

~thanks!

https://www.youtube.com/watch?v=2vRbDWq1New
I'm a big fan of these "do some seemingly random poo poo and then the game suddenly ends" TAS runs

Zereth
Jul 9, 2003



Booourns posted:

https://www.youtube.com/watch?v=2vRbDWq1New
I'm a big fan of these "do some seemingly random poo poo and then the game suddenly ends" TAS runs
I'm a fan of "Kirby tries to climb up and down a ladder at the same time and suddenly the ending starts" myself.

rodbeard
Jul 21, 2005

https://www.youtube.com/watch?v=Vjm8P8utT5g&t=346s

Arbitrary code execution speedruns are a level beyond credit warps. If a game is coded badly enough you can overwrite the part of the memory that stores what code gets executed next meaning you can do whatever you want as long as you know how to program for the hardware.

Collateral Damage
Jun 13, 2009

Super Mario World has a great one:

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



Technical explanation:

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

flavor.flv
Apr 18, 2008

I got a letter from the government the other day
opened it, read it
it said they was bitches




Imagine figuring out how to rewrite the very code of the game and using it to do something as mundane as getting to the ending faster.

These are the only arbitrary code injects I respect:

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

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

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

Cleretic
Feb 3, 2010


Ignore my posts!
I'm aggressively wrong about everything!
My favorite arbitrary code execution is the one where Ocarina of Time hits a credits warp.

...for Paper Mario.

By using a mechanic invented for an entirely different game.

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

Cleretic has a new favorite as of 15:44 on Jun 20, 2021

flavor.flv
Apr 18, 2008

I got a letter from the government the other day
opened it, read it
it said they was bitches




From 22:00 to 24:00 I just kept thinking "Stop saying OH-OH-TEE, it doesn't take any longer to say the actual words"

Then spent the last five minutes wishing he'd go back to saying OOT

alexandriao
Jul 20, 2019


TooMuchAbstraction posted:

Videogame physics works best with slow-moving objects, and the faster things go, the more likely they are to need to cheat somehow. Bullets are not physics objects, for example. Even in games that simulate projectile travel time, ballistic drop, etc. they're much too fast for the physics engine to reliably detect when they hit something.

Huh! How are projectiles simulated? I always figured it was a raytrace and stepping but the stepsize in the one game I play (that seemingly handles thousands of projectile) seems too discrete for it to handle that many (Bearing in mind the game is a mod of Jedi Academy, so it's quite an old engine and the resulting game can run on some pretty low powered machines)

Spek
Jun 15, 2012

Bagel!
They are often raycasts. Or segmented raycasts if travel time is a thing(IE raycast along the travel distance passed in however long the frame takes to render or however long the physics step is, if that's a thing in the engine of choice). Or derivatives of raycasts like spherecasts or capsule casts.

For slower moving but still fast enough to possibly be a problem things they might do something like calculate 4 intervals between the current position and end-frame position instead of going directly to the latter. But that's probably what you mean by stepping.

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

alexandriao posted:

Huh! How are projectiles simulated? I always figured it was a raytrace and stepping but the stepsize in the one game I play (that seemingly handles thousands of projectile) seems too discrete for it to handle that many (Bearing in mind the game is a mod of Jedi Academy, so it's quite an old engine and the resulting game can run on some pretty low powered machines)

I can only speak to the game I've worked on (which has a free demo out until Tuesday at 10AM Pacific time, and enters Early Access in July!), but yes, it uses raycasts for bullets. I actually have a 60Hz physics update rate*, but because I do the bullets "manually", I can get away with running them at 30Hz instead. They still draw at your display refresh rate, they just don't detect collisions every frame, because detecting collisions is expensive. It's cheaper to just fire a longer ray when the bullet does get to detect collisions.

Old games often scale very well in terms of the number of objects they can handle, because they have highly-optimized code and only need to handle very constrained situations. For example, it wouldn't surprise me if in Jedi Academy, each character (of which there aren't very many at a time) only has one or two colliders, maybe plus one per lightsaber. And the terrain mesh is low-detail, and there aren't many other objects that can be collided with. All of that combines to make each raycast very cheap. Take that engine and run it on more recent hardware, and it has plenty of spare overhead to run thousands of projectiles.

For similar reasons, there's a Doom wad out there which has a huge open arena with like 10000 revenants, and it runs just fine on modern computers because Doom is super highly optimized. On mid-90's hardware, that same wad would be unplayable.

* I'd intended to have a 30Hz physics update rate, but Unity ties how smoothly particles can move to how quickly the physics tick, and I use a lot of particles that need to draw at 60Hz

Dareon
Apr 6, 2009

by vyelkin

TooMuchAbstraction posted:

I can only speak to the game I've worked on (which has a free demo out until Tuesday at 10AM Pacific time, and enters Early Access in July!), but yes, it uses raycasts for bullets. I actually have a 60Hz physics update rate*, but because I do the bullets "manually", I can get away with running them at 30Hz instead. They still draw at your display refresh rate, they just don't detect collisions every frame, because detecting collisions is expensive. It's cheaper to just fire a longer ray when the bullet does get to detect collisions.

I could picture that working two ways: My first thought was the bullet fires a ray both backwards and forwards along its flight path to see if it hit anything in the previous tick or will next tick, then I realized that would be kinda dumb and it probably fires a ray two steps ahead to see if it will hit anything in the distant future. There's potential for some interesting shenaningans with the first model.

I do love this kind of stuff, because you generally know how the physics you want to use would work in the real world, but you can't actually do that virtually yet, so you solve the problem of, say, how an enemy detects the player by having the player constantly firing an invisible gun from their eyes that alerts the enemy when it hits them.

DelphiAegis
Jun 21, 2010

Dareon posted:

I could picture that working two ways: My first thought was the bullet fires a ray both backwards and forwards along its flight path to see if it hit anything in the previous tick or will next tick, then I realized that would be kinda dumb and it probably fires a ray two steps ahead to see if it will hit anything in the distant future. There's potential for some interesting shenaningans with the first model.

I do love this kind of stuff, because you generally know how the physics you want to use would work in the real world, but you can't actually do that virtually yet, so you solve the problem of, say, how an enemy detects the player by having the player constantly firing an invisible gun from their eyes that alerts the enemy when it hits them.

I mean that's sort of how it works in the real world. :v:

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

Dareon posted:

I could picture that working two ways: My first thought was the bullet fires a ray both backwards and forwards along its flight path to see if it hit anything in the previous tick or will next tick, then I realized that would be kinda dumb and it probably fires a ray two steps ahead to see if it will hit anything in the distant future. There's potential for some interesting shenaningans with the first model.
Either works, really. The main thing is that you want to make sure that there's no gaps in the bullet's path.

quote:

I do love this kind of stuff, because you generally know how the physics you want to use would work in the real world, but you can't actually do that virtually yet, so you solve the problem of, say, how an enemy detects the player by having the player constantly firing an invisible gun from their eyes that alerts the enemy when it hits them.

Physics engines get abused for this kind of thing all the time. Like, in my game the player has a big sphere that follows them around, and when bullets hit that sphere, they make a "whoosh" sound. Because you don't want every bullet everywhere to constantly be making sounds, only the ones that get close enough that you can hear them. This also means that every bullet has a "hasWhooshed" property so I don't play the sound twice, and also that every weapon type has a "bulletWhooshes" property that indicates if it makes noise. Because e.g. torpedoes shouldn't make a sound like a supersonic projectile just zipped past you.

16-bit RDRAM
May 31, 2020

by angerbeet

TooMuchAbstraction posted:

torpedoes shouldn't make a sound like a supersonic projectile just zipped past you.

Says you

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
OK, non-supercavitating torpedoes shouldn't make that sound. I haven't gotten the tech tree progressed enough to introduce the supercavitating kind

dirby
Sep 21, 2004


Helping goons with math
I like how ZFG exhibited Ocarina of Time glitches for over four and a half hours and still had to skip some because they didn't work on the version he used.
https://www.youtube.com/watch?v=q2UnkvALVRs

Captain Hygiene
Sep 17, 2007

You mess with the crabbo...



https://i.imgur.com/34BjNXP.mp4
NOPE

AweStriker
Oct 6, 2014

A classic:

https://youtu.be/inkj4yop5P8

Neurion
Jun 3, 2013

The musical fruit
The more you eat
The more you hoot

Neito posted:

Good old
code:
Try:
   Code
Except:
   Same code
Though from what people are saying, that shouldn't work because it's not Nier that should be crashing, but Direct3D itself.

I'm pretty sure you can catch exceptions from any DLLs you invoke, though it may depend upon the language the game was coded in.

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😭.

Neurion posted:

I'm pretty sure you can catch exceptions from any DLLs you invoke, though it may depend upon the language the game was coded in.

Probably also depends on how deep and weird into Direct3D the error goes.

Haystack
Jan 23, 2005





https://twitter.com/drasticactionSA/status/1407901287589597184

https://twitter.com/drasticactionSA/status/1406777601029459969

https://twitter.com/drasticactionSA/status/1406789705451069440

https://twitter.com/drasticactionSA/status/1406986500273852424

https://twitter.com/drasticactionSA/status/1406988107149369347

https://twitter.com/drasticactionSA/status/1407463673526992899

https://twitter.com/drasticactionSA/status/1407464155808940044

LifeSunDeath
Jan 4, 2007

still gay rights and smoke weed every day

I love this, hope they never fix it, just like cyberpunk.

Stare-Out
Mar 11, 2010

Big fan of the first 15 seconds of a 20 second video looking like porridge. Way to go, Twitter.

Pile Of Garbage
May 28, 2007



Stare-Out posted:

Big fan of the first 15 seconds of a 20 second video looking like porridge. Way to go, Twitter.

poo poo drives me insane and often pushes me to upload small dumb clips to YT just so they won't be crushed by whatever the poo poo Twitter is doing to them.

Korremar
Mar 1, 2010

You are so big!
So absolutely HUGE!
Can someone quote/link the thread title post, the Halo one?

Captain Hygiene
Sep 17, 2007

You mess with the crabbo...



Korremar posted:

Can someone quote/link the thread title post, the Halo one?

Cleretic posted:

Wait... so, the code causing the bug wasn't even in the same game as where the bug happened?

That's actually kind of amazing.

Here's the post it was trimmed from, right after the relevant technical discussion.

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
https://twitter.com/yaoilowell/status/1412777806405148686

(There's some speculation as to potential causes in this Twitter thread, but no confirmation yet)

flavor.flv
Apr 18, 2008

I got a letter from the government the other day
opened it, read it
it said they was bitches




https://va.media.tumblr.com/tumblr_qwqlfaveW71zow0v4.mp4

Sound

Bonk
Aug 4, 2002

Douche Baggins
Getting strong BeamNG.drive energy from that TogetherBNB game.

Booourns
Jan 20, 2004
Please send a report when you see me complain about other posters and threads outside of QCS

~thanks!

WIP emulators playing back audio incorrectly is always fun
https://twitter.com/topapate/status/1418480230843535364

Haystack
Jan 23, 2005





https://twitter.com/Wunderzorro/status/1422739803695632392

RatHat
Dec 31, 2007

A tiny behatted rat👒🐀!

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

flavor.flv
Apr 18, 2008

I got a letter from the government the other day
opened it, read it
it said they was bitches




https://va.media.tumblr.com/tumblr_qxdo6nMkeg1z5lzrl.mp4

Stare-Out
Mar 11, 2010

Elder Scrolls NPCs are complicated folk.

https://i.imgur.com/1AS9LHW.mp4

William Bear
Oct 26, 2012

"That's what they all say!"
I was recently replaying Skyrim and had this happen to me. It was pretty crazy, the cart was flipping, doing barrel rolls, bumping all over the road.

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

AngryRobotsInc
Aug 2, 2011

That is often the result of some mod going rogue somewhere along the line. Whenever I go on a Skyrim installing and modding spree Prisoner cart fix always makes it onto the list.

The Cheshire Cat
Jun 10, 2008

Fun Shoe
Yeah pretty much any time I've modded Skyrim, regardless of how lightly or heavily, inevitably the opening cart ride will gently caress up like that. I don't know what sort of crazy hacks they used to put that cutscene together but apparently they are extremely fragile.

Adbot
ADBOT LOVES YOU

NoneMoreNegative
Jul 20, 2000
GOTH FASCISTIC
PAIN
MASTER




shit wizard dad

Speaking of the Skyrim opening, not a glitch but honestly I could see a script failing to load and this exact series of events playing out

NoneMoreNegative posted:

lmao



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

Mod if you want to prank someone who has never played Skyrim before (I don't believe there are any such people) https://www.nexusmods.com/skyrimspecialedition/mods/26462?tab=description

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