3 ms·
What you describe is a natural consequence of adding the side-to-side velocity to the forward-and-back velocity. It is simple to implement, fast to run, and wou
by Zelizz 7y ago
What you describe is a natural consequence of adding the side-to-side velocity to the forward-and-back velocity. It is simple to implement, fast to run, and would be completely correct with something like a spaceship, where velocity components would naturally sum up like that.
velocity.x = (RIGHTKEY-LEFTKEY)*speed;
velocity.y = (BACKKEY-FORWARDKEY)*speed;
The constraint it doesn't capture is that humans usually run about the same speed in any direction. To capture that constraint, you either normalize the xz components and multiply by speed or do some extra logic when perpendicular directions are input. Either way, it's slower, more complicated, and harder to get right. If it doesn't break the game, why bother?
- Retric 7y agoHow fast players can move is one of the core aspects of game design. So, it does break gameplay balance. Compared to building even a 2d side scroller let alone 3D worlds it’s not meaningfully more complex or slower. PS: For a spaceship to move like that it would need equally huge engines on all sides. A design like the space shuttle with big engines on one sides and little ones for rotation seems much more logical outside of possibility low speed zero g docking.
- hdfbdtbcdg 7y agoQuite correction For a spaceship to accelerate like that...
- kd5bjo 7y ago> So, it does break gameplay balance No, it alters gameplay balance, but it doesn’t break it any more than shooting your film at 24 FPS breaks the cinematic experience. At this point, it has such a storied history in video games that “fixing” the problem may make the game less fun to many people, despite being more accurate.
- Crinus 7y ago> So, it does break gameplay balance. That is one way to see it, another is to add extra depth to gameplay by introducing secret areas only accessible through gaps that you can only cross if you move diagonally. Designers often acknowledged these bugs, especially in older games. The classic Tomb Raider games, for example, has several secrets only accessible through outright breaking the engine. One very obvious example is in TR1 a health pickup is only accessible if you keep jumping upwards at a corner of a pillar which causes Lara to move forward a single unit and eventually, due to some collision bug, she teleports at the top of the pillar which is otherwise inaccessible... and the only reason you could know about this health pickup is because due to the painter's algorithm used to draw the level, sometimes under some angles the pickup is drawn in front of the pillar even though it should be invisible. Also strafe-jumping has been a common tactic in FPS games (especially multiplayer games) to the point where games reimplement it in engines that otherwise work 'properly'.