الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اقتراح لما لا تجتمعوا وتصمموا لعبة من إبداعاتكم

مغلق
بدأه حــ@ـــد في 12 مايو 2005 · 16 رد · 1,299 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

يا أخوان نحن نمتلك مهارات جبارة

لماذا لا نستغلها في تصميم لعبة متعوب عليها

كتاب سيناريوا عندنا أفضل الكتاب مصممين فيه مبرمجين فيه موزعين فيه

اتمنى والله أشوف اول خيط لبداية الإبداع

وإذا فيه العاب تشتغل على أجهزه متقدمه كـ البلاي ستيشن 2 والخ

ياليت تعطونا إنجازاتكم نبارك لكم

اطيب تحيه لكم

#2

الموضع اعقد مما تتخيل ...

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#3

نعم أخى الموضوع ليس بسهل وليس بصعب ولكن يحتاج إلى وقت طويل جداً

وفريق متكامل ومتفاهم ومنتج ومكان يجمع الفريق

لأن معظم المشاريع التى تصنع عن الطريق الأنترنت تفشل لكثير من الخلافات والمشاكل ؟

لذا فكما ذكر أخى أحمد

الموضوع أعقد مما تتخيل

#4

ومتى ما راح يكون معقد ...

المشاريع رح تنجح ان شاء الله تعالى ان لم يتدخل الحقاد والحساد

تم تعديل هذه المشاركة بواسطة الشـمري في 14 مايو 2005 في 00:40

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#5

المسألة ليست في التعقيد :)

حاليا نطور و ندرس و نساعد

بعد ذلك يأتي التصميم

#6

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

أما بالنسبه لأخى GameDev4Arab كما قلت

حاليا نطور و ندرس و نساعد

بعد ذلك يأتي التصميم

لذا فالعمليه لا زالت معقده

#7

التعقيد في تطبيق ما تعلمته

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#8

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

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

دعونا نفكر قليلاً..........

اليس هؤلاء المصممون (المبدعون) بشرأ مثلنا.......ألم يخلقوا من طين................

لما ننظر اليهم نظرة توحى بانهم معجزات.......انهم نوابغ لامثيل لها................

كل مانفعله هو اننا نقول (ياليتنى اكون مثل ........) لكن مالسبيل الذى نسلكه لتحقيق هذه الامنية....لاشئ.

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

ارجو الا اكون قد أزعجتكم وربنا يوفق الجميع :rolleyes:

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#9

i hav to write in Eng and i dont know how to writr arbic by english

y do u want for us to start from the top

y we dont start step by step

i mean as we hav the powerful men ,y we dont make a small game (sami-game) and make as good as will

to imporve the confedce in our-self and knowlage

cuz we talk too much and work less

i hav q to ahmed saleh cuz i know him years ago

How many arabic-forum talk about game did u see?

and since when ?

and how many porject was success?

u'll see nothing happen

do u know y ?

cuz all what we want r our dreams comes true in a sec

and we want to start from a top not to the top

let chang this

this is passible guyz comeon

i hav an idea to start this , which making a small MSABQA ;)

in the end i dont hav any offence to anyone

so 4gaive me if u saw me offence somehow

this my first time i wrote in english in arabic forum cuz am using linux-lab in my University

regards,

Nasser Alansari

تم تعديل هذه المشاركة بواسطة da-crystal في 14 مايو 2005 في 13:07

لا مستحيل غير الوقت

#10
اقتباس
y we dont make a small game (sami-game) and

المسألة ليست بالبساطة ... هي بسيطة لكن تحتاج تعب ممكن اسبوعين او ثلاث ..

لكن لواستخدمنا directx || opengl

مع لغة برمجة قوية رح نستفيد ..

لا اريد الاطالة في هذا الموضوع فقد شاهدت عشرات المواضيع مثله في العديد من المنتديات والنتيجة

لاشيء

اتمنى في العطلة الصيفية ان شاء الله نحول كل شي الى افعال ؟.؟.؟.؟.؟.

تم تعديل هذه المشاركة بواسطة الشـمري في 14 مايو 2005 في 13:55

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#11

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

المسألة بالعكس لا معقده ولا شي وانا عارف المشكله فين وعارف حلها بس هل من مستمع < روقنا ياعم

يا أخوان احنا العرب نعم عندنا مشكله ومشكله قويه جدا اضرب لكم مثل

قروب عربي وقروب ياباني وكل قروب مكون من 10 افراد والهدف تصميم لعبة ( اي لعبه )

القروب العربي تحصل فيها 5 مبرمجين + 5 رسامين !!

اما الياباني 2 مبرمج + 2 رسام + 1 موزع + 1 كاتب سيناريوا +1 مخرج سينامئي ! + 2 مختبري اللعبه !! من مختبري برمجة اللعبه او الرسم والسيناريو والخ

والأخير هو المدير اللذي يوزع الاعمال ويرتبها ويهتم ايضا بكيفية توزيع العمل والخ < اداري فقط لا يفقه لا في البرمجه ولا الرسم

في النهايه

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

وحتى بعد ماي يخلصوا منها ماراح يعرفوا كيف ينشروها للسوق !!

والغريب ان كل مبرمج من المبرمجين له قدرات قويه جدا في البرمجه ولكن يد واحده ماتصفق

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

هذا فقط هو يسمونه تمازج المهن هو اللي راح يوصلك للعلالي

وااتمنى تكون وجهة نظري صائبه

#12

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

هندسة الالكترونيات + علوم الكومبيوتر + رياضيات == عالم كومبيوتر .

جيتس و اينشتين احدثوا ثورة في مجالاتهم و لكن بعد كل هذا هل استطاعوا ان "يميزوا" بعد كل ذلك ان الله احد لم يلد و لم يولد ؟ نعم - عبدالحميد حسين واحمد صالح .

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

الامة التي تفرط في لغتها * كالتي تفرط في عرضها

640K [of memory] ought to be enough for anybody.

-Bill Gates

الفيزياء : كيف تعمل الاشياء ؟

الرياضيات : لماذا تعمل الاشياء ؟

الكيمياء : مما تتكون الاشياء ؟

عبدالحميد حسين كما قال الاخ- احمد صالح

#13

هذا كود يبين كيفية انشاء نافذة ب OPENGL

#define WIN32_LEAN_AND_MEAN   // This trims down the libraries.
#define VC_LEANMEAN           // Trims even farther.


// All the necessary includes...
#include <windows.h>             // The windows header file.
#include <gl.h>               // Standard opengl include.
#include <glu.h>              // Opengl utilities.


// Function Prototypes
void RenderScene();
bool InitializeGL();
void SetupPixelFormat(HDC hDC);


// Used when swapping frames.
HDC g_HDC;


// The pixel format is an extension to the Win32 API that is provided
// for support of OpenGL functionality.
void SetupPixelFormat(HDC hDC)
{
   int nPixelFormat;

   static PIXELFORMATDESCRIPTOR pfd = {
         sizeof(PIXELFORMATDESCRIPTOR),   // size of structure.
         1,                               // always 1.
         PFD_DRAW_TO_WINDOW |             // support window
         PFD_SUPPORT_OPENGL |             // support OpenGl
         PFD_DOUBLEBUFFER,                // support double buffering
         PFD_TYPE_RGBA,                   // support RGBA
         16,                              // 32 bit color mode
         0, 0, 0, 0, 0, 0,                // ignore color bits
         0,                               // no alpha buffer
         0,                               // ignore shift bit
         0,                               // no accumulation buffer
         0, 0, 0, 0,                      // ignore accumulation bits.
         16,                              // number of depth buffer bits.
         0,                               // number of stencil buffer bits.
         0,                               // 0 means no auxiliary buffer
         PFD_MAIN_PLANE,                  // The main drawing plane
         0,                               // this is reserved
         0, 0, 0 };                       // layer masks ignored.



   // this chooses the best pixel format and returns index.
   nPixelFormat = ChoosePixelFormat(hDC, &pfd);

   // This set pixel format to device context.
   SetPixelFormat(hDC, nPixelFormat, &pfd);

   // Remember that its not important to fully understand the pixel format,
   // just remember to include in all of your applications and you'll be
   // good to go.
}


// This is the Windows procedure (WndProc).  This handles messages that the
// windows operating sends to your application.
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
   static HGLRC hRC;    // Rendering context.
   static HDC hDC;      // Device context.
   int width, height;   // The window width and height.

   switch(message)
      {
         case WM_CREATE:                  // Windows creation.
            hDC = GetDC(hwnd);            // This gets the device context for our window.
            g_HDC = hDC;                  // Assigns the global device context to this one.
            SetupPixelFormat(hDC);        // Call the pixel format function.

            hRC = wglCreateContext(hDC);  // Creates the rendering context.
            wglMakeCurrent(hDC, hRC);     // Makes the rendering context.
            return 0;
            break;

         case WM_CLOSE:                   // Close message.
         case WM_DESTROY:
            wglMakeCurrent(hDC, NULL);
            wglDeleteContext(hRC);        // Deletes the rendering context.

            PostQuitMessage(0);           // Says close the program.
            return 0;
            break;

         case WM_SIZE:                    // re-size message.
            height = HIWORD(lParam);      // This gets the height of the window.
            width = LOWORD(lParam);       // This gets the width of the window.

            if(height==0)                 // we don't want it to be possible for a
               {                          // height of 0.  If it is 0 me make it 1.
                  height = 1;
               }

            glViewport(0, 0, width, height);// resets the viewport to new dimensions.
            glMatrixMode(GL_PROJECTION);    // Sets the projection matrix.
            glLoadIdentity();               // Reset the modelview matrix.

            // calculate the aspect ratio of the window.
            gluPerspective(45.0f, (GLfloat)width/(GLfloat)height, 0.1f, 1000.0f);

            glMatrixMode(GL_MODELVIEW);     // Sets the projection matrix.
            glLoadIdentity();               // Reset the modelview matrix.

            return 0;
            break;

         case WM_KEYDOWN:
        switch(wParam)
               { 
              case VK_ESCAPE: // Close the app if the user presses escape.
             PostQuitMessage(0);
             break;
               }
            break;

         default: // Always have a default just in case.
            break;
      }
      // What this does is pass all of the unhandled messages to DefWindowProc.
      return (DefWindowProc(hwnd, message, wParam, lParam));
}


// This is the WinMain class.  Remember that every C and C++ program required
// a main() function, well every Windows program require a WinMain().
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
   MSG msg;                // A message variable.
   WNDCLASSEX windowClass; // Your Window class.
   HWND hwnd;              // The Window handle.

   bool isFinished;        // This will be used to check if the program is done or not.


   // This is the Window class.  Each attribute is defined for the creation of the
   // window.  I will try to go over more in future tutorials but if you want the
   // complete list of all the different values you can pass, check out the MSDN.
   windowClass.cbSize = sizeof(WNDCLASSEX);        // size of the WNDCLASSEX structure.
   windowClass.style = CS_HREDRAW | CS_VREDRAW;    // style of the window.
   windowClass.lpfnWndProc = WndProc;              // Address to the windows procedure.
   windowClass.cbClsExtra = 0;                     // Extra class information.
   windowClass.cbWndExtra = 0;                     // Extra window information.
   windowClass.hInstance = hInstance;              // Handle of application Instance.
   windowClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);// Handle of application Icon.
   windowClass.hCursor = LoadCursor(NULL, IDC_ARROW);// mouse cursor
   windowClass.hbrBackground = NULL;               // background color.
   windowClass.lpszMenuName = NULL;                // name of the main menu.
   windowClass.lpszClassName = "UltimateGameProgrammingClass";// window class name.
   windowClass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);// icon when minimized.

   // You must register you class with Windows.  What this does is if the class is
   // not registered, then the program will close right away.
   if(!RegisterClassEx(&windowClass))
      return 0;

   // After your class has been registered then you are ready to create your
   // window.  To create the window you call the CreateWindowEx function
   // and assign it to hwnd.

   hwnd = CreateWindowEx(NULL,// The extended window style.
                        "UltimateGameProgrammingClass",// window Class name.
                        "Created by the Programming Ace.  Points tutorial.",// window name.
                        WS_OVERLAPPEDWINDOW | WS_VISIBLE |// The window style.
                        WS_SYSMENU | WS_CLIPCHILDREN |// window style.
                        WS_CLIPSIBLINGS,// window style.
                        100, 100,// window x, y coordinate.
                        640,
                        480,// window width and height.
                        NULL,// handle to parent window.
                        NULL,// menu.
                        hInstance,// handle to app instance.
                        NULL);   // pointer to window creation data.
   
   // For more window styles check the MSDN but for now use this to create your
   // windows.  I will go over this in more detail in future tutorials.

   // If there was an error with creating the window, then close the program.
   if(!hwnd)
      return 0;


   ShowWindow(hwnd, SW_SHOW); // This shows the window.
   UpdateWindow(hwnd);        // This forces a paint message.

   isFinished = false;        // False = running, True = not running.

   // If initialize fail, then we don't want the program to run.
   if(!InitializeGL())
      isFinished = false;


   // This is the messsage loop.
   while(!isFinished)// While the program is running...
      {
         PeekMessage(&msg, NULL, NULL, NULL, PM_REMOVE);

         if(msg.message == WM_QUIT)// If the application gets a quit message...
            {
               isFinished = true;  // Then quit the program.
            }
         else                      // else render the scene.
            {
               RenderScene();      // Render and display the next frame.

               TranslateMessage(&msg);
               DispatchMessage(&msg);
            }
      }

      return msg.wParam;// End of the program.
}


// Initialize the window.
bool InitializeGL()
{
   glClearColor(0.0f, 0.0f, 0.0f, 0.0f);// clear the screen to black.

   return true; // If all is successful, then we return true.
}


///*******draw (render)  ***********\\\ 

void RenderScene()
{
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);   // Clears the screen.
   glLoadIdentity();                  
    glTranslatef(0.0f, 0.0f, -19.0f);
//------------------------------------\\  
   glBegin(GL_QUADS);
       glColor3f(0.0f, 0.0f, 1.0f);  
   glVertex3f(7.0f, 4.0f,-2.0f);
      glVertex3f(2.0f, 4.0f, -2.0f);
      glVertex3f(2.0f, 8.0f, -2.0f);
      glVertex3f(7.0f, 8.0f, -2.0f);


       glColor3f(1.0f, 0.0f, 0.0f);  
      glVertex3f(7.0f, 4.0f, -2.0f);
      glVertex3f(2.0f, 4.0f, -2.0f);
      glVertex3f(2.0f, 0.0f, 2.0f);
      glVertex3f(7.0f, 0.0f, 2.0f);


      glColor3f(1.0f, 11.0f, 0.0f);  
   glVertex3f(7.0f, 0.0f,2.0f);
      glVertex3f(2.0f, 0.0f, 2.0f);
      glVertex3f(2.0f, -4.0f, 2.0f);
      glVertex3f(7.0f, -4.0f, 2.0f);



//********************\\ 
   //////rectangle
      glColor3f(1.0f, 0.0f, 0.0f);   
      //          X     Y     Z
      glVertex3f(-7.0f, 4.0f, 0.0f);
      glVertex3f(-2.0f, 4.0f, 0.0f);
      glVertex3f(-2.0f, 0.0f, 0.0f);
      glVertex3f(-7.0f, 0.0f, 0.0f);


   //********************\\ 
   glEnd(); // End drawing rectangles.
 //-------------------------------------------\\ 


   SwapBuffers(g_HDC);  // Display the new frame by swapping the old frame
                        // with the new one.
}

لا اريد التحطيم ولكن حتى تكونوا بالصورة ....

لا اقول مستحيل لكن تحتاج تعب

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#14

أنا شخصيا و بصراحة اتفق مع da-crystal

لازم نمشي خطوة خطوة ..

الخطوة الاولى ليست اوبن جل او دايركت اكس, الخطوة الاولى لعبة بسيطة .. عالكونسول مثلا, ان شاء الله حجتى مجرد تكست!

بعدين الخطوة الثانية هي الرسم باستخدام ويندوز, او حسب ما اظن اسمه GDI

بعدين تعال اتعلم OpenGL و DirectX, لان هذه المكتبات مجرد مكتبات للرسم, و لكن في اللعبة هناك العديد من الاشياء من عدا الرسم.

أنا شخصيا لم أجرؤ حتى الان في تعلم OpenGL ولا DirectX, لأني اعتقد اني لن استفيد منها شيئا في الوقت الراهن ..

لا زلت واقفا عند الكونسول. اعتقد مرة وضعت هنا صورة و كود للعبة كونسول كنت عاملها ..

حسنا, ما هي الخطوة التالية؟ انا شخصيا ارى ان الخطوة التالية بالنسبة لي هي اعادة نفس اللعبة و لكن بهيكل جديد تماما

من الخارج ستبدو نفس الشي, و لكن من الداخل شي آخر تماما, إن شاء الله.

و اللي يضحك خلي يضحك .. ما عندي مانع :rolleyes:

ممكن الواحد يقولي ليش تعيد هيكلة المحرك القديم؟ هنا الاجابة ان هناك سببين:

الأول اني وجدت ان تصميم المحرك القدم سئ جدا,

و الثاني انا اريد تصميم المحرك الجديد (محرك لعبة الكونسول) بحيث اني لما اتعلم ارسم تودي بالويندوز او الاوبنجل, فكل ما سأقوم به هو اعادة كتابة كود محرك الرسم, و ليس كتابة لعبة جديدة. يعني اللعبة تبقى كما هي, و لكن اغير الكود اللي يرسم لكي يستخدم GDI او ما شابه.

يعني بصراحة انا اعتقد ان القفز فورا الى directX لن يفيد بشيء اطلاقا, و الدليل هو عدم وجود مشروعات ناجحة كثيرة, و اعتقد ان المشروعات الناجحة لم يبدأ أصحابها من القمة, بل بدأو من القاع و صعدوا حتى وصلوا الى ما هم عليه.

#15

لكن يا اخ حسن متى تصل ... لما تريد ..

الوقت يمضي ..

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#16

أصل بالصبر ان شاء الله .. ولو بعد حين.

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

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

#17

لن استطيع استخدام ما تعلمته في عمل لعبة

و هذا ما قلته يا حسن في ردي " المشكلة في تطبيق ما تعلمه " .

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…