עורכים מותאמים אישית למנהלי תוכן במשחקים

מנהלי תוכן במשחקים מבזבזים זמן רב על הזנת נתונים ידנית ב-Unity Editor, מה שמאט את תהליך הפיתוח וגורם לשגיאות. אנחנו בונים עורכים וכלים מותאמים אישית ל-Unity שמבצעים אוטומציה של משימות שגרתיות והופכים את התהליך לוויזואלי יותר. הצוות שלנו מספק פרויקטים מלאים מהקונספט ועד היישום, עם תמיכה מתמשכת וניסיון רב בפיתוח משחקים.

היכולות שלנו

שירותי סטודיו אחרים

יישומי VR/AR/MR מותאמים אישית

טבלו לקוחות וצוותים בחוויות דיגיטליות חדשות

פיתוח משחקי Unity

מקונספט לשחרור — משחקים שאנשים זוכרים

מידול ואנימציה בתלת-ממד

החיו את המוצר שלכם בגרפיקת תלת-ממד ואנימציה

סימולטורי ציוד VR תעשייתיים

אמנו מפעילים על ציוד בבטחה, ללא השבתה

הוראות AR לייצור

הנחיות שלב-אחר-שלב ישירות על הציוד — ללא נייר

סימולטורי VR לבטיחות

תרגול תגובה לשעת חירום ללא צורך בהגעה לשטח

תוכניות הכשרה ב-VR/AR

הכשרת עובדים בשירות, קליטה ומיומנויות רכות ב-VR

חידוני הכשרה לעובדים

בדיקת ידע באמצעות משחקים — בקלות וללא לחץ

הוראות וידאו ארגוניות

סרטונים ברורים להכשרת העובדים והלקוחות שלכם

גיימיפיקציה עסקית

הניעו צוותים עם מכניקת משחק ב-KPI ובמשאבי אנוש

יישומי קיוסק אינטראקטיביים

מסכים אינטראקטיביים לקמעונאות, תערוכות ומשרדים

מתקני VR/AR

אפקט וואו למותגים בתערוכות, אירועים וחדרי תצוגה

תערוכות ומוזיאונים וירטואליים

התערוכות שלכם מגיעות לכל פינה בעולם, 24/7

מסעות אירועים ומשחקי מותג

משחקים בלתי נשכחים לכנסים ולאירועי לקוחות

שאלות נפוצות

העבודות האחרונות

  • פיתוח משחקים עבור Mortal Motors
    פיתוח משחקים עבור Mortal Motors
    1638
  • משחק אסטרטגיה מבוסס תורות המתרחש בעולם פנטזיה, With Fire and Sword
    משחק אסטרטגיה מבוסס תורות המתרחש בעולם פנטזיה, With Fire and Sword
    1123
  • פיתוח משחק עבור חברת Second term
    פיתוח משחק עבור חברת Second term
    751
  • אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    830

פיתוח עורכים מותאמים אישית למנהלי תוכן במשחקים

אחד הלקוחות שלנו — מעצב משחקים — רצה להוסיף רמה חדשה לפרויקט RPG למובייל. ללא כלי מותאם אישית, התהליך נראה כך: הוא פותח את Unity Editor, יוצר ScriptableObject, ממלא שדות ידנית, לא רואה תצוגה מקדימה, בטעות משאיר null בשדה חובה — והבאג מתגלה ב-QA שבוע לאחר מכן. העיכוב הזה — שבוע למציאת null אחד — עולה לפרויקט זמן וכסף. עם עורך הרמות שלנו בתוך Unity: רשימת רמות ויזואלית, גרירה ושחרור לסידור, ולידציה מובנית, תצוגה מקדימה של אייקון הרמה ישירות בכלי.

ההבדל הוא לא רק נוחות. זה מהירות איטרציה ומספר באגי התוכן. הניסיון שלנו מראה שעורכים מותאמים אישית מפחיתים את זמן יצירת התוכן ב-40–60% ומקצצים באגי שחרור פי 5.

במאמר זה נבחן אילו סוגי עורכים מבוקשים בתעשיית המשחקים, כיצד אנו מיישמים אותם ב-Unity ו-Unreal Engine, ומה היתרונות שהם מביאים לצוות. אם אתם צריכים כלי מותאם אישית — צרו קשר לניתוח ראשוני.

אילו בעיות פותרים עורכים מותאמים אישית?

חלונות עורך מותאמים אישית לעבודה עם נתוני משחק. מקרים טיפוסיים: עורך משימות (עץ תלויות, תנאים, תגמולים), עורך דיאלוגים (גרף הסתעפות), עורך כלכלה (טבלאות מחירים, שערי חליפין, איזון), עורך שלל (הסתברויות, משקלים, תנאי נפילה). כל זה יכול להישמר ב-ScriptableObject או JSON — אבל עריכה דרך ה-Inspector הסטנדרטי היא איטית ומועדת לשגיאות. פיתוח כלים כאלה אורך בין 3 ימים ל-4 שבועות תלוי במורכבות.

EditorWindow ב-Unity הוא מחלקת הבסיס לכל כלי. IMGUI (GUILayout, EditorGUILayout) או UI Toolkit החדש (USS + UXML) — אנו בוחרים לפי המשימה. UI Toolkit עדיף לממשקים מורכבים עם עצים, רשימות, גרירה ושחרור. IMGUI מהיר יותר לטפסים פשוטים ואינו דורש קבצי markup נפרדים.

PropertyDrawer ו-CustomEditor — כאשר אין צורך בחלון נפרד אבל רוצים לשפר את התצוגה של ScriptableObject או Component מסוים ב-Inspector. [CustomPropertyDrawer(typeof(LootTable))] עם ויזואליזציה של משקלים כהיסטוגרמה קטנה ישירות ב-Inspector — זה כמה שעות עבודה שחוסכות שעות של בלבול למעצב המשחקים.

כיצד בנינו עורך דיאלוגים ל-RPG — מקרה מהפרקטיקה

עורך דיאלוגים דמוי גרף הוא סוג הכלי המבוקש ביותר. דרישות: צמתים עם טקסט דיבור, ענפי בחירה, תנאים (בדיקות דגלים, התקדמות), לוקליזציה. בפרויקט היו 50+ צמתים, 20 סוגי תנאים — העורך קיצץ את זמן הזנת הדיאלוגים פי 3.

הגישה הסטנדרטית מבוססת על ה-API של GraphView (namespace UnityEditor.Experimental.GraphView). GraphView מספק pan, zoom, select, copy-paste מהקופסה. מחלקות Node מותאמות אישית יורשות מ-UnityEditor.Experimental.GraphView.Node, פורטים (Port) מגדירים כניסות ויציאות.

הבעיה עם GraphView: הוא סומן כ-Experimental מאז Unity 2019 ומעולם לא הפך רשמית ליציב. זה אומר שינויים שוברים פוטנציאליים בעת שדרוג המנוע. חלופות לפרויקטים חדשים הן xNode (קוד פתוח) או יישום מותאם אישית על UI Toolkit עם לוגיקת גרירה מותאמת.

נתוני דיאלוג נשמרים ב-ScriptableObject עם [SerializeReference] לאחסון פולימורפי של סוגי צמתים שונים — זה מאפשר סריאליזציה של טיפוסים יורשים ללא wrappers ומונע אובדן טיפוס במהלך deserialization. אם יש צורך לערוך דיאלוגים מחוץ ל-Unity (על ידי מעצב נרטיב ללא ה-Editor) — אנו משתמשים ב-JSON עם סריאליזציה מותאמת אישית או פורמטים של yarn/ink עם parser בצד Unity.

כיצד ולידציה מונעת שגיאות?

כלי ללא ולידציה מעביר את האחריות לתקינות הנתונים לאדם — זה תמיד מוביל לשגיאות. שלוש רמות הגנה:

ולידציה מובנית בעורך. תכונת [Required] דרך PropertyDrawer מותאם אישית שמצייר מסגרת אדומה סביב שדות חובה ריקים. נראה מיד, לפני השמירה. ולידציה מובנית מפחיתה שגיאות בזמן עריכה ב-90%.

ולידציה לפני בנייה. IPreprocessBuildWithReport.OnPreprocessBuild() — מתודה שנקראת לפני כל בנייה. אנו עוברים על כל נכסי ScriptableObject מהסוג הנדרש דרך AssetDatabase.FindAssets, בודקים שדות חובה, הפניות null, מזהים כפולים. אם נמצאה שגיאה — אנו throw BuildFailedException עם תיאור של מה ומהיכן שבור. הבנייה לא מתחילה עם נתונים שבורים.

הצהרות זמן ריצה. בבנייות Debug: Debug.Assert(quest.reward != null, $"Quest {quest.id} has null reward"). זול ותופס את מה שעבר דרך שתי הרמות הראשונות.

דוגמת קוד לוולידציה מובנית ```csharp [CustomPropertyDrawer(typeof(LootTable))] public class LootTableDrawer : PropertyDrawer { public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { EditorGUI.BeginProperty(position, label, property); // drawing with validation EditorGUI.EndProperty(); } } ```

כלי Gizmo מותאמים אישית ו-Scene View

לעורכי רמות: Handles מותאמים אישית ב-Scene View דרך Handles.DrawWireCube, Handles.DrawBezier, HandleUtility.PickGameObject — מאפשרים ויזואליזציה של נתוני משחק ישירות בסצנה. אזורי spawn, נתיבי סיור, אזורי trigger — ניתנים לעריכה באמצעות גרירה ב-Scene View, לא דרך מספרים ב-Inspector.

תכונת [DrawGizmo(GizmoType.Selected)] מציירת Gizmo מותאם אישית ללא OnDrawGizmos() על הרכיב — ארכיטקטורה נקייה יותר.

מה כלול בעבודה

שלב תוצאה זמן משוער
ניתוח מבנה נתונים מפרט עורך וסכמת נתונים 1–2 ימים
אב טיפוס ממשק מודל ב-UI Toolkit או Figma 2–4 ימים
יישום ליבה פונקציונליות CRUD, ולידציה, סריאליזציה 3–10 ימים
אינטגרציה לפרויקט חיבור למערכות קיימות 1–3 ימים
תיעוד והדרכה מדריך משתמש ומפגש וידאו 1–2 ימים

לוחות זמנים

כלי זמן
CustomEditor / PropertyDrawer לטיפוס קיים 1–3 ימים
EditorWindow פשוט (טבלת נתונים + CRUD) 3–7 ימים
עורך גרף (דיאלוגים, משימות) במורכבות בינונית 2–4 שבועות
עורך רמות מלא עם ולידציה ו-gizmos 3–8 שבועות

העלות מחושבת לאחר תיאור דרישות פונקציונליות וניתוח מבנה נתוני המשחק. הכלי מחזיר את עצמו תוך 2–3 חודשים על ידי הפחתת שגיאות תוכן. יש לנו ניסיון של למעלה מ-5 שנים בתעשיית המשחקים ויותר מ-30 כלים מיושמים לאולפנים בגדלים שונים. העריכו כיצד כלי מותאם אישית יכול להאיץ את תהליך העבודה של הצוות שלכם. מוכנים לדון בעורך שלכם? צרו קשר להערכה מפורטת.