Shadows in the real world a lack of energy Shadows in games imma need it all boss
Sure. Player character? No.
Always have to remind myself of this when managers ask me if something could be done. If it’s easy, I naturally get a little annoyed that they’re even asking. But knowing that is my job, not theirs, and it’s good that they ask. There’s lots of places where they assume and things go badly.
It’s not natural lol
It’s always nice of them to ask
Remember the phrase “it’s not in-pattern”. Another one is “it’s possible, but expensive”
There’s already a codebase for bursting from the ground in an explosion of lava. Everyone wants that.
You’re the first person asking for a scarf, and our system doesn’t even know what a neck is.
Time for the old NPC-with-a-train-for-a-hat trick.
Player? Easy. Scarf? Easy. Wearing a scarf? That depends on a lot of factors such as which part of the body, how the models were made and rigged, etc.
And if it like blows in the wind that’s a whole jigglebone system and wind simulation that’s a lot of stuff going on
The scarf in Shinobi was such a revelation when it came out
Game director : we’re gonna add interact-able doors with proper door opening animations for the characters
The game designers:
The programmers and artists:
The producers:
FROM Software: Fuck that, we’re doing fog-walls.
Okay, okay. No doors but stairs instead
Now we need to decide in the case of collisions if:
- Doors violently push anyone out of the way, possibly “crushing” them into walls or
- Force themselves back closed, turning any random NPC / obstacle on the other side into an unbeatable lock or
- Just trap an unfortunate NPC in a corner on the other side, or
- If they use the physics system to swing open, in which case they’ll look smooth but possibly bonk the player/actor going through them a few times and could potentially (and comically) insta-kill them if physics is feeling grumpy.
The frustratingly comedic unintended results of any choice makes for great organic marketing though.
Gamedev is magical.
Aside: Know what did this really well though? Resident Evil games after RE:4.
The ability to “slowly quietly open”, and then at any time decide to violently action-hero kick it open to send a zombie on the other side flying, was genius.
PM: You know real world?
Make it like that
Have you ever played ATV Offroad Fury on the PS2? When you reached the edge of the map, it would just fling you back towards the center.
I propose that is how we deal with NPCs blocking doors. With negated fall damage, of course
Wow, memory unlocked! Motocross Madness did this too, if you managed to drive up the giant wall surrounding the world. I checked, and it turns out both these games were developed by the same company, Rainbow Studios, so probably they used the same engine.
Haha that does sound slightly familiar! Like Mario Kart’s Lakatu on steroids. 😂
Lol okay solved! Colliding with an opening door just yeets an NPC (safely) out of the way.
Haha there needs to be a “monkey’s paw” community but around what new bugs pop up when someone proposes a fix for a mechanic.
New bug report: Essential NPC unable to be interacted with because they walk toward the door to greet the player and get clipped through the opposite wall at high speed.
Sometimes they fall through the map and the game crashes when they reach -9999 meters, other times they die intersecting the wall and it soft locks the main quest.
Fun story rq: Deus Ex: Human Revolution had the most bizarre bug where, if you talked to a gang before getting the quest to go clear them out, on the second visit one of them would just spawn… like…on the moon, apparently? (A ridiculous distance upwards, not even visible except by objective marker) Made the quest unbeatable until they patched it hahaha.
Granted. All door animations are now forced cutscenes.
Removed by mod
deleted by creator
And don’t even get them started on doors.
Tbf, you can make the characters wear anything, but it won’t look good. Lol
Welcome to second life
Way back in the 90s I did a contract job at MS Research on a project called “V-Worlds” - a world simulator similar to the Doom or Quake engine, but it was browser-based and everything was a script, so changing how the world worked didn’t mean you had to restart a server, just change the scripts and new stuff would appear right in front of you.
Anyway the concept of adding accessories to the player’s avatar and even having a pet follow you around came up, and I remember there was an involved discussion of how difficult/impossible that would be. The player’s avatar was a special object class that represented a user, and didn’t have the same capabilities as ordinary objects in the world. I remember asking, “Why isn’t the avatar just a world object the player happens to control? Then you could do all kinds of cool stuff like let the player transform into something else just by switching objects, or let another player run your character.” Dead silence. I was just a contractor, what did I know?
This feels like the kinda project that should have a 1hr YouTube indie doc about it
I wouldn’t mind seeing that! After V-Worlds was declared “completed” MSR tried to find a product group to fold it into, but nobody wanted to own it. I don’t remember if XBox existed then, but the code just sat there for a few years, then I heard they opensourced it. When my kids were playing ToonTown I found a bug that let you slide behind the background and move around, like you could see that a clerk behind a counter was just a legless floating torso. The method of getting there seemed to be exactly like a V-Worlds bug, so I wondered if Disney might have been using the code. But it could have just been a common graphics bug, I dunno.
I remember finding another bug while creating a demo with a snaky sea creature swimming around. To animate a multi-segmented object you had to animate each segment separately. After the animation ran for a minute or two, enough unrelated interrupts would happen in the computer that would throw the body parts out of sync, making body parts either merge into each other or move apart, and the whole thing would look like crap. Same thing if you had somebody ride in a car or on a train - the car and character were animated separately and you’d end up with the character floating along behind the car.
I asked the dev about making the animation itself an abstract object whose position would be moved around, and attaching in-world objects to it, with position offsets. Each animation step would be computed just once instead of for each body part, and all the parts would be rendered with offsets from that one position, guaranteeing them to stay in sync visually. He said yeah that’s a good idea, but we’re not working on that code anymore. Oh well.
Another bug involved moving from room to room. The engine only loaded graphics for the current room, so when you went through a doorway it would load the new room and dump the previous one, causing a very unnatural visual delay that looked like a glitch in the matrix. The way we coped with this was by putting an entire world in a single room, so all the graphics were loaded all at once. But this not only limited the world size, it meant we had to create our own version of the room system in script. To keep track of where players and objects were, we put invisible barriers in doorways and used event handlers when things passed through them. Then we had to use this to enforce which players could talk to each other or hear sounds made in a given “room”.
I suggested loading a cluster of rooms at once - the current one and those that were one connection away. Then when an avatar passed into a new room its graphics would already be there, no glitch, and the graphics for other rooms could be loaded and unloaded in the background. Again, nice idea but we’re done working on that code. Sigh. I really wish I had joined that project about 6 months sooner. Not like I’m a genius or anything but these seemed like really fundamental things that should have been addressed up front.
Okay, rant over. I haven’t thought about this stuff in quite a while - I’m kind of amazed so many details are in my head. I must have agonized over it a lot at the time lol.
Hey if it’s still out there as open source could finally fix those bugs lol!
But yeah seems interesting especially if it had a second life once it was opened sourced. It kinda boggles my mind how much companies are willing to scrap things after putting so much work into it, but I guess that’s the whole sunk cost thing but still.
Plenty of nostalgia for toon town so if it was used could broaden audience of video def.
Thanks for your ‘rant’ was interesting seeing some of the same problems that pop up for me in my current game dev (how to handle when to load certain things).
A browser based Doom or Quake engine world sim to run around playing with others sounds like such an awesome concept. I’d love that!! And in the 90"s no less. That would’ve been crazy impressive.
Microsoft and MMOs, man. I remember they were gonna make a really neat online fantasy one for the Xbox and canned it, too.
That’s such a wild story. Thanks for sharing that with us! I wish they wouldn’t have cold shouldered you like that…
Here’s how I was imagining that went down the whole time I was reading it lmao. Just for you.
Wow, nobody’s ever put me in a cartoon before. I’m honored!
It does kind of fit the situation lol.
Alt text: In the 60s, Marvin Minsky assigned a couple of undergrads to spend the summer programming a computer to use a camera to identify objects in a scene. He figured they’d have the problem solved by the end of the summer. Half a century later, we’re still working on it.
I love how this is actually an example of progress. These days, ML can be used for this kinda thing and it’s not too bad at it even.
“Cat? Dog? Pig? LOAF OF BREAD. SYSTEM ERROR!”
https://code.flickr.net/2014/10/20/introducing-flickr-park-or-bird/
This page about it still exists, but I guess the identification site died with Flickr.
“I noticed the elves in level 3 look too similar to the dwarves in level 5.”
“It’s too late to change it now!”
No problem, just mention it in the requirements - early on. Not when everything is built to work this one specific way.
Only in 3D. In 2D, you slap some pixels on top and there’s your scarf:
Do you have the Orb yet?
I actually do, yes. Hundreds, if not thousands, of hours played and I made it down there and back out exactly once. 🙃
Lol, I still died half way up my one orb run, so you’re further than me. I save scummed right before Zot:5 and did get it on my second try, but that doesn’t count.
It was a gnoll abyssal knight IIRC. What about you?
According to the screenshot I took, it was a gargoyle berserker with an axe. I had some ridiculous luck with armor drops, so basically every resistance was either maxxed or close to it. I only really got into trouble down in Zot:5…
And hmm, I should do more with Lugonu. I never really have a reason to pick him, but that means I also don’t experiment with him, so I won’t really learn what reasons there are to pick the guy…
Lugonu actually started as a goddess, before being turned into a genderless abomination. I think I’ve seen the devs use it/it’s pronouns.
Yup. The panic buttons are nice, the easier rune is nice, and back when there was Ak there was a cheap blink+blink other ability. That character used a distortion-branded demon whip to great effect as well, IIRC. Happy playing!
I tend to find it’s the other way around. Once you’ve got a scarf modelled and rigged, it’ll work* for all animations, but for animated 2D sprites you have a lot more things to do.
* May have visual artifacts like clipping
and add a couple of frames to the sprite sheet in order to animate the scarf if that’s required.
what if you wanted a scarf, but god said
Traceback (most recent call last): File "you.py", line 1, in <module> scarf() NameError: name 'scarf' is not defined
God being Python
Yahweh would use light mode 🙄