• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

Alaa_Hammash

اعضاء
  • عدد المشاركات

    91
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل شيء نشر بواسطة Alaa_Hammash

  1. مرة أخرى أعتذر عن كون المقالة غير مكتملة لضيق الوقت، فكتابة مقالة كهذه يستغرق بضعة ساعات بين التنسيق و الاختصار و جمع الافكار و ترتيبها.     أي لغات البرمجة أستخدم في برمجة الألعاب؟ ما هي اللغات التي تستخدمها الشركات العالمية؟ لا شك أن كل من يريد أن يدخل عالم برمجة الألعاب يسأل السؤالين السابقين و هنا سأحاول إن شاء الله أن أجيب عن التساؤلين بقدر ما استطيع.   تركز هذه المقالة على اللغات المستخدمة في برمجة الألعاب و ليس برمجة محركات الألعاب. بالرغم من أن كل ما يرد هنا يمكن قوله عن برمجة محركات الألعاب إلا أن لي رأيا واحدا لا يتغير عن برمجة محركات الألعاب و هو أنها يجب أن تكون باستخدام C++/C بالإضافة إلى لغة Assembly. يمكنك باستخدام هذه اللغات تحقيق أفضل أداء و الاستفادة من العتاد إلى أقصى حد.   تنقسم لغات البرمجة في عالم الألعاب إلى عالمين أولهما: عالم C++/C و العالم الآخر هو: "اللغات الأخرى"   يعتمد اختيار اللغة المستخدمة في برمجة الألعاب على عدة أمور: 1- إذا كنت تنوي احتراف برمجة الألعاب أم لا 2- متطلبات اللعبة من الأداء و التكنولوجيا 3- لغات البرمجة التي توفرها المنصة التي ستعمل عليها اللعبة   4- منصات التشغيل المطلوب تشغيل اللعبة عليها   في الحالات التالية استخدم أي لغة برمجة "اللغات الأخرى": 1- اذا كنت لا تسعى إلى الاحتراف 2- اذا كنت تبرمج العابا صغيرة لا تحتاج إلى أداء عال 3- اذا كانت منصة التشغيل تفرض عليك لغة محددة 4- اذا كنت تريد أن تصنع لعبة تعمل على العديد من منصات التشغيل التي لا يتوفر لديك محرك العاب يدعم C++/C على كل تلك المنصات.   في الحالات التالية استخدم C++/C: 1- اذا كنت تسعى إلى الاحتراف و المقدرة على المنافسة عالميا 2- اذا كنت تريد أن تبرمج العابا ضخمة تحتاج إلى اعتصار كل نقطة أداء يوفرها العتاد 3- إذا كنت تسعى إلى التحرر من أي قيود تضعها العديد من الشركات المنتجة لمحركات الالعاب على محركاتها. 4- اذا كنت تريد أن تكون قادرا على مجارات التكنولوجيا الحديثة في مجال صناعة الألعاب فور صدورها. عندما تختار C++/C فإنك ستكون دائما قادرا على اضافة ميزات جديدة تستفيد من آخر تكنولوجيا CPU و GPU و البرمجة المتوازية و أحدث الخوارزميات المستخدمة في برمجة الألعاب و غيرها دون الحاجة لانتظار الرحمة من غيرك ليضيف تلك الميزات إلى محرك الألعاب.   بهذا يكون لدينا منهج لاختيار لغة البرمجة التي تناسب الطريق الذي تريد أن تسلكه في عالم برمجة الألعاب. لكن يبقى التساؤل أي "اللغات الأخرى" أختار؟ إليك الإجابة:   الخيار بين "اللغات الأخرى": 1- اذا كانت لغة Python (بايثن أو بايثان (الألف الثانية مفخمة)) إحدى الخيارات فعليك بها فهي لغة راسخة و متعددة منصات التشغيل. 2- اذا كان محرك الألعاب يدعم أكثر من لغة حوار احدها خاص بالشركة مالكة المحرك، و الأخرى لغة عامة معروفة فعليك باللغة العامة لأن هذا يعني أنك ستتمكن من الاستفادة مما ستتعلمه في مجالات أخرى. مثلا اذا كان الخيار بين اللغة الخاصة Unity3D Script و اللغات العامة التي يدعمها هذا المحرك مثلا لغة جافا سكريبت او سي شارب فعليك بإحدى اللغات العامة. لكن من الضروري الانتباه إلى أنه اذا كان الدعم المقدم للغة الخاصة أفضل من الدعم المقدم للغة العامة فإنه يجب تفضيل اللغة الخاصة. 3- اذا كان الخيار بين لغتين عامتين فاختر اللغة التي تعمل على عدد أكبر من منصات التشغيل. مثلا اذا كان الخيار بين اللغتين العامتين: بايثان و سي شارب فإن الخيار بالتأكيد سيكون بايثان لأنها متوفرة على عدد اكبر من منصات التشغيل.   لغات البرمجة بين السهولة و الصعوبة: كثيرا ما اقرأ او اسمع أن البرمجة باستخدام سي شارب و غيرها اسهل من C++/C و بالطبع يتم دائما تقديم مثال عن عمل شيئ معقد باستخدام سطرين في لغة سي شارب و عمله بمئة سطر في C++ إن مثل هذا الفعل خديعة و استخفاف بالعقول. الخديعة هي أن السطرين سابقي الذكر ما هما الا استدعاء لوظائف من مكتبات ملحقة باللغة و ليست جزءا من اللغة!!. لقد أرهق صانعوا سي شارب انفسهم بصناعة تلك المكتبات ليسهل عليهم تسويق اللغة على انها لغة سهلة الاستخدام. يتوفر للغة C++/C عشرات الآلاف من المكتبات لكن بالطبع لا يقول أحد أن تلك المكتبات هي جزء من اللغة و إنما هي ملحقات. لتكون المقارنة السابقة عادلة كان يجب استخدام إحدى مكتبات C++ و عندها سيتم انجاز المطلوب في سطرين كما هو الحال في C#. في بدايات انتشار لغة C# كان البعض يروّج إلى أنه انتهى عهد  C++/Cلكن الكثير من المبرمجين تركوا لغة سي شارب بعد ان وجدوا أنهم اصبحوا مجرد تابعين غير قادرين على التقدم بأكثر من ما تسمح به مايكروسوفت. تذكر أن هناك الاف المكتبات الجاهزة التي تجعل استخدام لغة C++/C سهلا جدا في الكثير من المجالات. و تذكر أنك في بداية استخدامك للغات مثل C# يكون الأمر اسهل من C++/C  ، لكنك ما أن تتعمق في استخدام اللغة حتى تجد أنك محصور في قفص في حالة سي شارب بينما تجد نفسك حرا طليقا في حالة C++/C. لقد أشار مبرمج أحد الإضافات المشهورة لمحرك الألعاب Unity3D إلى أنه كان من الصعب جدا اعادة كتابة الكثير من الوظائف الرياضية باستخدام لغة سي شارب نظرا لعدم توفرها بينما هي متوفرة من مصادر كثيرة جدا باستخدام لغة C++/C !!!   في أحد الأيام اتصل بي صديق ليطلب مني القيام بعمل لإحدى الشركات بالرغم من أن هناك قسما للبرمجة في تلك الشركة و لديهم كبير مبرمجين يتقاضى أجرا مرتفعا. المهم أنني قبلت بالمهمة لأنها كانت ليوم واحد و كان الأجر عن شهر بأكمله! اثناء تأديتي للمهمة دار نقاش بيني و بين مبرمجي تلك الشركة و لم اكن اعرف انهم كلهم مبرمجوا فيجوال بيسك فسألني أحدهم عن رأي بهذه اللغة فتفوهت بكلام عن أن لغة فيجوال بيسك هي للمبتدئين و أنها لغة للتسلية و بالطبع ثارت حفيظة كبير المبرمجين فاعتذرت لهم. لكن أحد الاشخاص المراقبين للموقف قال: لو كان كبيرهم يستطيع تأدية المطلوب باستخدام فيجوال بيسك لما استأجرتك الشركة للقيام بهذا العمل. لقد اصاب ذلك الشخص بقوله كبد الحقيقة و كفاني الحاجة للمضي في أي جدال اضافي. في الوقت الذي سيبقى فيه أولئك المبرمجون في قفص فيجوال بيسك يعجزون عن الحرية و عظيم الأمور في عالم البرمجة فإنني سأكون دائما مبرمج C و Assembly فاردا جناحيه يحلق إلى أي مكان يريد في عالم البرمجة.   لماذا تحاول الشركات المنتجة لمحركات الالعاب دفع المبرمجين إلى استخدام لغات برمجة خاصة؟؟؟ السبب هو أن هذه الشركات تسعى إلى إيجاد مجتمع من المبرمجين تابع لهم و غير قادر على التطور إلا باستخدام الأدوات التي يقدمونها لهم و بالتالي يصبحون غير قادرين على المنافسة و يصبح المبرمج معتمدا بالكامل على طريقة البرمجة المقدمة من قبل تلك الشركة و يصبح من الصعب جدا بالنسبة للمبرمج الانتقال إلى تعلم طريقة جديدة. إلى ماذا يرشدك أنك يجب أن تشتري ترخيصا من Unity3D و UDK لتتمكن من استخدام C/C++ معهما بينما يمكنك استخدام لغة الحوار الخاصة بهما مجانا دون ترخيص؟؟؟   لقد رأيت الكثير من المقارنات بين سرعة لغات البرمجة و قد سمعت للعديد من المبرمجين الذي يجزمون بأن اللغة الفلانية أسرع من غيرها. المأخذ الأعظم على كل تلك المقارنات أنها تقارن سرعة التنفيذ بين وظيفة مثلا بلغة C مع وظيفة بلغة C# و يتجاهلون تماما النقطة الأهم ذات الأثر الأعظم  و هي "أسلوب البرمجة" الذي صمم ليُستخدم مع تلك اللغة. فمثلا اسلوب البرمجة بلغة C يختلف كثيرا عن اسلوب البرمجة بلغة C++ و هذا الاختلاف في الاسلوب هو السبب الأهم في كون لغة  C++ أقل سرعة من C. لقد دار عدد كبير من الجدالات عن أن C++ تعمل بنفس سرعة C و هي جدالات لأن صانع C++ بنفسه يقول بأن C هي الأسرع.   ما أوردته ما هو الا القليل القليل عن هذا الموضوع و الأمر برمته مطروح هنا للنقاش البنّاء المفيد.
  2.   Technologies shared between iOS and OS X include the OS X kernel, BSD sockets for networking, and Objective-C and C/C++ compilers for native performance   The kernel control system lives in the BSD portion of the kernel and is therefore written in C and not C++ (I/O Kit uses C++)   الاقتباسان السابقان من موقع أبل و كتاب عن قلب نظام تشغيل أبل. لاحظ أخي الكريم أنه بالرغم من السرعات العالية جدا الا أن أبل ما زالت تستخدم لغة C في قلب نظام تشغيل ماك و اي فون و اي باد و هذا أحد أهم اسباب كون نظام تشغيلهم اسرع من غيره. و لاحظ في نهاية الاقتباس الأول أن أبل تقول بأنه للحصول على أداء بجودة أداء نظام تشغيل ابل لا بد من استعمال C++/C.   تخيل أن لديك سيارة فيراري مربوط بها كتلة ضخمة من الاسمنت. هل ستنطلق السيارة بسرعة عالية؟؟؟ لغات البرمجة و أساليب البرمجة السيئة تثقل كاهل البرامج و تجعلها بطيئة. هذا أحد أسباب أننا في هذه الأيام نشتري حواسيب سرعتها مئة ضعف الحواسيب قبل خمسة عشر عاما لكننا لا نشعر ابدا بأن اداء البرامج قد تضاعف مئة مرة!!
  3.   كم اتمنى المشاركة في مشروع مجاني لبرمجة الالعاب لكنني الآن مشغول جدا بمشروع مراكز المهن الرقمية الذي تحدثت عنه في هذه المقالة: صناعة الألعاب في الوطن العربي بين مطرقة القرصنة و سندان التكلفة و مقالات عديدة في منتديات أخرى. لقد عملت جاهدا على مدى السنتين الماضيتين لإرساء نهج لصناعة الرسوم المتحركة بالطريقة اليابانية (أنيمي) باستخدام الرسوم ثلاثية الأبعاد بحيث يبدو الناتج و كأنه مرسوم باليد. قريبا ان شاء الله سأتمكن من عرض ناتج هذا العمل. ما أكتبه من مقالات عن برمجة الألعاب هو لرغبتي في إفادة الآخرين و مشاركتهم بما تعملته في 28 عاما من ممارستي للبرمجة بلغتي C و Assembly.
  4.   لقد صدرت العديد من الفتاوى التي تحلل انتاج الألعاب الهادفة المفيدة و بخاصة لمواجهة الأثر السيئ للعديد من الألعاب التي سيطرت على عقول الكثير من شبابنا و أطفالنا مثل لعبة Vice City
  5. لا زالت صناعة الالعاب الرقمية في الوطن العربي في مرحلة الحبو منذ قرابة 15 عاما بالرغم من أن هذه الصناعة تجاوزت مرحلة التحليق إلى مستويات مذهلة في الكثير من دول العالم. تشير إحدى الدراسات إلى أن إيرادات صناعة الالعاب الرقمية و الرسوم المتحركة في العالم تصل إلى 240 مليار دولار، تحصد الولايات المتحدة الأمريكية منها قرابة 42% و تتقارب حصة اوروبا و دول آسيا عند 20%. تبلغ حصة الولايات المتحدة الأمريكية قرابة 100 مليار و الصين قرابة 9.5 مليارات و الهند قرابة 4 مليارات و سنغافورة قرابة 1.5 مليار و تايلاند قرابة 1.1 مليار دولار. بمقابل هذه الأرقام الضخمة نجد أن ما يحصده العرب لا يتجاوز بضعة ملايين!   لا زلت احتفظ باستعراض للعبة الشبكات "فرسان الحق" التي شاركت في توقيع عقد انتاجها في عام 2000 و التي اضطررنا لإيقاف انتاجها بعد الانتهاء من انتاج المرحلة الأولى و ذلك بسبب "مطرقة القرصنة و سندان التكلفة". بالرغم من أن تقديرات تكاليف الانتاج بلغت قرابة 30 الف دولار فقط! إلا أن الشركة المنتجة ارتأت إيقاف الانتاج لأن "مطرقة القرصنة" كانت تهدد الجزء الأعظم من عائدات المشروع و لأن سندان التكلفة كان يضم تكاليف الانتاج و ضياع اكثر من 80% من العائدات لشركات التسويق و "الكفيل أو الشريك الاجباري" في بعض الدول العربية و تكاليف النسخ و الطباعة و النقل و الجمارك.... كان السعر المقرر لبيع النسخة قرابة 8 دولارات فقط! أي أن الربح المتوقع من بيع كل نسخة لا يتجاوز 1 دولار! أي أنه يتوجب بيع اكثر من 40 الف نسخة لتغطية تكاليف التطوير الأولية!   بعد قرابة ثلاثة عشر عاما لا زالت صناعة الالعاب الرقمية في الوطن العربي في نفس المأزق و لا زالت تراوح مكانها، ربع خطوة إلى الأمام و ربع خطوة إلى الخلف. في كل عام أنتظر أن اسمع عن انتاجات عظيمة للمسلمين في عالم صناعة الالعاب الرقمية و الرسوم المتحركة و لكن يبدو لي أن أحفادي قد يعاودون الكتابة عن نفس الموضوع لأن شيئا لن يتغير.   لا، لست متشائما بل أنا متفائل و أعلم أنه يمكن النهوض بهذه الصناعة بل و الوصول بها إلى مستويات عالمية و في وقت قصير جدا إذا ما بحثنا في الاسباب و سعينا بجد نحو الحلول. السبب الأول هو مطرقة القرصنة و التي يستحيل التغلب عليها من دون حملة عظيمة لتوعية الناس بالتخلف و الشلل التكنولوجي الذي اصابهم و اصاب ابناءهم و سيصيب أحفادهم بسبب هذه الآفة. بوجود وسائل التواصل الاجتماعي الحديثة يمكننا بالتأكيد تحقيق مثل هذه الحملة العظيمة.   أحد الحوادث المتعلقة بقرصنة البرامج و التي أضحكتني كان قيام شخص بوضع نسخة من برنامج لتعليم الرياضيات قام بإنتاجه والدي الاستاذ أحمد همّاش على أحد المنتديات ليحمله الناس مجانا بالرغم من أن البرنامج ليس مجاني. و ليرفع هذا الشخص الحرج عن نفسه كتب شكرا للاستاذ أحمد همّاش في ذلك المنتدى. و قد تداولت الكثير من المنتديات تلك النسخة من البرنامج و توقفت عائداته مما منعنا من تطوير البرنامج و حرمهم فرصة الاستفادة من أي تحديثات او تطويرات. و حادث آخر كان شكوى من إحدى الشركات التي انتجت لها برنامجا خدميا، حيث كان فحوى الشكوى بأنه ليس هناك طلب على البرنامج و بعد البحث في الانترنت وجدت أنه تم تحميل البرنامج من منتدى واحد فقط اكثر من 3000 مرة! أي أن البرنامج ناجح و لكن القرصنة قضت على عائداته.   العائق الآخر و هو سندان التكلفة، هناك عاملان أساسيان يشاركان في زيادة تكلفة انتاج الألعاب و هما: تكلفة التطوير (اجور المبرمجين و الرسامين و ...)  و تكلفة التسويق. يمكن من خلال الانترنت تقليل تكلفة التسويق بشكل كبير جدا و بخاصة أنه يمكن التخلص من عائق النقل و الجمارك و الرسوم الأخرى و الأهم طبعا عائق "الكفيل أو الشريك الاجباري" في بعض الدول العربية. لكن العائق الاكبر الذي لا يمكن تجاهله هو أن أكثر الناس لا تملك وسيلة للشراء من خلال الانترنت و بالتالي فإن هذا الحل سيبقى محدود النتائج لعدة سنوات و لن يكون هناك بد من التسويق بالطرق التقليدية.   أما بالنسبة لتكلفة التطوير فإنه يمكن تقليلها و مضاعفة سرعة الانتاج كثيرا من خلال الاستثمار في طاقات الفئات المتعلمة الفقيرة و الفئات العاطلة عن العمل من رجال و نساء (و بخاصة النساء). حيث يمكن توفير أماكن لتعليم و تشغيل هذه الفئات بما يتناسب مع مقدراتهم في التعلم و الانتاج و بما يتناسب مع خصوصية بعض المجتمعات العربية. بعد تفكير طويل بهذا الأمر و تخطيط لبضع سنوات خرجت بحل أسميته "مراكز المهن الرقمية" و الذي اسعى حاليا للحصول على دعم من جهات مانحة دولية للمضي به. تقوم فكرة "مراكز المهن الرقمية" على توفير الأيدي العاملة المدربة المتخصصة و ذات التكلفة القليلة نسبيا من خلال استثمار طاقات سكان المناطق الفقيرة ذات الكثافة العالية و التي فيها الكثير من الأفراد المتعلمين العاطلين عن العمل. سنقوم بتوفير التعليم و التدريب العملي و الحواسيب و المعدات و البرامج اللازمة لتمكين المستفيدين من مراكز المهن الرقمية من انتاج الالعاب الرقمية للحواسيب و الهواتف الذكية و الرسوم المتحركة و حوسبة المناهج و تطوير البرامج الخدمية للحواسيب و الهواتف الذكية و غيرها من المهن الرقمية. بينما تقوم الافكار السابقة في هذا المجال على التدريب فقط، فإن "مراكز المهن الرقمية" تتعدى ذلك إلى توفير الحواسيب و المعدات و الخبراء و خدمات التعاقد و التوظيف و التسويق لمهارات و منتجات المستفيدين من خدمات مراكز المهن الرقمية. و بما أن الأعداد التي سيخدمها المركز في كل منطقة يصل إلى الآلاف فإن هذا سيوفر عشرات آلاف الأيدي العاملة المدربة التي تقبل العمل بأجرة معتدلة. سيتمكن المتدربون من انتاج برامج يبيعونها بأنفسهم او من خلال شركات التسويق التي يتعاقد معها المركز، كما سيتمكنون من الحصول على وظائف في مشاريع انتاجية من خلال تعاقد المركز مع شركات انتاج في مجال المهن الرقمية.   إن كنت مبرمج ألعاب و تعجز عن التقدم لأنك لا تجد من ينتج لك الرسوم باحتراف و تكلفة معتدلة، أو كنت رساما مبدعا و تعجز عن التقدم لأنك لا تجد مبرمجا محترفا بتكلفة معتدلة فإنك و لا شك ستجد ضالتك في مراكز المهن الرقمية و ستتمكن أخيرا من التحليق في سماء المهن الرقمية كما هو حال المبدعين في الدول المتقدمة.   ما ذكرته هنا ما هو الا قطرة في بحر هذا الموضوع و قد كتبت الكثير من التفصيلات لكن لا يتسع المجال هنا لإيرادها. يمكن قراءة المزيد من المعلومات عن مشروع مراكز المهن الرقمية في الموقع التالي: http://www.future-pioneers.org/ar/articles   و المقالات التالية   لماذا فشل أغلب من حاول من العرب دخول مجال الرسوم المتحركة؟ http://www.future-pioneers.org/ar/articles/8-why-did-most-of-arabs-who-tried-to-enter-field-of-animated-graphics-fail-article   مشروع القضاء على الفقر و تسريع تنمية المجتمعات من خلال المهن الرقمية http://www.future-pioneers.org/ar/our-projects/4-ending-poverty-and-accelerating-communities-development-through-digital-careers-article   ذوي الاحتياجات الخاصة: طاقات معطلة و المهن الرقمية هي السبيل لتفعيلها http://www.future-pioneers.org/ar/empowering-communities/16-the-disabled-underutilized-power-and-digital-careers-is-the-way-to-utilize-it-article   الإناث: طاقات معطلة و المهن الرقمية هي الوسيلة لتفعيلها http://www.future-pioneers.org/ar/empowering-communities/13-females-underutilized-power-and-digital-careers-is-the-way-to-utilize-it-article    
  6. السلام عليكم، أعتذر عن كون المقالة غير كاملة نظرا لشدة انشغالي و عدم تمكني من ايجاد الوقت الكافي لإكمالها. لقد كتبت الجزء الأعظم منذ يومين و أخشى أنني اذا لم انشرها الآن فإن نشرها سيتأخر إلى عدة أيام أخرى.   يقف المال عائقا كبيرا بين تحويل الابداعات العظيمة من افكار تحوم و تحوم في عقل أحدنا إلى واقع حقيقي. بالرغم من ذلك فإنني أرى أن المال ليس هو العائق الأكبر أمام صناعة الالعاب في الوطن العربي و إنما التسويق و القرصنة و الاوضاع الاقتصادية. لقد تحدثت في مقالة سابقة "صناعة الالعاب في الوطن العربي بين مطرقة القرصنة و سندان التكلفة" عن موضوع التكلفة و القرصنة و سأتحدث في هذه المقالة عن بعض طرق الحصول على تمويل للمشاريع.   هناك العديد من الطرق للحصول على دعم مالي للمشاريع، أذكر منها: 1- الاقتراض: إذا كنت واثقا من أن فكرتك عظيمة فأول خيار لك هو أن تقترض لتمول مشروعك و تحقق الارباح المنشودة. لقد عرفت الكثيريــــــن (تطويل الياء للدلالة على كثرة العدد) ممن يكثر حديثهم عن عظمة ابداعاتهم و تأكدهم من النجاح و تحقيق ارباح عظيمة. لكنهم يخشون كل الخشية من المخاطرة بمالهم الخاص و يصرّون على المخاطرة بمال أحد المستثمرين مما يؤكد قطعا بأن هناك مخاطرة كبيرة في ثنايا تلك الادعاءات و بالتأكيد لا أحد يريد الخوض بماله في مخاطرة بيّنة. أعرف شخصا وصل به الأمر إلى بيع منزله و سيارته ليمول فكرة كان دائما متيقنا من نجاحها و أمضى سنوات يسعى نحو هدفه و في النهاية حقق نجاحا باهرا و اصبح يملك منزلا ضخما و سيارة فارهة و شركة هي من الاكبر في الوطن العربي.   2- المستثمرين: هناك الكثيرون ممن يرغبون في الاستثمار في مجال الألعاب الرقمية و بخاصة العاب الهواتف الذكية. لكن هناك عائقا اساسيا يجعلهم يترددون كثيرا في المضي بهذا الاستثمار و هو أنه لا يوجد في الوطن العربي شركات و أفراد لديهم انتاجات كافية في مجال الالعاب الرقمية تجعل المستثمر مطمئنا إلى أن استثماره سيحقق أي ربح. لقد عهدت العديد من الاستثمارات في هذا المجال التي ضاع فيها مئات الالاف من الدولارات بدون تحقيق أي شيئ. لقد تلقيت الكثير من العروض من مستثمرين للعمل في مشاريع لانتاج الالعاب و كان دائما السبب الأول لتلقي العروض هو ثقة بعض الاطراف بما لدي من خبرة و التي يشهد لي بها ما أنتجته على مر السنوات الماضية. لقد رأيت الكثير من الشباب الذي يُزبد فمه كزبد البحر و هو يتحدث عن الانتاجات العظيمة التي يستطيع تحقيقها و عن طموحه العظيم و عند الطلب منه أن يعرض شيئا من ابداعه تجده مسح الزبد عن فهمه و بدأ يسوغ كل انواع المبررات التي لا يرغب أي مستثمر بسماعها!!! لقد امضيت السنتان الماضيتان في تطوير منهج لصناعة الرسوم المتحركة بالطريقة اليابانية لأقوم باستخدامه في انتاج دقيقة واحدة من الرسوم المتحركة. السبب في هذا هو إدراكي أن ما قد أقوله في الف صفحة عن هذا المشروع، ستغرده تلك الدقيقة و ستجعله حقيقة لا تقبل التشكيك.   الخلاصة: "إذا كنت ترغب بالحصول على تمويل و دعم من مستثمرين فلا بد من أن تثبت أولا بأنك جدير بهذا الدعم و السبيل الوحيد إلى هذا هو بأن تعرض أعمالا فيها ابداع يكون كافيا لاقناع المستثمر"   الطريقة الثالثة للحصول على الدعم المادي هي: 3- الجهات المانحة الدولية: هناك العديد من الجهات الدولية التي تعمل في الوطن العربي  و التي تقدم الدعم للأفكار المبدعة و للمشاريع الصغيرة، أذكر منها: 1- الاتحاد الاوروبي 2- USAID 3- Intel , Google, Microsoft 4- بعض المؤسسات المانحة الدولية التي تريد تنفيذ مشاريع في مجال تكنولوجيا المعلومات   من الأمثلة على فرص تمويل من خلال منظمات دولية مانحة: أ- توفر جوجل من خلال مبادرة Oasis500 منح لإنشاء شركات في مجال تكنولوجيا المعلومات و الاتصالات و الالعاب و الرسوم المتحركة و غيرها ما يزيد على 50 الف دولار كما تقدم مكانا للعمل و دعما في التسويق و الادارة و التدريب. أنصحك بزيارة موقع المبادرة و الاستفادة من هذا الدعم بأسرع وقت ممكن: http://www.oasis500.com   ب- يوفر الاتحاد الاوروبي في الأردن تمويلا للمشاريع الناشئة في مجال تكنولوجيا المعلومات و الزراعة و التعليم و غيرها. يكون هذا التمويل في بعض الاحيان منحا غير مستردة و احيانا قروضا مستردة. هذا موقع أحد مشاريع الاتحاد الاوروبي في الاردن الذي قام بتوفير منح للعديد من المشاريع الناشئة: http://www.bic.jo/index.php?option=com_content&view=frontpage&Itemid=119〈=ar   ت- كما توفر الولايات المتحدة من خلال USAID منحا تصل قيمتها إلى مليون دولار لدعم الافكار الابداعية. تخيل أن احد الأفكار التي حصلت على دعم قدره مئة الف دولار كان طباعة و وضع ملصقات في الباصات الصغيرة في الهند لتوعية الناس ببعض المخاطر المتعلقة بتلك الباصات!!.  حتى و إن كان لديك شركة ربحية و لديك فكرة مبدعة في المجالات التي تهمهم فإنه يمكنك الحصول على منحة قد تصل إلى مليون دولار. هذا هو الموقع: http://www.usaid.gov/div   ث- يمكن ايضا الحصول على دعم من مايكروسوفت و انتل و العديد من المؤسسات الخيرية الدولية من خلال المسابقات و عروض المشاريع التي تقدمها تلك الجهات. ما عليك فعله هو متابعة المواقع التابعة لتلك الجهات لمعرفة الفرص التي توفرها للدعم المادي او للمسابقات و المشاريع. ابحث في جوجل عن "جهات مانحة" و اذا كنت تتقن الانجليزية فعليك بهذا الموقع: http://www.fundsforngos.org فهو يجمع باستمرار معلومات عن المنح و الفرص التي تقدمها الجهات المانحة حول العالم. إياك و أن تمر عن هذا الرابط و كأنه معلومة بسيطة غير مهمة، فغيرك استعمل هذا الرابط للحصول على ملايين الدولارات من المنح.   ج- و أما الطريقة الأخيرة لعدم الحصول على الدعم المادي فهي بأن تجلس على أريكة مريحة تنتظر أن يدق أحدهم الباب و يخبرك بأنك الامبراطور المنسي لامبراطورية كوكب عطارد و انهم ينتظرون عودتك ليقدموا لك التمويل و الدعم.   من الأمور المهمة التي يجب أن نناقشها هي متطلبات السوق و ضرورة مجاراة السوق أحيانا و استغلال متطلبات السوق لتحقيق النجاح. فمثلا انتاج الالعاب الترفيهية الهادفة باللغة العربية مطلوب أكثر من غيرها و بالذات في عالم الهواتف الذكية و الحواسيب الكفيّة.  
  7. أخي Unity3d   ان شاء الله سيأتي وقت ستدب فيه الحياة في هذا المنتدى و الكثير غيره من المنتديات التي تناقش برمجة الألعاب.
  8.   شكرا لك أخي Unity3d على مشاركتك و أفكارك الإيجابية. استوقفتني جملتك التي اقتبستها و التي فيها شيئ أساسي و مهم من جوهر فكرة مراكز المهن الرقمية. تقوم فكرة مراكز المهن الرقمية على اعتماد المجموعات المتدربة في مجال الرسوم على التعاون مع المجموعات المتدربة في مجال البرمجة و غيرها من المجموعات بحيث يقوم كل عدد منهم بتكوين مجموعات انتاج. من دون الاعتماد على بعضنا البعض لا يمكن ابدا تحقيق نجاح عظيم مستمر و اركز هنا على كلمة "مستمر" لأن النجاح الذي يكون بمنتج واحد و من ثم يموت ليس نجاحا نريده.   أما بالنسبة لما قلته أخي Unity3d عن موضوع القرصنة. هناك فرق عظيم بين الغرب و العرب باستثناء النقطة فوق العين، و هو أنه يمكنك في الغرب أن تبيع ملايين النسخ من لعبة ما. لكن في الوطن العربي تعجز عن بيع بضعة الاف من النسخ! و لي في هذا تجربة مريرة و طويلة تزيد على خمسة عشر عاما. شخص واحد يشتري و الملايين ينسخون و جيبك يبقى فارغا و المنتج يبقى في المخزن.   سأبدأ ان شاء الله موضوعا جديدا في هذا المنتدى لمناقشة موضوع التمويل و التسويق للمشاريع الصغيرة. أنتظر مشاركتك أخي Unity3d في ذلك الموضوع.
  9. السلام عليكم و رحمة الله و بركاته هذه مسابقة برمجية من جوجل و فيها جوائز مجزية و ان شاء الله يكون هناك نصيب لأحدنا فيها: http://code.google.com/codejam/ ليس من الضروري أن تكون مسابقات البرمجة عربية لنشارك بها، لماذا لا نشارك أيضا في المسابقات العالمية؟
  10. السلام عليكم هل أبرمج الألعاب باستخدام ++C أو C ، أم استخدم بايثون و سي شارب و لوا... و الكثير غيرها من اللغات؟ لا شك أن كل من يريد أن يدخل عالم برمجة الألعاب يسأل هذا السؤال و لا شك أن لكل رأيه في هذا الموضوع. و هنا أقدم رأي لعل أحدا يستفيد منه. رأي هو أنه يجب استخدام إما لغة ++C أو C و عدم استخدام أي من اللغات الآخرى و السبب الأساسي هو أنك إن كنت تبرمج بإحدى هاتين اللغتين فإنك لست بحاجة أبدا للاعتماد على غيرك من المبرمجين لتتمكن من إضافة ميزات إضافية إلى محرك الألعاب بالإضافة إلى أنك تصبح محترفا في استخدام إحدى اللغتين و بالتالي فإنك تصبح قادرا على برمجة محرك الألعاب الخاص بك بالإضافة إلى أن كل محركات الألعاب العالمية تتم برمجتها بإحدى اللغتين.... كثيرا ما اقرأ او اسمع أن البرمجة باستخدام سي شارب و غيرها اسهل من ++C و بالطبع يتم دائما تقديم مثال عن عمل شيئ معقد باستخدام سطرين في لغة سي شارب و عمله بمئة سطر في ++C. ما هي الخديعة في هذا الأمر؟ الخديعة هي أن مبرمجي لغة سي شارب ارهقوا انفسهم باضافة الكثير من الميزات لتسهيل استخدام اللغة و بالطبع كان يمكن أن تضاف هذه الميزات إلى ++C. في بدايات انتشار لغة سي شارب كانت مايكروسوفت تروج إلى أنه انتهى عهد ++C !!! لكن الكثير من المبرمجين تركوا لغة سي شارب بعد ان وجدوا أنهم اصبحوا مجرد تابعين غير قادرين على التقدم بأكثر من ما تسمح به مايكروسوفت. تذكر أن هناك الاف المكتبات الجاهزة التي تجعل استخدام لغة ++C سهلا جدا في الكثير من المجالات. و تذكر أنك في بداية استخدامك للغات مثل سي شارب يكون الأمر اسهل من ++C لكن بعد التعمق تجد أنك محصور في قفص في حالة سي شارب بينما تجد نفسك حرا طليقا في حالة ++C إذا لماذا تحاول الشركات المنتجة لمحركات الالعاب دفع المبرمجين إلى استخدام لغات برمجة أخرى؟؟؟ الحقيقة هي أن هذه الشركات تسعى إلى إيجاد مجتمع من المبرمجين تابع لهم و غير قادر على التطور إلا باستخدام الأدوات التي يقدمونها لهم و بالتالي يصبحون غير قادرين على المنافسة و يصبح المبرمج معتمدا بالكامل على طريقة البرمجة المقدمة من قبل تلك الشركة و يصبح من الصعب جدا بالنسبة للمبرمج الانتقال إلى تعلم طريقة جديدة. أحد المقالات التي قرأتها كان عن برمجة الألعاب ثلاثية الأبعاد باستخدام برنامج اكسل نظرا لأن مقدرته في التعامل مع العمليات الحسابية المعقدة مميز!!! لكن أحد التعليقات على المقالة كان: هل هذا سبب كاف لاستخدامه لبرمجة الألعاب؟؟ و هناك مبرمج أحد الإضافات المشهورة لمحرك الألعاب يونيتي ثري دي و الذي أشار إلى أنه كان من الصعب جدا اعادة كتابة الكثير من الوظائف الرياضية باستخدام لغة سي شارب نظرا لعدم توفرها بينما هي متوفرة من مصادر كثيرة جدا باستخدام لغة ++C. ما أوردته هو نقطة في بحر هذا الموضوع و أعلم أن للكثيرين اعتراضاتهم.
  11. السلام عليكم و رحمة الله و بركاته اعود اليكم بعد انقطاع طويل كان بسبب شدة الانشغال في التجهيز لمشروع سيكون ان شاء الله نقطة تحول في عالم صناعة الرسوم المتحركة و الألعاب في الوطن العربي. أهم ما في المشروع هو أنه سيوفر فرص العمل لعشرات الآلاف من الذكور و الإناث و ذوي الاحتياجات الخاصة في مجالات المشروع. و النقطة التي قد تهم من هم ليسوا من العاملين في المشروع هو انه سيتوفر من خلال المشروع ايدي عاملة بتكلفة قليلة ستمكنهم من انتاج الرسوم المتحركة و الألعاب التي لطالما تمنوا انتاجها. فإن كنت مبرمج ألعاب و أرهقك البحث عن متخصصين في انتاج الرسوم ثلاثية و ثنائية الأبعاد للألعاب فإنك من خلال هذا المشروع ستتمكن من طلب انتاج الرسوم التي تريد من خلال مراكز المهن الرقمية التي تقوم فكرة المشروع على انشائها. و ان كنت أنتجت رسومات للعبة و تريد مبرمجين فإن ذلك سيتوفر ايضا و كذلك الأمر بالنسبة لحوسبة المناهج و البرامج التعليمية و ..... لا زال المشروع في بدايته و لا زلت أسعى لإيجاد الدعم المادي من خلال الجهات المانحة الدولية و العربية و لكنني ان شاء الله سأسعى في إتمام هذا المشروع إلى النهاية. للقراءة عن المشروع لطفا استخدم الروابط في نهاية الموضوع. اعتذر لأنه لا يمكنني التوضيح عن هذا المشروع أكثر في هذا الموضوع. موقع المشروع: http://www.future-pioneers.org/ar
  12. أخي سي شربة، بالنسبة لفهم الموضوع لا بد لك من قراءة الاستبيان الخاص بالمشروع فهو سيوضح الكثير. http://future-pioneers.org/ar/our-projects/4-ending-poverty-and-accelerating-communities-development-through-digital-careers-article و هذا رابط صفحة المشروع في فيس بوك http://www.facebook.com/FuturePioneersNPO العائق الأكبر الذي سيواجهك اثناء تعلم برمجة الألعاب هو أنه لا يدرس في الدول العربية باحتراف و لا تتوفر كتب و معلومات كافية باللغة العربية و بالتالي لا بد من دراسة الموضوع بأكمله باللغة الانجليزية لذلك انصحك باحترافها لأنك من دونها لن تتمكن من التقدم كثيرا. أذكر أني قرأت أن هذه آخر سنة لك في الدراسة الثانوية و أنك تريد أن تدرس برمجة الألعاب، إذا كان ممكنا بالنسبة لك أنصحك بالسفر إلى أمريكا أو اليابان و الدراسة في إحدى الجامعات التي فيها تخصص برمجة الألعاب باحتراف. لا يسعني هنا أن اشرح خطوات برمجة لعبة لما يتطلب ذلك من الاسهاب لكنني أقول لك تابع في تعلم يونيتي و حاول انتاج لعبة كاملة مهما كانت بسيطة. و لا يهم اذا كانت اللعبة تقليدا لأي لعبة اخرى لكن المهم أن تبرمجها بالكامل من دون اغفال أي عنصر. عندها ستفهم تلقائيا كل ما تتطلبه عملية برمجة لعبة. يتميز برنامج يونيتي بأن له دروسا تعليمية كثيرة. لقد كنت سابقا عرضت على عدد من مبرمجي الألعاب كتابة كتاب بالعربية يضم كل خبراتنا في برمجة الألعاب يكون هديتنا للجيل القادم لكن للأسف لم أجد أي تجاوب ابدا. اذا تمكنت ان شاء الله من انجاح المشروع الحالي فإنني سأسعى في هذا الأمر بل و حتى في انشاء جامعة لهذا الأمر :) 1- اختر لغة البرمجة التي تناسبك (اذا كنت تنوي الاحتراف عليك بلغة ++c و اذا كنت لا تنوي الاحتراف أي لغة تؤدي الغرض) 2- اختر محرك العاب يمكنك برمجته باللغة التي اخترهتا 3- ضع مخططا كاملا للعبة: الاهداف من اللعبة، الشخصيات، الأحداث... يجب قراءة كتاب عن تصميم الألعاب 4- استخدم من يقوم بتجهيز الرسومات بينما تقوم أنت بالتخطيط لبرمجة اللعبة 5- هنا الخطوة التي تتسبب بأكثر الارباك: يجب و أكرر يجب و أقول يجججججب أن تختار إحدى اساليب الذكاء الاصطناعي لتسيير منطق اللعبة، ربما يكون في هذا بعض العون: http://www.arabteam2000-forum.com/index.php?showtopic=247780&st=0&p=1227066&fromsearch=1entry1227066 6- استخدم رسومات تجريدية (مبسطة) في البرمجة إلى أن يقوم الرسّام بتسليمك الرسومات التجريبية برمجة الألعاب لم تعد معقدة جدا كما كانت في الماضي و قد تكشفت الكثير من أسرار برمجتها. اسأل الله أن يوفقك في هذا المجال و يجعلك ذخرا للاسلام :)
  13. و عليكم السلام و رحمة الله و بركاته شكرا لك اختي و بالفعل كان غيابا طويلا لأن التفكير بالمشروع استغرق وقتا طويلا و جهدا كبيرا. أنا أيضا أحب الرسوم المتحركة و ألعاب الحاسوب كما هو حال مئات الملايين من الناس. للرسوم المتحركة و الألعاب أثر كبير جدا في حياتنا و لكن للأسف لا تتوفر رسوم متحركة باللغة العربية تناسب مجتمعنا و تناقش مشاكلنا و همومنا و ما يناسب أطفالنا و بناتنا و شبابنا و ..... المشروع يجعل انتاج الرسوم المتحركة و العاب الحاسوب في الوطن العربي امرا ممكنا و بتكلفة أقل بكثير جدا من التكلفة الحالية. عوضا عن أن توظفي شخصا واحدا يؤدي البرمجة أو الرسوم مقابل عشرات الآلاف من الدولارات و الذي هو مبلغ غير متاح لأغلبنا فإن المشروع يوفر الأيدي العاملة المدربة في مجال صناعة الرسوم المتحركة و الألعاب بحيث يستأجرهم من يريد أن يصنع الرسوم المتحركة أو الألعاب بأجرة تكون مناسبة لأسواقنا العربية. المشروع لا زال في بدايته و لكنني متفرغ تماما للمشروع و سأبذل كل جهد ممكن لجعله ينجح باذن الله. اذا خترتي أن تتعلمي ثري دي ستوديو ماكس فأنصحك بأن تتعلمي باحتراف و أن لا تتركي ميزة فيه من دون أن تتعلميها لأن هذه خطوة كبيرة نحو صناعة الرسوم المتحركة. و ان كنت مبرمجة فأنصحك و بشدة بل و من الضروري أن تتعلمي البرمجة في داخل ستوديو ماكس لأن هذا أمر ضروري و لا غنى عنه في انتاج الرسوم المتحركة و هذا أمر لا يدركه اكثر من يحاول دخول مجال الرسوم المتحركة.
  14. السلام عليكم و رحمة الله وبركاته لكل من برمج لعبة باستخدام Source SDK أو CryEngine 3 أو Ogre أو Irrlicht أو ........... كم أمرا من أوامر OpenGL أو DirectX استخدمت؟؟؟ الإجابة: و لا أمرا واحدا. لماذا؟!!!! لأن OpenGL و DirectX يستخدمان من قبل مطوري محركات الألعاب و ليس من قبل مطوري الألعاب. بالطبع يمكن استخدامهما من قبل مبرمج للألعاب في حالة الألعاب البسيطة جدا و كذلك الألعاب المعقدة جدا لكن قانون إعادة استخدام البرمجة يفرض علينا أن نقسم عملية تطوير برمجة الألعاب إلى: 1- تطوير محرك الألعاب 2- برمجة اللعبة باستخدام محرك الألعاب. الأمر الذي لاحظته أن العدد الأكبر من الكتب التي تحمل عنوانا يشبه: تعلم برمجة الألعاب.... غالبا ما يكون عن برمجة محرك للألعاب و ليس عن برمجة الألعاب نفسها. و الكثير منها يحاول اقناع القارئ بأنه سيكون قادرا على برمجة الألعاب كالمحترفين أو أن إنشاء محرك للألعاب أمر سهل. لماذا لا يشرح أي من تلك الكتب تحري التصادمات بالطريقة المستخدمة من قبل الشركات الكبيرة مثل Physx أو حركة البشر و الحيوانات على الأسطح غير المستوية مثل Autodesk IK أو طرق تسريع معالجة الرسوم و غيرها من المواضيع الأساسية جدا جدا لإنشاء محركات الألعاب و بالتالي الألعاب. إذا لا تضع وقتك في تعلم OpenGL و DirectX بل استثمر وقتك في تعلم برمجة الألعاب نفسها. و تذكر أن الأفكار المستخدمة في برمجة الألعاب متشابهة جدا مهما اختلف محرك الألعاب. قم باختيار محرك ألعاب يناسب احتياجاتك و انطلق في برمجة الألعاب.
  15. السلام عليكم و رحمة الله و بركاته أثناء بحثي عن أحد المواضيع في موقع شركة إنتل وجدت أن الشركة قامت بجمع المقالات و الدروس و المقابلات و الأدوات من إنتاج الشركة و المتعلقة ببرمجة الألعاب لعام 2011 في قرص واحد. لتحميل القرص استخدم الرابط الحالي: http://software.intel.com/en-us/articles/game-code-resources-browser/
  16. احذر من كتب برمجة الألعاب التي قد تطيح بمستقبلك كمبرمج للألعاب قبل ثلاثة عقود كان من الصعب جدا في عالمنا العربي الحصول على كتب عن برمجة الألعاب أما في أيامنا هذه فإن كتب برمجة الألعاب متوفرة بكثرة و يسهل جدا الحصول عليها من خلال الإنترنت. لكن هناك طاعونا يتفشى بسبب الكثير من هذه الكتب: طاعون أشباه المبرمجين. يتسبب هذا الطاعون بجعل المبرمج يحس بالعجز عن التقدم في مجال برمجة الألعاب ما أن ينتقل إلى المراحل المتقدمة، و هذا يجعل الكثيرين ينسحبون من برمجة الألعاب أو يجعل تقدمهم بطيئا و غير مجز. هذه الكتب مخصصة لتحقيق ربح للناشر و ليس للتعليم الحقيقي، ربما أن كاتبي العديد من تلك الكتب كانوا يتمنون أن تكون كتبهم مليئة بالمعلومات المفيدة في كل مجال من برمجة الألعاب لكن هذه الرغبة محدودة بمصالح الناشر و تكلفة طباعة و توزيع الكتب. بعض عيوب تلك الكتب: أكثر تلك الكتب يحمل عنوانا مضللا غالبا ما يحتوي: Games Programming لكنه في الحقيقة لا يتحدث إلا عن بعض من أساليب الرسم و التحريك الأساسية. العناوين المناسبة لمثل هذه الكتب هي Graphics Programming. و هناك فئة كبيرة يناسبها العنوان: Game Engine Programming حيث أنها تعلم المستخدم برمجة محركات الألعاب و لا تعلمه أساليب برمجة الألعاب. تعمد تجاهل عناصر مهمة جدا في برمجة الألعاب الحديثة. أسوء ما في تلك الكتب أن كاتبها يوهم القارئ بأنه سيتعلم برمجة "الألعاب" و بالطبع المقصود هو الألعاب البسيطة جدا جدا لكن ما في عقل قارئ الكتاب هو تلك الألعاب العالمية. يصطدم القارئ بهذه الحقيقة عندما يبدأ ببرمجة اللعبة التي لطالما حلم بها، فالكتاب الذي تعلم منه لم يذكر ما يكفي عن أساليب تحري التصادم بين الأجسام و حساب زوايا ميل إطارات السيارة فوق أرض غير مسطحة و عن صعود السلم و اختيار الاجسام في المنظور ثلاثي الأبعاد بدقة و الأساليب المتبعة في تحسين أداء الألعاب بحيث لا يكون أداؤها بطيئا كزحف سلحفاة على وشك أن تموت. عدم توجيه القارئ إلى الأساليب العملية في برمجة الألعاب. إن كان كاتب الكتاب مبرمج ألعاب محترف فهو الأقدر على توجيه القارئ إلى اختيار الخوارزميات التي تناسب الطرق العملية في برمجة الألعاب الحديثة. لكن أكثر ما يقدمه كاتبوا تلك الكتب هو فقط الأساليب البسيطة إما لأنهم يريدون ما يسهل على القارئ فهمه أو ربما لأن أكثرهم ليسوا مبرمجي ألعاب محترفين أو ربما لأن تلك المعلومات هي في الحقيقة أسرار عالم برمجة الألعاب و لا بد أنهم استثمروا كثيرا من عمرهم في اكتشافها و لذلك تجدهم لا يحبون كشف تلك الأسرار. عدم تعليم القارئ الطرق الصحيحة لهيكلة الأصل البرمجي و الاكتفاء في أكثر الأحيان بملاحظة تقول بأن الغرض من الأصل البرمجي في الكتاب هو التعليم. لكن أكثر المبرمجين المبتدئين لا يعيرون الكثير من الانتباه لتلك الملاحظة و يعتمدون أساليب البرمجة التي تعلموها من الكتاب في برمجة الألعاب. إن أكبر مصيبة تلم بمبرمج الألعاب(بعد المصيبة في دينه) هو تعلمه لعادات سيئة في برمجة الألعاب و اتباع تلك العادات حتى يعتقد أنها هي أفضل أساليب البرمجة. تلك العادات تشبه الإدمان و يصعب بحق على المبرمج تعلم طريقة جديدة في البرمجة الا بعد الكثيرالكثير من الصبر على البرمجة باتباع الطرق الصحيحة. قبل أن تدخل عالم تطوير الألعاب يجب أن تقرر ماذا تريد أن تكون: • مبرمج ألعاب • مبرمج محركات ألعاب • اكاديميا في مجال برمجة الألعاب بالطبع يندرج أسفل كل عنوان من ما سبق الكثير من العناوين الفرعية. إن كان خيارك هو أن تصبح مبرمج ألعاب فأنصحك باتباع الطريق التالي: إن كنت تريد أن تصبح مبرمج ألعاب محترف فعليك بلغة سي أو سي بلص بلص فقط. أما إن كنت تريد أن تبرمج الألعاب للتسلية فلا بأس بأي لغة برمجة أخرى أيا ما كانت. لا تقرأ أي كتب تعلم أوبن جي أل أو ديريكت أكس فهي مخصصة لمن يريد أن يصبح مبرمج محركات ألعاب أو محركات رسوم. اختر أحد محركات الألعاب و اعتمده لإنتاج الألعاب و لا تنسى أنه يجب أن يدعم سي أو سي بلص بلص لا تقرأ أكثر من كتاب او كتابين عن البرمجة العامة للألعاب، خذ من هذه الكتب الأفكار و لا تأخذ منها طرق البرمجة. احذر ثم احذر ثم احذر من كتاب يعلم برمجة محركات الألعاب و يدعي بأنه يعلم برمجة الألعاب. من الضروري انتقاء الكتب التي لها تقييم عال من قبل القراء و ليس من قبل المحررين. لا تجعل حماستك للبرمجة تمنعك من قراءة كتاب ممتاز عن تصميم الألعاب. هذا مهم جدا لتعرف كيف تقوم الشركات العالمية بتصميم ألعابها و ما يجب القيام به و ما لا يجب القيام به. بهذا تكون جاهزا للانتقال إلى قراءة كتب متخصصة في أساليب البرمجة المحترفة. من الضروري أن تعرف أساليب تصميم و بناء الأصل البرمجي للألعاب، فأساليب برمجة البرامج المحاسبية و الأدوات و غيرها من التطبيقات قد لا تناسب ابدا برمجة الألعاب. انتقل إلى قراءة الكتب و المقالات المتخصصة في كل مجال من مجالات برمجة الألعاب. قد يتجاوز عدد الكتب التي يجب قراءتها العشرة ( كتاب او كتابين عن كل موضوع من مواضيع برمجة الألعاب). يجب انتقاء الكتب التي لها تقييم عال من قبل القراء. قبل أن تنتقل إلى هذه المرحلة حاول أن تعرف ماذا أنجز غيرك في المجال الذي تريد الدراسة عنه لأن هذا سيساعدك في إكمال المسيرة عوضا عن البدء من نقطة الصفر. كم أتمنى أن أسهب في الشرح و التوضيح لكن الوقت لا يسعفني و إن شاء الله سأضيف إلى هذه المقالة المزيد عندما يكون هناك وقت. أرحب كثيرا بالنقد البناء حيث أنه يساعدني و يساعد القراء في تدارك الأخطاء و التنبه إلى ما يمكن تحسينه في هذه المقالة.
  17. السلام عليكم أخي سي شربة، أعتذر لك عن كل هذا التأخر في الرد على سؤالك فأنا لم أره إلا اليوم لأنني كنت مجبرا على البقاء بعيدا عن كمبيوتري لمدة شهرين تقريبا. رأي في اليونيتي أنه محرك ألعاب واعد و يمكن تحقيق الكثير باستخدامه بخاصة لمن هو مبتدئ في عالم برمجة الألعاب. و أهم ما يميزه وجود الكثير من الدروس و المساعدة المجانية. إن كنت تسعى أن تصبح محترفا في مجال برمجة الألعاب الضخمة فلا مهرب ابدا من تعلم سي و سي بلص بلص. لذلك فقد تضطر إلى شراء ترخيص لاستخدام يونيتي مع سي بلص بلص. أما إن كنت تقبل بالألعاب ذات الحجم المتوسط فإن استخدام اللغة المرفقة مع يونيتي يكفي لانتاج الكثير الكثير. أما بالنسبة لرأي في سي شارب، فإنني أقول بأنني لست خبيرا فيها بالرغم من أنني استخدمتها في انتاج اشارات غزة المرجعية للمبرمجين و عملت على ذلك البرنامج ثلاث اشهر متواصلة. لكنني قررت أن لا اعود لاستخدامها لأنها تقوم ببعض الأفعال نيابة عن المبرمج تتسبب بإرباك كثير و أحداث غير متوقعة. بالإضافة إلى أن ما اكتبه فيها لا يسهل نقله إلى كل منصات التشغيل بسهولة. لهذه اللغة حسنات كثيرة منها سهولة الاستخدام و توفير الكثير من الوظائف التي توفر الوقت في البرمجة. هناك الكثير الكثير من الألعاب الرائعة التي يمكن برمجتها باستخدام حتى أبسط اللغات و حتى من دون الحاجة لخبرة كبيرة و أذكر أنه في بحث أجري منذ أمد قريب كانت الألعاب المفضلة لدى الناس هي الألعاب ثنائية الأبعاد و ليس الألعاب ثلاثية الأبعاد كما قد يعتقد الكثيرون!!!!. الإبداع، هذا هو أكثر ما يهم في مبرمج الألعاب و مصمم الألعاب. اما بالنسبة للسؤال عن xna، ليس خبرة ابدا في هذا المجال.
  18. السلام عليكم و أخيرا تم إطلاق الأصل البرمجي لمحرك الألعاب المستخدم في لعبة Doom 3 و كذلك في العديد من الألعاب الأخير. ما تم إطلاقه هو الأصل البرمجي للمحرك و ليس للعبة نفسها. لا أعلم لماذا يتناقل الكثيرون أن رابط التحميل هو من موقع github. بعد البحث عنه في موقع شركة آي دي وجدته و يمكن تحميله من هذا الرابط: ftp://ftp.idsoftware.com/idstuff/source/ لقد وجدت السبب في أن المواقع تشير إلى تحميل الاصل البرمجي من موقع Github و هو أن جون كارماك ذكر الموقع في تويتر عندما أعلن عن إطلاق الأصل البرمجي و هذا هو الرابط: https://github.com/TTimo/doom3.gpl
  19. شكرا لك أخي ديلفاوي، منذ أن كتبت المقالة و أنا أعمل على جمع أسماء الكتب المعروف أنها متميزة و لكن كثرة انشغالي لم تترك لي الوقت الكافي لتصنيفها و كتابة نبذة عن كل كتاب، ان شاء الله سأقوم بنشر أسماء الكتب في أقرب وقت و سأطلب من من المشرف على المنتدى تثبيت موضوع مخصص لهذا الأمر بحيث يشارك الجميع فيه.
  20. هذا البرنامج هو ثاني مشروع في مبادرة "تصدق بعلمك" و هو موجه لكل من يريد الكتابة باللغة العربية في البرامج التي لا تدعم الكتابة باللغة العربية أو لا تتعامل مع اللغة العربية بشكل صحيح. مثل برنامج فلاش و فوتوشوب النسخة الانجليزية و اوتوكاد و غيرها من البرامج. ما يميز ضاد هو مقدرته على التعامل مع كل انواع الخطوط في ويندوز و كذلك االعدد الكبير من خيارات التعامل مع النصوص العربية. يجب أن يكون البرنامج قادرا على التعامل مع "ترميز يوني كود" ليكون من الممكن استخدام ضاد معه. من مميزات ضاد: يمكن باستخدام ضاد الكتابة بأي خط موجود في ويندوز سواء كان قديما أو حديثا. و من ما لاحظته أن ضاد يستطيع التعامل حتى مع الخطوط التي لا تستطيع بعض البرامج مثل مايكروسوفت وورد و فلاش و غيرها التعامل معها. يمكن استخدام ضاد للكتابة بأي لغة و بخاصة اللغات ثنائية الاتجاه. يدعم ضاد الكتابة بالأردية و العبرية و السنسكريتية. لقد تعمدت أن لا تحتوي قائمة الخطوط إلا تلك الخطوط التي تدعم العربية لكن بعض الخطوط في القائمة تدعم أيضا اللغات الأخرى و يمكنك استخدام تلك الخطوط للكتابة باللغات الأخرى و الاستفادة من ضاد مع تلك اللغات. يمكن لضاد التعامل مع أي شكل من الحروف المتراكبة و يمكنه أيضا فك تراكب الحروف. مثلا عند كتابة كلمة : الحق في أحد الخطوط فإنها تظهر كالتالي: لاحظ تراكب الحرفين ل و ح بحيث يشكلان حرفا واحدا. يمكن أيضا فك تراكب الحروف: مثلا إذا أردت أن لا يندمج الحرفان ل و ح في المثال السابق فإن ضاد يستطيع ابقاءهما منفصلين بحيث تظهر الكلمة كالتالي: يمكن عرض الأرقام باستخدام الأرقام العربية أو الإنجليزية أو بحسب السياق. أي أن ضاد سيختار الشكل المناسب للأرقام بحسب الكلمات المحيطة بالرقم. من الميزات التي استغرق برمجتها وقتا طويلا ميزة المحاذاة إلى اليمين و اليسار. حيث أن ضاد يتبع نفس تلك القواعد المتبعة في مايكروسوفت وورد في إطالة الحروف و أولويات إطالة الحروف عند إطالة الكلمات لمحاذاة السطر إلى اليمين و اليسار. الميزة الأخرى التي استغرق برمجتها وقتا طويلا ميزة الجدولة. حيث يمكنك في ضاد استخدام رمز الجدولة لعمل ما يشبه الجداول و اضافة الحواشي عند اليمين و اليسار. يمكنك حفظ التحويلات التي تقوم بها بحيث يسهل الرجوع إليها في ما بعد. الأصدار الحالي من هذا البرنامج هو : 1.0.0.0 ، بتاريخ : 06-02-2010 لتحميل البرنامج استخدم الرابط التالي: ضاد
  21. السلام عليكم لا أظن أنني سأغير رأي ابدا في هذا الأمر و بخاصة أنه مبني على قناعة ناتجة عن تجربة خاصة فأنا متعمق جدا في استخدام اوبن جي ال (كنت من قبل أعتقد أنه لا بد من تعلم أوبن جي ال و ديريكت اكس لمن يريد أن يصبح مبرمج ألعاب). كما أن هذا الرأي هو التوجه الأكبر لدى جمهرة مبرمجي الألعاب.
  22. السلام عليكم اعتذر عن التأخر في الرد أخي الكريم. لقد أرسلت إليك رسالة أشرح فيها الأمر.
  23. السلام عليكم يحتوي هذا الموقع على قائمة باسماء محركات الألعاب المجانية و المدفوعة و يمكنك ان تختار ما تريد. يشير الرابط إلى المحركات التي تعتمد على خادم رئيسي. http://www.devmaster.net/engines/list.php?fid=14&sid=2 يمكنك ايضا تصفح الانواع الأخرى من المحركات في نفس الموقع. نصيحتي هي أن تختار المحركات التي أثبتت جدارتها من خلال أنها استخدمت في ألعاب حقيقية كاملة. إن كنت تنوي بيع اللعبة تأكد من أن الترخيص يسمح ببيع الألعاب من دون الحاجة إلى ترخيص.
  24. السلام عليكم و رحمة الله هناك عدة خيارات لبرمجة ألعاب الأنترنت: 1- أن تستخدم محرك ألعاب مجهز لألعاب الأنترنت و هناك العديد منها مفتوح المصدر و مجاني. 2- أن تستخدم أي محرك ألعاب تريد و أن تقوم بنفسك ببرمجة الأداة المسؤولة عن عرض اللعبة في داخل المتصفح، مثلا في حالة انترنت اكسبلورر يتوجب عليك برمجة Activex واجبها التفاعل مع المتصفح 3- ان تقوم ببرمجة برنامج يُستخدم لتشغيل اللعبة و يقوم الآخرون بتحميله في أجهزتهم ( على سبيل المثال برنامج Steam من شركة Valve) 4- أن تستخدم لغة جافا ( ليس خيارا مفضلا لأنه لا يعطي سرعة عالية) 5- أن تستخدم فلاش و أشباهه من البرامج ( ليس خيارا مفضلا لأنه لا يعطي سرعة عالية) الطريقة الأنسب هي تلك التي تتماشى مع معرفتك بالبرمجة و بحجم اللعبة التي تريد برمجتها. لا أعرف إذا كان هناك مصادر عن هذا الموضوع باللغة العربية لكن هناك العديد من الكتب عن هذا الموضوع باللغة الانجليزية. أنصحك ان تستخدم الطريقة الأولى لأنها الأسهل و الأسرع في إنتاج ما تريد.
  25. السلام عليكم أعتذر اخي عبدالله الشمري عن الخطأ في مداخلتي الأخيرة حيث ذكرت الاسم خالد عوضا عن عبدالله.