مشروع "إنشاء لعبة كمبيوتر باستخدام Game Maker". كيف تصنع العاب الكمبيوتر؟ برامج للألعاب على الكمبيوتر

تطوير اللعبة قائم ، إنه واعد ويكتسب شعبية. لقد قمنا بإعداد مخطط معلومات تفصيلي حول مسار تطوير لعبة التعلم.

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

0. تطوير ألعاب للأطفال

تركز العديد من الكتب على بيئة تطوير Scratch الأسطورية والبديهية للأطفال ، بما في ذلك ScratchJr. بعد الأساس تأتي معلومات حول Python Pygame. يوجد كتاب للأطفال بعمر خمس سنوات ، لكن معظم المواد مناسبة للأطفال الذين تبلغ أعمارهم 8 أعوام أو أكثر.

1. علوم الحاسب

يعتبر التزوير النظري مكونًا إلزاميًا ، وبدونه لا تكون الدراسة الإضافية بلا معنى. تتضمن مجموعة الأدبيات التعليمية هذه الأساسيات والمعلومات حول الخوارزميات والرياضيات في سياق دراسة علوم الكمبيوتر.

2. لغات البرمجة

التحدث بلغة الكمبيوتر ليس بالأمر السهل ، ولكنه ممكن. وهناك الكثير من هذه الطرق. على سبيل المثال ، أثرت لغة C بشكل كبير على صناعة البرمجيات من خلال مشاركة تركيبها مع لغة C # و C ++ و Java الشهيرة. C ++ ، بدورها ، هي لغة قوية لإنشاء برامج وحزم برامج فعالة. يكتب الكثير أيضًا ألعابًا بلغة C #: اللغة ذكية ومريحة وتسمح لك ببدء التطوير بشكل أسرع.

لكن Lua تبنت شيئًا من C ++. لغة البرمجة النصية جيدة لمنطق اللعبة. سيجعل من السهل تهيئة المستوى ، وربط المهام بالكائنات ، وتغيير سلوك NPC بشكل تفاعلي دون الحاجة إلى إعادة ترجمة المشروع ، وأكثر من ذلك بكثير.

3. إنشاء التطبيقات

وإذا كان علم الكمبيوتر أساسًا نظريًا ، فهناك المزيد من الممارسة هنا. يعد تطوير الألعاب طريقًا وعرًا ، والتطبيقات هي أفضل مكان للبدء. ستساعدك الكتب ذات المهام العملية ، بالإضافة إلى المعلومات حول الأنماط و UML على معرفة ما هو.

4. الرياضيات لتطوير اللعبة

لا ، لن يكون هناك مقرر مدرسي في الجبر والهندسة. يتم تقسيم الاختيار إلى أساسيات الرياضيات في مجال تطوير اللعبة ومستوى أكثر تقدمًا.

5. برمجة الألعاب

الأنظمة الأساسية للأجهزة وأنظمة التشغيل ومجموعات API والخوارزميات والنظام الأساسي المتقاطع والجوانب المهمة الأخرى التي ستشكل أساس اللعبة التي يتم تطويرها. يتم استكمال الكتب بعدد من مقالات gamedev التي تحتوي على معلومات مفيدة حول البرمجة.

6. تطوير محرك اللعبة

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

7. رسومات الحاسوب

نعم ، المحتوى مهم ، لكن رسومات الكمبيوتر مماثلة لواجهة التطبيق التي سيراها المستخدمون. لذلك ، يجب أن تحظى باهتمام خاص.

لا عجب أن هذا القسم هو الأكبر. يتضمن ذلك أساسيات البرمجة باستخدام Real-Time 3D و DirectX و OpenGL. يتم استكمال كل شيء بمعلومات حول التقديم والتقنيات. حظي Direct3D و OpenGL باهتمام خاص في الاختيار.



8. لعبة الصوت

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

9. لعبة الفيزياء والرسوم المتحركة

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

10. لعبة الذكاء الاصطناعي

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

11. برمجة لعبة متعددة اللاعبين

يختلف تطوير لعبة اللاعب الفردي اختلافًا كبيرًا عن خيارات اللاعبين المتعددين. هنا تحتاج إلى مراعاة الاتصال وعمل الخيوط والفروق الدقيقة الأخرى. تم تقسيم الاختيار إلى مقالات وكتب حول برمجة الخادم وبرمجة الشبكة وبروتوكول الشبكة.

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

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

مراحل تطور لعبة الكمبيوتر.


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

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

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

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

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

ولكن كيف تصنع لعبة أندرويد من البداية دون معرفة خاصة ودون معرفة أساسيات البرمجة؟ اتضح أن تجربة نفسك كمطور ألعاب ليست مهمة صعبة. سيكون هذا هو موضوع موادنا اليوم.

  1. فكرة أو سيناريو.
  2. الرغبة والصبر.
  3. منشئ اللعبة.

وإذا كان المكونان الأولان للنجاح واضحين إلى حد ما ، فيجب مناقشة المكون الثالث بمزيد من التفصيل.

ما هو Game Builder

نحن نتحدث عن برنامج يبسط بشكل كبير تطوير الألعاب ، ويجعلها في متناول الأشخاص الذين ليس لديهم مهارات البرمجة. يجمع Game Builder بين IDE ومحرك اللعبة ومحرر المستوى الذي يعمل كمحرر مرئي ( WYSIWYG- إنجليزي. الاختصار "ما تراه هو ما تحصل عليه").

قد تكون بعض المنشئات مقيدة بالنوع (على سبيل المثال ، RPG ، والأركيد ، والمهام). بينما يوفر البعض الآخر القدرة على تصميم ألعاب من أنواع مختلفة ، وفي نفس الوقت يحد من خيال المطور المبتدئ للألعاب ثنائية الأبعاد.

حتى بعد قراءة ما تم كتابته فقط ، يتضح أنه بالنسبة للمطور المبتدئ الذي يقرر كتابة لعبة لأي نظام تشغيل ، بما في ذلك OS Android ، فإن اختيار مُنشئ مناسب هو المهمة الرئيسية ، لأن مصير المشروع المستقبلي يعتمد على وظائف وقدرات هذه الأداة.

كيفية اختيار المصمم المناسب

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

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

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

أفضل 5 بناة للألعاب

بناء 2

يحتل هذا التطبيق باستمرار الخطوط الأولى في تصنيفات مصممي الألعاب. باستخدام Construct 2 ، يمكنك إنشاء ألعاب ثنائية الأبعاد من أي نوع تقريبًا لمختلف الأنظمة الأساسية ، بما في ذلك Android ، بالإضافة إلى ألعاب الرسوم المتحركة التي تستهدف المتصفحات التي تدعم HTML5.

نظرًا للعدد الهائل من الأدوات المساعدة ، سيتمكن حتى المستخدمين المبتدئين من إتقان البرنامج.

لإتقان العمل مع Construct 2 ، ليست هناك حاجة لشراء ترخيص ، يوفر الإصدار المجاني المجاني أدوات وافرة والقدرة على تصدير المشروع النهائي إلى بعض الأنظمة الأساسية. ومع ذلك ، فإن ترميز المنتج النهائي على الأنظمة الأساسية للجوّال والوصول إلى النطاق الكامل للوظائف سيعطي ترخيصًا شخصيًا بقيمة 129 دولارًا. إذا وصلت مهارتك في إنشاء الألعاب إلى ذروتها ، وبدأت بالفعل في تلقي أكثر من 5000 دولار من الدخل من مشروعك ، فسيتعين عليك الخروج من خيار الأعمال ، والذي سيكلف 429 دولارًا.

والآن ، شاهد بعض دروس الفيديو العملية حول إنشاء تطبيقات الألعاب باستخدام Construct 2:

Clickteam الانصهار

Clickteam Fusion هو مثال آخر لمنشئ ألعاب رائع متكامل يساعد حتى المبتدئين في إنشاء لعبة كاملة. يوفر البرنامج القدرة على تصدير التطبيقات التي تم إنشاؤها إلى تنسيق HTML5 مجانًا ، مما يعني أنه سيكون من الممكن نشر ألعاب المتصفح ، بالإضافة إلى تحويلها للنشر في أسواق الهاتف المحمول المختلفة ، مثل Google play.

من بين الخصائص الرئيسية ، يمكن للمرء أن يلاحظ بساطة الواجهة ، ودعم تأثيرات التظليل وتسريع الأجهزة ، ووجود محرر أحداث كامل ، وحفظ المشاريع بتنسيقات متوافقة مع منصات مختلفة ، بما في ذلك Android.

إصدار المطور المدفوع من البرنامج غير متاح لسكان الاتحاد الروسي ، ولكن يمكن طلب قرصه المرخص من نفس Amazon ، مما يسهل الميزانية الشخصية بمتوسط ​​100 دولار. من الممكن إضفاء الطابع الروسي على القائمة من خلال جهاز Russifier لجهة خارجية.

طريقة العمل مع التطبيق شاهد دورة فيديو خاصة:

ستينسل

Stencyl هي أداة رائعة أخرى تسمح لك بتطوير ألعاب كمبيوتر ثنائية الأبعاد بسيطة دون معرفة خاصة بالرموز ، بالإضافة إلى لغات البرمجة لجميع المنصات الشائعة. هنا عليك العمل مع البرامج النصية والرسوم البيانية ، والتي يتم تقديمها في شكل كتل ، ويمكنك سحب الكائنات أو الخصائص باستخدام الماوس ، وهو أمر مريح للغاية.

يوفر مطور البرنامج أيضًا الفرصة لكتابة التعليمات البرمجية الخاصة بك في كتل ، ولكن هذا بالطبع يتطلب المعرفة في مجال البرمجة.

يسمح وجود محرر رسومي ممتاز Scene Designer للمستخدم باستخدام خياله لرسم عوالم اللعبة.

ستساعد مجموعة الوظائف المثلى في إنشاء ألعاب عالية الجودة من أنواع مختلفة ، ولكن رسومات Stencyl الأكثر تجانبًا (قرميدية) ستكون مناسبة لألعاب الرماية أو ألعاب تقمص الأدوار.

يتم توزيع البرنامج مجانًا ، لكن التصدير إلى تنسيقات سطح المكتب يتطلب اشتراكًا ، والذي سيكلف 99 دولارًا سنويًا ، وتكلفة ترخيص ألعاب الهاتف المحمول 199 دولارًا سنويًا.

شاهد دورة مكثفة حول العمل مع Stencyl:

صانع العاب

البرنامج موجود في إصدارات مدفوعة ومجانية. يتيح لك خيار الميزانية إنشاء ألعاب صلبة ثنائية الأبعاد لسطح المكتب. بينما تتيح النسخة المدفوعة إمكانية كتابة ألعاب ثلاثية الأبعاد "رائعة" لأنظمة Windows و iOS و Android. ما زلنا مهتمين بفرصة مجانية لتعلم كيفية إدراك نفسك في صناعة الألعاب ، و Game Maker هو الخيار ذاته الذي سيسمح لك بإنشاء ألعاب مع السيناريو الخاص بك دون قيود في اختيار النوع.

يقدم البرنامج مجموعة مختارة من قوالب الموقع الجاهزة ، والكائنات ، بالإضافة إلى الشخصيات والأصوات والخلفيات. لذا ، فإن كل الأعمال الإبداعية تتمثل في سحب العناصر المحددة إلى منطقة العمل واختيار الظروف - الموقع والتفاعل مع الكائنات الأخرى. على الرغم من أن المعرفة بلغة البرمجة ليست مطلوبة ، إلا أن المستخدمين "المطلعين" سيكونون قادرين على استخدام GML ، وهو شيء مشابه لـ JS و C ++.

يتم توزيع Game Maker باللغة الإنجليزية ، لذا فإن أولئك الذين لا يعرفون ذلك جيدًا سيحتاجون إلى تنزيل ملف الكراك.

للمهتمين بهذا البرنامج نقترح مشاهدة الفيديو التدريبي:

الوحدة ثلاثية الأبعاد

ربما تكون Unity 3D هي أفضل ما يمكن تقديمه لإنشاء مشروع ثلاثي الأبعاد عالي الجودة. تم دمج النماذج المكتملة بالكامل في البرنامج ، بالإضافة إلى القوام والنصوص. بالإضافة إلى ذلك ، من الممكن إضافة المحتوى الخاص بك - الصوت والصور ومقاطع الفيديو.

الألعاب التي تم إنشاؤها باستخدام Unity متوافقة مع جميع المنصات الشائعة من أجهزة iOS أو Android المحمولة إلى أجهزة استقبال SMART TV.

يتميز البرنامج بسرعة ترجمة عالية ، واجهة سهلة الاستخدام ، محرر مرن ومتعدد الوظائف.

تستند جميع حركات اللعبة وسلوك الشخصيات إلى الجوهر المادي السليم لـ PhysX. كل كائن تم إنشاؤه في مُنشئ اللعبة هذا هو مجموعة معينة من الأحداث والنصوص التي يتحكم فيها المطور نفسه.

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

سلسلة من الدروس حول إنشاء الألعاب باستخدام Unity 3D:

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

ما الذي يجب على مطوري الألعاب في المستقبل النظر فيه؟ ما اللغة للبدء في التعلم؟ ما الذي نسعى إليه؟ من الذي تبحث عنه؟ وماذا يجب القيام به أولا؟

يلتقط معظم محبي موسيقى الروك الغيتار عاجلاً أم آجلاً. يحلم عشاق الرياضة بشغف بدخول ملعب كرة القدم أو ملعب كرة السلة أو ملعب التنس. حسنًا ، أولئك الذين ارتكبوا مئات عمليات الاختطاف في GTA ، أو أمضوا عشرات الساعات في نوادي الكمبيوتر يلعبون Counter-Strike ، أو حققوا نجاحًا كبيرًا في MMORPG ، ربما يفكرون في مهنة كمطور ألعاب.

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

ما الذي نسعى إليه؟

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

يمكن أن يوفر لك إعداد الهدف الصحيح الكثير من الوقت والجهد. بالإضافة إلى ذلك ، سيسمح لك بالوصول إلى الوجهة النهائية بأقصر الطرق. دون المخاطرة بالنزول عن الطريق أو الدخول في مستنقع.

أي لغة نتعلمها؟

بالإضافة إلى ذلك ، تعتمد الإجابة على السؤال الملح على الهدف: ما هي لغة البرمجة التي يجب أن أبدأ بها؟

لذلك ، يجب على مطوري الألعاب المستقبليين مثل Minecraft وتطبيقات Android للهواتف المحمولة الانتباه عن كثب إلى Java. بادئ ذي بدء ، ننصحك بالمشاركة بشكل مكثف ، خاصة أنه مجاني. بالنسبة لأولئك الذين يتطلعون إلى iOS - على Objective-C. بالنسبة لألعاب المتصفح ، تكون معرفة Ruby-On-Rails كافية في بعض الأحيان. في الأوقات الصغيرة جدًا والبسيطة ، تكون لغة HTML كافية. يستخدم إنتاج ألعاب الفلاش ActionScript ، ولكتابة نصوص برمجية من أي تعقيد ، فأنت بحاجة إلى JavaScript أو ربما Lua الأقل شيوعًا. لإنشاء ألعاب وحدة تحكم صغيرة ، يلزم معرفة C #.

أما بالنسبة لمعظم الألعاب ذات الميزانيات الكبيرة (ما يسمى بفئة AAA) ، فإن معظمها مجهز بـ "محرك" خاص به أو مستعار من زملائه. ومع ذلك ، غالبًا ما تتم كتابة "المحرك" بالكامل أو معظمه بلغة C ++. كانت هذه اللغة هي التي تم استخدامها لإنشاء العديد من "الألعاب" الشهيرة - من Doom 3 و Call Of Duty إلى FIFA و The Sims. بينما تمت كتابة كلاسيكيات مثل Quake بلغة C.

ومع ذلك ، هناك مشكلة في إتقان C ++ - التعقيد المفرط. لا عجب أنهم يقولون إن تناول C ++ دون معرفة لغات أخرى هو نفس بدء دراسة الرياضيات باستخدام المعادلات الخطية.

هل تكفي لغة واحدة؟

من ميزات البرمجة إمكانية التطوير الذاتي المستمر. في تطوير الألعاب (خاصة الكبيرة منها) ، لا يعد تحسين الذات ، بما في ذلك دراسة أكبر عدد ممكن من اللغات ، نزوة ، ولكنه ضرورة حيوية. لذلك ، غالبًا ما يواجه المطورون ذوو الخبرة الذين يعملون لصالح عمالقة صناعة الألعاب الحاجة إلى الكتابة بالتناوب في 7-8 لغات. في الوقت نفسه ، بالإضافة إلى اللغات المذكورة أعلاه ، يجب عليهم تعلم Python أو حتى SQL (كما تفهم ، لإنشاء قواعد بيانات).

لذلك ، إذا قررت ربط مصيرك بإنتاج ألعاب كبيرة ، فاستعد لتصبح "متعدد اللغات". بالإضافة إلى ذلك ، كلما اتقنت المزيد من اللغات ، زادت المهام المتنوعة والممتعة التي ستواجهها. وبالطبع ستزداد فرص الحصول على وظيفة الأحلام بشكل كبير.

من أين نبدأ؟

قبل القيام برحلة حول العالم ، عليك أن تتعلم كيفية المشي. حسنًا ، قبل مشروع لعبة جاد ، عليك أن تجرب يدك في شيء أقل أهمية.

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

ما الذي يجب اتخاذه كمبدأ توجيهي؟

أي شخص يحلم بأن يصبح كاتبًا سيقرأ مئات الكتب قبل كتابة كلمة واحدة. يعرف أساتذة البيانو عن ظهر قلب أفضل أعمال شتراوس وشوبان وبيتهوفن. يحفظ الفنانون المشهورون تاريخ الفن قبل المعارض الكبرى.

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

كيف تطور لعبة آر بي جي في أسبوع من الصفر وبدون ميزانية. الجزء الأول

آر بي جي في أسبوع؟ من الصفر؟ هل هو ممكن حتى؟
لقد خاطرت وفعلت ذلك.

الإنترنت مليء بمصادر المعلومات المتاحة لمطوري الألعاب الصغار والمستقلين (المستقلين). في أحد هذه المنتديات العامة ، أثناء مناقشة ، كان لديّ من الحكمة أن أفصح أنه إذا أعطيت أسبوعًا من الوقت ، وجهاز كمبيوتر مثبت عليه حديثًا من Windows ، واتصال جيد بالإنترنت ، فيمكنني إنشاء لعبة لائقة دون إنفاق عشرة سنتات عليها. لا ، بالتأكيد لن تكون قادرة على التنافس مع Halo 2 أو شيء من نفس المستوى (إذا كان بإمكاني صنع مثل هذه اللعبة في غضون أسبوع ، كنت قد تركت وظيفتي منذ فترة طويلة) ، لكنها ستكون ممتعة للغاية وقابلة للعب .

قال توم بامبتون ، مؤلف مجلة Game of the Day الشهرية (www.gameinaday.com): "انطلق من أجلها!" ثم أضاف شرطًا إضافيًا - يجب أن أفعل ذلك دون استخدام محركات اللعبة الحالية. يُسمح لي فقط باستخدام المكتبات الأساسية / واجهات برمجة التطبيقات.

في البداية تخليت عن هذه الفكرة. لم يكن لدي الكثير من الوقت لأخذ إجازة لمدة أسبوع من تطوير مشروع اللعبة الحالي في العمل. لكن بعد ذلك فكرت: أن تذهل بها ، لأنه ما هو الأسبوع؟ في شركة نموذجية ، مثل EA ، يكون أسبوع العمل 40 ساعة. فلماذا لا تصنع لعبة ليس في أسبوع تقويمي ، ولكن في 40 ساعة نظيفة؟ إنه بالفعل أكثر واقعية - لكنني لم أرغب في إنشاء Tetris أو Arkanoid أخرى. وماذا عن لعبة لعب الأدوار - وهي واحدة من أصعب أنواع الألعاب؟ هل هو ممكن؟

كنت أعلم أنه سيكون صعبًا للغاية. لكني قبلت التحدي.

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

إذن ، هذه هي الطريقة التي ابتكرت بها لعبة في أسبوع واحد من البداية وبدون ميزانية. إذا كنت كسولًا جدًا في القراءة وترغب في الانتقال سريعًا إلى نهاية القصة لمعرفة شكل المنتج النهائي ورؤية جميع الأخطاء ، يمكنك تنزيل إصدار Windows من اللعبة من هنا: http: // www .rampantgames.com / hackenslash.html

تخطيط
هدف
ابتكر لعبة RPG قديمة بأسلوب الألعاب القديمة من أوائل الثمانينيات ، مع عرض من أعلى لأسفل ، مثل The Temple of Apshai و Ultima III و Telengard. سينتقل اللاعب عبر الغرف في زنزانة نموذجية ، ويقاتل الوحوش المختلفة "بالسيف والسحر". تدريجيًا ، سيحسن قدراته من خلال اكتساب الخبرة ورفع المستوى واكتساب المعدات السحرية.

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

قواعد التطوير

القاعدة رقم 1: وقت التطوير محدود بأسبوع واحد (بما في ذلك 40 ساعة)
يجب قضاء ما لا يزيد عن 40 ساعة في تطوير اللعبة. سيتضمن ذلك الوقت الذي يقضيه في العمل على اللعبة والتفكير فيها. لن يتم احتساب فترات التطوير التي تزيد عن عشر دقائق. سيكون هذا أسبوع عمل "مثالي" من 40 ساعة عالية الأداء.

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

القاعدة رقم 2: استخدم فقط الأدوات المجانية
باستثناء البرامج التي تأتي مع تثبيت Windows ، يتم استخدام البرامج المجانية فقط ، إذا أمكن مفتوحة المصدر. الهدف من ذلك هو إظهار أنك لست بحاجة إلى أدوات باهظة الثمن (أو حتى رخيصة) لتطوير لعبة. لا تتأثر المعدات مثل الماسح الضوئي والميكروفون والكاميرا الرقمية بهذه القاعدة - إذا لم يكن لديك هذه الأجهزة ، فسنفترض أنه يمكن استعارتها من شخص ما.

القاعدة # 3: لا توجد محركات ، فقط المكتبات / واجهات برمجة التطبيقات القياسية
يجب إنشاء اللعبة "من الصفر" دون استخدام محركات اللعبة الموجودة. ممنوع الغش ، وإنشاء لعبة أو أي جزء من أجزائها باستخدام مصممي الألعاب أو باستخدام برامج مماثلة.

الادوات
الرمز:

Python 2.3 (http://www.python.org/)
فوز بيثون
PyGame (http://www.pygame.org/)
Py2exe - لتجميع ما يحدث في ملف قابل للتنفيذ للتوزيع. (http://starship.python.net/crew/theller/py2exe/)

جيمب 2.0 (http://gimp-win.sourceforge.net/)
MS Paint (الذي يأتي مع Windows) - للصق لقطات الشاشة التي تم التقاطها باستخدام مفتاح PrintScreen (رفض GIMP لسبب ما القيام بذلك)
تم أخذ الزخارف المجانية من (http://www.textureartist.net/textures/index.htm) و (http://www.mayang.com/textures/)

الجرأة (http://audacity.sourceforge.net/) بالإضافة إلى الميكروفون الخاص بي أو الميكروفونات المجانية.

جدول (خطة) العمل
تم وضع الجداول ليتم كسرها لاحقًا ، ولكن لا تزال هناك حاجة إليها للتحكم في التقدم والبنود ، وإجراء التعديلات حسب الضرورة.

الساعة 1-10: العمارة الأساسية
تصميم المحرك والمكونات الرئيسية. احصل على عرض للعالم على الشاشة. لا بد لي من تنفيذ القدرة على تحريك لاعب الاختبار حول العالم ، والنظر إلى الأشياء ، ثم تحويل ما يحدث إلى محرر لعبة.

الساعة 11 - 20: خيارات اللاعب
تنفيذ جميع الميزات الرئيسية للاعب - التحرك والهجوم وفتح الأبواب والموت والتقاط الأشياء واستخدام الجرد. قم بإنشاء تمثيل شبكي لجميع الكائنات في البيئة لاختبار قدرة اللاعب على التفاعل مع العالم.

الساعة 21-30: تنشيط العالم
أضف الذكاء الاصطناعي وأحداث اللعبة والفخاخ والمؤثرات الخاصة. بحلول نهاية هذه الفترة ، يجب أن يكون لدي عرض تقني كامل إلى حد ما ، بما في ذلك جميع الميزات الرئيسية للعبة.

الساعة 31-40: إضافة محتوى وقواعد
احصل على لعبة كاملة من عرض تقني. أضف كل المحتوى الإضافي. لتحقيق اكتمال وتوازن آليات اللعبة. قم بتلميع كل شيء يتوفر له وقت كافٍ ، أضف مؤثرات خاصة ورسوم متحركة وما إلى ذلك.

بعد 40 ساعة: اختبار اللعبة وإصدارها
اختبر الأخطاء التي تم العثور عليها وأصلحها (بدون إضافة ميزات جديدة!) اجمع كل شيء معًا وضعه على الإنترنت. وثائق كاملة.

يوميات ديف Hackenslash: لعبة الأسبوع

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

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

تدريجيًا ، بدأت أفهم كيف سيعمل كل شيء ، وأجري التصحيحات اللازمة. أنا لا أحاول حتى استخدام PyGame في هذه المرحلة ولا يظهر البرنامج أي شيء سوى وحدة التحكم. لكني أشعر أن كل ما تم إنجازه هو تقدم كبير!

الساعة 2 - PyGame 101
الغرض من هذه الساعة هو تهيئة PyGame ، حسنًا ، والبدء في رسم شيء ما على الأقل على الشاشة. في الواقع ، أقضي معظم وقتي في قراءة وثائق PyGame ، في محاولة لمعرفة ما هو موجود وكيف ، نظرًا لأن لدي خبرة قليلة أو معدومة مع PyGame أو SDL.

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

الساعة 3: لو كانت للجدران آذان لأوبخها بشدة.
الغرض من هذه الساعة هو تحديد ملامح الغرفة بالجدران ، وعرضها على شاشة سوداء ثابتة. للقيام بذلك ، أحتاج إلى غرفة وأحتاج إلى رسومات. عليك قضاء الكثير من الوقت في GIMP ، لتحرير الأنسجة التي تم تنزيلها من الإنترنت ، بحيث تتحول إلى مربعات مناسبة. أنا أقوم بإنشاء فئة مدير نسيج. وقمت بملء نموذج هيكل الغرفة. قضيت أيضًا وقتًا أطول قليلاً في البحث في وثائق PyGame للعثور على أي شيء آخر يمكنني استخدامه لتسهيل المهمة.

لقد مرت الساعة. لا يزال لدي نفس الشاشة السوداء. لم تكن هناك جدران ، ولا.

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

بدون خطة مفصلة للمشروع ، من السهل جدًا الشعور بالارتباك عند قيامك بعمل معين والتساؤل "ماذا بعد؟" قررت أنه إذا كان رسم غرفة واحدة جيدًا ، فإن رسم غرفتين أفضل بشكل مضاعف.

لتخزين الغرف التي تم إنشاؤها ، قمت بإنشاء ملف "minidungeon".
سأبدأ في إضافة منطق "البوابات" - فتحات في الجدران للذهاب إلى الغرف الأخرى (وتقديم جميع معلومات الإزاحة اللازمة لعرض الغرف المجاورة بشكل صحيح).

الساعة 5 - يحصل Hackenslash على المزيد من الغرف

لقد غيرت عنوان النافذة إلى "Hackenslash!". فقط لأنه رائع.
لقد أنشأت خريطة كائن لتخزين الغرف ، وصنف MapMaster يحتوي على عدة خرائط.
أضفت غرفة ثانية واتصلت بالأولى من خلال البوابة.
الغرف المجاورة متصلة بالغرف الحالية من خلال بوابات ، ويتم عرضها الآن على الشاشة.
لقد أصلحت بعض أخطاء القص بحيث يتم عرض الجدران التي تمتد جزئيًا خارج النافذة بشكل صحيح.

الساعة 6 - نقوم خلالها بتحسين مهارات الرسم لدينا

تمت إضافة فئة الباب ، وكذلك إعداد خرائط لوضع الباب (يجب أن يكون الباب مشتركًا في غرفتين). (تحرير: سيء جدًا لم أستخدمه مطلقًا!)
لقد أنشأت 3 بلاطات أخرى للجدران ، وجمعتهم في صورة واحدة.
يختلف المظهر الرسومي للجدران حسب النوع.
أنا أقوم بعمل رسم بسيط لعرض من أعلى إلى أسفل.

الساعات 7-8 - يدور وعلامات تعجب!

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

الساعات 9-11 - العناصر - بررر!

وهنا مرة أخرى ، أحتاج إلى حل السؤال "وماذا بعد؟".

تحتاج الغرف إلى عناصر أكثر إثارة للاهتمام ، لذلك تحتاج إلى عمل قائمة بها. لا أعرف كيف أنظمهم ، لذلك قررت أن أبدأ بالعموميات. لقد أدخلت ثلاثة عناصر ثابتة يمكن العثور عليها في غرفة زنزانة نموذجية: سجادة ، وعمود (كتلة لها نفس وظائف الجدران) ، وسلم (يسمح لك بالانتقال إلى مكان جديد)

قررت أن العناصر يمكن أن تشغل أكثر من بلاطة ويمكن تدويرها بأي درجة. (تحرير: في الماضي ، حل غبي جدًا - لقد قضيت وقتًا طويلاً في تنفيذه ، لكن اتضح أنه عديم الفائدة تقريبًا).

بشكل عام ، قضيت حوالي ثلاث ساعات في العمل على العناصر ، ممزقة بين إنشاء الرسومات وكتابة التعليمات البرمجية.

الساعات 12-13 - نحتاج لوط!

أقوم بإنشاء رسومات ورموز للأشياء. إنه لأمر مدهش كم من الوقت يمكن أن يستغرقه الرسم. إنه أمر مزعج بشكل خاص عندما تبدو الصورة وكأن الدجاج كان يرسم بمخلبه ، بغض النظر عن مقدار الجهد المبذول فيه.

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

الساعة 14 - السجاد

أنا متأخر عن الجدول الزمني ، ماذا أفعل؟
تبدو الخلفية السوداء قبيحة للغاية ، لذلك قمت بتمهيد الأرضيات داخل الغرفة بالسجاد - بلاطات منفصلة.

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

لكن المستوى الآن يبدو رائعًا. حسنًا ، على الأقل أبرد من الأسود.

ساعات 15-16 - انقر! انقر!

لقد انشغلت بالتحكم في الماوس والتعامل مع الأحداث.
إضافة التحكم بالماوس. بينما تكون الحركة متقطعة ، لا يوجد تمرير سلس للمستوى.
يمكن للاعب الخروج من الغرفة ، ولا يوجد فحص للاصطدام.
لقد أصلحت بعض الأخطاء.
عذب الأعرج وصنع سلالم جميلة.
.
لقد مر ما يقرب من 17 ساعة من التطوير ، لذلك بدأت أشعر ببعض التوتر. ذهبت 2/5 من الطريق لإنشاء اللعبة - انتهى "يوم العمل" الثاني من التطوير. ما فعلته بالفعل مثير للإعجاب ، لكنني أدرك أنه لا يزال هناك الكثير للقيام به. لدي أربع ساعات أخرى لإنهاء ميزات المشغل الأساسية والالتزام بالجدول الزمني. سيكون الأمر صعبًا ... لكنني ما زلت لا أندم على قضاء الوقت الإضافي في رسم الرسومات!

الساعة 17 - تحرك ببطء حتى نضرب جبهتنا بالحائط

يتم قضاء معظم الوقت في ضبط الرسومات وإصلاح الأخطاء.
تمت إضافة ميزة الكشف عن الاصطدام والتمرير السلس عندما يتحرك اللاعب.
يمكن للاعب الآن اتخاذ خطوات متعددة (أدوار) استجابة لعمل الماوس.

الساعة 18 - عبور العتبات

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

الساعة 19 - درج إلى الجنة ، قائمة الجحيم

تطوع أخي لتأليف الموسيقى للعبة. لقد صنع الموسيقى لـ Void War وعملت بشكل جيد. ذكرني هذا بتشغيل الصوت (والموسيقى). يبدو أنه من السهل جدًا القيام بذلك في PyGame ، لذا لن يستغرق الأمر وقتًا طويلاً. (تحرير: لم أجد وقتًا لذلك ، للأسف لن تسمع صوتًا واحدًا في Hackenslash.)

هدفي التالي هو التعامل مع التفاعلات مع المخلوقات والأشياء. تعجبني حقًا الطريقة التي يتم بها ذلك في The Sims و Neverwinter Nights ، عندما تريد التفاعل مع كائن لعبة ، تظهر قائمة السياق. أنا أخطط لتنفيذ شيء مشابه.

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

الساعات 20 - 21 - ما هي القائمة؟

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

الساعة 22 - جاري النوم

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

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

الساعة 23 - معلمات المعركة!

أقوم بتعديل (حسنًا ، بدأت للتو) بعض سمات الفصل التي تم إنشاؤها في الساعة الأولى.
في الزاوية اليمنى العليا ، أقوم بإنشاء لوحة تعرض خيارات المشغل.
لقد قمت بتحسين هذه النافذة عن طريق تحويلها إلى صورة يتم رسمها بشكل أسرع من الخطوط. يتم تحديث هذه الصورة فقط عندما تتغير معلمات الأحرف المرتبطة.

الساعة 24 - قائمة المشغل

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

الساعة 25 - قبل (مرة) نشر الأرضيات والجدران

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

لقد بدأت العمل على تنفيذ هذه الفكرة. لسوء الحظ ، في الواقع ، يجعل التبسيط الذي تم اختراعه من الصعب رسم الغرفة (خاصة الطوابق) ، وقد لا يتم تنفيذه بالسرعة التي كنت أتمنىها. استغرق الأمر حوالي ساعة لإنشاء هذا النظام وتصحيحه. ولكنه كان يستحق كل هذا العناء.

أثناء تصحيح أخطاء الكود ، وجدت بعض الأخطاء الأخرى المتعلقة بالانتقال بين الغرف.

استراحة - أزمة!

لقد أدركت للتو أن أكثر من 3/5 من وقت التطوير قد مر ، وأنه لا يزال هناك أقل من خمس عشرة ساعة لإنهاء اللعبة. بعد الاطلاع على الجدول الزمني للميزات الضرورية للعبة ، وتقدير أن الأمر سيستغرق ساعة في المتوسط ​​لتنفيذ كل منها ، أدركت أن تنفيذ كل شيء سيستغرق حوالي 25 ساعة. عشر ساعات قبل الموعد المحدد. المشروع في خطر رسميًا.

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

الأبواب: قطع! أريد حقًا أن أصنع أبوابًا في اللعبة. إنه لأمر مؤسف التخلي عن هذه الوظيفة - خاصة وأنني كنت أعمل عليها لبعض الوقت. لكن لا يزال هناك الكثير من العمل ، مثل الذكاء الاصطناعي. وربما يستغرق الأمر من ساعتين إلى ثلاث ساعات حتى يعملوا ، وهو ما لا أملكه.
الجرد: تبسيط! انسَ المخزون الإضافي والقدرة على تغيير الأسلحة حسب الرغبة. كل ما يتم انتقاؤه ولا يصبح من المعدات الحالية سيتم تحويله على الفور إلى نقود.
المزالق: تبسيط! أود أن يكون لدي العديد من الفخاخ ذات العواقب المثيرة للاهتمام والمتنوعة لتفعيلها. لم يكن مقصودا حدوثه. سيكون للفخاخ تأثير مرئي بسيط وتسبب الضرر وتزيد مؤقتًا من فرصة الوقوع في وحش عشوائي
الأقواس (الأسلحة الصغيرة): قطع! ستحتوي اللعبة على أسلحة مشاجرة فقط ، ويمكنك الهجوم من مسافة بعيدة بالتعاويذ.
حفظ / تحميل اللعبة: تبسيط! يمكن حفظ الشخصية فقط ، وليس حالة العالم. (تحرير: لم أفعل ذلك أيضًا!)
نظام الجسيمات: تأجيل! تم نقل إنشاء نظام الجسيمات إلى أسفل قائمة الأولويات. أشك في أنهم سيحتاجون إلى القيام بذلك. سيكون من الجيد أن يكون لديك تأثيرات بصرية رائعة مع جزيئات التعويذة ... لكنها لن تفعل ذلك على الأرجح.
التعاويذ: تبسيط! كان لدي مفهوم جاد حول التعاويذ: يمكن العثور عليها في شكل مخطوطات ، والعدد أكثر من عشرة. إنه لأمر محزن ، ولكن لن يكون هناك سوى عدد قليل من التعاويذ: الشفاء ، والضرر ، والضعف ، والتمكين ، والاستعادة. من خلال رفع المستوى ، يمكنك السماح للاعب بتحسين التعاويذ عن طريق زيادة عدد النقاط السحرية.
الرسوم المتحركة للوحوش واللاعبين: قص! أنا فنان فقير للقيام بذلك بسرعة كافية.

عند تقرير ما لن أفعله (أو ما سأؤجله حتى وقت لاحق) ، من المهم أيضًا تحديد ما يجب القيام به أولاً.

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

رائع ، لقد حددنا الأولويات ، ونواصل التطوير.

الساعة 26 - دعنا نرمي النرد

أنا أعمل على آليات "النرد" ، وهي آلية يتم من خلالها إدخال عنصر العشوائية في اللعبة. نظرًا لعدم وجود قيد نرد حقيقي ، يمكننا الحصول على رقم عشوائي في أي نطاق مطلوب. على سبيل المثال ، من 1 إلى 33 ، أو من 6 إلى 17. يمكنني رمي النرد ، ومقارنة ما سقط بهجومي ودفاع العدو. إذا كان الرقم المدحرج أعلى من الدفاع ، فإن الهجوم يكون ناجحًا.

على سبيل المثال ، لنفترض أن لدي قيمة هجوم إجمالية قدرها 15. أنا أهاجم وحشًا لديه 10 دفاع. فرصي هي 15 من 25 (25 = 15 + 10) ، أو 3 من 5. لذا ستولد اللعبة رقمًا عشوائيًا بين 1 و 25 ، وإذا كان أعلى من عشرة ، سأفوز.

يتم حساب الضرر المتعامل بطريقة مختلفة قليلاً. أضفت "درع" للمدافع و "ضرر" للمهاجم. أقوم بإنشاء رقم عشوائي من 1 إلى مجموعهم ثم طرح الدرع. إذا كانت النتيجة أقل من واحد ، فلن يحدث ضرر. خلاف ذلك ، فإنه يساوي النتيجة. وهكذا ، إذا هاجم وحش بضرر 10 لاعبًا لديه 5 نقاط درع ، فإن اللعبة ستولد رقمًا من 1 إلى 15 ، تطرح منه 5 ، ما يحدث هو الضرر المتسبب.

استغرق هذا التفسير والوصف وقتًا أطول من تنفيذه.

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