Jan Willem Nijman - Vlambeer - "The art of screenshake" at INDIGO Classes 2013

Jan Willem Nijman - Vlambeer - "The art of screenshake" at INDIGO Classes 2013 — Dutch Game Garden

Dutch Game Garden

AI-assisted summary of Jan Willem Nijman - Vlambeer - "The art of screenshake" at INDIGO Classes 2013 — original source. Check the original for full context.

Source published:

Key ideas

  • Vlambeer approaches game feel primarily through micro-interactions in the kinetic loop, turning player inputs like trigger presses into instant, high-impact audiovisual consequences. (2:05)
  • Audiovisual framing often shapes player perception of weapon power more than underlying balance; boosting weapon audio by +12 dB can resolve player complaints without touching damage or projectile code. (21:41)
  • Screen shake and hitstop pauses (such as 20 ms engine freezes) dramatically elevate perceived combat weight, though screen shake requires accessibility toggles to prevent player nausea. (18:01)
  • Vlambeer's production methodology builds a playable core prototype within two to three days, devoting the remaining months or year entirely to UI menus and tuning game juice. (35:17)

Detailed notes

## Background Published by Dutch Game Garden on YouTube on December 16, 2013, this video captures Jan Willem Nijman's presentation at INDIGO Classes 2013. The talk explores 'The Art of Screenshake' and investigates why one game can feel satisfying to play while an ostensibly similar title feels terrible.

## TL;DR Jan Willem Nijman, co-founder of indie studio Vlambeer, casts aside academic game design theory to present practical craftsmanship tips for improving action titles. Using a live, custom-built GameMaker prototype, he systematically transforms a limp, dull 2D shooter into an explosive, punchy arcade game by layering visual feedback, oversized bullets, enemy hit flashes, sleep pauses, and directional screenshake. He demonstrates that tactile 'game feel' comes down to microscopic sensory details—such as environmental permanence, bass-heavy audio, and recoil mechanics—rather than complex underlying math. During the audience Q&A and live demo, Nijman emphasizes outside playtesting, balancing through mechanical constraints, and the intentional artistry behind Vlambeer's kinetic signature.

## Atmosphere & style The session carries a breezy, subversive, and refreshingly unpretentious workshop atmosphere, fueled by Nijman's dry humor, self-deprecating remarks, and candid rejection of high-minded industry jargon. His easygoing rapport with the host and live audience makes the talk feel less like a formal lecture and more like a backstage game jam hangout. Watching the prototype evolve from a soul-crushing crawl into a screen-shaking spectacle creates an immediate, visceral sense of discovery that matches the tactile punch of the games he makes.

## Bulletin - [02:05](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=125s) Vlambeer approaches game feel primarily through micro-interactions in the kinetic loop, turning player inputs like trigger presses into instant, high-impact audiovisual consequences. - [21:41](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1301s) Audiovisual framing often shapes player perception of weapon power more than underlying balance; boosting weapon audio by +12 dB can resolve player complaints without touching damage or projectile code. - [18:01](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1081s) Screen shake and hitstop pauses (such as 20 ms engine freezes) dramatically elevate perceived combat weight, though screen shake requires accessibility toggles to prevent player nausea. - [35:17](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2117s) Vlambeer's production methodology builds a playable core prototype within two to three days, devoting the remaining months or year entirely to UI menus and tuning game juice.

## Key takeaways - [02:05](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=125s) The core of action game feel sits in the immediate feedback loop connecting player input directly to visible and audible game-state changes. - [09:28](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=568s) Lowering enemy health while multiplying spawn counts creates a more engaging sense of momentum and accomplishment than grinding down a single high-health sponge. - [09:28](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=568s) Exaggerating bullet sizes, accelerating projectile speed, and adding slight inaccuracy prevents gunplay from looking repetitive or sluggish. - [11:58](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=718s) White damage flashes and physical knockback communicate cause and effect to the player while dynamically shifting encounter geometry. - [13:07](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=787s) Maintaining permanent corpses, spent brass casings, and environmental destruction gives combat historical weight and aids player navigation. - [14:42](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=882s) Camera lerping and predictive offset targeting prioritize showing what the player is shooting rather than simply centering on the avatar. - [16:30](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=990s) Player recoil knockback introduces meaningful choices by turning shooting into an auxiliary movement and positioning mechanic. - [18:01](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1081s) Freezing the game engine for roughly 20 milliseconds on hit impacts gives the player's brain time to register kinetic crunch. - [21:41](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1301s) Sound design alone can completely alter perceived weapon balance and satisfaction without changing mechanical damage code. - [25:07](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1507s) Directional camera kick moving opposite to projectile trajectory visually reinforces the immense physical force of player weapons. - [26:31](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1591s) Massive explosion footprints and smoke plumes elevate arcade combat by turning misses into kinetic spectacle. - [28:16](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1696s) True game stakes require reciprocal vulnerability, giving enemies the ability to inflict lethal failure on the player. - [30:51](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1851s) Developers easily build subconscious tolerance to excessive juice and should use external playtesters to detect usability issues and motion sickness. - [33:01](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1981s) Polishing flight physics and turning speeds in Luftrausers aimed to make players immediately feel like elite pilots regardless of their final score. - [35:17](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2117s) Vlambeer's distinct studio feel is the direct product of persistent personal aesthetic tuning rather than focus groups. - [37:22](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2242s) Screen shake in Vlambeer games is deliberately coded by hand rather than an accidental legacy engine artifact.

## Detailed walkthrough ### [00:05](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=5s) Introduction and Vlambeer’s Portfolio

The host introduces Jan Willem Nijman (JW) from Vlambeer, noting that their backstage discussions about the phrase "game feel" nearly ended in an argument because Jan Willem disliked the term so much. Despite Jan Willem's threat to destroy the label, the host invites him on stage to explain what makes video games feel satisfying to play. Taking the microphone, Jan Willem introduces himself as one-half of indie powerhouse Vlambeer, remarking that he handles "game design and execution, whatever that means." He jokingly points out the endless quotation marks surrounding the phrase "game feel" before displaying Vlambeer's flaming bear logo.

Jan Willem briefly showcases the studio's portfolio of work to establish their pedigree in the action genre. He mentions *Ridiculous Fishing*, jokingly brushing aside any discussion of awards, followed by *Super Crate Box*, which is freely available on Steam. He highlights *GUN GODZ*, describing it as a Venusian gangster rap first-person shooter that few people played despite being genuinely solid. He then previews a cropped screenshot of the upcoming aerial dogfighting title *Luftrausers*, and concludes with *Nuclear Throne*, an active production described as a post-apocalyptic roguelike centered on mutated creatures growing new limbs and fighting monsters.

[02:05](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=125s) The Player Interaction Loop and the Mechanics of "Game Feel"

Jan Willem disclaims any academic authority, freely admitting that he is not a psychologist or a theorist, but rather someone who prototypes ideas, builds them, and prefers tweeting because it requires fewer words. He nods toward Martin Jonasson and Petri Purho, who are present in the audience and scheduled to deliver a similar lecture later that day, as well as Jonatan Söderström (Cactus), whose 2009 Independent Games Summit (IGS) talk compared making games to making babies while sharing foundational advice on game juice. Jan Willem describes the word "feel" as notoriously slippery because it is purely abstract and varies wildly across different humans.

```mermaid flowchart TD accTitle: The Video Game Interaction Loop accDescr: A loop diagram illustrating how sensory output from a game reaches the player, leads to physical inputs that change the game state, and provokes emotional reflection.

subgraph Engine ["The Machine"] G["Game State"] GC["State Changes"] end

subgraph User ["The Human"] P["Player Senses\n(Sight & Sound)"] T["Meaning & Thought\n(Learning & Value)"] end

G -->|"Visuals & Audio"| P P -->|"Controller Input"| GC GC -->|"Feedback"| G GC -->|"Impact"| T T -.->|"Informs Strategy"| P ```

To explain how video games function, Jan Willem breaks down the communication cycle between the machine and the human. A game sitting idle on hardware is lifeless until a player engages with it. The machine outputs sensory feedback—specifically through visuals and sound, since smell-based games do not exist yet—which the player interprets before feeding input back via physical buttons. The game alters its state in response to those inputs, sending new audiovisual stimuli back to the user. When this loop succeeds, the player reflects on the outcome, elevating button inputs into meaning, learning, and personal transformation. Reflecting on his studio's narrow focus within this broader cycle, Jan Willem says:

> “With Vlambeer, we're basically good at just one thing with making games, and that's like this part which is after the game goes into the player and then the player puts input into the game, the game goes back into the player; that's like I press a button and a bullet flies and the bullet hits something, that's that blue arrow there, and we make that feel good.”

He laments that many triple-A titles merely dump overwhelming audiovisual production into the player's eyes without demanding meaningful player interaction in return, while smaller art projects lean entirely into reflective contemplation. Vlambeer's specialty sits squarely at the kinetic intersection of input and instantaneous consequence.

[06:28](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=388s) Abandoning Theory: 30 Tiny Tricks for Action Games

Rejecting the scheduled conference label "The Art of Screenshake" as well as the phrase "game feel," Jan Willem decides to throw out high-minded theoretical discussion altogether. He announces that the session will instead be an intensely practical workshop titled "30 Tiny Tricks That Will Make Your Action Game Better." Because his entire background consists of shipping fast-paced shooters rather than writing papers, he intends to demonstrate these practical tweaks directly on screen using a live, custom-built testbed game.

As Jan Willem asserts regarding his qualification to teach actionable craftsmanship over abstract design frameworks:

> “I'm just going to cut all the talk crap and just teach you guys some tricks I learned while making games: so this talk is now officially called 30 tiny tricks that will make your action game better, which is something I can actually talk about, because I might not be an academic or a psychologist, I make action games, and I'm proud of it.”

[07:21](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=441s) The Dull Prototype: Animation, Audio, and Health Tuning

Jan Willem opens the live demonstration with an intentionally bad, bare-bones 2D platforming shooter, calling it the type of uninspired project anyone could assemble after following a few beginner programming tutorials. Borrowing an illustrative gag from Jonatan Söderström's 2009 talk—where an unpolished Mario clone required hitting enemies an absurd number of times—he shows how tedious the base game feels when a gun fires silent, microscopic projectiles at damage-sponge enemies that do not react to being shot.

He introduces the first foundational changes: basic animations and retro sound effects created using sfxr. The player avatar is given walking animations, a jumping frame where its hair bobs—matching the actual sweater Jan Willem is wearing on stage—and simple weapon discharge audio. Next, he tackles the tedious enemy combat balance by dramatically lowering enemy hit points. Rather than spending dozens of bullets whittling down a single static foe, enemies now drop after taking immediate, direct damage. Jan Willem notes:

> “Like this is such a silly tiny change, but if I would have shown you the first game instead of this one, you would have totally thought it was a shitty game, but this is not that bad, like this is starting to get somewhere.”

- **Trick 1: Basic Animations and Sound:** Adding walk cycles, jump frames, and audio generated from tools like sfxr immediately grounds the mechanics. - **Trick 2: Lower Enemy HP:** Reducing excessive enemy health pools eliminates combat drag and makes combat instantly rewarding.

[09:28](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=568s) Weapon Tuning: Rate of Fire, Density, and Bullet Feedback

With the core loop feeling slightly less tedious, Jan Willem addresses the weapon mechanics and encounter pacing. He raises the rate of fire on the player's weapon, arguing that in a title devoted exclusively to gunplay, withholding firepower makes no sense when shooting is the player's primary means of interacting with the game's world. To balance out the reduced enemy health and rapid-fire gunplay, he multiplies the enemy count from one high-health target to six low-health targets. Mathematically, the encounter represents a comparable damage pool, but psychological pacing and player satisfaction surge when the player mows through swarms of frail targets.

Jan Willem then systematically alters projectile presentation. He ridicules the common novice habit of making bullets tiny dots to mimic real-world dimensions, arguing that video game projectiles should be exaggerated to the size of a character's chest. He demonstrates a trademark Vlambeer shortcut for muzzle flashes: drawing a basic bright circle on the very first frame of the bullet's sprite animation. He accelerates bullet velocity across the screen, introduces a slight degree of inaccuracy to randomize bullet trajectory, and adds particle impact sparks when rounds collide with geometry or targets. Addressing the necessity of weapon spread, Jan Willem explains:

> “Less accuracy because it looks more fun, and it actually influences gameplay a little bit... it makes it less boring to watch it, and this is pretty much all there is to watch with this game; it's all about shooting, you know, it's a mindless stupid game, so make it look different every single time.”

- **Trick 3: Higher Rate of Fire:** Increasing firing cadence gives the player continuous responsive feedback from their primary tool. - **Trick 4: More Enemies:** Swapping a single tank-like target for multiple fragile enemies creates an engaging feeling of momentum without compromising difficulty. - **Trick 5: Bigger Bullets:** Scaling projectiles up to dramatic proportions ensures they read clearly on screen and feel physically formidable. - **Trick 6: Muzzle Flash:** Spawning a simple circular graphic on frame zero of the bullet projectile provides instant visual confirmation of every trigger press. - **Trick 7: Faster Bullets:** Rapid projectile speeds prevent sluggishness and sell the kinetic punch of the weapon. - **Trick 8: Less Accuracy:** Adding slight weapon spread breaks visual monotony and injects organic variation into every shot. - **Trick 9: Impact Effects:** Drawing visual impact sparks where bullets strike walls or enemies guarantees that projectiles never vanish silently into thin air.

[11:58](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=718s) Hit Animations and Enemy Knockback

Jan Willem Nijman continues demonstrating his interactive prototype, showing how small graphical and physical reactions instantly communicate cause and effect to the player. When bullets strike an enemy, the target flashes white, shifts into a slightly different pose, and its facial details briefly disappear. This visual hit reaction serves the exact same communicative purpose as the red arrow flying back into the player's skull shown earlier: it clearly indicates that damage has been dealt.

```mermaid flowchart LR accTitle: Combat Feedback Flow accDescr: A visual diagram illustrating how player attacks produce immediate sensory feedback and positional gameplay shifts. subgraph Feedback ["Visual Feedback"] A["Bullet Hit"] --> B["White Flash"] A --> C["Pose Change"] end subgraph Mechanics ["Physical Gameplay"] A --> D["Enemy Knockback"] D --> E["Positional Shift"] E --> F["Dynamic Combat"] end ```

Moving beyond pure visuals, Nijman introduces enemy knockback, an adjustment where enemies are shoved back a couple of pixels upon taking damage. While seemingly a minor aesthetic touch, knockback fundamentally alters encounters by pushing enemies around the geometry, causing them to fall off platforms or flank the player from unexpected angles. Jan Willem remarks on why the reaction feels so natural to watch: “Basically all I did was move them back a couple pixels when they get hit because like that's what happens when you get shot in real life too.”

[13:07](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=787s) Permanence, Corpses, and Barroom Destruction

Turning to the aftermath of an encounter, Nijman argues strongly against wiping clean spaces where fighting just took place. In his demo, fallen enemies remain on the floor, allowing the player to look back and trace exactly how many foes were slaughtered. This visual history doubles as organic navigation; when doubling back through a maze-like corridor, dead bodies serve as breadcrumbs showing where the player has already ventured. Nijman points out that modern hardware has eliminated any technical excuse for cleaning up: “Computers are super good nowadays right you could just put a million corpses in there and your computer would be like oh they don't have to disappear like that stuff is fine nowadays.”

To illustrate this philosophy in practice, he tabs over to *Nuclear Throne*, wandering across a wasteland level packed with broken rubble, scattered debris, and defeated maggots: - Dead bodies and rubble do not alter core mechanics, but they visually reinforce that the protagonist is “basically a guy made out of muscles and you shoot things.” - Destructible props such as cacti and rocks ensure that stray bullets never feel wasted, mirroring action cinema: “And that's also why in movies shootouts in bars are so good because every bullet that misses actually hits a bottle.” - The environment absorbs the combat, turning missed shots into kinetic spectacles rather than empty misses.

[14:42](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=882s) Camera Lerping, Framing, and Predictive Math

Nijman next addresses camera behavior by implementing camera lerp (linear interpolation). Instead of being rigidly glued to the protagonist's coordinates, the camera smoothly lags slightly behind motion, smoothing out player traversal. However, simply smoothing the tracking is not enough because centering the avatar misidentifies the true focus of an action title: “The game is not here to show you the player because this game is not about the player this game is about shooting things and you're shooting things in front of you so we might as well do this and like move the camera around a bit and show show you what's happening a bit more.”

He contrasts this with the camera work in Vlambeer's upcoming title *Luftrausers* (which he jokes is coming out “sometime in 2017”): - The camera dynamically pans ahead toward the player's aiming reticle rather than just tracking the plane. - When diving close to the ocean surface, the view automatically dips down to warn the player of incoming water. - All active enemy bullets on screen are fed into a mathematical formula that calculates their collective center point, gently pulling the camera toward incoming danger so players instinctively dodge off-screen threats before dying.

[16:30](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=990s) Screenshake and Player Knockback

Arriving at the title topic of the lecture, Nijman addresses why Vlambeer is so closely associated with screenshake: whenever developers ask for advice on how to polish an underwhelming prototype, adding screenshake is almost always the easiest fix that yields immediate gratification. In the demo, adding even a subtle screen rattle when firing or hitting targets instantly shifts the tone, turning a sad, limp avatar into an energetic, powerful experience.

Alongside screenshake, he adds player recoil knockback. Firing now shoves the player character backward, transforming shooting into an auxiliary movement mechanic: - A player can traverse the level entirely by firing in reverse, squeezing additional gameplay value out of the primary interaction button. - Because firing pushes the character backward, walking forward while shooting significantly slows movement down. - This creates meaningful decision-making: “If you put a button in a game like a firing button give someone a reason to not press it even if it's something tiny like this knockback otherwise you might as well remove the firing button and just have a game that automatically fires always.” - Recoil introduces environmental danger, such as accidentally sliding backward into a pool of lava while shooting enemies, or using continuous fire to float temporarily in midair.

[18:01](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1081s) Impact Pauses and "Sleep"

Nijman reveals one of his favorite tactile tricks: the "sleep" command. In GameMaker, sleep forces the entire engine to freeze for a specified number of milliseconds. He admits he knows little about low-level software engineering, but he places tiny freezes—roughly 20 milliseconds—directly onto frames where an attack connects or an enemy dies:

```mermaid flowchart TD accTitle: Hitstop Execution Flow accDescr: Flowchart showing how a projectile hit triggers an engine freeze to give the human brain time to register impact. P["Projectile Impacts Enemy"] --> S["Sleep Command (approx. 20ms)"] S --> F["Engine Pauses Frame Completely"] F --> B["Player Brain Processes Impact & Weight"] B --> R["Gameplay Resumes"] ```

Jan Willem explains his personal theory of hitstop perception: “When I hit an enemy it will pause for 20 milliseconds or something and your brain won't notice that but kind of use that time to process what's happening a bit more so all the moments that I want to have impact your brain is like oh yeah I remember that more because it took longer.” While virtually undetectable to the naked eye, the microscopic pause gives combat a visceral crunch. He looks out into the auditorium to see who is actually following along with the downloadable demo build, joking that watching someone else play is inherently flawed because game feel must be physically touched: “Next year we'll have 200 keyboards here for everybody under your chair.”

[19:37](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1177s) Gun Aesthetics, Strafing, and Spent Shells

Polishing weapons involves minor spatial tweaks. Nijman points out a weapon-lag effect—originally an accidental programming bug—where the gun sprite lags slightly behind player movement, giving the weapon tangible weight as though it is being physically hauled around. He pairs this with weapon kickback, sliding the gun sprite backward against the avatar's body every time a round discharges to emphasize firearm power.

He then adds strafing, allowing the avatar to walk backwards while aiming and firing in the opposite direction. Reversing direction requires letting go of the attack button for a split second to flip the character sprite, introducing another micro-decision that punishes mindless trigger-holding.

To reinforce permanence further, the weapon now spits out brass shells that bounce and remain permanently on the ground: - Modern systems have ample memory to track hundreds of discarded shell casings without clearing them. - Players can return to an area and admire the carpet of brass: “Later when I'm walking back here from defeating some boss or something like oh yeah I shot a lot of bullets there that was fun and I can actually count how many bullets I shot to check if the achievements were correct or whatever.” - Nijman jokingly calls out Finnish developer Petri Purho, suggesting that someone like Petri should simulate physics on every individual shell so players can pile them up and swim in mountains of spent brass.

[21:41](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1301s) Sound Design and Bass Boosted Audio

Nijman illustrates the psychological trickery of game feel with an industry anecdote from an acquaintance who currently serves as a senior designer at BioWare, but previously worked at Raven Software. During development on a first-person shooter—which Nijman recalls was likely the 2009 *Wolfenstein* reboot—investors complained that a specific weapon felt terrible, weak, and unpopular, ordering the designers to overhaul its core gameplay balance.

Instead of altering damage, fire rate, spread, or range, the designer simply opened Audacity, imported the firing sound effect, applied a +12 dB bass boost, and reinserted the asset into the project. When presented back to the investors with zero underlying code changes, they immediately praised the revision, declaring that the weapon finally played great.

Nijman emphasizes that the audio is still in the shipping game, where the gun became a player favorite. He proves the point live on stage by switching the demo's firing audio between thin, tinny clicks and a deep, thumping bass report, polling the audience to demonstrate how sound alone creates the illusion of raw mechanical power. Taking advantage of the existing bullet logic, he then transitions the weapon into a heavy, inaccurate machine gun to show how easily complex arsenals grow out of simple, juiced-up foundational mechanics.

[23:32](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1412s) Triple Machine Guns, Random Explosions, and Enemy Speed

Jan Willem Nijman continues mutating his bare-bones prototype into a full-blown spectacle by stacking ridiculous action tropes on top of the base mechanics. He swaps out the single shot for a spread-firing triple machine gun purely because the bullet object already existed and was easy to multiply. Embracing pure action-game excess, he argues: “If you're making an action game you might as well make a proper action game.” He then injects an arbitrary 33% chance for defeated enemies to violently detonate upon death. While admitting that spontaneous enemy combustion has very little to do with traditional game feel principles, it immediately satisfies player expectations and makes combat punchy, proving that mechanics do not always need logical justification if they feel undeniably fun.

```mermaid flowchart TD accTitle: Escalation of Combat Juice accDescr: Diagram showing how weapon upgrades lead to enemy buffs and visual juice. subgraph Offensive["Offense & Destruction"] A["Triple Machine Gun"] --> B["33% Death Explosions"] end subgraph Counterbalance["Balancing & Pace"] B --> C["Faster Enemies"] C --> D["Higher Enemy Count"] end subgraph Feedback["Juice Layer"] D --> E["Cranked Fire Rate"] E --> F["Directional Camera Kick"] end ```

Because these random cascading explosions clear the screen so effectively, the prototype abruptly becomes too easy. Nijman counters this imbalance by cranking up enemy movement speed and swarming the arena with larger mobs. Watching the red squares dart frantically toward the player while bullets spray across the screen, he points out how the visual rhythm instantly begins looking like an authentic, promising commercial title rather than a classroom test. He draws particular attention to the gun kick on the player sprite, noting that even though the animation consists of literally three poorly drawn pixels jolting backward, the kinetic illusion is complete. Nijman becomes so caught up in the flow of blowing up enemies that he jokingly threatens to stop talking entirely and just play the prototype for the rest of the session.

- **Weapon Upgrade:** Tripled the bullet stream across a forward spread. - **Explosion Chance:** Added a flat 33% chance of enemy detonation on death. - **Pacing Adjustments:** Boosted enemy movement speed and spawn counts to counterbalance player firepower. - **Visual Feedback:** Added a three-pixel weapon recoil kick directly onto the player character.

---

[25:07](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1507s) Rate of Fire, the Luftrausers Camera Kick, and Vlambeer Secrets

With the enemy population surging, Nijman dials the gun's rate of fire even higher, pointing out that adjusting core variables takes seconds in code and should be pushed as far as the design allows. He then reveals a subtle technique he originally intended to introduce as a standalone step: directional camera kick. While standard screen shake randomly offsets the viewport along the X and Y axes, this trick dynamically punches the camera slightly backward in the exact opposite direction of the player's aim.

Explaining the origin of the technique, Nijman notes: “So that camera kick is a little trick I figured out while making *Luftrausers*—instead of just having random shake, it also moves the camera back a little bit.” When firing toward the right, the entire world jerks slightly leftward, selling the immense physical force required to unleash the player's firepower. He breaks the fourth wall to banter with the audience, quipping that by exposing every single proprietary trick in his toolbox, Vlambeer will immediately go out of business and cancel all their projects. He jokes that since his co-founder Rami Ismail is not in the room to stop him, he is free to give away all of their secrets without getting yelled at.

- **Camera Kick Mechanic:** Shifts the viewport opposite to projectile velocity alongside random noise, grounding the recoil. - **Origins:** Developed during the tuning and prototyping of Vlambeer's aerial dogfighting title *Luftrausers*. - **Implementation:** Integrated cleanly into the shooting script without rewriting underlying engine code.

---

[26:31](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1591s) Cactus's Golden Rule: Huge Explosions and Environmental Permanence

Reflecting on his development philosophies, Nijman shares what he considers the single most transformative piece of game design advice he ever received. Around 2004 or 2005, when he set out to build a shoot 'em up, he reached out to Jonatan Söderström (better known in the indie scene as Cactus, and co-creator of *Hotline Miami*). Nijman asked him what it took to build genuinely great arcade experiences: “Anyway he told—I asked him how do you make good arcade games and he told me make really big explosions; and I've been working by that lesson ever since.”

To demonstrate, Nijman radically blows up the scale of the in-game blasts. Despite the visual asset being nothing more than an expanding geometric circle that flashes rapidly between solid black and white, the sheer footprint makes combat immediately feel massive. Nijman draws a direct line between visual impact and permanence, praising how *Hotline Miami* forces the player to slaughter an entire floor, ascend to the next room, and then slowly retrace their steps through an uninterrupted sea of corpses. This tactic forces the visceral "feel cycle" of combat to crash directly into the reflective "thinking cycle" of the narrative. To replicate that lingering aftermath in his prototype, he attaches fading smoke particles to every blast site. He urges designers not to stop at the bare surface, encouraging them to pile on gibs, dismembered heads, and permanent environmental scars to reinforce the weight of destruction.

- **Jonatan "Cactus" Söderström's Advice:** Maximize explosion size to instantly elevate arcade game feel. - **Explosion Asset Construction:** A single expanding circular primitive cycling between black and white flash states. - **Permanence Layering:** Added trailing smoke plumes that slowly dissipate long after combat concludes. - **Extreme Possibilities:** Nijman advocates pushing debris, gibs, and severed limbs to reinforce player impact.

---

[28:16](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1696s) Giving the Game Meaning: Cheap Slow-Mo and "You Were the Monster All Along"

Despite having intense particle effects, screenshake, and gunplay, Nijman points out that the prototype is still technically missing actual gameplay. Up to this stage, the player can act upon the world, but the world cannot push back; the enemies simply drift passively into the meat grinder. Nijman stresses that designers must stop relying on developer shortcuts like manually hitting a restart key when they collide with an obstacle: “Program that game over state, add some meaning to your game.” To give the combat dramatic stakes, he programs a lethal enemy collision that triggers a sudden, tragic narrative reversal.

```mermaid flowchart LR accTitle: Player Death Sequence Architecture accDescr: Sequence showing enemy contact triggering cheap slow-mo and narrative punchline. A["Enemy Hits Player"] --> B["Drop Engine to 10 FPS"] B --> C["Player Falls Under Gravity"] C --> D["Restore 60 FPS on Impact"] D --> E["Display Punchline: 'You were the monster'"] ```

When an enemy finally touches the player, Nijman executes a remarkably cheap developer trick to simulate cinematic slow motion: he drops the engine's internal frame rate down to 10 frames per second. Nijman jokes to the crowd: “Did you see how I just like put the frame rate at 10 frames per second because you won't notice on a shitty beamer and it looks like I program slow motion?” The player character tumbles helplessly downward in faux slow-mo until slamming into the floor, at which point the engine snaps back to full speed and presents a screen reading: *You were the monster all along*. Nijman contrasts this fully realized, juicy micro-game with the barren, unresponsive step-one prototype from the beginning of his talk—a version where the player could not even strafe. He concludes his core lecture to enthusiastic applause, summarizing his thesis: “Fill your games with love and tiny details.”

- **The Meaning Dilemma:** True game feel requires reciprocal vulnerability between the player avatar and the world. - **Cheap Slow Motion:** Forcing the game engine to 10 FPS upon fatal damage to bypass writing dedicated time-dilation code. - **The Punchline:** Inverting the narrative context by framing the passive, wandering enemies as the victims and the player as the monster. - **Core Takeaway:** Contrast between unpolished input and deeply layered feedback demonstrates the transformative power of juice.

---

[30:51](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1851s) Q&A: Weapon Balancing, Gut Feelings, and Screen Shake Nausea

The presentation transitions into a Q&A session moderated by the host. An audience member asks Nijman about his methodology for game balancing—specifically how he decides on enemy counts, ammunition pools, and level durations. Nijman responds that balance entirely depends on the underlying design philosophy. In *Super Crate Box*, for example, Vlambeer eliminated ammunition management altogether by placing crates that randomly force weapon swaps upon collection. Because weapon switches were mandatory to score points, individual weapon imbalances became a feature rather than a flaw. On the subject of testing these numbers, Nijman warns against trusting your own judgment: “Trust your initial gut feeling and then stop playing your game yourself because you're the worst playtester in the world because you just are too close to your game and there are way more other people than there are you.”

The moderator follows up by asking how a developer knows when they have added too much juice. Nijman candidly reveals that screen shake can become an addictive crutch for developers. While working on *Nuclear Throne*, the team grew so desensitized to excessive screenshake that they completely stopped noticing it, while first-time players became violently nauseous. Vlambeer ultimately had to implement an accessibility menu option to let players disable screen shake entirely. Nijman laughs that developers often run playtests, see people get sick, think it looks cool, and ignore the feedback anyway. He offers a hard practical boundary: “Don't put things in your game that hurt people physically, other than that just keep adding it until you're out of money.”

- **Balance via Mechanics (*Super Crate Box*):** Sidestepped mathematical weapon balance by tying progression to mandatory, random weapon swaps. - **Playtesting Trap:** Designers build muscle memory and become blinded to their own game's flaws and balance shifts. - **Physical Limits of Juice (*Nuclear Throne*):** Intense screenshake caused motion sickness, mandating an in-game toggle. - **The Golden Rule:** Push game feel and juice as far as production budget allows, stopping only when it induces literal physical distress.

---

[33:01](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1981s) Q&A: Subconscious Bug Avoidance and Tuning the Feel of Luftrausers

Expanding on the necessity of outside playtesting, Nijman brings up an earlier INDIGO talk by developer Brendon Chung. He admits he is shamelessly recycling Chung's insights just like he borrowed from Petri Purho and Martin Jonasson's famous juice presentation. He recounts Chung's observation that creators developing games in small teams end up subconsciously playing around their own unfinished work: “When you're playing your own game you're kind of subconsciously avoiding bugs and like oh yeah there's a problem here but I'm going to ignore it and yeah this game is a lot of fun and when someone else plays it it might turn out they have no clue how things work or they totally break your game and it's not fun for them.” A game is fundamentally an empty artifact until an outside human interacts with it, meaning external testers are mandatory to reveal reality.

The host highlights how much time Nijman personally spent fine-tuning the flight handling in *Luftrausers*—specifically tweaking the fine turning rates for left, right, up, and down until steering felt silky smooth despite being tricky to master. Nijman confirms that dialing in those exact values consumed a massive portion of the schedule because mechanical control feel was the entire thesis of the game. Nijman explains the design philosophy behind that tuning: “With *Luftrausers* we set out to make it a game that feels great to play for everybody—like I give you the computer and you launch and you start blowing up things and you feel like oh yeah I'm the coolest fighter pilot in the world.” Even if a newcomer dies instantly with an abysmal final score, the immediate sensory feedback of piloting the aircraft makes them feel legendary from their very first second on the throttle.

- **Subconscious Bias:** Creators naturally avoid game-breaking edge cases and blind themselves to obtuse UX during internal sessions. - **The Player Dependency:** A game has no intrinsic meaning until an impartial human player steps in to interact with its systems. - ***Luftrausers* Core Mandate:** Prioritized steering responsiveness and immediate empowerment over mechanical simplicity. - **The Illusion of Competence:** Ensuring the player feels like an elite ace pilot regardless of actual mechanical mastery or low scores.

[35:17](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2117s) The "Vlambeer Feel" and the Polish Phase

The discussion opens with reflections on player perception of difficulty and performance. Reflecting on past projects, Jan Willem Nijman points out the difference between games that feel rewarding versus games that are punishingly hard, recalling internal debates with his Vlambeer co-founder Rami Ismail: “Whereas with Super Crate Box we had a fight about—I said it's way too hard, it's way too hard, and Rami was like, ‘No, no, it's supposed to be this way.’” When asked how much time the studio devotes to initial setup versus final refinement, Nijman reveals their typical production pipeline. Vlambeer creates the core functional game in a matter of days, only to spend the rest of the year refining every detail. For *Luftrausers*, the very first prototype was mechanically identical to the finished release; it simply lacked front-end menus. Nijman jokes that because designing menus is completely uninteresting compared to programming explosions and particle effects, that tedious development window becomes an extended sandbox for fine-tuning game feel.

```mermaid flowchart LR accTitle: Vlambeer Development Pipeline accDescr: Diagram showing the rapid core prototyping phase followed by an extended polishing and menu-building phase. subgraph Rapid["Days 1-3: Core Setup"] A["Core Prototype Built"] --> B["Basic Mechanics & Gunplay"] end subgraph Polish["Year-Long Polish Phase"] C["Build Menus & UI"] D["Tune Game Feel & Juice"] E["Flashing, Shake & Particles"] C <--> D D --> E end Rapid --> Polish ```

This persistent tweaking caters directly to the developers' personal tastes rather than broad focus groups. Nijman explains that what people perceive as the distinct "Vlambeer feel" is simply his personal definition of what feels satisfying in action games: triple machine guns, high-velocity rounds, enemies that flash white on impact, and chaotic explosions. When audience members inquire whether hardware platforms and input methods alter that sensation, Nijman agrees that controls fundamentally reshape the experience. He cites platform ports as an example where subtle nuances can be lost: *Radical Fishing* was originally programmed in Game Maker before Rami Ismail ported it to Flash, and Nijman still quietly prefers the feel of the Game Maker original, teasing that Rami was responsible for the discrepancy.

- Initial Vlambeer prototypes are created within a few days, followed by up to a year of polish and menu construction. - The "Vlambeer feel" is defined by specific audiovisual cues: intense screen trauma, flashing sprites on damage, recoil, and high-impact weapon feedback. - Porting engines and switching controllers—such as transitioning between keyboards and gamepads or moving from Game Maker to Flash—can subtly alter movement and timing physics.

---

[37:22](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2242s) Haptic Feedback and the Myth of the Screenshake Bug

The conversation turns to tactile feedback. An attendee asks whether Vlambeer incorporates controller rumble or haptic feedback into their games. Nijman admits that while haptic feedback is an incredible sensory tool, he personally has rarely implemented it in his own code, noting that other collaborators handled rumble integration when *Luftrausers* came to consoles. Instead, he jokes about taking physical feedback to the extreme by wanting to engineer a computer monitor with built-in motors that physically shakes the hardware on every shot.

An audience member asks about a rumor circulating among game design students that screen shaking originally began as an accidental engine bug in Game Maker that Vlambeer decided to keep. Nijman firmly dispels this myth. He clarifies that while very low-resolution games frequently suffer from jittery, unintentionally shaky camera tracking because smooth sub-pixel camera scrolling is difficult, the dramatic screen shake featured in Vlambeer titles is entirely intentional and programmed by hand. Regardless of its historical origin across the medium, Nijman maintains an uncompromising stance on its utility in game design: “I also would like to say that probably every game would benefit from having screen shake—even if you're like, ‘Oh, my puzzle game doesn't need screen shake,’ you're wrong.”

---

[39:11](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2351s) Marketing Game Feel and the Power of Subtle Details

When asked whether Vlambeer actively markets screen shake or leaves it for players to uncover on their own, Nijman outlines the psychological disconnect players have with game juice. If an action game lacks dynamic feedback, players simply label it as bad or unengaging without understanding why; when the feedback is present, players enjoy the experience seamlessly without ever analyzing the underlying mechanics. Because players subconsciously absorb these micro-interactions rather than consciously deconstructing them, Vlambeer actively uses the discussion of game feel as a promotional tool.

Pointing out another tiny detail he snuck into the demo—a puff-of-dust cloud under the player's feet upon jumping—Nijman stresses: “No player without seeing this presentation is going to understand that or feel it or—well, they feel it, but don't think about it, and screen shake is like the most basic example of how to make games feel good.” By explicitly pulling back the curtain on tiny elements like knockback, hit-stops, and screen trauma, the studio turns technical craftsmanship into an identifiable brand identity. Closing the Q&A segment, an audience member asks about upcoming releases or secret projects. Nijman teases that the studio has major news dropping later that evening that he is not yet allowed to reveal, advising everyone in the room to keep their phones nearby.

---

[41:12](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2472s) Live Demo: Experiencing "Meaning" and Prototype Graphics

The host asks Nijman about the technical setup of his talk, specifically how he was able to switch seamlessly between playable, fully functional demo slides. Nijman reveals that the entire presentation is not a slideshow software file, but a custom application coded entirely from scratch in Game Maker. To demonstrate the contrast, Nijman hands the host the controls for a live playtest.

The interactive controls demonstrate how different layers alter the emotional texture of play: - Pressing **D** toggles "Meaning," enabling enemy damage so the player character can actually die. - Pressing **S** reloads the active scene and respawns the player. - Pressing **A** steps back into previous slides to compare earlier, stripped-down iterations.

```mermaid flowchart TD accTitle: Live Demo Control Mapping accDescr: Key bindings used during the interactive INDIGO presentation demo. K_A["Key: A"] --> A_Action["Step Back Previous Iteration / Slide"] K_S["Key: S"] --> S_Action["Reload Current Room / Respawn"] K_D["Key: D"] --> D_Action["Toggle 'Meaning' (Enable Enemy Damage)"] ```

When Nijman turns on mortality by pressing D, the host immediately dies and laughs as Nijman asks, “Don't you feel like guilt for killing them?” Nijman then flips the game back to the bare-bones, un-juiced prototype from the start of the lecture. Stripped of screenshake, sound effects, hit flashes, and weapon kick, the host remarks that the game feels “very lame,” although he jokingly promises that Dutch Game Garden would fund the concept completely. The session concludes with playful banter over the art assets: the host assumes the wandering enemies are zombies, but Nijman retorts that they might just be neighborhood kids trick-or-treating in skull masks. Nijman also proudly confirms that he drew and animated all the custom sprites himself—including the protagonist’s floppy hair, which mirrors his own need for a haircut—before stepping down to warm applause from the room.

## Notable quotes > [37:22](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2242s) probably every game would benefit from having screen shake—even if you're like, ‘Oh, my puzzle game doesn't need screen shake,’ you're wrong. — Jan Willem Nijman

> [30:51](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1851s) Trust your initial gut feeling and then stop playing your game yourself because you're the worst playtester in the world because you just are too close to your game and there are way more other people than there are you. — Jan Willem Nijman

## Mentioned Jan Willem Nijman, Rami Ismail, Vlambeer, Dutch Game Garden, Martin Jonasson, Petri Purho, Jonatan Söderström, Brendon Chung, BioWare, Raven Software, Ridiculous Fishing, Super Crate Box, GUN GODZ, Luftrausers, Nuclear Throne, Radical Fishing, Hotline Miami, Wolfenstein, GameMaker, Audacity, sfxr, Steam

## Video description INDIGO Classes 2013: Jan Willem Nijman is 50% of indie power house Vlambeer. He talks about 'The Art of Screenshake'. Why is it that one game plays great and another, similar game feels terrible?

[Source](https://www.youtube.com/watch?v=AJdEqssNZ-U)

中文简报

Jan Willem Nijman - Vlambeer - INDIGO Classes 2013:“屏幕抖动的艺术” 独立工作室 Vlambeer 联合创始人 Jan Willem Nijman 抛开学术化的游戏设计理论,分享了用于改良动作游戏的实用工艺技巧。他利用现场自制的 GameMaker 原型,通过叠加视觉反馈、超大子弹、敌人受击闪烁、顿帧暂停以及定向屏幕抖动,逐步将一款平淡乏味的 2D 射击游戏转变为极具冲击力的街机游戏。他展示了触觉般的“游戏打击感”主要源于微观的感官细节——例如环境残留物、重低音效以及后坐力机制——而非复杂的底层数学计算。在观众问答和现场演示中,Nijman 强调了外部试玩测试、通过机制限制进行平衡,以及 Vlambeer 标志性动感表现背后的刻意艺术追求。 Vlambeer 主要通过动感循环中的微交互来营造游戏感,将玩家扣动扳机等输入转化为即时且具有强烈冲击力的视听反馈。 (2:05) 视听呈现对玩家感受武器威力的影响往往大于底层平衡;在完全不改动伤害或弹道代码的情况下,将武器音效提升 12 分贝即可解决玩家的抱怨。 (21:41) 屏幕抖动与卡肉顿帧(例如 20 毫秒的引擎冻结)能显著提升战斗打击感,但屏幕抖动需要提供无障碍开关以防玩家产生眩晕。 (18:01) Vlambeer 的制作方法是在两到三天内搭建出可玩的核心原型,随后的数月或一年则完全用于 UI 菜单开发与游戏视听打击感细节的调校。 (35:17)

Reading summary

In an INDIGO Classes 2013 presentation, Vlambeer co-founder Jan Willem Nijman argues that satisfying action games depend on sensory feedback loops and immediate mechanical responsiveness rather than high-level academic theory. The Sensory and Mechanical Interaction Loop (2:05) Nijman describes game feel as the kinetic exchange where a player's physical input returns immediate audiovisual consequences from the machine. While AAA productions often prioritize high-fidelity visuals over interactive weight and smaller art projects emphasize reflective themes, Vlambeer focuses primarily on the split-second interval between pressing a button and witnessing an impact on screen. Weapon Feedback and Combat Pacing (9:28) Demonstrating on a custom GameMaker prototype, Nijman shows how basic mechanical tweaks transform unengaging combat. Lowering individual enemy health while multiplying spawn counts creates a dynamic sense of momentum without reducing overall challenge. Visual presence can be dramatically amplified by enlarging projectiles to the size of a character's torso, accelerating bullet velocity, injecting slight weapon spread, and placing muzzle flashes on the first frame of a projectile animation. Tactile feedback is reinforced through hit reactions and recoil. Applying visual flashes and minor knockback communicates impact instantly while dynamically shifting enemy positions across platform geometry. Giving the player's weapon rearward knockback creates a traversal mechanic, compelling players to consciously choose when to fire rather than holding down the attack button continuously. Tactile Illusion: Hitstops, Audio, and Screenshake (18:01) To sell the physical weight of combat, Nijman advocates using engine 'sleep' commands—microscopic freezes lasting roughly 20 milliseconds upon impact—which give the human brain sufficient time to process combat events. Audio design also plays a massive role in perceived mechanics; Nijman recounts a development case where investors demanded balance adjustments for a firearm, only to declare it fixed after designers merely applied a +12 dB bass boost to its firing sound effect without altering gameplay code. Dynamic camera techniques further magnify the sense of power. Beyond standard random screenshake, Nijman highlights a directional camera kick developed for *Luftrausers*, where the camera punches backward opposite to the firing trajectory. However, he cautions that screenshake can become an addictive crutch: during *Nuclear Throne* development, the team grew desensitized to excessive trauma that caused motion sickness in outside playtesters, necessitating an accessibility toggle. Environmental Permanence and Action Stakes (26:31) Citing game design advice from Jonatan Söderström, Nijman stresses the impact of massive explosions and lasting environmental scars. Leaving spent brass casings, debris, and fallen enemy corpses permanently across a stage provides organic navigation breadcrumbs while connecting visceral action to lingering player reflection. Stray bullets should hit destructible environmental props to ensure missed shots never feel empty. Finally, Nijman points out that pure kinetic polish lacks dramatic weight until reciprocal vulnerability exists between the player and the world. Implementing true game-over states and mortality gives mechanical feedback narrative purpose, shifting the encounter from mindless destruction into an engaging experience. While aggressive audiovisual feedback immediately elevates action titles, Nijman notes that developers quickly build subconscious biases and high tolerance for extreme screenshake during development, making external playtesting critical to prevent physical discomfort and identify broken systems.

精炼阅读摘要

Vlambeer 联合创始人 Jan Willem Nijman 认为,动作游戏的核心魅力在于玩家输入与机器反馈之间的即时闭环,通过大量微小、高密度的视听与物理细节(即“Juice”),平庸的原型能够迅速转变为极具爽快感的游戏体验。 人机交互闭环与打击手感机制 (2:05) Nijman 抛弃了抽象的学术理论,将电子游戏拆解为机器与玩家之间的感官循环:机器通过视觉和音频输出状态,玩家接收刺激后输入操作,游戏改变状态并回传视听反馈,最终在玩家意识中转化为意义与反思。他批评许多 3A 大作仅堆砌视听特效而缺乏有深度的操作反馈,而小众艺术项目则过于偏向思维反思。Vlambeer 的核心优势在于将重点严格落在输入发生后、子弹击中目标并立即反馈给玩家的瞬间。 武器调校与打击反馈技巧 (7:21) 在现场构建的 2D 射击演示中,Nijman 逐步引入了实用的调校手段。针对初始原型枯燥无趣的缺陷,他首先大幅削减单体敌人血量,并将单体强怪替换为成群的脆皮敌人,以密集的杀敌节奏提升满足感。武器层面,他主张在以射击为核心的游戏中提高射速,并将子弹尺寸夸大至角色胸口大小,同时加入零帧枪口闪光、弹道随机散布以及撞击火花。当子弹击中目标时,通过让敌人瞬间闪白、改变姿态以及向后产生数个像素的击退判定,使静态判定转化为具有物理因果律的战斗动态。 时空停顿与视听欺骗心理学 (18:01) 为了让攻击呈现出扎实的打击感,Nijman 采用了在命中间隙强制冻结引擎约 20 毫秒的“Sleep”指令;尽管肉眼难以察觉这一停顿,但人类大脑会利用这几毫秒充分处理受击信息,从而在感知中加深打击分量。针对听觉维度,他引述了一位曾在 Raven Software 任职的设计师处理 2009 年《德军总部》武器反馈的行业案例:面对投资人对某把枪支手感欠佳的批评,开发团队并未修改任何底层数值,仅在 Audacity 中将开火音效的低音提升了 12 分贝,便让该武器获得高度认可。现场演示对比也证实,深沉厚重的低音能够直接构建出机械杀伤力的心理幻觉。 环境留存痕迹与反向动量设计 (13:07) Nijman 强烈反对在战后清理战场的做法,主张保留永久性的弹壳、残骸与尸体,这不仅记录了战斗历史,还能在迷宫环境中充当寻路路标。受到 Jonatan Söderström 关于制作巨大爆炸建议的启发,他为主视角加入了夸张的黑白闪烁几何爆炸和持久消散的烟雾。在操作层面,后坐力推动玩家后退,使得开火行为转化为一种机动手段,甚至在跳跃中实现悬停;同时,开火会导致前进减速,迫使玩家权衡扣动扳机的时机。此外,除了常规屏幕震动,反向镜头推力(Camera Kick)会在射击时向瞄准的反方向微调视口,极大地增强了武器的后坐力表现。 生产周期分配与过度反馈边界 (30:51) 在团队管线方面,Nijman 透露 Vlambeer 通常仅用数天完成核心原型开发,却会花费长达一年的时间调整细节打磨与界面设计。但他同时警告,开发者极易对自身的屏幕震动产生耐受,甚至下意识地在测试中规避 Bug;在制作《废土之王》(Nuclear Throne)时,开发人员习以为常的强烈震动一度导致首次试玩的玩家严重眩晕,最终迫使团队加入关闭震动的无障碍选项。Nijman 总结道,测试必须依赖外部人员,细节打磨的上限应当是以预算消耗殆尽或不对玩家造成实际身体不适为界限。 Nijman 的核心结论是,优秀的动作游戏手感并非源自深奥的设计理论,而是由无数经过精心调校的微小视听反馈堆叠而成;其未完全解决的边界在于,开发者主观追求的强烈刺激容易掩盖自身对缺陷的感知,如何在最大化感官冲击与避免玩家身体不适(如动晕症)之间维持平衡,仍需依靠客观的外部测试来界定。

Detailed notes — zh

## Background 该视频由 YouTube 频道 Dutch Game Garden 于 2013 年 12 月 16 日发布,记录了 INDIGO Classes 2013 的演讲现场。页面简介显示,独立游戏工作室 Vlambeer 的联合创始人 Jan Willem Nijman 围绕“屏幕震动的艺术”(The Art of Screenshake)展开分享,探讨为何两款相似的游戏在操作体验上会有云泥之别。 ## TL;DR Vlambeer 联合创始人 Jan Willem Nijman 摒弃了晦涩高深的学术理论,将主题重命名为“让动作游戏更爽的 30 个微小秘诀”。他现场使用自制的 GameMaker 交互式 Demo,从一个枯燥至极的基础平台射击原型出发,逐步叠加音效、调低血量、增大子弹尺寸、加入枪口火光、顿帧(sleep)、摄像机反冲与屏幕震动等数十项细节。通过直观的前后对比,他拆解了人机反馈回路中“挤出果汁”(Juice)的底层技巧,并强调永久留存的战斗痕迹与合理的负反馈才能赋予操作真正的“意义”。问答环节中,他还深入探讨了数值平衡的盲区、晕动症阈值以及将“手感”转化为工作室品牌标签的营销策略。 ## Atmosphere & style 整场演讲洋溢着极其接地气、充满极客幽默与反权威色彩的独立游戏人气质。Jan Willem 态度随性坦诚,毫不掩饰对空洞行话的不屑,常常一边喝水一边用犀利的自嘲和开发者黑话逗乐全场。互动演示环节更是生动鲜活,台上台下的即兴试玩与调侃让枯燥的技术参数变成了极具感染力的视听冲击,不仅传授了扎实的实战干货,更传递出纯粹为游戏细节注入热爱的热血氛围。 ## Bulletin - [06:28](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=388s) Vlambeer 联合创始人 Jan Willem Nijman 摒弃抽象的“游戏手感”理论,通过现场改造一个简陋的原型演示了 30 个立竿见影的动作游戏微调技巧,涵盖大号子弹、枪口微光与屏幕震动等。 - [18:01](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1081s) 在命中瞬间加入约 20 毫秒的硬性定格(sleep)能有效利用人脑生理处理间隙,在潜意识中大幅增强每次攻击的破坏力与打击感。 - [21:41](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1301s) 音效对游戏手感具有欺骗性加成:3A 大厂曾有仅凭为枪声拉升 12 分贝低音(Bass Boost +12dB)而不动任何代码与数值,就彻底扭转测试人员对手感差评的真实案例。 - [30:51](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1851s) 开发者往往是自身游戏“最糟糕的测试员”,极易对屏幕震动产生耐受性甚至误判平衡,必须在完成直觉设计后尽早交由外部玩家检验并提供关闭震动的无障碍选项。 ## Key takeaways - [02:05](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=125s) Vlambeer 的核心优势在于人机循环的即时反馈闭环,即玩家按下按键到游戏画面产生物理与视听响应的极短瞬间。 - [08:20](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=500s) 动作游戏不必拘泥于现实拟真:大幅调高射速、增大子弹尺寸至角色胸膛大小,并赋予微小的随机弹道发散,能极大提升爽快感与画面动态生机。 - [08:20](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=500s) 巧妙利用廉价特效替代复杂粒子系统,例如将子弹精灵图的第一帧设为白色圆形,便能零成本模拟出逼真的枪口微光(Muzzle Flash)。 - [13:07](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=787s) 保留战场持久留存性(Permanence):让敌人尸体、弹壳和被破坏的场景碎屑永久留在场景中,能无声地强化角色的破坏力并辅助玩家记忆探索路径。 - [14:42](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=882s) 摄像机平滑插值(Lerp)与动态构图应始终聚焦于玩家瞄准的战斗目标和前方威胁,而非机械死板地锁定在角色本体坐标上。 - [16:30](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=990s) 按键设计核心哲学:“在游戏中加入像射击这样的按键时,必须给玩家一个不按它的理由”——强劲的后坐力迫使玩家在移动走位与倾泻火力之间进行策略权衡。 - [18:01](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1081s) 硬性顿帧(sleep 约 20 毫秒)利用人脑主观难以察觉但需要额外时间处理视觉冲击的生理特性,成倍放大物理打击感。 - [21:41](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1301s) 音效对打击感的感知具有决定性影响,单纯为射击音频做 12 分贝低音增强(Bass Boost),就能在不修改任何底层数值的情况下让枪械手感产生质的飞跃。 - [25:07](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1507s) 反向镜头后坐力(Camera Kick)让摄像机朝开火方向的反方向猛退,搭配借鉴自 Cactus 的“超大号爆炸”法则,能瞬间赋予清版射击战斗极强的视觉张力。 - [28:16](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1696s) 单方面的虐杀缺乏交互闭环,开发者必须写出完整的失败逻辑(GameOver state)并赋予战斗情感层面的“意义”。 - [30:51](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1851s) 精细的数值平衡有时是陷阱,通过核心机制(如《Super Crate Box》中捡拾随机武器箱推进游戏)可以直接打破对单把武器数值精调的依赖。 - [32:05](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1925s) 开发者日复一日调试会对屏幕震动产生极高耐受度,容易越加越猛导致新手眩晕,因此必须为生理不适的玩家提供禁用屏幕震动的设置选项。 - [32:05](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1925s) 《LUFTRAUSERS》的手感设计哲学在于营造“极其宽容的错觉”:即便玩家实际技术拙劣,手感的细腻调校也要让其主观上觉得自己是顶尖的王牌飞行员。 - [35:17](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2117s) Vlambeer 的研发节奏通常是数天内搭完核心原型,随后耗费近一年时间打磨细节;手感细节若做得好,玩家往往感知不到具体原因,因此需要开发者主动将其作为工作室的品牌标签进行宣讲与营销。 - [37:22](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2242s) Jan Willem 澄清屏幕震动并非来自低分辨率渲染或平移 Bug,而是完全由手动编写的代码刻意实现的打击感强化手段。 ## Detailed walkthrough ### [00:05](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=5s) 开场引言与 Vlambeer 工作室简介 主持人登台向现场观众介绍本次演讲的嘉宾——独立游戏工作室 Vlambeer 的联合创始人 Jan Willem Nijman(常被称作 JW)。主持人打趣地提到,两人此前在后台讨论“游戏手感”(Game Feel)这个概念时,JW 极度嫌弃这个词,认为它糟糕透顶,双方甚至差点因此吵了起来。最终达成的妥协是:允许 JW 在台上彻底“摧毁”这个名词,但他必须把如何让游戏操作起来感觉良好讲明白。在全场观众的热烈掌声中,Jan Willem 登台。 JW 自我介绍称自己占了独立工作室 Vlambeer 的 50%,在团队里主要负责“游戏设计和执行,不管这头衔具体意味着什么”。他指出本次演讲确实是关于那个被加上重重引号的“游戏手感”,并展示了工作室那只燃烧着的熊的标志。他接着历数了工作室推出与正在开发的一系列代表作: - **《Ridiculous Fishing》**(荒诞钓鱼):工作室的成名作之一。 - **《Super Crate Box》**(废土之王/超级木箱):一款在 Steam 等平台提供免费下载的快节奏动作游戏。 - **《GUN GODZ》**(枪神):一款设定在金星、融入黑帮说唱元素的免费第一人称射击游戏。JW 自嘲道:“虽然根本没人玩过,但其实它做得很不错。” - **《Luftrausers》**:一款展示了极为糟糕的裁切截图的空战狗斗游戏。 - **《Nuclear Throne》**(废土之王):当时正在紧密制作中的末日废土风 Roguelike 动作游戏,核心机制是操控突变体长出额外肢体、疯狂向怪物倾泻弹药。 ### [02:05](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=125s) 对“理论派”的解构与人机交互模型 JW 倒了杯水后坦白表示,自己对学术界所谓的“游戏手感”理论其实没什么高深的话好讲,因为自己压根不是科班学者或心理学家,而是一个想到点子就直接动手做出来的人。他自嘲“开口长篇大论太费劲了,发推特容易得多,毕竟推特短小得多”,因此不会深入枯燥的心理学或认知理论,只打算分享大量实战摸索出来的小诀窍。他提到现场观众席里坐着 Martin Jonasson 和 Petri Purho,他们稍后也会带来一场极为精彩的同主题演讲;同时他还盛赞了《迈阿密热线》的开发者 Cactus(Jonatan Söderström)在 2009 年独立游戏峰会(IGS)上的经典演讲——Cactus 曾把做游戏比作生孩子,并给出了大量让游戏变爽的实用建议。 谈及游戏、媒介与玩家的关系时,JW 演示了一台静止不动的电脑屏幕,直言“如果只有一台显示着破烂玩意的电脑而什么都没发生,这根本不能叫游戏”。要构成游戏,必须引入一个让问题瞬间复杂数倍的变量——玩家。最棘手的地方在于,玩家群体极其庞大且人各不同。他画出了一幅高度概括的人机循环回路图: ```mermaid flowchart LR accTitle: Game-Player Interaction Loop accDescr: A cyclical interaction diagram showing how games communicate with players and where Vlambeer focuses. subgraph Hardware ["游戏端"] G["游戏本体<br/>(视觉 / 听觉)"] STATE["游戏状态改变<br/>(发射子弹 / 击中)"] end subgraph Human ["玩家端"] P["玩家认知"] THINK["产生思考与意义<br/>(价值观 / 玩法反馈)"] end G -->|"视听信号输入"| P P -->|"按键控制输入"| STATE STATE -->|"反馈闭环 (Vlambeer 核心擅长)"| P P -->|"深层思考与领悟"| THINK THINK -->|"重塑认知 / 改变决策"| P ``` JW 解释道,游戏通过视听信号进入玩家大脑(毕竟现在还没有能闻味道的“嗅觉游戏”),玩家接收后敲击按键输入操作;游戏随即响应并改变内部状态,这种变化再度反馈回玩家眼帘。此时,一部分游戏会引导玩家深度思索,让游戏产生超越机制本身的“意义”,甚至让玩家领悟人生哲理、成为更好的人。许多注重叙事与哲思的深刻游戏都深耕在这条通往思考的链条上,而大量 3A 大作则只顾着把视听奇观单向灌进玩家脑袋,玩家实际上没做太多实质互动,“这挺让我伤心的”。谈及 Vlambeer 自身的专长时,JW 强调他们压根不去碰宏大的哲学隐喻: > “对于 Vlambeer 来说,我们在做游戏上基本只擅长一件事,就是这部分:在游戏进入玩家大脑、玩家向游戏输入操作之后,游戏立刻反馈回玩家的那一刻——就像我按下一个按键,子弹飞出去并击中目标,正是那根蓝色箭头。” ### [06:28](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=388s) 演讲重命名与粗糙原型的演示 鉴于对学术词汇的不屑,JW 拿笔划掉了幻灯片上的所有引号以及“Game Feel”这个词。甚至对于会议议程册上印着的《屏幕震动的艺术》(The Art of Screenshake),他也觉得显得小题大做。为了剥离所有空洞的说教,他正式将本次演讲当场更名为:《让你的动作游戏更爽的 30 个微小秘诀》(30 Tiny Tricks That Will Make Your Action Game Better)。他自豪地表示,这才是自己真正有资格传授的东西,因为自己每天都在扎扎实实地做动作游戏。 随后,JW 在屏幕上调出了一个极度简陋的基础平台射击游戏 Demo。场景里只有粗糙的方块地面、一个火柴人般的角色和几个慢吞吞的红色方块敌人。他坦言: > “这真的是个烂透了的平台射击游戏,平庸至极,任何人照着网上的基础教程花几分钟都能拼出这种垃圾玩意。” 这个反面教材的灵感直接“偷”自 Cactus 在 2009 年演讲中演示的同类原型——在那里,玩家必须踩很多次马里奥风格的怪物脑袋才能将其击杀。在 JW 的初始原型中,角色开火频率极低、子弹小如尘埃、没有任何音效与动效,而敌人的血量却厚得离谱,玩家需要站在原地对着一个怪物连续射击好几秒才能把它消灭,整个过程死气沉沉。 ### [08:20](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=500s) 动作射击游戏的底层改造:从数值、视听到击中反馈 为了拯救这个无聊的原型,JW 开始逐一注入具体的微调技巧,现场演示每一次微小修改如何让游戏的反馈感发生质的飞跃: 1. **基础音效与基础动画(Basic Animations and Sound)**:JW 用人人都在用的免费开源工具 sfxr 快速合成了几段射击和跳跃的 8-bit 音效,并为主角补上了简单的行走动画、跳跃动作以及一撮随着行动摆动的头发。仅仅加入了开火的声音和基础的角色摆动,操作枪械的感觉立刻就扎实了许多。 2. **降低敌人生命值(Lower Enemy HP)**:原版里怪物要吃很多发子弹才会死。JW 将敌人的血量直接下调。虽然从底层逻辑上看这只是一个极其不起眼的数值变动,但敌人被迅速消灭带来的爽快感截然不同。 3. **提高武器射速(Higher Rate of Fire)**:既然做的是一款关于拿枪射击的游戏,压抑开火频率毫无意义。JW 直白地吐槽道:“反正这是个关于开枪射击的该死游戏,你还不如让它能倾泻大量子弹,毕竟这是我与这个悲惨世界沟通的唯一方式。” 4. **增加同屏敌人数量(More Enemies)**:与其设计一个拥有 6 点生命值的厚血靶子让玩家枯燥地点射,不如在同屏塞进 6 个只有 1 点生命值的杂兵。两者在玩家消耗的子弹总数和击杀总耗时上可能完全一致,但狂扫群怪的体验远胜于给单个木桩修脚。 5. **增大子弹尺寸(Bigger Bullets)**:新手开发者最常犯的错误就是把子弹画成针尖或小点,借口是“现实生活中的子弹本来就很小”。JW 驳斥了这种无聊的拟真思维,提出在动作游戏里,子弹在视觉上起码得有角色胸膛那么大,才能体现出火力的威慑力。 6. **添加枪口微光(Muzzle Flash)**:JW 分享了 Vlambeer 在所有游戏里通用的“廉价省事小秘诀”——根本不需要做复杂的粒子特效系统,只需将子弹精灵图(Sprite)的第一帧画成一个纯白色的圆形,在枪口生成的瞬间这一帧闪现而过,视觉上就会呈现出与主流 FPS 一模一样的开火枪口闪光。 7. **提高子弹飞行速度(Faster Bullets)**:慢吞吞的投射物会让射击显得绵软无力,高速弹道瞬间让出膛感变得干脆利落。 8. **降低射击精准度(Less Accuracy)**:为枪械赋予轻微的随机弹道发散。虽然这对纯粹数值产生了一点微小变数,但它彻底打破了单调感。因为玩家玩的是一款无脑杀戮的动作射击游戏,轻微的散射能确保屏幕上的弹道轨迹每一次看起来都各不相同,视觉上更具动态生机。 9. **命中受击特效(Impact Effects)**:在子弹打中墙壁或怪物身体的瞬间,生成一个极小的碎裂火花或击打动画。这让子弹不再是突兀地在虚空里凭空消失,而是向玩家清晰地宣告:“这里发生了一次强有力的物理碰撞!” 通过这短短几项调整,最初那个沉闷压抑的半成品演示,已经蜕变成了一款弹幕横飞、打击感初具雏形的快节奏动作雏形。 ### [11:58](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=718s) 受击动画与敌人击退:构建动态战斗与即时反馈 在为游戏添加细节时,其实并不需要耗费大量工时,任何人都能在短时间内做出来。演讲者首先展示了敌人受击时的动画表现。就像前面展示的那支扎回玩家脑袋的红色箭头一样,这纯粹是为了提供即时反馈,向玩家传达他们的操作给游戏世界带来了何种改变。通过一个简单的白色闪烁、受击姿态的轻微变化,甚至让敌人的五官暂时消失,玩家就能一眼明确:“嘿,这个敌人受伤了。” 紧接着加入的是敌人击退(Enemy Knockback)效果。这种改动极其细微,玩家在实际游玩中甚至不会刻意注意到它,但它却能对整体玩法产生实质性的影响。在演示中,当敌人中弹并向后、向右踉跄倒退时,整个战局瞬间变得动态起来——原本单调的阵型被打破,敌人甚至开始无意中从侧翼包抄玩家。而实现这一效果的底层逻辑极为简单,仅仅是在敌人被击中时将其坐标往后移动几个像素。这种视觉与物理上的表现,也高度符合现实中被子弹击中时的生理反应。 --- ### [13:07](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=787s) 战场的持久留存性:让战斗痕迹讲述关卡故事 许多游戏常犯的一个严重错误,是在战斗结束后让战场变得空空如也。演讲者强调了“持久留存性”(Permanence)的重要性:当一场恶战落幕,玩家站在原地,能清楚看到一二三四五六七具倒下的敌人尸体,以及战斗撕扯过的废墟。即便玩家沿着精心设计的关卡长廊走了一圈再折返回来,只要看到这些尸体,就能瞬间判断“哦,我已经来过这里了,我得往回走”。这种对“过往战斗痕迹”的保留,对 Vlambeer 的设计理念至关重要。 现代计算机的性能已经足够强大,即便在场景中留下上百万具尸体,硬件也能轻松承受,开发者完全没有必要让尸体匆忙淡出消失。以《废土之王》(Nuclear Throne)为例,即便玩家清空了区域,屏幕下方可能还留着两只蠕动的蛆虫,但满地都是碎石瓦砾和敌人残骸。这些残留物虽然不再对游戏机制产生数值影响,但却无声地向玩家传达了角色的强悍力量。这就像经典动作电影中酒吧枪战之所以好看,是因为每一颗射偏的子弹都会击碎吧台上的酒瓶。《废土之王》里的仙人掌等装饰性道具也是同样的逻辑:它们并不干预核心机制,但确保了玩家射偏时也能产生破坏反馈,避免子弹射入虚无。 ```mermaid flowchart LR accTitle: 战场持久留存性与射击反馈设计 accDescr: 展示射击命中与射偏如何通过环境破坏与残留物提供即时叙事反馈 subgraph CombatAction["玩家射击行为"] Hit["子弹命中敌人"] Miss["子弹射偏脱靶"] end subgraph WorldPermanence["战场永久留存"] Corpse["敌人尸体不消失<br/>标示探索路径与战果"] Props["破坏场景道具<br/>碎瓶、仙人掌碎裂"] end CombatAction --> WorldPermanence WorldPermanence --> Feedback["强化破坏感与玩家代入感"] ``` --- ### [14:42](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=882s) 摄像机平滑差值与动态构图:聚焦战斗而非主角 演讲者接着引入了摄像机平滑移动(Camera Lerp),即线性插值算法。加入该算法后,摄像机不再机械死板地锁死玩家坐标,而是以微弱的滞后感平滑跟进。这种细微的滑动延迟往往不会被玩家的大脑刻意捕捉,但整体操作的“游戏手感”(Game Feel)却会大幅提升。然而,单纯的跟随摄像机依然显得拙劣,因为游戏镜头存在的意义不是展示玩家角色本身,这个游戏的核心是“射击面前的目标”。 因此,摄像机必须向前延伸,将构图重心挪向玩家正在瞄准的敌人与前方区域。演讲者以他们制作的游戏《Luftrausers》为例,其摄像机机制极其动态:不仅会顺着瞄准方向略微前移,当飞机接近水面时,镜头会自动下移警示“这里有水”;更神奇的是,游戏将场景中所有敌方子弹的坐标扔进一个数学公式中实时计算重心,让摄像机悄悄往子弹中心的反方向微调。玩家在空中激战时根本察觉不到这种数学计算,只会下意识产生“镜头怎么在往这边偏?我最好赶紧规避”的直觉,随后一个侧身翻滚,恰好避开一颗从屏幕外射来的致命飞弹。这种在幕后投入巨大精力的镜头细节,能直接带给玩家难以言喻的爽快感。 --- ### [16:30](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=990s) 屏幕震动与玩家后坐力:赋予射击按键“不按”的理由 屏幕震动(Screen Shake)已经成为 Vlambeer 最具代表性的标志性元素。这背后的原因很简单:每当有人拿着半成品游戏询问该如何改进时,最有效的通用答案往往是“加点屏幕震动”,因为它实现成本极低,却能瞬间让打击感质变。屏幕的微微颤动让整个开火动作充满张力,角色的射击反馈立即从沉闷无趣变得极具活力。 随后加入的是玩家开火后坐力(Player Knockback)。这不仅是视觉效果,更直接演变成了游戏机制。后坐力强劲到玩家甚至不用按方向键走路,单靠朝后开火的反冲力就能推动自己前进。但这同时也带来了策略制约:当玩家迎着敌人向前推进时,开火会导致前进速度变慢。关于按键设计,Jan Willem Nijman 提出了一个极其尖锐的核心原则:“If you put a button in a game like a firing button, give someone a reason to not press it.”如果开火毫无代价或限制,那这个按键就失去了存在的意义,开发者干脆把它做成全自动常开射击算了。反冲力不仅逼迫玩家在移动与射击之间做权衡,更能在诸如角色悬崖边开火被推入岩浆、或在悬崖空中靠开火短暂滞空坠亡等场景中,制造出惊险有趣的战术时刻。 --- ### [18:01](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1081s) 顿帧处理(Sleep):利用脑生理空隙放大打击力道 为了进一步强化碰撞冲击感,演讲者引入了一个极其简短的指令——`sleep`(顿帧/定格)。在 GameMaker 等引擎中,它会直接让整个游戏彻底暂停数毫秒。尽管演讲者调侃自己对底层编程一无所知、也不了解大脑科学,但他摸索出了一套自己的生理学理论:当子弹命中敌人或击杀目标的瞬间,让游戏画面硬性定格约 20 毫秒。 ```mermaid flowchart TD accTitle: 顿帧机制生效流程 accDescr: 展现子弹击中目标时游戏暂停数毫秒如何欺骗大脑增强打击感 A["子弹命中目标瞬间"] --> B["调用 Sleep 指令<br/>画面彻底冻结约 20 毫秒"] B --> C["人类潜意识未发觉异常<br/>大脑获得额外微秒处理视觉冲击"] C --> D["主观感受:打击力道沉重、记忆鲜明"] ``` 人脑在主观上根本察觉不到这几十毫秒的停顿,但这段短暂的空白却给予了神经系统充足的时间来消化正在发生的强烈视觉冲击。由于处理该帧所花费的绝对时间变长了,大脑便会在潜意识里留下“这一拳/这一枪威力极其巨大”的深刻印象。演示中未加顿帧与加入顿帧的对比极其微妙,却在触感上天差地别。演讲者感叹游戏手感必须亲自上手按键才能完全体会,光坐在台下看大屏幕其实很荒谬,甚至开玩笑说“明年应该在全场每个座位底下藏 200 个键盘供大家同步操作”。 --- ### [19:37](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1177s) 枪支滞后、扫射与弹壳持久堆积 随后加入的细节往往源于美丽的巧合。枪支滞后(Gun Delay)原本是一个枪械跟随玩家旋转时发生延迟的 Bug,但看起来极具角色双手握枪的物理承重感,于是便被保留了下来。同时,开火时枪身剧烈后坐收缩的微小动画,进一步放大了武器的爆破威能。而在制作演示课件的过程中,演讲者顺手加入了扫射(Strafing)机制——玩家可以在开火的同时背对目标向后倒退,按键转向时会有短暂的转身半秒。这同样贯彻了“给玩家不按开火键的理由”的理念,让玩家在掉头走位与维持火力输出之间产生策略博弈。 而在留存性方面,演讲者进一步引入了抛壳机制。无数弹壳在开火后散落一地,并且永久保留在地面上。现代 PC 的性能完全允许成千上万枚弹壳堆满地板而毫无卡顿: - 玩家即便通关击杀 Boss 折返回起点,看到满地密密麻麻的弹壳,也能自豪地回味刚才倾泻弹药的狂欢,甚至能通过数地上的弹壳来核对成就进度。 - 演讲者还隔空喊话台下的独立开发者 Petri Purho(《Noita》作者之一),调侃称如果换作 Petri 来做,肯定会给这些弹壳加上独立的物理碰撞系统,让弹壳互相推挤成小山,玩家甚至能在弹壳海里游泳。 --- ### [21:41](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1301s) 声音中的低音增强:那个价值 12 分贝的行业秘闻 视觉细节完善后,音频的处理同样立竿见影。演讲者现场分享了一段来自 3A 大厂资深同行的真实轶事。他的一位在 BioWare 担任资深设计师、曾任职于 Raven Software 的朋友透露,在当年开发某款第一人称射击游戏(推测为 Raven 开发的某部《德军总部/Wolfenstein》重启作)时,测试团队和投资方集体抱怨某把主力枪械的手感奇差无比、机制设计失败,勒令设计师赶紧回工位修改底层玩法。 这位设计师回到电脑前,根本没有改动任何一行代码或武器伤害数值,仅仅是打开 Audacity 音频软件,载入枪声文件,直接拉升了 **12 分贝的低音增强(Bass Boost +12dB)**,然后重新打包导出。他把电脑递还给投资人宣称“我已经彻底修复了玩法”,投资人试玩后赞不绝口地惊呼:“哦天哪,这下手感完全对了!”而这把未改动任何玩法参数、仅加厚了低音的枪,最终成为了该发售作品中最受玩家欢迎的枪械之一。演讲者在现场切换对比了单薄枪声与加厚低频后的音效,全场观众在低音轰鸣下纷纷举手认同。随后,结合之前做好的散射、精准度与弹道机制,原本单调的单发小手枪瞬间被升级成了极具破坏快感的三连发突击步枪。 ### [23:32](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1412s) 三管机枪、连锁爆炸与加剧的动作节奏 Jan Willem Nijman 继续在演示原型中叠加爽快感元素。为了让画面更有动作感,他直接给主角换上了三管机枪(triple machine gun),理由十分单纯:“既然我们已经有了子弹的逻辑,顺手就能做出来;如果你要做一款动作游戏,不妨就把它做成真正的动作游戏。” 随后他引入了随机爆炸机制:虽然这看起来跟传统意义上的手感(game feel)关联不大,但他给所有敌人设定了 33% 的死亡自爆几率。即便这种死亡爆炸在逻辑上毫无道理,但在实际游玩时“感觉就是很棒”。伴随爆炸增多,游戏的击杀门槛被变相拉低,于是他又提升了敌人的移动速度并增加了刷怪数量。当更快的怪物、连绵的自爆以及枪口的后坐力(gun kick)交织在一起时,即便是粗糙的像素画风,整个场景也立刻呈现出了成熟动作游戏的张力与吸引力。 - 敌人死亡时拥有 33% 的随机爆炸概率,强化杀敌的连锁正反馈。 - 调高敌人移速与同屏敌人数,以平衡爆炸带来的过低难度,推高战斗紧张感。 - 武器后坐力与高射速的配合,让即便极其简陋的“免费像素素材”也能产生极佳的打击质感。 --- ### [25:07](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1507s) 反向镜头后坐力与 Cactus 的“巨大爆炸”法则 随着同屏怪物数量继续攀升,Jan Willem 顺势进一步提高了机枪的射速——在代码里这仅仅是修改一个数值的事。紧接着,他展示了在制作《LUFTRAUSERS》期间琢磨出的一项“作弊级”技巧:镜头后坐力(camera kick)。普通的屏幕震动往往是无序随机晃动,而镜头后坐力则是让摄像机朝着玩家开火方向的正相反方向猛退一小段距离。这种物理反馈让开火瞬间的冲击力倍增。他调侃称,这场分享结束后 Vlambeer 恐怕要破产倒闭了,因为工作室的压箱底秘密全被公之于众,而合伙人 Rami Ismail 恰好不在现场,没法制止他泄密。 谈及动作反馈的核心,Jan Willem 回忆了他在 2004 或 2005 年左右学到的“最重要的一堂游戏设计课”。当时他想做一款清版射击游戏,便去向制作了《火线迈阿密》(Hotline Miami)的 Jonathan Söderström(即 Cactus)请教如何做好街机游戏。Cactus 给出的答案极为直白:“做超大号的爆炸(make really big explosions)。”从那时起,Jan Willem 便将这一准则贯彻至今。他当场把原先微小的爆破替换为巨大的黑白闪烁圆形爆炸,配合击杀后缓缓消散的简易烟雾效果,让战场在厮杀过后留存下强烈的视觉沉淀。 Jan Willem Nijman 引用 Cactus 的教诲强调: > “He told I asked him how do you make good arcade games and he told me make really big explosions and I've been working by that lesson ever since.” > (我问他怎样才能做出优秀的街机游戏,他告诉我:做超大号的爆炸。从那以后我便一直奉行这条法则。) - 《火线迈阿密》巧妙地将“残存感/永久性”(尸横遍野的折返走廊)与玩家的思考循环结合起来。 - 爆炸的视觉实现极度精炼:仅靠黑白闪烁交替的圆形图案与简单烟雾,就能达成震撼的视觉冲击。 - 开发者完全可以把这种反馈推向极致,例如加入满天乱飞的碎尸(gibs)和头颅,持续深化残留感。 ```mermaid flowchart LR accTitle: Camera Kick Mechanism accDescr: Diagram showing how weapon firing direction produces camera kick in the opposite direction. subgraph Input ["玩家行为"] Fire["朝目标方向射击"] end subgraph Feedback ["多重冲击反馈"] Gun["枪械产生反向后坐位移"] Cam["摄像机向射击反方向猛退"] Shake["触发屏幕随机剧烈震动"] end Fire --> Gun Fire --> Cam Fire --> Shake ``` --- ### [28:16](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1696s) 赋予游戏意义:虚假慢动作与“你才是真正的怪物” 至此,演示中的操作感与视效已经极其出色,但 Jan Willem 指出它依然欠缺最核心的一环——“玩法与交互意义”。因为目前只有玩家在单方面虐杀世界,而世界根本没有对玩家产生真正的互动反馈,“怪物们只是在那里被动挨枪子,看着甚至让人有些心疼”。 他警告开发者,千万不要做出“一旦撞到敌人就手动按重开键”的半成品,必须老老实实写出 GameOver 逻辑,赋予胜负实际的情感意义。在演示的第 40 个迭代版本中,他让全图所有怪物被消灭后,只留下最后一只原本悠闲散步的小怪来击杀自己。在主角被触碰倒地的刹那,他使用了一个极其狡黠的开发伎俩:他并没有写真正的子弹时间代码,而是强行将游戏运行帧率锁死在 10 FPS。在现场劣质投影仪的掩护下,这看起来完全就是精致的慢动作演出;当主角彻底倒地,游戏恢复正常帧率,屏幕打出嘲讽式的结局文字——“原来你一直才是真正的怪物”。 Jan Willem Nijman 对比最初版本与最终版本后感叹道: > “I want to do this like this is what what video games should be like they should have meaning and triple machine guns at least action games.” > (我想做的就是这样的东西——电子游戏本该如此,它们应该拥有意义,并且至少对于动作游戏而言,还要拥有三管机枪。) - 必须编写完整的游戏失败判定(GameOver state),单方面的沙盒击杀缺乏情感闭环。 - 资源有限时的障眼法:通过将游戏帧率骤降至 10 FPS 伪造慢动作特写,落地后再瞬间切回全速。 - 游戏调优的本质在于用爱与细微末节(love and tiny details)填满整个作品。 --- ### [30:51](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1851s) 问答环节:数值平衡的陷阱与“最糟糕的测试员” 演讲告一段落后,主持人开启了观众问答环节。一位现场观众提问:在游戏设计中,究竟该如何看待敌人数量、弹药配给和关卡时长的数值平衡? Jan Willem 回应称,平衡方式完全取决于游戏本身的机制构想。例如在制作《超级包装箱》(Super Crate Box)时,团队干脆彻底砍掉了常规弹药概念,将收集随机武器箱作为推进游戏分数的唯一手段。这导致游戏“自动获得了平衡”——即使某些武器极其强力而另一些极度弱小,玩家也必须硬着头皮捡拾,团队因此根本无需去细扣单把武器的数值平衡。 更重要的是,Jan Willem 严厉提醒所有开发者:绝对不要依靠自己来评估平衡性。开发者对自己作品的感知极其主观,且随着长时间制作,会对自身的盲点视而不见。 Jan Willem Nijman 直言不讳地指出: > “You have to kind of trust your initial gut feeling and then stop playing your game yourself because you're the worst play tester in the world because you just are too close to your game and there are way more other people than there are you.” > (你得在某种程度上相信最初的直觉,然后别再亲自去玩你的游戏了,因为你是全世界最糟糕的测试员——你离自己的游戏太近了,而世界上的其他人远比你多得多。) - 依靠核心机制(如捡箱子强行换枪)打破对精细数值平衡的依赖。 - 依赖最初直觉确定基调后,迅速将测试权移交给外部玩家,持续迭代。 --- ### [32:05](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=1925s) 屏幕震动的晕动阈值与主观盲区的危险性 主持人顺着平衡的话题进一步追问:从最简陋的原型一路疯狂加料,究竟什么时候才算“足够”,又在何时会沦为“过犹不及”? Jan Willem 坦白,屏幕震动具有极强的成瘾性。开发者在日复一日的调试中会对震动产生耐受度,于是越加越猛,自己毫无察觉,但毫无防备的新玩家上手就会立刻眩晕呕吐。在研发《废土之王》(Nuclear Throne)时,团队就不得不专门加入关闭屏幕震动的设置项,以照顾产生生理不适的玩家。他半开玩笑地总结规则:除了“物理层面上会伤害玩家身体的东西”绝对不能加,其余的视觉修饰大可以一直加到团队经费烧光为止。 谈及测试盲区,Jan Willem 提到了刚刚听完的 Brandon Chung 的演讲。在小团队研发中,创作者很难客观审视产品。开发者在亲自操作时,大脑会下意识地绕开已知的 Bug,心中默念“这里有点小毛病但我先不管,这游戏其实很好玩”;然而当从未接触过的路人坐下来时,他们可能会完全理解不了游戏操作,或者用匪夷所思的方式彻底玩崩系统。一个游戏在被真正的玩家触碰之前毫无生命力,因此必须在保证自己开发乐趣的前提下,把检验标准全部交给外部玩家。 在回答关于《LUFTRAUSERS》的手感微调时长时,Jan Willem 解释,他们在飞机的转向阻尼、俯仰加速度上投入了难以想象的细致打磨。其核心目标是创造出一种“极其宽容的错觉”:哪怕一个玩家技术极差、打出的分数一塌糊涂,只要握住手柄开着战机升空开火,那一刻他就会觉得自己是全世界最酷的王牌飞行员。 - 《废土之王》因部分玩家严重反胃,被迫实装了禁用屏幕震动(Screen Shake)的功能选项。 - 开发者自身会潜意识地“规避 Bug”,误将对机制的熟悉度当成游戏原本的趣味度。 - 《LUFTRAUSERS》的设计哲学:哪怕玩家实际表现非常笨拙,操控系统的手感调校也要让他们主观上感到所向披靡。 ### [35:17](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2117s) Vlambeer 的开发节奏与“手感”本质 在讨论游戏难度的插曲中,主持人回忆起自己在试玩时虽然得分极低,但感觉自己玩得特别好;相比之下,在制作《Super Crate Box》(超时空箱子)时双方曾有过激烈争论,有人抱怨游戏太难了,而团队坚持认为“它本来就该是这样”。Jan Willem 随即澄清了游戏“难”与“流程短”之间的区别,并转而深入探讨 Vlambeer 的开发周期与时间分配。他坦言,工作室通常在短短几天内就能搭建出核心原型,但之后要花上一整年的时间去打磨细节。以《LUFTRAUSERS》为例,最初的原型实际上和最终成品几乎没有差异,仅仅是缺少主菜单,而团队随后耗费了整整一年去制作菜单——因为做菜单极度枯燥无趣,远不如做击中特效好玩。 在不得不做菜单的漫长一年里,他们把大量时间投入在反复微调其余部分上,让游戏持续演变,直到它对自己而言达到最爽快的状态。Jan Willem 认为,所谓的“Vlambeer 风格”(Vlambeer feel)本质上就是把契合自己审美的要素推向极致,比如三排机枪、击中时闪烁的大量目标以及随机的爆炸效果。虽然这种风格未必适合每一个人,但它让 Vlambeer 的游戏具备了极高的独特性。 关于跨平台移植对操控感的影响,Jan Willem 承认输入设备极为关键,手柄操作与键鼠截然不同。此外,当外部公司为他们制作移植版本时,往往无法还原原始原型的细腻手感。例如《Radical Fishing》最初是由 Game Maker 制作的,后来 Rami Ismail 将其移植到 Flash 上,Jan Willem 私下里始终觉得最初的 Game Maker 版本手感更胜一筹。 “Like there's a difference between hard and short games but that's a whole other story.” —— Jan Willem Nijman - 原型与打磨的周期对比:核心玩法原型只需几天完成,后续花费近一年时间进行微调与系统包装(如菜单系统)。 - 《Radical Fishing》的移植争议:原版使用 Game Maker 编写,后续 Flash 移植版丢失了原有的微小触感,Jan Willem 至今认为原版手感更优。 --- ### [37:22](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2242s) 触觉反馈与屏幕震动是否为 Bug 的辟谣 现场观众询问他们是否在游戏中使用过触觉震动反馈(Haptic feedback)。Jan Willem 回应称自己从未真正涉足过震动反馈的编写(在《LUFTRAUSERS》中是由他人负责实现的),虽然这项技术很酷,但他目前尚未使用,反而更想造一台屏幕能在物理层面上真正晃动的电脑来做测试。 随后,一位观众抛出一个传言,称一位自称曾与 Jan Willem 共事的老师朋友提到,屏幕震动最初只是 Game Maker 里的一个 Bug,只是后来被保留了下来。Jan Willem 对此予以断然否认,并详细拆解了技术背景:在超低分辨率像素游戏中,摄像机若要平滑跟踪物体往往极其困难,移动时画面本身就容易产生细微的颠簸,但这并不是他们想要的。当前演示中看到的屏幕震动,包括背景颜色的瞬间切换,全都是一行行手写代码刻意实现的,绝对不是意外产生的 Bug。 针对屏幕震动的适用范围,Jan Willem 展现出毫不妥协的执念。面对那些认为某些类型不适合震动的开发者,他给出了极其坚决的论断,坚信强烈的视听冲击具有普适性。 “I also would like to say that probably every game would benefit from having screen shake even if you're like oh my puzzle game doesn't need screen shake you're wrong and explosions of course.” —— Jan Willem Nijman ```mermaid flowchart TD accTitle: 屏幕震动技术逻辑与误解澄清 accDescr: 对比低分辨率平移抖动与人工编码屏幕震动的本质差异 subgraph BugMisconception["传闻与误区"] A["低分辨率像素渲染"] --> B["摄像机平滑跟踪困难"] B --> C["视觉上产生画面轻微抖动"] C -.->|"被误传为"| D["屏幕震动是个意外 Bug"] end subgraph IntentionalDesign["实际设计机制"] E["完全手动编码控制"] --> F["屏幕坐标剧烈偏移"] E --> G["击中瞬间背景色翻转闪烁"] F & G --> H["强化打击感与游戏反馈 (Juice)"] end ``` --- ### [39:11](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2351s) 为什么要把“手感”当作营销卖点 现场观众进一步提问:Vlambeer 是否会把“屏幕震动”和这些击打手感作为宣传和营销的重点?还是说只是让玩家在游戏中自行体会?Jan Willem 解释了游戏受众的心理机制:如果一款游戏缺少这些微小细节,玩家会直截了当地抱怨“这游戏太烂了”;但如果把这些细节做足了,玩家在游玩时只会感到顺畅爽快,却完全说不出究竟是哪里做得好,也不会主动探究其背后的设计。 正因如此,Vlambeer 必须主动向外界宣讲这些设计。其他很多工作室并不会在此类微小的游戏触感(Juice)上投入如此庞大的时间,而 Vlambeer 花费了数月甚至一年去死磕,就必须站出来告诉公众:这种爽快感正是“Vlambeer 出品”的核心标志,这也成为了他们的品牌营销策略。Jan Willem 坦言,如果没有这整整三十分钟逐帧拆解增加各种微小元素的演示,没有任何普通玩家能意识到跳跃时的那一小朵烟尘、受击闪烁或镜头抖动所起的作用。屏幕震动就是最直观、最容易用来向大众解释“如何让游戏手感变爽”的绝佳案例。 在观众问及工作室是否有未公开的“Project X”秘密新项目时,Jan Willem 透露当晚就会有重大消息公布,并让大家留意手机动态,随后迎来了全场掌声。 “The thing with these things it is if you just put them in the game and you put the game out people will be like yeah this game is fun and it feels good but they don't know why and they don't really care about it.” —— Jan Willem Nijman - 玩家心理反馈机制:没有细节时直接感知为“差评”,细节完善时只感知为“好玩”,极少能理性拆解原因。 - 营销策略转变:将看不见的微调与手感打磨外化为工作室的技术标签与品牌溢价。 --- ### [41:22](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=2482s) 互动演示:剥离与赋予“意义”的现场试玩 在演讲尾声,主持人向 Jan Willem 询问现场演示的技术细节:他是如何在可实际操作的游戏切片与幻灯片之间自如切换的?Jan Willem 揭秘称,整场演示文稿并不是常规的 PPT,而是他完全在 Game Maker 里面从零编程写出来的可交互游戏程序。 为了让大家亲身验证手感的巨大差距,Jan Willem 邀请主持人上台接管操作。他在控制台上按键开启了敌人的伤害机制(他戏称为给游戏加入了“意义/meaning”),主持人操纵角色在充满屏幕震动、跳跃扬尘和爆炸反冲的版本中射击,感叹手感极为平衡且富有张力。随后,Jan Willem 让主持人按下按键切回最初未经任何打磨的原版状态:没有后坐力、没有闪烁、没有震动、子弹平平无奇。主持人立刻直言这种感觉“太逊了”(very lame),与刚才的爽快感形成天壤之别。面对这个简陋的原型,Jan Willem 幽默地追问主持人愿不愿意用 Dutch Game Garden 的资金全额投资它。 在试玩间隙,两人还就游戏中的像素角色展开了一番插科打诨。主持人询问这些敌人究竟是不是僵尸,Jan Willem 否认它们是僵尸,猜测它们可能只是一群戴着骷髅面具在讨要糖果(trick or treat)的人,以此调侃为何大家总是一门心思射杀它们。主持人称赞游戏的美术风格并询问是否出自美术搭档 Paul Veer 之手,Jan Willem 自豪地透露,整套演示的所有美术素材全部由他自己亲手绘制,包括主角那一头随动作摇摆的长发正是以他自己的发型为原型绘制的。 “You press D you get meaning.” —— Jan Willem Nijman - 交互式演示设计:演讲本身就是一个 Game Maker 独立程序,按键 A 倒退幻灯片,按键 S 重新加载当前关卡,按键 D 则切换不同手感与机制阶段。 - 视觉与美术制作:现场演示的全部独立美术动画均由 Jan Willem Nijman 亲自绘制,而非团队专属美术 Paul Veer。 ## Notable quotes > [16:30](https://www.youtube.com/watch?v=AJdEqssNZ-U&t=990s) If you put a button in a game like a firing button, give someone a reason to not press it. — Jan Willem Nijman ## Mentioned Jan Willem Nijman, Rami Ismail, Vlambeer, Dutch Game Garden, Ridiculous Fishing, Super Crate Box, GUN GODZ, Luftrausers, Nuclear Throne, Radical Fishing, Jonatan Söderström (Cactus), Petri Purho, Martin Jonasson, Brandon Chung, Paul Veer, BioWare, Raven Software, Hotline Miami, GameMaker, Audacity, sfxr, Steam ## Video description INDIGO Classes 2013: Jan Willem Nijman is 50% of indie power house Vlambeer. He talks about 'The Art of Screenshake'. Why is it that one game plays great and another, similar game feels terrible? [Source](https://www.youtube.com/watch?v=AJdEqssNZ-U)

Source quotes

[16:30] Jan Willem Nijman: If you put a button in a game like a firing button, give someone a reason to not press it.

Source quotes

[37:22] Jan Willem Nijman: probably every game would benefit from having screen shake—even if you're like, ‘Oh, my puzzle game doesn't need screen shake,’ you're wrong. [30:51] Jan Willem Nijman: Trust your initial gut feeling and then stop playing your game yourself because you're the worst playtester in the world because you just are too close to your game and there are way more other people than there are you.

Original transcript

[0:05] welcome [0:06] back um it's a great pleasure to [0:09] announce here JW yon willum from vamir [0:13] who's uh we talked about game field he [0:15] said that was a terrible term so we [0:17] almost got into a fight about that so I [0:18] said well you want to talk about [0:20] whatever that is that we can't call [0:22] gamefuel and he said yeah I'll will so [0:24] you're going to destroy the term and uh [0:26] I said that's okay but he's going to at [0:28] least uh talk about how to make the [0:30] games feel good and uh a warm Applause [0:34] for Yan Willam from [0:39] vumbia hello um all right let's do this [0:45] so I'm y n I'm 50% of Indie studio [0:49] flamber and I am responsible for game [0:52] design and execution whatever that means [0:55] uh and this talk is about game f with a [0:59] lot of those things I don't know how you [1:01] call those in English um this is our [1:05] logo uh it's a flaming [1:08] bear and we made a lot of video games uh [1:11] this is a video game called Ridiculous [1:13] Fishing uh which you'll hear more about [1:17] tonight uh and I'm not talking about the [1:19] awards because that would be silly um [1:22] and this is a game called Super Crate [1:23] Box which you can download uh for free [1:26] also on Steam uh this is a game called [1:28] gun Gods which you can also download for [1:30] free it's like a first person shooter [1:32] about gangster rap on Venus uh but [1:36] nobody played it but it's actually not [1:38] that bad um this is like a really badly [1:42] cropped screenshot of an upcoming game [1:45] called Loof risers about airplanes [1:46] shooting each other uh yeah pretty much [1:51] and this is a game we're working on [1:52] right now called Nuclear Throne which is [1:54] like a post-apocalyptic Rog like about [1:56] mutants growing new Limbs and shooting [1:59] monsters and all that kind of [2:02] stuff all [2:05] right so let me start with this I don't [2:09] have that much to say about gamefuel I'm [2:11] not a academic I'm more of a person who [2:13] comes up with things and then makes them [2:15] talking is kind of hard um you know I [2:18] like tweeting that's easier shorter um [2:22] so I'm not going to go too much into [2:25] Theory here I'm not a psychologist I [2:27] don't understand all that stuff but I [2:30] have made a lot of games and I found out [2:32] some small little tricks through that [2:35] um let's start by getting some [2:39] water [2:44] um all [2:46] right so there are some people uh who [2:50] have great things to say about this [2:52] subject uh actually there's Martin [2:54] jonison and patri per who are actually [2:56] giving a talk uh here today and they're [3:00] right there and I didn't know they were [3:02] giving it so I'm basically doing the [3:03] same thing so if you want to not be [3:05] spoiled you should walk away right now [3:07] because their talk is probably [3:09] better uh and Cactus or Jonathan s time [3:13] uh gave a great talk at IGS in 2009 [3:16] about how making games is like making [3:17] babies but uh it also had some really [3:20] good tips on making games feel good um [3:23] that stupid word feel like it's a super [3:26] abstract thing and it's different for [3:28] every player but you still have to work [3:30] with [3:31] it so um I present to you a video game [3:37] um but this really sucks like this is [3:39] just a computer with some [ __ ] on it and [3:42] nothing's happening um you know games [3:45] aren't really games unless you have [3:47] something else which makes it a lot more [3:50] complicated suddenly which is called a [3:52] player um and the worst thing about [3:56] players is that there's so many of them [3:59] and they're all different [4:00] and that makes making games very [4:02] complicated like a game will be [4:03] different for every single person [4:06] playing them once again I don't [4:09] understand these things actually I'm [4:10] just saying what I think makes sense and [4:11] it probably doesn't make sense but it [4:13] works for us so let me explain how games [4:16] work and it's very [4:18] complicated so you have this game and a [4:21] player then the game goes into the [4:23] player's head through like basically [4:26] visuals and sound don't have smell games [4:29] yet [4:30] uh and then the player's like oh yeah I [4:32] see these things let me put some push [4:35] some buttons and then the player puts [4:36] his input back into the game and then [4:38] the game's like all right I am going to [4:40] change for you look see it actually [4:42] changes bam and and the changes go back [4:45] into the player and then the player is [4:47] like ooh this has me thinking and now [4:49] the game has meaning um and that's [4:52] actually where the value comes in like [4:54] people can change their lives learn [4:56] something become a better person because [4:58] they press those buttons in the game set [5:00] hey this changed uh and that's why games [5:03] are interesting at least to me and this [5:05] is probably all wrong but once again [5:07] that doesn't matter because it works for [5:09] us and then those thoughts go back [5:12] through the player into the game and the [5:14] meaning becomes game play and all that [5:17] stuff um but this is [5:20] cooler um so with flamb beer we're [5:24] basically good at just one thing with [5:27] making games and that's like this part [5:30] which is after the game goes into the [5:33] player and then the player puts input [5:35] into the game the game goes back into [5:36] the player that's like like I press a [5:39] button and a bullet flies and the bullet [5:41] hits something that's that blue arrow [5:43] there um and we make that feel good and [5:45] that's why they asked us to give a talk [5:47] about game view um I also put an extra [5:50] slide in here so I can like animate this [5:52] so it's kind of more [5:55] exciting um so this whole model is kind [5:59] of interesting because you can put many [6:00] games into those arrows and kind of [6:03] figure out which parts they focus on [6:06] like you have some uh games that cover [6:09] lots of meaningful subjects and they're [6:11] all about that little green arrow going [6:13] into that those thoughts um and you have [6:16] uh Triple A games who only do like the [6:17] first thing and pour that game into a [6:19] player and player doesn't really do much [6:23] um that makes me sad um all right enough [6:28] talking [6:30] about game feel how do you call those [6:33] things like the hyphens or quotation [6:37] on cool lots of quotation marks so I'm [6:41] just going to scratch that name and then [6:44] I think on the the menu of the [6:47] conference not the menu how do you call [6:48] that thing whatever the schedule uh this [6:51] talk is called the art of screen Shake [6:54] um which is also a bit silly so I'm just [6:57] going to cut all the talk crap and just [7:01] teach you guys some tricks I learned [7:02] while making games so this talk is now [7:04] officially called 30 tiny tricks that [7:07] will make your action game better um [7:09] which is something I can actually talk [7:11] about um because I might not be an [7:13] academic or a psychologist I make action [7:16] games um and I'm proud of [7:19] it let's [7:21] go so we have here a super shitty [7:24] platform shooter like average stuff [7:27] anybody could make this crap I'm sorry [7:31] um but seriously anybody could sit down [7:33] with some tutorials and get some [7:35] shooting in there [7:36] and you know you have a game uh cactus [7:39] in his IG talk in 2009 which I talked [7:43] about um a couple of minutes ago showed [7:47] this with like a Mario clone and it's [7:48] like oh you have to jump on their heads [7:50] many times before you die and it was [7:51] really funny so I just stole it um so [7:55] basically this game really sucks [7:57] because you know not much is really [8:00] happening [8:05] that I have to fill an hour so is fine [8:08] oh I killed one yay so um the end thank [8:13] you no I'm kidding [8:17] um so now I'm just going to put those 30 [8:20] tiny tricks in there to make this game [8:22] better um so the first one is I [8:25] don't basic animations and sound like [8:31] I made those suns in sfxr which [8:33] everybody uses I can now jump and my [8:36] hair moves like that's me I'm actually [8:38] wearing that sweater today and I can [8:41] like shoot more and woo walking [8:43] animation so now the game like the sound [8:47] just makes the shooting feel much better [8:48] that stuff is super [8:54] important all right um so let's start [8:58] fixing that shitty gameplay with enemies [9:00] with too much health so lower enemy [9:03] HP kind of yay now like this is such a [9:08] silly tiny um change but if I would have [9:12] shown you the first game uh instead of [9:14] this one you would have totally thought [9:17] it was a shitty game um but this is not [9:20] that bad like this is starting to get [9:21] somewhere everybody can kind of figure [9:23] this out like enemy HP make it lower [9:25] it's more fun um and then also make your [9:28] rate of fire higher because it's even [9:30] more fun because it's a [ __ ] video [9:32] game about shooting things you might as [9:34] well put a lot of shooting in there [9:35] because it's my only way to communicate [9:37] with this sad World um and now that we [9:40] have this you might as well put more [9:42] enemies in there because you get to [9:44] shoot more things and it's basically the [9:46] same as having one enemy with a lot of [9:48] Health I'm just putting six in there [9:50] with a little bit of Health it just like [9:52] those tiny differences might not mean [9:55] much for game play actually they do but [9:57] you can pretend they don't like numbers [9:59] wise but it it feels better like let's [10:01] do that again yeah get some see not now [10:05] I'm like this game feels better I think [10:10] um all right bigger bullets uh that's [10:13] also important see like that's like a [10:16] beginner mistake in video games people [10:18] make these tiny dots for bullets because [10:19] in real life the bullet is [10:23] Tiny doesn't really make a lot of sense [10:25] like bullets in video games should be at [10:28] least like the size of of your chest or [10:33] something um but this is still kind of [10:36] weird you know so let's make him like at [10:40] a little muzzle flesh this is like the [10:42] Cheap Trick we always use in flamer [10:44] games it's just the first frame of your [10:46] bullet Sprite just make it a [10:49] circle hey muzzle [10:51] flesh that's what all the first person [10:53] shooters have [10:56] um and fostter bullets because that just [10:58] feels way better [11:01] right so now now we're talking like this [11:04] is not a a really shitty game anymore it [11:07] has big bullets that move fast and a [11:09] little muzzle flash um I don't know what [11:13] did I put in after this um less accuracy [11:16] because it looks more [11:18] fun and it actually influences gameplay [11:21] a little bit like but that that I don't [11:25] know I just felt at this point while [11:27] programming the presentation that was a [11:29] good thing to add and it makes it less [11:31] boring to watch it and this is pretty [11:34] much all there is to watch it with this [11:36] game it's all about shooting you know [11:38] it's a Mindless stupid game so make it [11:41] look different every single [11:43] time and impact effects like see that [11:47] little thing playing when I hit a wall [11:50] or an [11:52] enemy that [11:54] makes like bullets stop disappearing [11:56] it's like hey something hit here uh and [11:58] it's like not a lot of work you can all [12:01] add this in in no time at least I can uh [12:06] and a little animation when enemies get [12:08] hit because like that that red arrow [12:10] going back into the player's head that [12:13] like that I showed earlier that's all [12:15] like feedback like you communicate the [12:18] changes the player put into the game and [12:20] you know now I see hey this enem is [12:22] getting damaged [12:24] um and it's just like a white flesh and [12:26] and a slightly different bows and I [12:29] think their phases disappear which is [12:31] kind of [12:32] weird um what's [12:36] next enemy knockback oh that's another [12:39] one of those things that actually can uh [12:42] like nobody really notices it but it can [12:46] kind of influence gameplay even like you [12:48] see how that guy actually fell to the [12:50] right now I have a dynamic combat [12:52] situation like they're they're flanking [12:55] me and basically all I did was move them [12:58] back a couple pixels when they get hit [13:01] um because like that's what happens when [13:03] you get shot in real life [13:05] too [13:07] um permanence this is something super [13:10] important like why leave the [ __ ] [13:13] battle empty after it's over like now [13:15] I'm here sending hey look I killed 1 two [13:17] three four five six seven dudes there [13:20] was combat here and like if I return [13:23] here later from this great Corridor of [13:26] level design I can see oh I already went [13:29] to this place I have to go back um or [13:33] whatever um that's something that's [13:34] super important to us like to put some [13:37] kind of sense of previous combat in our [13:41] games like not just leave it empty and [13:43] and computers are super good nowadays [13:45] right you could just put a million [13:47] corpses in there and your computer would [13:48] be like oh they don't have to disappear [13:50] like that stuff is fine nowadays and let [13:52] me just move all the way back to nuclear [13:55] drone like you see two magots down there [13:59] that are still alive but most of it is [14:00] just rubble and dead things and it [14:03] doesn't do anything to the game but it [14:05] just shows you yeah you're [14:07] a basically a guy made out of muscles [14:09] and you shoot things um and that's also [14:12] why in movies shootouts in bars are so [14:14] good because every bullet that misses [14:16] actually hits a bottle um that kind of [14:19] stuff is important like all the props in [14:21] Nuclear Throne in this game they with [14:23] like cacti and stuff sing in that [14:24] they're just there not to influence [14:27] anything but when you miss a shot [14:29] something actually happens um now I have [14:32] to move all the way back to where we [14:35] were um but that that sense of [14:37] permanence is really [14:40] important [14:42] um camera lurp like a lurp is something [14:46] that I think it means linear [14:49] interpolation yeah I got it right um so [14:53] now the camera just slightly lags behind [14:56] the player and kind of smoothes in I [14:57] don't know if you even notice but it [14:59] feels better to move around like this [15:01] stuff and this [15:04] stuff like you that's the thing about [15:07] game Fu those are the little details [15:09] that you don't really notice but you [15:10] feel Ito um but this camera still sucks [15:14] like camera work is important the game [15:16] is not here to show you the player [15:18] because this game is not about the [15:20] player this game is about shooting [15:21] things and you're shooting things in [15:23] front of you so we might as well do this [15:24] and like move the camera around a bit um [15:28] and show show you what's happening a bit [15:31] more tiny thing but it's important like [15:34] this camera works so much better than [15:36] this little thing and it's just two [15:40] steps in my [15:41] presentation [15:43] um yeah in Loof trousers uh a game [15:47] that's coming out sometime in [15:49] 2017 uh like the camera is super Dynamic [15:54] um and it doesn't only follow the player [15:57] it also like mooves slightly head where [15:59] you're aiming when you're nearing the [16:00] water the the camera kind of moves down [16:03] and says hey there's water here and all [16:05] the bullets are kind of put into this [16:07] big bow of mathematics and it calculates [16:10] like the center point of all the bullets [16:11] and the camera slightly shifts there so [16:13] when you're flying you don't really see [16:15] that stuff but it's like hey is the [16:16] camera slightly moving this way or I [16:18] better Dodge and you dodge and then a [16:20] bullet flies from off screen and you [16:21] don't die and it feels super good um and [16:25] it's it's like just spend a lot of time [16:28] on that stuff it's really important so [16:30] what's next screen shake so this is [16:34] something that kind of became a a thing [16:37] vamir is known for or something but [16:39] that's just because it's like when [16:41] someone shows you a game and they ask [16:43] how to improve it usually the answer is [16:45] a add some screen Shake because nobody [16:47] does it and it's super easy and it makes [16:49] your game better like see how it's [16:52] shaking just a little bit this guy feels [16:55] good like he's just shooting and stuff's [16:57] happening like this guy is sad this guy [17:00] is happy and especially when you shoot [17:03] stuff like yeah [17:05] yeah see game f that's what what we're [17:08] talking about um play your knockback as [17:10] well that's also one of those [17:13] things now it's also a gameplay mechanic [17:15] like I don't have to walk I could play [17:17] the game just shooting which means more [17:19] use out of my primary way to interact [17:22] with the world but also when moving [17:24] forward I'm moving slower when I'm [17:26] shooting so maybe I should stop shooting [17:28] um [17:29] if you put a button in a game like a [17:32] firing button give someone a reason to [17:34] not press it uh even if it's something [17:37] tiny like this [17:38] knockback um otherwise you might as well [17:41] remove the firing button and just have a [17:42] game that automatically fires [17:44] always uh yeah that's and you get [17:48] dangerous situations like this with a [17:51] bit of lava and I'm like oh no I have to [17:53] fire a bullet no and I can float in [17:57] midair uh and then I die that's [18:01] cool sleep so this is little command [18:05] which basically passes the game for a [18:07] couple of milliseconds you could just [18:09] code it yourself I use Game maker and [18:11] it's called sleep I don't know anything [18:13] about programming really um but what it [18:16] does it it just pauses the game for a [18:18] couple of milliseconds and I use that in [18:20] moments of impact so when I hit an enemy [18:23] it will pause for 20 milliseconds or [18:25] something and your brain won't notice [18:27] that but kind of use that time to [18:29] process what's happening a bit more so [18:31] all the moments that I want to have [18:33] impact your brain is like oh yeah I [18:36] remember that more because it took [18:37] longer but you don't notice and I don't [18:40] understand how brains work but I don't [18:41] know that's my theory so nobody really [18:44] notices it but like I put some tiny [18:47] sleeves in there when you hit a PL enemy [18:49] and um also when they die and the [18:53] difference between [18:56] this and this it's like tiny but it it [19:00] like you you can feel that stuff and [19:02] that's why I uploaded that presentation [19:04] even though nobody here is playing it [19:06] right now I don't know why probably [19:07] because you don't have oh good one [19:09] person um but like when you're playing [19:11] it two persons yes very good when you [19:14] three three people awesome um good [19:18] people when you're when you're playing [19:19] it like that you actually feel the [19:21] difference um and that's kind of what [19:23] fuel is about you can't like this is [19:25] really stupid why is everybody watching [19:26] it why why isn't everybody standing [19:28] behind my computer pressing buttons like [19:30] that would be way better next year we'll [19:33] have 200 keyboards here for everybody [19:36] under your [19:37] chair um gun delay this is just kind of [19:41] a bug that looked cool like my gun is [19:43] now lagging behind me so I put it in the [19:48] game look like he's carrying [19:54] it and now the gun also kicks back like [19:57] boom boom [20:02] feels more powerful like tiny little [20:05] detail and it makes your game better uh [20:08] strafing I just at this point while I [20:10] was cutting this presentation I was like [20:11] hey it feels kind of cool if I can just [20:13] kind of walk backwards while shooting [20:15] and [20:16] then if I flip it changes that way and [20:19] that's also a reason to not press the [20:21] the firing button which is good even if [20:23] it's just like half a second so I can [20:25] turn around but that's that's strategy [20:31] um more permanence oh yeah I put little [20:34] shells in and they stay forever because [20:37] computers nowadays can handle shells [20:39] that stay forever they don't have to [20:41] disappear after all I could just do this [20:43] all day just cover the [20:48] floor and then later when I'm walking [20:51] back here from defeating some boss or [20:53] something like oh yeah I shot a lot of [20:55] bullets there that was fun and I can [20:57] actually count how many bullets I shot [20:59] um to check if the achievements were [21:02] correct or whatever [21:13] um if you're patri you could also add [21:16] like physics to the shells and they pile [21:19] up that would would be cool and you can [21:22] like swim in the [21:24] shells someone make that game please [21:27] Petri [21:29] [Music] [21:32] because now there's not much use just [21:33] standing here they just end up in the [21:35] same spots so I or whatever um more Bas [21:41] in the sign effect [21:48] effect so this is a funny little story [21:53] um [21:55] man um I I was talking to uh a guy who [22:01] is like senior designer at BioWare now [22:04] but he used to work at Raven software M [22:07] here he's super cool and he told me that [22:10] one time while I was working on some [22:11] firstperson shooter they had a gun and [22:13] it wasn't very popular and the investors [22:15] were like oh man that gun sucks you [22:17] should go and fix it like the game play [22:19] is bad and he went to his computer he [22:21] opened ad desity or something opened the [22:24] gunshot sound effect and click like bass [22:26] boost 12 dibs and put it back in the [22:29] game and he's like all right I fixed the [22:30] game play handed the computer to the [22:32] investors and they were like oh yeah [22:34] that feels good and that stuff is still [22:38] in that video game I I think it was like [22:40] the the Wolfenstein reboot not the [22:42] recent one but the one before that and [22:44] it's like one of the most popular game [22:47] guns in that game like add more Bas to [22:50] your sound effects it's easy and listen [22:53] to that and listen to this who wants to [22:55] play this raise your hands [22:59] see who wants to play this like a couple [23:02] of people [23:05] see oh and then you can make your [23:08] machine gun shoot like this because it's [23:10] a video game and that's easy to program [23:13] once you have those bullets and the [23:15] accuracy thing um I forgot to make the [23:18] the gun shoot like three shells so just [23:20] imagine it's like a special type of ammo [23:22] with three things or something but like [23:27] this this makes video gamees better in [23:29] nuclear trone the first weapon is a [23:31] pistol the second weapon we programmed [23:32] was a triple machine gun just because we [23:34] had a bullet and we could do that you [23:36] know if you're making an action game you [23:39] might as well make a proper action [23:41] game random explosions I don't know this [23:45] doesn't have much to do with gamefield [23:46] but I figured I could add like a a 33% [23:49] chance all the enemies exploded on death [23:52] see and that stuff feels [23:55] good even if it makes no sense [23:59] oh now we have faster enemies as well [24:01] because I I think the game play was [24:03] getting a bit easier because of the [24:05] random [24:06] explosions so now they're faster and it [24:08] feels like more action like if you see [24:10] this stuff this is like a proper action [24:12] game happening here right that that [24:15] looks like something that's kind of [24:16] promising [24:20] [Music] [24:23] yeah look at that gun kick like that [24:25] stuff is good right [24:28] it's just like free pixels in the art is [24:31] really bad but it works um more [24:37] enemies because they're faster but we [24:39] have random explosions and we might as [24:41] well make it look even more like an [24:44] action game [24:46] I yeah get some I I'm I'm just going to [24:49] do this all day and stop talking [24:53] now all right [25:07] oh even higher rate of fire because now [25:09] we have more enemies and we might as [25:10] well [25:15] like because you can and it's easy you [25:18] just change the [25:21] value um so that camera kick is [25:24] something I wanted to add separately but [25:26] I forgot about it so I added it in in [25:28] this step of the game so I didn't have [25:30] to change all the code what are you [25:44] doing so I just have to do [25:49] this yeah um so that camera kick is a [25:54] little trick I figured out while making [25:55] Lu risers instead of just having random [25:58] shake it also moves the camera back a [26:00] little bit like if you look to the right [26:02] you can see this oh that's also my kick [26:04] back though but basically my it just [26:07] moves the camera in the opposite [26:10] direction of the direction I'm shooting [26:11] in that stuff also feels good and it's [26:14] like a little cheat you can use in your [26:16] games um after this talk flamb is out of [26:19] business because everybody knows all our [26:21] secrets uh so all of our games are [26:25] cancelled I don't know ramy's probably [26:26] not here so he won't get any at [26:29] me [26:31] um oh yeah this is the the most [26:33] important game design lesson I've had um [26:36] back in 2005 or something or four I [26:40] wanted to make a shoot him up and I [26:41] asked Cactus again uh Jonathan s like [26:45] one of the guys who made Hotline Miami [26:47] which is a game that's super good at [26:48] that permanent stuff by the way like you [26:50] kill a lot of people you walk to the [26:52] next floor and you kill a lot of more [26:53] people and then you walk all the way [26:54] back through the Sea of corpses and they [26:57] actually use that that in a meaningful [26:59] way as well it gets you thinking so they [27:01] involve like the the [27:03] whole um Fel part of the cycle with the [27:07] thinking cycle which is super clever um [27:10] anyway he told I asked him how do you [27:11] make good arcade games and he told me [27:13] make really big explosions uh and I've [27:16] been working by that lesson ever since [27:20] and look at [27:22] this like see now the explosions are [27:25] better because they're bigger [27:27] [Music] [27:29] I don't know why why I started out with [27:30] this small explosion but look at this [27:33] and the explosions are just like a [27:34] circle that that flashes from black to [27:39] white and it works I [27:47] think so that's game Fu um even more [27:51] permanence I think here I added like [27:52] simple smoke to the explosions so that [27:55] after a battle you can kind of see the [27:57] smoke fade away and it's like [28:01] yeah and you could take this to an [28:04] extreme level like this is just [28:05] scratching the surface like you could [28:07] add Gibbs and heads flying everywhere [28:10] and whatever you want like but just work [28:13] on that stuff um but there's one thing [28:16] missing from this game which is [28:18] like game play because I can interact [28:21] with the world but the world does not [28:23] really interact with me like they're [28:26] just kind of [28:29] getting shot it's [28:33] horrible almost feel sorry for them so [28:35] what this game needs is meaning like [28:37] whenever you're making a game make sure [28:39] that there's [28:40] like the things that you want to happen [28:42] are in there don't play it as your game [28:44] it's like yeah if you hit an enemy just [28:46] press restart that stuff sucks like [28:48] don't do that program that game over [28:51] State add some meaning to your game [28:53] which is what I'm doing right now which [28:55] is like step number 40 in making [29:07] and it's true I was shooting all this [29:09] things that just wanted to like kind of [29:11] chill and walk around like I wanted that [29:14] to be more dramatic though like let me [29:16] just try and kill most of them first [29:19] because now I have something to fight [29:22] for and there's this last guy he was [29:24] meant to kill me like and then I could [29:27] could do this and like all I just paed [29:29] it but did you see how I just like put [29:30] the frame rate at 10 frames per second [29:33] because you won't notice on a shitty [29:34] Beamer and it looks like I program slow [29:36] motion [29:38] um just do things like [29:41] that and then it speeds up again when I [29:43] hit the floor and it says you were the [29:46] monster all along it should say that um [29:52] yeah and that's basically uh how you [29:54] make your game feel better let's compare [29:57] this [29:59] this to [30:04] this I can't even strafe like what kind [30:07] of shitty game is that and there's no [30:10] meaning I'm [30:14] just I want to do this like this is what [30:18] what video games should be like they [30:19] should have meaning and triple machine [30:22] guns at least action [30:25] games and this guy could be there to to [30:28] put a message out to the masses and [30:33] that's pretty much all I have to say on [30:35] game feel like just fill your games with [30:39] love and Tiny details and are there any [30:42] applauses or [30:44] [Music] [30:51] questions thank you young Willam that's [30:54] great um anybody from the room questions [30:59] yeah [31:00] shot [31:02] hi hello uh I want to know what's your [31:05] view on uh balancing the game like how [31:08] many enemies how many ammo how long the [31:11] level takes [31:13] um yeah about balancing your game like [31:16] how many enemies how many how much ammo [31:19] um that totally depends on your game [31:22] like with Super Crate bux we tried [31:23] making a game that didn't even need ammo [31:26] so we put boxes everywhere that change a [31:28] weapon and that's the only way to [31:29] progress through the game um so that [31:32] game was automatically balanced and we [31:34] didn't have to balance the weapons [31:35] because you had to pick them up anyway [31:37] and they're all super [31:38] unbalanced um I don't know like it [31:41] really depends on your game and you have [31:43] to kind of trust your initial gut [31:45] feeling and then stop playing your game [31:47] yourself because you're the worst play [31:49] tester in the world because you just are [31:52] too close to your game and there are way [31:53] more other people than there are you um [31:57] so just get those other people and have [31:59] them play your game and work with that [32:01] just keep [32:02] iterating that's my answer I guess cuz [32:05] that's an important point because I [32:07] guess what you're saying is when is it [32:09] too much like that there was you started [32:11] with something that wasn't enough and [32:13] you've added stuff and added stuff and [32:14] added stuff so when is it enough when is [32:16] it too much too much actually we had to [32:19] put like an option in nuclear drone to [32:21] disable the screen Shake because some [32:23] people were getting really nauseous okay [32:25] and I guess like a warning with screen [32:27] Shake is that it gets kind of addictive [32:29] and you get used to it and you put a ton [32:31] of it in your games and you stop [32:33] noticing it and then everybody else [32:35] throws up when they play it yeah and [32:37] then you do a play test and then you do [32:39] a play test you're like oh that's cool [32:40] yeah and then and then you keep it and [32:44] you don't listen to anybody what anybody [32:45] say you should totally like don't don't [32:49] put things in your game that hurt people [32:53] physically other than that just just [32:55] keep adding it until you're out of money [32:59] yeah but how much uh like you just said [33:01] something really important where after a [33:02] while you're the one who designed it so [33:04] you don't really see things as well well [33:06] as people who haven't played yet yeah [33:08] what happens how do you I mean I know [33:10] you in our building and you invite [33:12] people in in your office and have have [33:13] and play has anything fun I mean does [33:16] does that have a fundamental impact on [33:18] on the game way I was at Brandon Chun [33:21] talk before this and he was saying like [33:23] you're super close to your game [33:26] especially with a small uh [33:28] team and it's super hard to look at it [33:30] objectively yeah um so you got other [33:32] people for that and when you're playing [33:34] your game that's I'm just copying his [33:36] words now like I copied patri Martin's [33:38] talk uh it's really easy um and he was [33:42] saying that um now I forgot what he said [33:45] actually um he he was saying that when [33:48] you're um playing your own game you're [33:50] kind of subconsciously avoiding bugs and [33:53] like oh yeah there's a problem here but [33:54] I'm going to ignore it and yeah this [33:55] game is a lot of fun and when someone [33:57] else plays it it might turn out they [33:59] have no clue how things work or they [34:00] totally break your game and it's not fun [34:02] for them so that's that weird thing [34:04] about games where like how does this [34:09] work where like you have this thing and [34:13] it doesn't mean anything you need this [34:15] person before it starts being something [34:17] and there are I don't know like how many [34:20] people are there on this planet like a [34:22] lot yeah and there's only one of you so [34:25] you have to make it the game for them I [34:27] guess guess like make the game you want [34:29] to make make it fun for you but test it [34:32] on them yeah and one of the reasons I [34:34] ask you to do this is because I noticed [34:36] when you were making Loof throwers you [34:38] were spending a lot of time getting the [34:40] actual last minute like how fast does it [34:43] go left right up down it has this really [34:47] it feels very easy it's not as easy as [34:49] it feels but it feels great to to to [34:51] steer the plane and you spend a lot of [34:52] time on that how much time did you spend [34:54] on that compared to like the rest of the [34:56] process like setting up the game like [34:58] there's two sides to that like with L [35:00] rers we set out out to make it a game [35:02] that feels great to play for everybody [35:05] like I give you the computer and you [35:07] launch and you start blowing up things [35:08] and you feel like oh yeah I'm the [35:09] coolest fighter pilot in the world and [35:11] that was the goal with that game but [35:12] you're a really bad player and your [35:14] score sucks but it still feels really [35:16] good for you yeah that that worked for [35:17] me really well my score sucked but I I [35:20] felt like I was really good that's fine [35:22] where whereas with superg great box we [35:24] had a fight about I said it's way too [35:25] hard it's way too hard you're was like [35:27] no no it's supposed to be this way yeah [35:29] like there's a difference between hard [35:30] and short games but that's a whole other [35:32] story okay um but [35:35] um the the the thing well oh yeah how [35:39] much time we how much time compared to [35:41] the setting the game up make our games [35:44] in a couple of days and then we spend [35:45] the year polishing them and that like we [35:48] have those basics in there if you look [35:49] at our very first prototype of luzes [35:51] it's pretty much the same game and it [35:53] just lacks a menu and then we spend a [35:56] year making a menu because that's no fun [35:58] at all like I want to make those effects [35:59] that's pretty much how it works and [36:02] during that year you have to make that [36:04] stupid menu um you spend a lot of time [36:07] tweaking the rest and it just keeps [36:08] changing and you try to make it feel as [36:12] good as it can for you like in a way I [36:14] guess the flamber games feel really good [36:17] to us mainly like it's kind of my idea [36:20] of what feels good like triple machine [36:22] guns and shooting lots of things that [36:24] flash when you hit them and and randomly [36:26] explode um and that's not for everybody [36:29] but at least it makes our game super [36:31] unique and that's I guess what you call [36:32] that flamb beer feel or whatever yeah [36:35] and do you think the platform has a lot [36:37] of impact on this like if you change [36:38] from a PC controlled game to say the [36:40] Vita or something the way of input [36:42] matters like this guy is using a a game [36:45] pad yeah and that changes that purple [36:47] arrow and the purple Arrow I don't know [36:51] um but it it feels different um but I [36:55] don't know other than that comp you guys [36:57] have have had other companies build [36:59] versions for you or other people um and [37:02] sometimes it doesn't really work out [37:03] like it it doesn't feel as good as the [37:05] original prototype like the original [37:07] radical fishing was made in game maker [37:09] and then Ramy ported it to flesh and I [37:11] still secretly think that the game maker [37:13] version is better okay so there's real [37:16] subtle things Ry messing up oh that's [37:18] Ramy yeah of course anybody else [37:22] questions about this yeah go ahead use [37:26] feedb like uh [37:29] um haptic feedback actually I have never [37:32] used that and I kind of wanted in I [37:34] think in Lu rer someone else did that um [37:37] but yeah that stuff is super cool but I [37:40] haven't really worked with it which is [37:42] super weird um yeah but I kind of want [37:45] to make a computer with a screen that [37:47] physically shakes would be cool okay [37:51] well we can do a play test with that I [37:53] can shake the screen for if you do that [37:55] we'll invite you back to uh expl about [37:57] that again yeah anybody yeah uh yes I [38:02] heard uh the screen shaking was a bug is [38:06] that true like what uh buck and Game [38:09] maker and uh friend of my [38:13] um teacher told me uh he worked with you [38:18] and um that the screen shaking was a bug [38:21] but you uh keep it in I don't I don't [38:23] know about that I've always like there's [38:26] this weird thing in in super low [38:29] resolution games where making a camera [38:31] follow something smoothly is really hard [38:34] so it kind of looks like it's shaking [38:36] but that's something we don't really [38:38] want like all this kind [38:41] of see the background color actually [38:43] changes but this kind of shake that's [38:46] all like hand coated and intentional uh [38:49] and it wasn't like an accident I don't [38:51] know who invented screen Shake but I [38:54] also would like to say that probably [38:55] every game would benefit from having [38:59] screen Shake even if you're like oh my [39:00] puzzle game doesn't need screen Shake [39:02] you're [39:04] wrong and explosions of course right [39:08] right here [39:11] yeah do you actually Market games uh [39:15] using the screen Shake is this very [39:17] prominent in everything you do and do [39:18] you put it forward when you release [39:20] something or is it something you let [39:22] players find out and have them just get [39:24] the game because of the gameplay well [39:26] the the thing with these things it is if [39:28] you just put them in the game and you [39:30] put the game out people will be like [39:31] yeah this game is fun and it feels good [39:33] but they don't know why and they don't [39:35] really care about it like if it's not [39:37] there they say hey this game sucks um if [39:40] it's there they just play and they're [39:42] happy and I guess what we do at V what [39:46] makes our games kind of different uh oh [39:48] I also added like a little clout when [39:50] you jump by the way um but what makes [39:52] our games kind of different to uh a lot [39:55] of other Studios is that we put a lot of [39:57] time into these things so we kind of [39:59] have to tell people that hey look at [40:01] that it it feels good that's the flamb [40:03] beer thing yeah marketing [40:06] um and Screen Shake is like a super [40:09] simple example of that because you I [40:12] just spent like 30 minutes just showing [40:14] tiny little things that I keep adding [40:17] and no player without seeing this [40:20] presentation is going to understand that [40:22] or feel it or well they feel it but [40:24] don't think about it and Screen Shake is [40:26] like the most most basic example that's [40:28] like the the the one great thing that's [40:33] the great thing of these things I don't [40:35] know I don't know how to how to say [40:38] words uh but screen Shake is like an [40:41] easy example of how to make games feel [40:43] good great yeah anybody [40:48] else no anything about Zambia or about [40:51] the Studio's next big secret Project X [40:56] or oh that's a good one yeah no no news [41:00] are you already working on something [41:01] actually we're we're having like super [41:03] big news tonight but I I don't think I'm [41:05] allowed to talk about that I see so so [41:07] keep keep your phones near or something [41:10] yeah okay [41:12] excellent D Willam thank you so much uh [41:15] a warm Applause for this [41:20] presentation [41:22] and one just one practical question how [41:26] did you manage to [41:27] skip between slides that you actually [41:29] play is this game maker running right [41:31] now yeah I programmed this whole [41:32] presentation from scratch all right very [41:34] nice you want to try it yes I would love [41:35] to let me let me put some meaning in [41:38] here here okay this is easy mode I'm [41:41] going to start the just press this [41:43] button that's all you need to do okay [41:45] hang on all right do you want me to hold [41:47] the microphone and you can tell them [41:48] about your feelings oh how I feel ah I [41:52] can see you're getting back at me oh [41:54] this is before he can die right so [41:56] that's kind of nice you press D you get [41:58] meaning oh D is meaning yeah okay that [42:02] means that if I don't oh my gosh how do [42:06] you feel about this that's very [42:07] meaningful how you feel about about [42:09] shooting those enemies before when they [42:11] couldn't even hurt you well it feels [42:14] more balanced now but don't you feel [42:16] like [42:18] guilt for killing them yeah how do you [42:21] restart uh you can press s s to reload [42:26] this thing okay so this whole [42:27] presentation is [42:30] available okay we were asking for it can [42:32] we go yeah can we go a few slides back [42:34] before you death press a a that goes [42:38] back so you can download this whole [42:39] presentation online uh and shoot things [42:42] as well [42:45] awesome it feels good right yeah it does [42:47] feel very good so so if you press D [42:49] again yeah then you go to like the [42:50] original version how are you how do you [42:52] feel now it's it's very lame [42:58] are you are you having fun do you see [43:01] promise in this prototype yes would you [43:04] like to fund it with the Dutch game [43:06] Garden Oh Absolut absolutely I would put [43:08] all my money into this cool yeah and um [43:11] what is it with zombies they're not [43:14] zombies oh okay that's why do you think [43:17] they're [43:20] zombies are you dodging my questions um [43:25] I'm I'm not very good at multitasking [43:26] but but um you can't die so oh that's [43:31] right I don't have to be afraid of these [43:32] guys but why do you why do you think [43:34] they're [43:35] zombies uh well maybe that's kind of a [43:38] cliche but I guess they're more like a [43:39] skeletal guy right yeah I don't know [43:42] little skulls maybe they're just wearing [43:44] musks and they're like trick or treat [43:47] did you actually have shooting [43:48] them did you actually have Paul Paul [43:51] make special Graphics I made all the [43:53] graphics oh you did awesome wow that's [43:55] my my secret skill I anim made hair is [43:58] that your hair yeah I I need a haircut [44:03] okay yeah thank you awesome thank you [44:08] very much I'm really