שמחה JOY
עלייה קלילה ומתנדנדת, כמו אבק זהב שמסרב ליפול. הסמן הופך למערבולת — החלקיקים מסתחררים סביבו כמו קונפטי ברוח.
ניסוי אינטראקטיבי · Canvas אחד · אפס ספריות רנדור
השדה כולו נמשך אל אור רחוק שנודד לאיטו — ולעולם לא מגיעים אליו. הזיזו את הסמן, החלקיקים ירכנו אליכם.
לגלולארבע נשמות
כל רגש הוא חתימת תנועה: סט כוחות שפועל על אותם אלף חלקיקים בדיוק. שום דבר לא מתחלף — רק הפיזיקה. הכרטיסים כאן חיים: כל אחד מריץ מיני־שדה עם ההתנהגות האמיתית שלו.
עלייה קלילה ומתנדנדת, כמו אבק זהב שמסרב ליפול. הסמן הופך למערבולת — החלקיקים מסתחררים סביבו כמו קונפטי ברוח.
כל השדה נמשך לאט אל אור רחוק שנודד — ולעולם לא מושג. הסמן זוכה רק לרכינה עדינה, כאילו החלקיקים נזכרים במשהו.
רעד חד, קפיצות כיוון פתאומיות, בלי מנוחה. הסמן הודף את החלקיקים בכוח — והם חוזרים לרתוח סביבו שוב ושוב.
שדה זרימה איטי שנושם. החלקיקים נעים בזרמים רכים, כמו ערפל מעל ים שקט, והסמן רק מפנה אותם הצידה באדווה.
מאחורי הקלעים
אין כאן WebGL, אין ספריות פיזיקה, אין סרטונים. יש לולאת ציור אחת על Canvas דו־ממדי, וארבעה סטים של כוחות. כל השאר — הרגשה.
כל חלקיק הוא נקודה עם מיקום, מהירות ופאזה. הרגש לא מחליף את החלקיקים — הוא מחליף את force(p) שפועל עליהם. שמחה דוחפת מעלה, געגוע מושך לאופק, כעס מרעיד, שלווה מזרימה.
לכל רגש יש תגובה משלו למגע: מערבולת בשמחה, רכינה בגעגוע, הדיפה בכעס, אדווה בשלווה. אותו סמן — ארבע שפות גוף.
מעבר רגש לא מאתחל כלום. במשך 2.2 שניות המערכת מחשבת את שני שדות הכוח וממזגת ביניהם עם lerp(fA, fB, m) — כך השמחה נמסה לתוך הכעס באמצע תנועה.
שובל נבנה ממילוי רקע שקוף למחצה במקום ניקוי המסך; חיבור צבעים במצב lighter יוצר זוהר; שלוש "אורורות" רכות וגרעין רעש מוסיפים אווירה קולנועית.
// every frame, for every particle: const fA = force(p, previousEmotion, t); // where we came from const fB = force(p, currentEmotion, t); // where we're going p.vx += lerp(fA.x, fB.x, mix); // feelings cross-fade p.vy += lerp(fA.y, fB.y, mix); p.vx *= damping; p.vy *= damping; // each emotion has its own friction
על הפרויקט
התחלנו משאלה פשוטה: האם אפשר לזהות רגש בלי אף מילה, בלי אף פרצוף — רק מתנועה? מסתבר שכן. כשמראים לאנשים את השדה בכעס, הם נסוגים מהמסך. כשהוא עובר לשלווה, הנשימה מאטה.
המילים העבריות שצפות בשדה — אור, מרחק, די, נשימה — אינן כיתוב. הן חלקיקים בעצמן: נולדות מלחיצה, נסחפות עם הרגש, ונמוגות. העברית כאן היא חומר, לא ממשק.
הכול נכתב מאפס: אין תמונות, אין סרטונים, אין מודל תלת־ממד. הדף שאתם רואים שוקל פחות ממגה־בייט ורץ על הטלפון באותה חלקות שהוא רץ על מסך גדול.