سؤال

اعتدت على تطوير تطبيقات الأعمال والمرجعية. الآن لا بد لي من القيام لعبة iPhone. ما هي النصائح التي يمكنك مشاركتها لمساعدتي في:

  1. فهم نطاق المشروع
  2. تحديد النواتج
  3. تحديد لعبة اللعب وغيرها من المعلمات
  4. تقدير الجهد الإنمائي
  5. اختبار اللعبة

سؤال كبير، وأنا أعلم. شكرا!

هل كانت مفيدة؟

المحلول

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

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

إذا كانت تطبيقات عملك على iPhone، فمن المحتمل أن تستخدم هدف 100٪-ج. (إذا كنت تقوم بتطبيقات C # أو Java على أجهزة الكمبيوتر المكتبية، فارجوا عن إدارة الذاكرة الخاصة بك.) هناك أولئك الذين سيخبرونك أن إدارة نوع وقت التشغيل من الهدف - C بطيئة للغاية للألعاب المعقدة. بالتأكيد الناس يصنعون ألعابا على ما يرام باستخدامها مع Cocos2D وغيرها من المحركات، ولكن مرة أخرى يعتمد ذلك على اللعبة. هناك مطورون محترفون سوف يعملون فقط مع C ++ أو حتى مستقيم C.

نصائح أخرى

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

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

بعض هذه الأشياء تعتمد على ما إذا كنت تقوم برمجة لعبة ثلاثية الأبعاد أو الذهاب إلى نمط النظام الأساسي 2D.

OpenGL ES.أول شيء سوف تحتاج إلى تعلمه هو OpenGL ES لغة البرمجة. وبعد هذا هو أساسا API ثلاثي الأبعاد الذي يمكنك من القيام بالرسم من البدائيات ثلاثية الأبعاد. ستظل بحاجة إلى استخدام هذا إذا كنت ترميز لعبة ثنائية الأبعاد لأنها سريعة بسبب استخدام GPU للتسريع. هناك بعض البرامج التعليمية الجيدة على Google التي يجب أن تبدأ بها.

ناقلات الرياضياتإذا كنت تفعل أي شيء ثلاثي الأبعاد، فستحتاج إلى معرفة المزيد من الرياضيات 3D Vector، والمتجهات تستخدم أساسا لكل شيء في الألعاب، ويوجه الكاميرا، وموقف الشخصيات، والسرعة، والكشف عن التصادم، إلخ. ناقلات ثنائية الأبعاد (X، Y) ناقص لا تزال هناك حاجة مكون Z إلى برمجة ألعاب ثنائية الأبعاد.

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

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

Pathfinding.إذا كنت ترغب في نقل حرف من النقطة أ إلى نقطة B مع تجنب الأعداء والعقبات المتحركة، فستحتاج إلى استخدام خوارزمية PathFinding. نجمة (A *) هي واحدة من الأكثر شعبية.

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

الفيزياءتمثل موضع السرعة والسرعة والتسارع والجاذبية والأشعة باستخدام ناقلات وقد تحتاج إلى تنظيفها على الرياضيات فيزياءك من أجل كود أي لعبة. ابدأ بمشروع Newton الثاني للحركة F = MA (Force = Mass * التسارع). ستجعل محرك الفيزياء مفتوح المصدر مثل الرصاصة، ODE، Newton، Tokamak على جعل الأمور أسهل، مما يعني أنك لن تحتاج إلى كتابة هذه الفيزياء تحكم نفسك.

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

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


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

فيما يلي بعض محركات الألعاب التي أعرفها:

Unity3Dهذا ربما الأكثر شعبية التي أعرفها. الوحدة هي محرك لعبة كمبيوتر / ماك يتيح لك كتابة التعليمات البرمجية على نظام التشغيل Mac وتجميع لنظام التشغيل Windows / Linux / Mac OS X. أشك في أن مبنى iPhone متوافق مباشرة مع منصات أخرى، وأود أن أتصور أنك تقتصر على iPhone إذا لقد بدأت مشروع جديد. ومع ذلك، فإن هذا المحرك يحتوي على تكلفة نشر تجاري قدره 199 دولار - 399 دولار.

cocos2d. هذا واحد هو محرك لعبة مفتوح المصدر 2D قد يكون مفيدا لكثير من الألعاب. تستحق أخذ نظرة عليها. استضافت على رمز Google.

فيما يلي البعض الآخر للتحقق من:

ston3d لفون

oolong المحرك

Sio2Engine.

ITGB للألعاب 2D

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top