2006/12/20

العرض الأولي للمصدر المفتوح و برمجة الألعاب

بسم الله الرحمن الرحيم

تكملة للموضوع السابق "نظرة عامة"
ها نحن نضع اللمسات الأولى على تلك المحركات

-------


1- Panda3D
قضيت وقتا طويلا و ممتعا .. فقط لكي أرى هذا المحرك...
==> المحرك فعلا مذهل .. و معقد(متطور)
و اتضح ان البرمجة فيه هي بلغة البايثون و تستخدم مكتبات مكتوبة بالC++
رؤية الأمثلة فيه ممتعة جدا .. هذا بالاضافة الى وجود لعبة Asteroids المشهورة جدا .. و هي ممتازة كأساس و بداية.
و ايضا المحرك باندا يتضمن الpaython compiler .. لذا لا داعي للقلق بشأن الcompilers
هذا غير الدروس الكافية التي تستطيعون الحصول عليها من موقع الشركة (حتى ان هناك بعض الدروس بالفيديو )

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

---------------------------------------------------------

2- PPTactical
استخدامه معقد نوعا ما .. بالرغم من وجود الLevel Editor
و استخدامه مثل استخدام باقي الLevel Editors للالعاب من اضافة الوحدات Units و الاسطح و الخ..مع تحديد حركات الوحدات و أحداثها ..

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

ملاحظة: من المهم جدا قراءة ملف الارشاد له بتمعن .. حتى تعرف كيفية استخدامه.

---------------------------------------------------------

3- GOLDEN T GAME ENGINE - GTGE
محرك ثنائي الأبعاد خفيف و سريع، مزود بدروس مفهومة و جيدة ..
و الجميل أنه بلغة الجافا => و المميز بلغة الجافا هو توحيد طريقة كتابة البرامج .. فمن ينظر للأكواد لا يستغربها بل يراها محببة
يمكن العيب فيها هو عدم وجود SDK ، يعني سمة البرمجة فيه هي الغالبة. لكن لماذا الSDK و البرمجة فيها بسيطة !
لكن من الممكن تحميل أداة الgraphical user interface - GUI له .. و التي قد تساعد كثيرا عند البرمجة.

* تستطيعون رؤية ألعاب استخدمت نفس المحرك:
http://goldenstudios.or.id/products/games/index.php

الخلاصة:
- ممتاز و سهل الاستخدام
- أفضله للمبتدئين و خصوصا لمحبي الجافا.

---------------------------------------------------------

4- Nebula 2
للأسف .. ما فهمته من الموقع ان هذا المحرك يتطلب الVisual Studio .NET و أيضا Microsoft DirectX SDK
لكن ما رأيته كان مذهلا ... مذهلا جدا .. ففيه أدوات احترافية و رائعة .. و تحسسك بأنك تستخدم محرك ذو مستوى عال

مواقع تستخدم هذا المحرك:
radonlabs.de
لعبة NVA
لعبة Betablockers

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

---------------------------------------------------------
5- Crystal Space
محرك جميل و قوي، يستخدم لغة الC++ و الcompilers المستحدمة
(Visual Studio, MinGW & Cygwin)

به العديد من مقومات المحرك الثلاثي الابعاد الكامل.

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

ما يميز هذا المحرك .. هو دعمه بتمارين و شروح جيدة جدا من موقع الشركة..
مثلا هذا درس(خطوة بخطوة) للعبة "متاهة"
http://www.crystalspace3d.org/mazet...t_tutorial.html


و ايضا هذا العرض التقديمي الرائع => به الكثير من المعلومات المهمة في مجال محركات الألعاب بشكل عام و محرك CS بشكل خاص.
http://www.crystalspace3d.org/semin..._seminarie.html

ألعاب استخدمت هذا المحرك:
Crystal Core
Bonez
Open Outcast

الخلاصة:
- محرك قوي
- دعمه بالشروحات الكثيرة و الجيدة
- ليس للمبتدئين

------------------------
6- irrlicht
محرك جيد به أغلب ما تحتاجه لعمل لعبة 1st Person أو اي لعبة 3دي بالطبع..بالاضافة الى جاهزيته لعمل العاب 2.5D (مثل لعبة diablo)
برمجته بلغة C++ و يتطلب الcompilers:
Visual Studio و DevC++4.9

دروسه قليلة و لكنها كافية و مشروحه بعناية و بطريقة مفهومة.
ملاحظة .. في الموقع .. هناك اداة اسمها (Exception) لاستخدام هذا المحرك داخل الGamemaker !

الخلاصة:
- محرك جيد جدا
- بساطة دروسه ما يسمح لمحبي محركات الثري دي و المبتدئين لاستخدامه.

----------------------------------

7- Pygame
.. برمجة الالعاب بلغة البايثون .... لم اتوقع انها straight forward هكذا !
اذا احد سألني عن برمجة الالعاب (برمجيا) => فسأقول له python

البرمجة فيها برمجة بحته .. اي لا ترى شيئا (interface) حتى تعمل compile
و بالنسبة لي، هذا افضل لكي يركز المبرمج على البرمجة و الذكاء الاصطناعي و الخ من اساس اللعبة ..

لغة البايثون هي لغة(OOP - Object Oriented Programming) و تشبه الى حد كبير برمجة الجافا أو الPerl و هي سهلة و سريعة و portable (اي من الممكن ان تعمل برامجها على اي نظام تشغيل) و هي قوية بسبب اعتمادها على مكتبة SDL

الوضع الطبيعي للغة هي عمل العاب ثنائية الأبعاد، اما ان كنت تريد دعم ثلاثي الابعاد فعليك بانزال PyOpenGL أو py3d.org

و ما اعجبني هو بساطة الموقع و الشروحات (Documentations and tutorials) المرتبة و الجيدة جدا، مما يسهل على المتعلم التعلم

أمثلة لألعابها:
http://www.pygame.org/projects/6
http://www.pygame.org/gamelets/

الخلاصة:
- ضرب عصفورين بحجر لمن يريد تعلم البرمجة و برمجة الالعاب (و حتى التطبيقات)
- للجميع

-----------------------------------
أما عن البقية => فهذه آخر الأخبار:

Quake2 و Quake3 Engine
الظاهر يحتاجان الى وجود اللعبة الاصلية .. لانهما يتطلبان الملف quake2.exe أو quake3.exe

MasterX
عمل معي لكن الامثلة بسيطة جدا (فقط Hello World ! )

Allegiance
كانت لعبة من شركة ميكروسوف .. و بالرغم من انها كانت قوية برسومها و اعداداتها للاونلاين .. الا انها لم تلق النجاح المناسب.. ثم بعدها قرت ان تضعه الشركة كOpen Source، و حتى الان لم اجرب تشغيله.

ClanLib
كان على وشك العمل .. الا انها ظهرت لي مشكلة لم اجد لها حلا => ربما لأني استخدم MS Visual Studeo .Net 2005

jME
عذبني هذا المحرك =>لم يعمل معي !؟

OGRE
متطلباته لل Studeo .Net 2005 كثيرة ..

-------------------------------

2006/12/17

نظرة عامة على المصدر المفتوح و برمجة الألعاب

السلام عليكم و رحمة الله و بركاته*

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

برمجة الألعاب ==> يعني طريقة أخرى غير الGame Maker

بسم الله نبدأ..


محركات الألعاب:

MasterX SDK

و هو عبارة عن Classes و وظائف Functions للمساعدة على برمجة العاب الDirectX

و به دروس جيدة جدا للمبتدئين


Quake 2 Engine

محرك ممتاز و مشهور بألعابه الجيدة مثل Soldier of Fortune مكتوب بلغة C++



Allegiance

لعبة فضاء ضخمة، لاكثر من لاعب من ميكروسوفت

http://www.freeallegiance.org/


Pygame

نظام لبرمجة الالعاب باستخدام لغة الPython


PPTactical Engine

محرك رائع لعمل العاب استراتيجية (حقيقية أو تكتيكية)

يستخدم الSDL و الDirectX

http://aspc.cs.utt.ro/~karg/ppt/ss/0.9.6/easyrecon_respiro_m.jpg


Golden T Game Engine

محرك جافا ثنائي الأبعاد و هو بسيط و سلس.



Crystal Space

محرك قوي ثلاثي الأبعاد مكتوب بلغة C++

http://community.crystalspace3d.org/show_image.php?id=293&thumb=1


ClanLib

نظام متكامل ثنائي و ثلاثي الأبعاد متوافق مع DirectX و OpenGL


OGRE

محرك ثلاثي الابعاد رائع مكتوب بC++


Irrlicht

محرك ثلاثي الابعاد ممتاز و مرن، يستخدم الC++/C, C#, VB.NET


jME

محرك جافا ثلاثي الأبعاد => رائع



Pand3D

محرك رهيب => C++


Nebula

لا أعرف ماذا أقول لوصف هذا المحرك .!


ألعاب جاهزة للتطوير:

و أيضا .. لمن يريد تطوير ألعاب كاملة و جاهزة، فعليه الدخول هنا:

https://sourceforge.net/softwaremap/trove_list.php?form_cat=80


ما قد تحتاجه:

- مكتبة SDL

- Python Compilers

- C/C++ Compiler

- Java Compilers

- Pathlib: يتضمن خوارزميات لايجاد اقصر الطرق و تتبع الحركات و التوقيت و التصادم و التخلص من الطرق المسدودة


مصطلحات:

* محركات الألعاب - Game Engines

هو اساس برمجي لمحتويات لعبة فيديو، و يتعامل مع تصيير الرسوميات Graphical Rendering و التقنيات الأخرى الضرورية و قد يكون منها الذكاء الاصطناعي و بعض قوانين الفيزياء collision detection، و ايضا من خواص المحركات انها تكون جاهزة لكي تعمل على نظام معين (ويندوز او game consoles)

SDL

اختصار لSimple DirectMedia Layer

و هي مكتبة نظام ربط للوسائط المتعددة Cross-Platform multimedia library تركب على النظم (رسوميات، صوتيات، تطبيقات) و تستخدم لبرمجة الألعاب أو تطبيقات برمجية للوسائط المتعددة.

DirectX

عبارة عن مجموعة تطبيقات برمجية لتسهيل برمجة الالعاب مع النظام ويندوز.

OpenGL

اختصار لOpen Graphics Library و هو نظام ربط للتطبيقات الثلاثية و الثنائية الأبعاد، و يتميز بواجهة تضم اكثر من 250 وظيفة لانشاء مشاهد معقدة.

الSDK Software Development Kit - (حزمة تطوير البرمجيات)
هي مجموعة من الادوات اللازمة لتطوير البرامج و غالبا ما تكون لها واجهة سهلة الاستخدام .. تسهل على المبرمجين عمل البرامج .. تماما كما في برنامج الGameMaker..


المصادر:

http://en.wikipedia.org

http://www.devmaster.net/engines/

http://www.lostsidedead-software.com/ => شكرا لArgonaut

http://cyberloonies.com/game-engines.html

Free Game Programming Libraries and Source Code


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

كتب بلوحة مفاتيح Well-knownQ8

و شكرا و السلام ^^

-------------

كتب هذا الموضوع في الثالث من ديسمبر 2005