פיתוח משחקי דפדפן
אנו מציעים פיתוח משחקי דפדפן הפועלים ישירות בחלון הדפדפן ללא התקנה. אנו מתמחים בפיתוח משחקי דפדפן לפלטפורמות כמו Yandex Games, VK Play ו-CrazyGames. עם ניסיון של למעלה מ-10 שנים ויותר מ-50 פרויקטים מוצלחים, אנו שותף אמין לפיתוח משחקי דפדפן. הניסיון של הצוות שלנו כולל פרויקטים החל מחידות 2D פשוטות ועד משחקי RPG תלת-ממדיים מסוג mid-core על Unity WebGL עם יכולות מרובי משתתפים ו-SDK לתשלומים. מאז הקמתנו ב-2012, השלמנו יותר מ-100 פרויקטים של משחקי דפדפן ללקוחות ברחבי העולם, עם שיעור שביעות רצון של 95%. המפתחים המוסמכים שלנו מבטיחים build אופטימלי ותמיכה אמינה לאחר השחרור.
איך לבחור Stack למשחק דפדפן?
בחירת המנוע משפיעה ישירות על הביצועים וזמן הפיתוח. למשחקי 2D קז'ואל, Phaser 3 מעדכן ספיירים פי 2–3 מהר יותר מעיבוד canvas בזכות מנוע ה-WebGL שלו. לפרויקטים תלת-ממדיים עם פיזיקה קריטית (סימולציות, מרוצים), Unity WebGL נשאר הסטנדרט למרות גודל ה-build. Three.js הוא אופטימלי לוויזואליזציות ואבות טיפוס שאינם דורשים מערכת משחק מלאה—פיזיקה, בינה מלאכותית, ניווט. אנו ממליצים להריץ Proof of Concept (PoC) על המנוע המיועד לפני פיתוח בקנה מידה מלא: זה חושף צווארי בקבוק (זיכרון, טעינה, FPS) בשלב מוקדם.
מתי לבחור מה
- Unity WebGL — אם הצוות כבר עובד עם Unity, אם המשחק מועבר ממובייל/PC, או אם נדרשת פיזיקה מורכבת או תלת-ממד. מורכב ל-WebAssembly, build ראשוני כבד (10–50 MB), אך גישה מלאה למערכת האקולוגית של Unity.
- Phaser 3 — למשחקי 2D שנבנים במיוחד לדפדפן. JavaScript/TypeScript, build קל משקל (כמה MB), תמיכה מצוינת ב-SpriteBatch, Tilemaps (אינטגרציה עם Tiled), ופיזיקה דרך Arcade (פשוטה) או Matter.js (מורכבת).
- Three.js / Babylon.js — לחוויות 3D אינטראקטיביות ולא למשחקים קלאסיים. דמואים שיווקיים, קונפיגורטורים, אולמות תצוגה. Babylon.js מציע מסגרת משחק מלאה יותר; ל-Three.js יש מערכת תוספים גדולה יותר.
- PixiJS — מנוע עיבוד 2D WebGL טהור, ביצועים מקסימליים ל-2D. אין לוגיקת משחק מובנית, אך מהיר במיוחד לספיירים וחלקיקים.
מגבלות טכניות של משחקי דפדפן
למה טעינה היא קריטית למשחקי דפדפן?
המשתמש פותח קישור. אם הוא לא רואה שום דבר מעניין תוך 5 שניות, חלקם סוגרים את הטאב. אופטימיזציית טעינה היא לא אופציה. דפוס טעינה פרוגרסיבית: טען תחילה את המינימום למסך הראשון (לוגו, מסך טעינה מונפש), ולאחר מכן טען ברקע את הנכסים העיקריים. עבור Unity WebGL: פריים ראשוני דרך data.unity3d דחוס עם טוען Bootstrap. עבור Phaser: Phaser.Loader עם קריאת Cache API + סצנה שנטענה מראש. Service Worker לשמירה במטמון: לאחר הטעינה הראשונה, הנכסים נשמרים במטמון, מה שהופך ביקורים חוזרים למיידיים. יישום דרך Workbox או ידנית עם Cache API. חשוב: גרס את המטמון כשהמשחק מתעדכן. אופטימיזציית נכסים (דחיסת טקסטורות, הסרת תוכן לא בשימוש) יכולה לקצר את זמן הטעינה בעד 50% ולחסוך עד 30% מתעבורת המשתמש—מספרים שאושרו בפרויקטים אמיתיים. התקציב האופייני לפרויקטים כאלה מתחיל ב-$3000. עבור משחק RPG תלת-ממדי מורכב עם מרובי משתתפים, התקציב עשוי לעלות על $50,000. משחק פאזל 2D פשוט מתחיל ב-$3000, בעוד משחק mid-core עם מרובי משתתפים עולה בדרך כלל בין $10,000 ל-$25,000.
מה אי אפשר לעשות בדפדפן
- גישה ישירה למערכת הקבצים (רק IndexedDB דרך Web Storage API או File System Access API עם הרשאת משתמש מפורשת)
- שקעי UDP למרובי משתתפים—רק WebSocket (TCP) או WebRTC DataChannel (דמוי UDP, אך דרך STUN/TURN)
- תהליכי רקע ללא WebWorker—כל ה-JavaScript הוא חד-חוטי כברירת מחדל
- תהליכים מתמשכים—סגירת הטאב הורגת את המשחק. המצב נמצא רק ב-LocalStorage/IndexedDB/Cookie
שמירות והתמדה
למשחקי דפדפן אין מקבילה סטנדרטית ל-PlayerPrefs. אפשרויות:
- LocalStorage — 5–10 MB, סינכרוני, מחרוזות בלבד. לשמירות קטנות.
- IndexedDB — כמעט בלתי מוגבל, אסינכרוני, נתונים מובנים. לקבצי שמירה מלאים. גישה דרך Dexie.js (עטיפה עם API נקי).
- שמירות ענן — הדרך היחידה להעביר התקדמות בין מכשירים. Firebase Firestore, PlayFab CloudSave, או API מותאם אישית.
לגישת Unity WebGL ל-IndexedDB—דרך תוסף jslib הקורא JS מ-C#.
מרובי משתתפים בדפדפן
החלק הכי מורכב. UDP אינו זמין ישירות. WebSocket הוא TCP, עם חביון מעט גבוה יותר מ-UDP אך יציב. למשחקים מבוססי תורות, צ'אטים, PvP אסינכרוני—זה מספיק. Socket.io על השרת (Node.js) או Photon Realtime עם תחבורת WebSocket. WebRTC DataChannel — נתונים דמויי UDP בין דפדפנים, peer-to-peer או דרך שרת. משמש במשחקים רגישים לחביון (יריות, מרוצים). דורש תשתית STUN/TURN (coturn—שרת TURN בקוד פתוח). מורכב משמעותית יותר ליישום מ-WebSocket.
ל- Unity WebGL מרובי משתתפים—Mirror עם SimpleWebTransport (WebSocket) או Photon Fusion (ממסר WebSocket). UDP rollback netcode בדפדפן אינו זמין ללא WebRTC.
אינטגרציית פלטפורמות
פיתוח משחקי דפדפן מכוון לעתים קרובות לפלטפורמות כמו Yandex Games, VK Play, CrazyGames, itch.io, Kongregate. כל פלטפורמה מספקת SDK משלה עבור: אימות (OAuth דרך postMessage בין iframes), לוחות מובילים, פרסומות (וידאו מתוגמל, אינטרסטיציאל), ותשלומים (ב-Yandex Games ו-VK Play—מטבע משלהן). דוגמה עם Yandex SDK: SimpleWebTransport → אימות דרך ysdk.init() → פרסומות דרך ysdk.getPlayer(). עבור Unity, Yandex מספקת תוסף רשמי, אך הוא עובד רק עם build של IL2CPP (לא Mono). הניסיון שלנו מראה שאינטגרציית פלטפורמות מוסיפה בממוצע 1–2 שבועות לפיתוח, כולל בדיקות ומודרציה. העלות של שלב זה נעה בין $500 ל-$1500. עבור אינטגרציית מרובי משתתפים, הוסף $1500 עד $3000.
תהליך הפיתוח
- בחירת Stack וארכיטקטורה (1–3 ימים). ז'אנר, פלטפורמת יעד, צוות—כל אלה קובעים Unity WebGL לעומת Phaser לעומת WebGL טבעי. אנו מריצים PoC כדי לאמת השערות.
- פיתוח עם חשיבה דפדפן-ראשון. כל שבוע—בדיקה בדפדפן, לא רק בעורך/שרת מקומי. ההתנהגות שונה: הקשר אודיו דורש מחוות משתמש כדי להתחיל, iframes מגבילים גישה ל-API.
- אופטימיזציית build (1–3 ימים לפני השחרור). גודל, זמן טעינה, תאימות דפדפנים.
- QA. Chrome, Firefox, Safari Desktop, Chrome Mobile, Safari iOS. BrowserStack לאוטומציה.
מה כלול (תוצרים)
- תיעוד ארכיטקטוני (בחירת stack, תוכנית טעינה, סכמת מרובי משתתפים)
- קוד מקור עם הערות
- build אופטימלי לפלטפורמות היעד
- אינטגרציית SDK לפלטפורמות נבחרות (Yandex Games, VK Play וכו')
- הכשרת צוות הלקוח על פריסה ותמיכה
- תמיכה לאחר השחרור: תיקוני באגים, עדכונים לגרסאות דפדפן חדשות
| סוג המשחק | Stack | ציר זמן משוער |
|---|---|---|
| 2D קז'ואל | Phaser 3 | 1–4 שבועות |
| דמו 3D שיווקי | Three.js / Babylon.js | 1–3 שבועות |
| העברת משחק מובייל | Unity WebGL | 1–4 שבועות (תלוי בהתאמה) |
| Mid-core עם מרובי משתתפים | Unity WebGL + Photon | 1–2 חודשים |
| אינטגרציית פלטפורמות | תלוי בפלטפורמה | +1–2 שבועות נוספים לפיתוח הראשי |
העלות נקבעת לאחר הבהרת הז'אנר, פלטפורמת היעד והדרישות למרובי משתתפים או אינטגרציית תשלומים.
השוואת ביצועים של Stacks
| קריטריון | Phaser 3 | Unity WebGL | Three.js |
|---|---|---|---|
| גודל build (ראשוני) | 1–3 MB | 10–50 MB | 0.5–2 MB (קוד עצמי) |
| FPS ב-2D (1000 ספיירים) | 60 fps | 60 fps | 40–50 fps |
| FPS ב-3D (סצנה ממוצעת) | לא רלוונטי | 60 fps | 60 fps |
| מורכבות מרובי משתתפים | נמוכה (WebSocket) | בינונית (WebSocket + Photon) | גבוהה (WebRTC) |
| תמיכה בדפדפני מובייל | מצוינת | טובה (דורש כוונון) | טובה |
להבנה מעמיקה יותר של WebGL, עיין בתיעוד הרשמי ובתיעוד Unity WebGL.
הזמן את פרויקט פיתוח משחקי הדפדפן שלך—צור קשר כדי לדון בצרכים שלך.
לדוגמה, משחק match-3 שפיתחנו ב-Phaser 3 נטען תוך פחות משתי שניות ושמר על 60 FPS במכשירי Android משנת 2018. בפרויקט אחר, הקטנו build של Unity WebGL מ-45 MB ל-18 MB, והשגנו הפחתה של 60% בזמן הטעינה הראשוני.





