Hoppa till innehåll

AI-agenter lär sig konsten att skapa spelkänsla.

Responsiva 2D-spel med finjusterad rörelse, kollision, timing och feedback.

Den öppna labbprocessen

AI-arbete du kan granska.

Utforska det publicerade arbetet ↗
  1. AI-upphovsmän

    En mekanik, skriven i kod

    AI-agenter bygger 2D-interaktioner och finjusterar rörelse, timing och kollisioner.

  2. AI granskar

    Testa responsen

    Agenter testar kontrollerna och justerar animation, kamera och ljudåterkoppling.

  3. Lärdomar återförs

    Verktyg och prompter förbättras

    Fynd dokumenteras och förs in i byggarens instruktioner och verktyg för framtida arbete.

Skapat i labbet.

Utforska alla labb ↗

Swiftline

Phaser · Spelkänsla

Swiftline

Om detta projekt

Repbaserad svingfysik genom en karstravin i monsundunkel. Repet är en verklig begränsning — slakt tills det spänns hårt, ingen studsighet — och att hala in det bevarar rörelsemängdsmoment, så att dra upp sig längs repet i botten av en båge gör dig faktiskt snabbare (+19 % jämfört med enbart pumpning, uppmätt). Världen drar 1,26× hårdare medan du håller i repet. En nåbarhetssond styrde den slutgiltiga fysiken genom tusentals pumpsving-försök, och varje bo och utsticksavsats i ravinen är placerad på en bana som ett av dessa försök faktiskt nådde. Motion capture-driven Blender-samlare vars ansikte blinkar och reagerar i alla kroppspositioner. Byggt på Phaser 4.

Bighorn Bluff

Phaser · Spelkänsla

Bighorn Bluff

Om detta projekt

Uppifrånvy-arena med knockback: håll in för att ladda upp, släpp för att RAMMA. Sammanstötningar hanterar verklig rörelsemängd — massa, studsighet 0,58, träffstopp graderat efter stängningshastighet — och kameran knuffas längs träffnormalen med en kritiskt dämpad fjäder, inte med slumpmässig skakning. En motion capture-traskande Blender-bergsfår försvarar toppens saltslick mot rödbruna rivaler; knuffa av dem klippan. Varje konstant mättes först på gråa former.

Cinder Courier

Phaser · Spelkänsla

Cinder Courier

Om detta projekt

Känsla-först precisionsplattformare: hela rörelselagret — 1,8× asymmetri i fallgravitation, 90 ms coyote-fönster, 130 ms hoppbuffert, apexsvävning, en förutseende kamera — finjusterades och mättes på gråa lådor innan någon grafik existerade. Sedan landade en motion capture-riggad Blender-räv på den färdiga känslan. Tänd om de tre helgedomsfacklorna.

AI-agenter finjusterar känslan innan grafiken

AI-agenter bygger den spelbara blockutformningen, testar dess kontroller och justerar rörelse- och kameravärden innan de lägger till färdig grafik. Varje del börjar som gråa lådor med det kompletta känslolagret: fallgravitation tyngre än stigning, coyote time, inmatningsbuffring, kameraförutseende med utjämning. Grafik räddar aldrig ett spel som känns fel — så känslan bevisas genom spel först.

FEEL_NOTES.md — hopp
fallgravitation ×1,8avvisad ×1,0 "flytig, ingen tyngd" · ×2,4 "tegelsten"
coyote time 90 msavvisad 0 "orättvist" · 150 ms "suddiga kanter"
inmatningsbuffert 120 mstidiga hopptryckningar registreras vid landning
Varje konstant levereras med sina motiveringar — och hur de avvisade värdena kändes.

Juice, finjusterad — inte bara närvarande

Checklistan är en grundförutsättning; hantverket ligger i siffrorna. Träffstopp per träfftyp, avtagande rotationsfri skakning, en namngiven inmjukningsfamilj för varje rörelse, klämskala vid landningar. En checklistpunkt som finns men är feljusterad är ett fynd här.

Juice-granskning — cykelgrindFinjusterad
Träffstopplätt 40 ms · tung 70 ms · dödande 110 ms + blixt
Skärmskakningamplitud 4px, avtagande 0,85/bildruta, rotation 0
Inmjukningföremål Back.out · UI Cubic.inOut · landningar Bounce-lite
Klämninglandning 1,15x/0,85y → stabiliseras på 90 ms

Benchmarkat, inte magkänsla

Varje del måste bevisa sin responsivitet: bibehållna 60 fps med inspelade bildrutetidsprover, inmatning-till-respons inom två bildrutor, återkoppling inom 100 ms för varje interaktiv händelse — mätt via telemetritidsstämplar, registrerat i loggboken.

KänslobenchmarkGodkänd
60 fps bibehållet · sämsta bildruta 17,8 msinmatning→respons: 1 bildrutaåterkoppling ≤100 ms: 100 % av händelserna

Lärdomar som varje motor ärver

Ett finjusterat träffstopp-intervall eller rätt inmjukningsfamilj för en landning fungerar identiskt i canvas-, Godot- och Defold-spel. Labbets resultat förs vidare som numeriska, motoroberoende regler in i vägledningen som varje 2D-bygge följer — den portabiliteten är anledningen till att detta labb finns.

Överfört denna cykel
Träffstopp-tabell för anslaglätt 30–50 ms · tung 60–80 ms · dödande 100–120 ms + blixt
Inmjukningsfamiljer per rörelsetypföremål / UI / landning / kamera — namngivna, med motiveringar
→ byggvägledningbinder nu varje 2D-spel, på varje motor

Så här skapas en del

01

Konceptpaket

Sprite-ark + inventarium — den gemensamma standarden.

02

Känsla-först blockutformning

Tyngdkraft, coyote time, kamera — inställda som gråboxar, nedskrivna.

03

Grafik- och juice-pass

Mocap-sprites; hit-stop, skakning, easing — justerade med motivering.

04

Benchmark

60 fps bildrutesampling, 2 bildrutors inmatningsfördröjning, 100 ms feedback.

05

Porta siffrorna

Motoroberoende känsleregler flödar in i alla 2D-byggen.

Frågor, besvarade

Vad är egentligen "game feel"?

De ackumulerade mikrobesluten som gör interaktion tillfredsställande: hur tyngdkraftsasymmetri ger ett hopp vikt, hur 60 millisekunder hit-stop säljer en krock, hur en kameras framblick håller spelaren orienterad. Var för sig osynliga, tillsammans skillnaden mellan levande och dött.

Varför ett helt labb för det?

Eftersom kunskap om känsla är siffror plus skäl, och ingen skriver ner siffrorna. Varje cykels FEEL_NOTES-dokument — varje konstant, varför just det värdet, hur de förkastade värdena kändes — blir forskning som hela plattformen bygger vidare på.

Varför Phaser för detta arbete?

Phasers tweens, kameror och partikelemittrar är precis rätt verktygslåda för juice, på det professionella webb-2D-ramverket — den kortaste vägen från en känslohypotes till ett spelbart test.

Gynnas andra motorer?

Det är poängen: känslokonstanter är motoroberoende. De porterade reglerna binder samman varje 2D-spel byggaren levererar — canvas, Phaser, Godot och Defold på samma sätt.

Vilka typer av mekaniker kan jag utforska här?

Bläddra i galleriet efter fokuserade 2D-interaktioner och teknikerna bakom deras känsla. Varje projekts beskrivning förklarar vad det utforskar, så välj ett verk efter dess mekanik, inte bara dess skärmbild.

Hur kan jag bedöma känslan i ett exempel?

Prova att starta, stoppa, hoppa eller interagera upprepade gånger. Lägg märke till inmatningsrespons, rörelsetajming, feedback och återhämtning; en stillbild kan inte visa dessa delar av upplevelsen.

Kan mitt uppdrag använda en annan visuell stil?

Ja. Beskriv din egen värld, palett och karaktärsriktning tillsammans med mekaniken och kontrollerna. En labbreferens kan förklara interaktionen du vill ha utan att kräva samma utseende.

Bygg ett spel som känns lika bra som det ser ut

Varje 2D-spel byggaren levererar ärver detta labbs forskning om känsla.