الشبكة العربية لمطوري الألعاب

مبتدئ  علاء هماش هذه المشاركة مميزة مشاركة 1

احذر من كتب برمجة الألعاب التي قد تطيح بمستقبلك كمبرمج للألعاب

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

بعض عيوب تلك الكتب:

أكثر تلك الكتب يحمل عنوانا مضللا غالبا ما يحتوي: Games Programming لكنه في الحقيقة لا يتحدث إلا عن بعض من أساليب الرسم و التحريك الأساسية. العناوين المناسبة لمثل هذه الكتب هي Graphics Programming. و هناك فئة كبيرة يناسبها العنوان: Game Engine Programming حيث أنها تعلم المستخدم برمجة محركات الألعاب و لا تعلمه أساليب برمجة الألعاب.

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

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

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

قبل أن تدخل عالم تطوير الألعاب يجب أن تقرر ماذا تريد أن تكون:
•    مبرمج ألعاب
•    مبرمج محركات ألعاب
•    اكاديميا في مجال برمجة الألعاب

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

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

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

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

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

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

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

مبتدئ  جنيد أحمد باوزير مشاركة 2

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

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

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

هذا رأيي من تجربة شخصية وخطة مستقبلية 😄 .

محترف  انس مشاركة 3

السلام عليكم.



لقد طرحت،اخي الكريم، موضوع مهم جدا، و حساس ايضا. 
اوافق الرأي في النقاط التي ذكرتها، اريد فقط اضافت بعض الامور التي واجهتها :


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


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


و كاقتراح، اجد ان كتاب : Core Techniques and Algorithms in Game Programming - Daniel Sanchez-Crespo Dalmau
هو في منتهى الروعة، اذ انه يعالج تقريبا جل الميادين ، و يعطي فكرة عامة عنها، للمبرمج، كما انه مخصص لكل المستويات، و انصح به بشدة، خاصة و انه يقدم تسلسلا تاريخيا لميدان تطوير الالعاب.


اتمنى ان يشاركنا الاعضاء برايهم ايضا، فالموضوع غاية في الاهمية☺

مبتدئ  علاء هماش مشاركة 4

السلام عليكم

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

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

خبير  مهند محمد علي مشاركة 5

ما رايكم في الكتب الرسمية يعني: الكتب التي تدرس في الجامعات و المعاهد  في مجال تطوير الالعاب انها افضل كثيرا من تلك الكتب العادية
لانها في النهاية تقوم علي هدف ان يفهم الطالب الذي يدرس الكورس وهي بالمناسبة اقوي كثيرا  وتسطيع ان تتعلم بها وكانك تدرس في كورس حقيقي في البرمجة مثلاً.

في 14 نوفمبر 2011 02:41 م، غمغم علاء هماش باستغراب قائلاً:

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

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

خبير مدير وسام البهنسي مشاركة 6

وفي 18/ذو الحجة/1432 06:41 ص، قال علاء هماش متحمساً:

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

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  achrafx مشاركة 7

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

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

skype : achraf.elkhnissi