mirror of
https://gitlab.com/EternalWanderer/voidcruiser.nl
synced 2024-11-28 20:03:50 +01:00
Game mechanics ramble
This commit is contained in:
parent
cdfa8f6176
commit
27ac5fa2a0
133
content/rambles/emergent-mechanics.md
Normal file
133
content/rambles/emergent-mechanics.md
Normal file
|
@ -0,0 +1,133 @@
|
|||
---
|
||||
title: "Emergent Game Mechanics"
|
||||
date: "2023-09-25T02:36:11+02:00"
|
||||
author: "$HUMANOID"
|
||||
tags: ["gamedesign", "quake", "doom"]
|
||||
description: "A little piece about emergent mechanics"
|
||||
---
|
||||
|
||||
# Preamble
|
||||
|
||||
I usually talk about whatever hobby project I've been hacking together when the
|
||||
inspiration to write strikes. In a sense this is a similar ramble, just on a
|
||||
wildly different topic, namely video game design.
|
||||
|
||||
# The Meat and Potatoes
|
||||
|
||||
For some time now I've been attempting to wrap my head around why I find games
|
||||
like Doom Eternal to be boring, while games like Ultrakill and Quake are some of
|
||||
my favourites of all time. And I think I've found the answer.
|
||||
|
||||
Doom Eternal has location based damage and various enemy weak spots. For
|
||||
instance, shooting the Mancubus' arm cannons causes them to be disabled, making
|
||||
the Mancubus significantly more manageable. Likewise, shooting a grenade at a
|
||||
Cacodemon causes it swallow the grenade and be stunned for an easy Glory Kill.
|
||||
The Arachnotron has a turret that can be shot and disabled; the Makyr Drones can
|
||||
be shot in the head as quick ammo piñatas; the shields on the dudes carrying
|
||||
them can be easily disabled using the Plasma Rifle, causing a shock wave... so
|
||||
on and so forth.
|
||||
|
||||
Initially, I found these to be really neat ideas. However, it rather quickly
|
||||
became boring when I found out shooting the weak spots is really the only viable
|
||||
way to get rid of enemies, especially on higher difficulties. Sure, Doom Eternal
|
||||
allows you to be very creative in _how_ you shoot those weak spots, but the
|
||||
moment you stop bothering with them, the difficulty curve starts to resemble
|
||||
something closer to a vertical line than an actual curve. The end result is that
|
||||
the combat feels pre-baked and static if you want to be remotely efficient.
|
||||
|
||||
Ultrakill does this right. It has -- as far as I'm aware -- two ways the
|
||||
trajectory of projectiles can be influenced. One being by punching a projectile
|
||||
as it is about to hit you. The other is with a shock wave, often caused by an
|
||||
explosion. Shock waves can be caused using the Knuckleduster (heavy melee
|
||||
attack), the Core Eject (shotgun altfire that shoots a grenade), the rocket
|
||||
launcher, parrying your own shotgun blast as it exists the barrel and several
|
||||
that I can't think of right now. This is the only rule regarding projectiles
|
||||
that is set in stone. Because of this simplicity and how many enemies have
|
||||
projectile attacks, you can get very creative in how you kill them, while
|
||||
keeping all approaches equally viable at any given moment. When an enemy has
|
||||
just shot a projectile at you, you can chose to dodge it, answer it with a
|
||||
shotgun blast; punch it back to the culprit using a light melee attack; switch
|
||||
to heavy melee and shoot it back using a shock wave; overcharge the pump action
|
||||
shotgun, dodge out of its explosion damage using the I-frames received when
|
||||
dodging, while using said same explosion to send the projectile back to the
|
||||
unsuspecting enemy; use those I-frames from the dodge to go through the
|
||||
projectile and punch the enemy in the face retrieving some health in the
|
||||
process, etc, etc.
|
||||
|
||||
All of these are viable stratagies depending on how much health you still have
|
||||
and how many other enemies there are. Getting out of the way of overcharge
|
||||
explosion damage by dodging is no small feat, but might save you from more
|
||||
damage if you're surrounded by a lot of high level enemies. Punching a single
|
||||
enemy isn't something you'll want to do when still surrounded as it means doing
|
||||
less damage in that moment and only damaging a single enemy. I could go on and
|
||||
on, describing how and when one might chose any given strategy, but I'll try to
|
||||
stop here.
|
||||
|
||||
The result is an incredibly dynamic combat system that allows for endless
|
||||
creativity in dealing with any given scenario. If Ultrakill's design philosophy
|
||||
were closer to that of Doom Eternal, there would be a dedicated "redirect
|
||||
projectile" button/weapon. It wouldn't serve much of a purpose outside of
|
||||
deflecting the occasional projectile. On top of that, each enemy attack would
|
||||
have one and only one viable way to answer it.
|
||||
|
||||
For me an encounter in Doom Eternal would go something like the following:
|
||||
|
||||
> Mancubus, take out its cannons using machine gun altfire; Arachnotron, ditto;
|
||||
> Cacodemon, switch to shotgun, shoot grenade using altfire, Glory Kill; "oh
|
||||
> hey, shield dudes", switch to Plasma Rifle and pepper them a bit...
|
||||
|
||||
There is (usually) one "proper" strategy to deal with each enemy. As a result,
|
||||
instead of improvising throughout the entire fight, I'm focussing on what hoops
|
||||
to jump through and in what order. And I guess I don't like being treated as a
|
||||
circus lion. In Ultrakill, I just do what comes natural in any given situation
|
||||
without feeling like I'm being forced down a rather
|
||||
face-paced-yet-impressively-boring path.
|
||||
|
||||
Doom Eternal's movement is even more strict. There is a double jump, double dash
|
||||
and later on a grapple hook. Sure, there are some interesting things you can do
|
||||
here, but short of exploiting the physics engine by manipulating the framerate
|
||||
by opening the weapon wheel, you're not going to see any crazy movement
|
||||
strategies.
|
||||
|
||||
Ultrakill has a triple dash, a slide, dash jump, ground pound and the player
|
||||
character can be knocked about by explosions and shock waves. On top of that,
|
||||
there is also the very intricate interplay between these elements due to how the
|
||||
physics engine works.
|
||||
|
||||
The result here is a set of extremely complex mechanics that are never set in
|
||||
stone; instead emerging from a few laws of the game that don't have total death
|
||||
grip control over their domain.
|
||||
|
||||
There is no way I could write an article about emergent mechanics without
|
||||
mentioning Quake. So lets do that now.
|
||||
|
||||
None of the high level mechanics in Quake are intended. Everything from
|
||||
straferunning, to wallrunning, to rocket jumping, to bunnyhopping and power
|
||||
bunnyhopping (also called strafejumping in the context of Quake) is the result
|
||||
of a few basic rules and wack physics.
|
||||
|
||||
1. "The player can turn"
|
||||
2. "The player can move in 8 cardinal directions"
|
||||
3. "The player can jump"
|
||||
4. "The player can sprint, increasing their speed"
|
||||
5. "There are entities that are affected by physics"
|
||||
6. "The player is one such entity"
|
||||
|
||||
And that's it as far as I'm aware.
|
||||
|
||||
All the of the complex movement mechanics emerge from the interplay of these
|
||||
rules. One of the first that was found was straferunning. What this means is
|
||||
sending both a move-forward and strafe input. Due to the way velocity is
|
||||
calculated, this results in a slight speed increase. Shortly after this, it was
|
||||
discovered that doing this while running into a wall causes a greater speed
|
||||
increase. As did wiggling the mouse left and right. When jumping you don't lose
|
||||
any momentum. Put all of these together -- with the exception of wallrunning --
|
||||
add little finesse on top and the result is strafejumping.
|
||||
|
||||
To me there is something about using these emergent mechanics that is infinitely
|
||||
more satisfying than the pre baked equivalents in modern games. Figuring out how
|
||||
to (ab)use the game's rules to your advantage is half the fun if you ask me and
|
||||
games like Doom Eternal take most of that away from you by giving you one or
|
||||
very few viable strategies to approach a given situation and then telling you
|
||||
most of them from the get go. Getting it to do something that the developers
|
||||
never originally intended.
|
Loading…
Reference in a new issue