لتجميع فريق الأحلام ، في نفس واحد لإسقاط لعبة تحفة ستفجر القمم. أو ، كما يليق بالعبقري الوحيد ، لبناء ظاهرة اللعبة وإطلاقها في العالم ليلاً ، اللعبة هي نقطة جذب للمال والشهرة. كما اتضح في غرفة التدخين وفي اجتماعات تكنولوجيا المعلومات المختلفة ، فإن مثل هذه الأوهام المظلمة لا تعذب الطلاب الأصغر سنًا فحسب ، بل أيضًا الأعمام المحترمين. من الصعب عليهم الاعتراف بذلك.
كيف تكون مطورًا يكون مساره الوظيفي بعيدًا عن تطوير اللعبة مثل لعبة الهوبيتون من البوابة السوداء؟ استغنى عن الهوس وأخيرًا إنهاء المكتبة التي تبدو رابحة جدًا في السيرة الذاتية. ولكن إذا دفنت أحلامك - وليس في طريقك ، فمرحبًا بك في القط. سوف تجد قصة صادقة حول كيفية ممارسة ركلة من عالم تكنولوجيا المعلومات أمام مرآة وكدمات مليئة. تاريخ اللعبة ، من المخطط إلى الإصدار.

من أنماط التفكير الغامضة إلى المفهوم النهائي
في التقريب الأول ، كانت الخطة على النحو التالي: في الحد الأدنى من الوقت للذهاب من خلال دورة تطوير اللعبة ، والمرحلة النهائية هي إصدار إصدار كامل.
تساعد الحدود الزمنية المعقولة والحاجة إلى نشر اللعبة على تجنب الفخ النموذجي الذي ينتظر نوبز في تطوير اللعبة: مطاردة صورة "لعبة الأحلام"! في أغلب الأحيان ، يتحول المفهوم "المثالي" ، عند تجسيده ، إلى مشروع بعيد عن متناول فريق مستقل. تصبح الفكرة ذاتها عيبًا ، سيتم إخفاؤه عاجلاً أم آجلاً "في الطاولة".
لتجنب الفشل غير المألوف مع تطوير محاكي غواصة أو مطلق نار ثلاثي الأبعاد عبر الإنترنت ، من الأفضل التوقف مؤقتًا وإصدار لعبة بسيطة. بالمناسبة ، البساطة لا تعني ممرًا بدائيًا لكلمات مرحب بها ، ونسخة ثعبان مقطوعة ومختلفة أخرى من الحرف غير القابلة للتشغيل وغير الأصلية.
أربعة في مزرعة صف مع الخدم ، النباتات مقابل. الهامستر ... ما هي الفكرة الغريبة لاختيار كرة اختبار؟ ربما شيء عن الكرات. وبما أن هذه هي أول فطيرة ، دع اللعبة تكون مسطحة ، ثنائية الأبعاد. شعار أي أحداث مشبوهة هو أقل منطق ، إلى حد ما. لذلك ، تم إصلاح أول فكرة معقولة نسبيًا. إذن ، رسم تخطيطي لمزيج بري من البلياردو والهوكي الهوائي في إطار حضارة قديمة:
مفهوم اللعبةهذا هو ترتيب الكرات (zengs) في خضم اللعبة. يستهدف اللاعب قطة zeng في تمساح zeng ليطرقه في واحدة من ستة جيوب ويرى تأثيرًا خاصًا قويًا للانفجار. أول من أطاح بكل زنجيات العدو من الميدان هو Etsvatsephala (زميل عظيم). أوه نعم. لا يزال وضع الحضارة القديمة وراء الكواليس.
طحين الاختيار: منصة الهدف ومجموعة الأدوات
بعد تحديد مفهوم اللعبة بعبارات عامة ، لم يكن من الصعب تحديد النظام الأساسي والأدوات.
يهدد البصر في سوق أجهزة الكمبيوتر المتاعب مع خدمات التوزيع عبر الإنترنت. خذ على الأقل نظام
Steam Direct للنشر في متجر Steam الشهير. لإضافة كل منتج ، يتم
فرض ضريبة تبلغ حوالي 6000 روبل ، ومن لحظة الدفع إلى المنشور ، يجب أن يستغرق الأمر شهرًا لموظفي Valve "للتأكد من أنهم يتعاملون". تستغرق مراجعة اللعبة قبل الإصدار خمسة أيام أخرى.
يبدأ تعاون indie igrodela مع GOG.com ، عملاق آخر للتوزيع الرقمي ، بملء
استبيان حول اللعبة. يستغرق المتجر بعض الوقت حتى ينظر المتجر في اللعبة ، وخطر رفض النشر مرتفع جدًا: قد لا تبدو اللعبة فريدة بما يكفي ، أو قد تكون أساسية أو قد لا تتناسب مع معايير أخرى ...
يفرض المنطق السليم أنه من المنطقي الاتصال بالوحوش مثل Steam أو GOG.com إذا كان لديك منتج جاهز (أو جاهز تقريبًا) بجودة مناسبة. لكن إصدار اللعبة لجمهور الهاتف المحمول هو خيار أسرع وأكثر بأسعار معقولة. بالطبع ، أنا ألمح إلى Android: دفعة لمرة واحدة
بقيمة 25 دولارًا لتنشيط حساب مطور والوصول إلى Google Play Developer Console أرخص من
99 دولارًا سنويًا في بنك Apple الصغير للنشر على Apple Store. لدي حساب مطور في Google Play منذ زمن سحيق ، وهذا يميل المقاييس لصالح Android.
بالنسبة إلى Android ، فإن الجريئين ، الذين يشغلون مسارًا زلقًا لتطوير هذه المنصة ، غالبًا ما يجدون أنفسهم في مفترق طرق: سواء لإنشاء لعبة في Canvas ، أو تعلم OpenGL API ، أو التعامل مع محرك لعبة كامل. بالنسبة لي ، لم يكن هناك خيار: كان حمل الماوس في محرك واجهة المستخدم الرسومية الجميل أكثر جاذبية بكثير من قضاء الليل في مصحح أخطاء والتحقق من سبب عدم توسع المشهد ، إنه يتجمد.
من الواضح أنه كان من الضروري اختيار محرك يفي بالمتطلبات:
- القدرة على نقل الألعاب إلى الإصدار تحت Android
- مجانًا
- حد دخول منخفض
- سرعة النماذج
- وثائق حديثة وواضحة ، أو مجتمع نشط
بعد بعض عمليات البحث ، أثارت ثلاثة محركات الاهتمام: Cocos2D و Unreal Engine و Unity. يُعجب Cocos2D بخفته و C ++ كلغة تطوير ، لكن كتابة لعبة عليه لا يعد بالسرعة. انتهى خيار صعب بين Unreal Engine و Unity بانتصار Unity: في التعارف الأول ، بدا أنه كان من الأسهل على المبتدئين فهم هذا المحرك. ما يستحق على الأقل تعليميًا أنيقًا
عبر الإنترنت حول إنشاء ألعاب ثنائية الأبعاد!
بالنسبة للمطور المستقل ، تتوفر Unity بموجب خطة التعرفة الشخصية ، أي مجانًا. الشركات التي يتجاوز حجم مبيعاتها السنوية أو حجم الأموال التي تم جمعها 100،000 دولار مدعوة لاستخدام اشتراك مدفوع. حسنًا ، بمجرد أن يتم ذلك على الفور ، ولكن في الوقت الحالي ، قم بإطلاق Personal.
حول تطوير لعبة بمفردها: حيث يختفي الوقت
نتيجة للرمي بين المنصات والمحركات المختلفة على الكمبيوتر ، تم تسجيل Unity 2017 و Visual Studio Community و Android Studio. بالمناسبة ، إصدارات الوحدة الرسمية
متاحة للتثبيت على Linux ، وتم تثبيت برنامج openSUSE Leap دون أي مشاكل. ومع ذلك ، تم إجراء معظم تطوير اللعبة في Windows لأن Photoshop موجود. والمطور الوحيد لمشروع بدوام جزئي هو المصمم الوحيد الذي يجلب فلفلًا خاصًا لعملية gamedev.
على سبيل المثال ، غالبًا ما كان عليك التبديل بين مهمتين: كتابة التعليمات البرمجية ورسم الرسومات. بمجرد أن تم حظر عملية التطوير بسبب الحاجة إلى إضافة رسومات جديدة إلى المشهد ، كان من الضروري إخلاء كل شيء والتصميم. لموازاة هذه العمليات ، تم استخدام صور "بذرة" بنشاط ، وتم رسمها بطريقة أو بأخرى وحتى آخر استبدال للرسومات الكاملة.
تطوير مرحلي للرسوماتكانت هناك أيضًا ضربات في الطريق المسدود الإبداعي عندما أثارت الرسومات ، التي اعتبرت نهائية ، رفض المؤلف أو اللاعبين ، ولم يكن من الواضح كيفية إصلاح الموقف. وقد أظهرت الممارسة أن زوجين من فن المفاهيم الجديد يساهم في كسر الجمود. يخبرك إما في أي اتجاه لإعادة الصورة ، أو استبدالها بالكامل.
على أي حال ، لن يدخل قدر كبير من الفن التجميع النهائي للعبة ، وهذا أمر طبيعي. من بين الكثير من الرسومات الفاشلة ، يولد أحدهم ينظر إليه الجميع ويقول: "نعم ، هذا هو. نفس الألبكة ".
نفس الألبكةوهنا ميدان اللعب بعد تكرارات عديدة لإعادة صنع:
لقطة شاشة للملعباتضح أنه من أصل 72 ساعة ، تم إنفاق 40 فقط على الرسم والتصميم. تم إنفاق الوقت المتبقي على دورة اختبار التطوير ، وتسارعته ثلاثة عوامل:
جاهزية نقاط التفتيش للعبة للإفراج عنها. اللعبة التي لا تخجل من الوظيفة التي تعتبرها جاهزة ، وهي جاهزة للمرور من قبل المستخدم الذي يراها لأول مرة؟ هل ينتهي الأمر إذا تخليت عن ميزة أو ميزتين؟ إذا لم تكن للمعارف التقليدية التي تم تجميعها وترجمتها عقليًا للقراءة فقط ، فيمكن تحسين اللعبة وتطويرها للأعمار. عندما ناقشوا انطباعاتهم مع اللاعبين وظهور أفكارهم الخاصة ، ظهرت قائمة الرغبات الجديدة كل ساعة تقريبًا ، ثم حفظت قائمة الميزات لنقطة التحكم.
رفض مدونة جميلة. يمكن للمرء أن يجادل في ذلك ، يمكن اعتبار هذه الممارسة ضارة لكل من المشروع والمطور ، وأنا أتفق مع معظم الحجج ... لكن الحقيقة واضحة: إذا كان المشروع صغيرًا ونفاد الوقت ، فإن نقاوة الشفرة تتلاشى في الخلفية. الشيء الرئيسي هو أنه لا يزال من الممكن فهم شفرة المصدر. لكن رمز السباغيتي ولصق النسخ الدهني ليست ضارة جدًا إذا لم تطلب جزءًا مزدوجًا.
نطاق تشغيل الأجزاء. هل كان ترتيب الوقت الذي قضيته في الانفجار ، لكنه لا يزال لا يفوز بالجائزة لأفضل المؤثرات البصرية؟ هل الشذوذ في الرسوم المتحركة المتحركة مرئي الآن فقط ، لأن الكائنات الأخرى تجذب الانتباه إلى نفسها؟ تصحيح الأجزاء المعقدة ، وضبط المؤثرات الخاصة ، وتشغيل الرسوم المتحركة ... بالنسبة لمثل هذه الأحداث ، فإن النهج الجيد هو عزل كتلة الاهتمام قدر الإمكان ووضعها في مشروع نظيف (أو على الأقل في مشهد منفصل). أولاً ، هذا يزيل الآثار الجانبية لكيانات اللعبة الأخرى عليه. ثانيًا ، يساعد على التركيز على المهمة الحالية ، للتجربة دون خطر العبث وكسر شيء ما في الحي. على سبيل المثال ، في مشهد منفصل ، كان من الملائم ضبط معلمات تأثيرات الانفجارات عندما ضرب زينج جيبًا ، وفي مشروع الاختبار حدد خيارات لخلفية الخلفية.
أخطاء لم تكن قاتلة
سقوط لا هوادة فيه في اختبار بيتا المفتوح ، مرجع فارغ ¬- بيض عيد الفصح بالقرب من السطور مع عبارة "// TODO" ، ينزلق مثل الماء من خلال أصابعك ، البق ... الحقيقة المحزنة: معظم الأخطاء هي نتيجة الإهمال وعدم ملكية الأداة. الوحدة لديها وثائق مفصلة ولسبب وجيه. العديد من الحلول التقنية للوحدة ليست واضحة. يؤدي الانسداد في التوثيق إلى توليد ساعات إضافية من التصحيح والتجول حول Google ... مما يعيدك إلى الوثائق عبر الإنترنت.
سيداتي وسادتي ، إليك "أفضل 3" من أكثر الأخطاء اللذيذة والمستهلكة للوقت التي زينت عملية تطوير El Zengo. إنهم فضوليون من حيث أنهم حالات خاصة من المشاكل النموذجية التي تنشأ أثناء التطور السريع لضيق الوقت لإجراء دراسة تفصيلية لموضوع الموضوع.
3. لا يعمل كما أريد
أوه ، كم يضيع الوقت في تصحيح أخطاء تصادم zengs ... بالطبع ، في الوحدة ، يعمل الحساب الكامل لحركة الأجسام خارج الصندوق. وفي النموذج الأولي للعبة ، تم استغلالها بفارغ الصبر: تدحرجت زينغز حول المسرح بدون جاذبية ، وارتدت عن بعضها البعض ومن الجانبين ، ولم يكن هناك أي شك في مساراتها بعد التصادمات. لكن اللحظة الحاسمة جاءت لرسم نواقل الزنكي ، وفجأة تم الكشف عن أن الارتداد الفعلي للزنغ عن بعضها البعض (القوس الرمادي في لقطة الشاشة) يختلف عن النقطة المتوقعة (الخط الأبيض):
مسارات ارتداد zenga المتوقعة والفعليةانحرف Zeng عن المسار المقصود بسبب الكثير من الاحتكاك ولحظة الالتواء الناتجة ، والتي ظل سببها غامضًا في الوقت الحالي. والحقيقة هي أن كل zeng عبارة عن gameObject يتم إنشاؤها عند تحميل المشهد ، حيث تتم إضافة مكونات Rigidbody 2D و Circle Collider 2D.
يحدد Rigidbody ، "الجسم الصلب" ، فيزياء سلوك الجسم في عالم اللعبة: الكتلة والمقاومة والجاذبية وغيرها من الخصائص المفيدة. المصادم - المكون المسؤول عن حساب حدود الكائن والتصادم مع الهيئات الأخرى. يحتوي كلا المكونين على خاصية "المادة" لتحديد معامل الاحتكاك والمرونة.
لذا ، فإن إصلاح ارتداد zengs غير الصحيح جاء إلى السؤال: إذا تم إرفاق مكونين إلى gameObject و Collider و Rigidbody ، ولكل منهما خاصية "المادة" ، ما هي المادة التي سيتم تطبيقها؟
المصادم وخصائص المواد الصلبة في الوحدةلذا ، إذا لم يكن Collider يحتوي على مادة محددة ، فسيتم استخدام مادة Rigidbody. إذا تم تعيينه ، فإن خاصية أولوية المصادم. بالنسبة للمادة غير المحددة صراحة ، يستخدم Rigidbody مادة ذات قيم احتكاك مرنة وقيم احتكاك افتراضية. وبالتالي ، كان الخطأ هو الافتراض الخاطئ بأن خاصية Rigidbody مع احتكاك قريب من الصفر سيتم تطبيقها مع مادة Collider المحددة. وكانت تستحق مساء السبت أنفقت.
2. يتصرف بشكل مختلف على الأجهزة المختلفة.
ظهر سلوك مختلف على الأجهزة ذات الإصدارات المختلفة من واجهة برمجة التطبيقات عن طريق الصدفة عند عرض ظلال النص. تمت إضافة نص باسم اللعبة إلى المشهد. يتم إرفاق مكون الظل بالنص:
تمت إضافة مكون الظل إلى النص في الوحدةاللون الداكن والشفافية. إنه يعمل على تظليل النص بشكل مثالي على جميع الأجهزة ... باستثناء Android القديم المزود بواجهة برمجة التطبيقات 15 ، حيث ظل الظل يبدو بلون أزرق باهت بدلاً من الأزرق:
ظل مرسوم بشكل غير صحيح في واجهة اللعبةلم يكن من الممكن تحديد سبب الخطأ والعلاجات بسرعة ، لذلك من أجل سرعة التطوير ، كان يجب التخلي عن الظل.
الخلاصة: البقاء في حالة تأهب. على الأجهزة المختلفة ، حتى العناصر التافهة للعبة يمكن أن تبدو وتعمل بشكل مختلف. غالبًا ما يتجلى ذلك في تفاهات بالكاد يمكن ملاحظتها.
1. لا يبدأ على جهاز معين
في الليلة التي سبقت الإصدار (أو كيف من المعتاد بدء مثل هذه القصص؟) تم اكتشاف أنه في إحدى الهواتف الذكية لا ترغب اللعبة في البدء. اضطررت إلى التمسك على وجه السرعة إلى المصحح ورؤية الخطأ الذي حدث.
حسب التصميم ، يتم إطلاق اللعبة بالقوة في اتجاه أفقي. في Unity 2017 ، يكون إعداد الاتجاه الافتراضي (تحرير -> إعدادات المشروع -> مشغل -> توجيه) مسؤولاً عن ذلك:
تحديد اتجاه الشاشة في الوحدةعند التصدير إلى مشروع لـ Android Studio ، يتحول إعداد الاتجاه الافتراضي إلى خاصية screenOrientation المحددة في البيان:
android:screenOrientation="landscape"
يبدو أن ما يمكن أن يحدث خطأ؟ في الواقع ، على جميع الأجهزة ، تكون الرحلة طبيعية ... باستثناء Android 8.0.0 (API 26) ، الذي يتعطل فيه التطبيق عند إطلاقه باستثناء:
java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
يتم إصلاحه عن طريق تعطيل الشفافية في النمط المحدد في styles.xml:
<item name="android:windowIsTranslucent">false</item>
تعطل تم اكتشافه عن طريق الخطأ يؤدي إلى الأخلاق: يجب التحقق من صحة العملية على جميع واجهات برمجة التطبيقات التي يدعمها التطبيق.
حول الترويج وتحقيق الدخل ، أو "لقد فهمت الكثير اليوم"
بعد إعداد حزمة سميكة من المواد الترويجية لوضعها في متجر Android ، تحت صرخات مبهجة لمبرمج ومصمم ، تم إصدارها. ومع ذلك ، سرعان ما أصبح من الواضح أنه إلى جانب اسم اللعبة في متجر Play ، كان من المستحيل العثور عليه. El Zengo ، مثل جاليون غارق مع زوج من الذهب ، استراح في مكان ما في قاع محيط الألعاب وكان ينتظر غواصه ... على ما يبدو ، الغطاسون لا يغوصون بعمق.
ذهب صفر التنزيلات في الأسبوع ضد التوقعات. ملاحظة: لم تكن التوقعات خيالات لا أساس لها ، ولكنها كانت تستند إلى تجربة حقيقية ، وإن كانت قديمة. في عام 2014 ، عندما كان Google Play يتوسع بنشاط ويجذب مطورين جدد ، نشر المؤلف لعبة منطق غير مسبوقة. وعلى الرغم من أن الغرض الرئيسي من المنشور كان الاستخدام الشخصي للحفلات مع الأصدقاء والزملاء ، وترك التصميم الكثير مما هو مرغوب فيه ، فقد سارت شؤون اللعبة بسلاسة مدهشة. تلقت في قسم الأخبار ، حيث زحفت إلى قمم الألعاب حسب الفئة في روسيا والدول المجاورة. وكل هذا بدون أدنى جهد.
منذ ذلك الحين ، كان Google Play مليئًا بالتطبيقات ، وبدأ المطورون في وضع مبالغ ضخمة
للإخلاء من الأسفل إلى الأعلى ، ومحاولات لجعل اللعبة معروفة حتى يتمكن المستخدم المحتمل من العثور عليها على الأقل بطريقة أو بأخرى
.
أعمال الفيل. الأمير ينتظر مغامرة غير مخطط لهاالشركات التي تقدم خدمات ترويجية ، ومراجعات فيديو من YouTube ، ومراجعات على بوابات الألعاب ، والإعلان على منصات مختلفة ... إذا كنت لا ترفض تمامًا الترويج المدفوع ، فستفاجأ بسرور بعدد الطرق للتخلص من راتبين بأسلوب أنيق. ولكن ما مدى فعاليتها ، حيث تعطي التركيبات والنسب أفضل تأثير لعبة معينة؟ يبقى السؤال مفتوحا.
جلبت الطرق الحرة المجربة ، بما في ذلك الموضوعات على منتديات الألعاب ، والعلاقات العامة المعتدلة في الشبكات الاجتماعية والدعاية المتفشية في دائرة الاتصال ، نتائج متواضعة. يقترح الاستنتاج نفسه: إذا كنت تفكر حقًا في الترويج للعبة ، فقم بذلك مسبقًا وقم بتخصيص الموارد المناسبة. في الوقت نفسه ، يمكن تقليل جميع الجهود إلى الصفر ، إذا كنت لا تواكب اتجاهات السوق وخصائص الجمهور المستهدف.
الخاتمة
هل من الممكن في غضون شهرين الإفراج عن اللعبة بنفسك أو مع فريق صغير ، دون المساس بالعمل والحياة الشخصية؟ وذلك من دون التغلب على الذات و "انتصار الإرادة" على قلة النوم. نعم ، تمامًا! ومع المحركات الحديثة و IDE وتدفق المكدس ، أصبح الأمر أسهل من أي وقت مضى.
ولكن إذا لم يكن تطوير لعبة مستقلة غاية في حد ذاتها ، وتطرح أسئلة حول الترويج لها وتحقيق الدخل ، فهناك ... فروق دقيقة. الترقية - وحش له ثلاثة رؤوس: علم منفصل يكون فيه سوء التقدير الصغير بالفعل خسارة ؛ عملية مستمرة تحتاج إلى مراقبة مستمرة ؛ الثقب الأسود للوقت والجهد والمال.
وأخيرًا. لا يقتصر التطوير المستقل على الكود والرسومات ودورة الهندسة التي سيكون من الرائع إعادة قراءتها. وهو أيضًا تواصل مع الأشخاص المتحمسين المستعدين لترك ردود الفعل وحتى المشاركة في المشروع بحماس خالص. على سبيل المثال ، تم تقديم الكثير من النصائح والنقد حول أسلوب اللعب وواجهة المستخدم من قبل المطور ، الذي يشعر بالبرودة بشأن عمليات القتل العرضي. والموسيقى للنسخة الثانية من El Zengo تم إنشاؤها بواسطة الملحن ، الذي أحب اللعبة. إذا كنت تجهد وتبحث ، فهناك بالتأكيد أولئك الذين يريدون اختبار اللعبة وترك مراجعة. ومع اختيار جيد للأدوات ومراعاة القواعد البسيطة للمروحة من التطوير ، يتم توفير الإلهام من الإصدار وعدم الضخ الضعيف للتجربة.