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.
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.
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.
Inga projekt i denna kategori. Välj en annan kategori.
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
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.
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.