• 0
  • مالي خلق
  • أتهاوش
  • متضايق
  • مريض
  • مستانس
  • مستغرب
  • مشتط
  • أسولف
  • مغرم
  • معصب
  • منحرج
  • آكل
  • ابكي
  • ارقص
  • اصلي
  • استهبل
  • اضحك
  • اضحك  2
  • تعجبني
  • بضبطلك
  • رايق
  • زعلان
  • عبقري
  • نايم
  • طبيعي
  • كشخة
  • النتائج 1 إلى 10 من 10

    الموضوع: [درس]عمل لعبة 3Dعلى الجيم ميكر

    1. #1
      التسجيل
      18-05-2008
      الدولة
      تحت سقف الإدارة الجديدة الفاشلة
      المشاركات
      287
      المواضيع
      50
      شكر / اعجاب مشاركة

      [درس]عمل لعبة 3Dعلى الجيم ميكر

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



      ]درس[عمل لعبة 3Dعلى الجيم ميكر



      هذا الدرس أخذتة من بعض الأجانب المحترفين في الجيم ميكر



      المهم......نبدأ:-


      1-أدرج سبعة sprites ويجب أن يكونTransparent غير مفعل


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


      إلا السبرايت الأول sprite1








      أ-السبرايت الأول:
      الاسم: sprite1
      اللون:أصفر
      الحجمW:32) (H:32)
      Bonding box:Manual
      ب-السبرايت التاني:
      الاسم: spr_corners_1
      اللون:أسود
      الحجمW:800) (H:600)
      Bonding box:Automatic
      ج-السبرايت الثالث:
      الاسم: spr_player
      اللون:أسود
      الحجمW:6) (H:6)
      Bonding box:Automatic
      د-السبرايت الرابع:
      الاسم: spr_wall_16
      اللون:أسود
      الحجمW:16) (H:16)
      Bonding box:Automatic
      س-السبرايت الخامس:
      الاسم: spr_wall_8
      اللون:أسود
      الحجمW:8) (H:8)
      Bonding box:Automatic
      ص-السبرايت السادس:
      الاسم: spr_wall_hs
      اللون:أسود
      الحجمW:12) (H:4)
      Bonding box:full image
      و-السبرايت السابع:
      الاسم: spr_dot
      اللون:أخضر غامق(مثل اللون الأصلي)
      الحجمW:1) (H:1)
      Bonding box:Automatic
      2-أضيف الصوت


      أنا عندي صوت






      يجب أن يكون الصوت على اسم النغمة



      3-أضف Background


      أنا عندي






      يجب أن تكون الصورة على اسم الصورة المرفقة
      الملفات المرفقة الملفات المرفقة
      التعديل الأخير تم بواسطة AMB0 ; 24-06-2008 الساعة 05:12 PM

    2. #2
      التسجيل
      18-05-2008
      الدولة
      تحت سقف الإدارة الجديدة الفاشلة
      المشاركات
      287
      المواضيع
      50
      شكر / اعجاب مشاركة

      رد: [درس]عمل لعبة 3Dعلى الجيم ميكر

      4-أضف إسكربت
      أ-الاسم: scr_compare_angles
      النص:
      //angle_dist(ang1,ang2);
      return ((((argument0 - argument1) mod 360) + 540) mod 360) - 180;

      يحدد مساحة السطح ورؤية الكميرا
      ب-الاسم: createFromObj
      النص:
      // MOSAIC Light 3D OBJ IMPORTER
      // (c) 2006. Zoltan Percsich. All Rights Reserved.
      // Don't edit this script
      filename=argument0;
      flipnormals = 1;
      if (argument1>0) flipnormals=-1;
      vertex_list1=ds_list_create();ds_list_clear(vertex_list1);ds_list_add(vertex_list1,0);
      vertex_list2=ds_list_create();ds_list_clear(vertex_list2);ds_list_add(vertex_list2,0);
      vertex_list3=ds_list_create();ds_list_clear(vertex_list3);ds_list_add(vertex_list3,0);
      normal_list1=ds_list_create();ds_list_clear(normal_list1);ds_list_add(normal_list1,0);
      normal_list2=ds_list_create();ds_list_clear(normal_list2);ds_list_add(normal_list2,0);
      normal_list3=ds_list_create();ds_list_clear(normal_list3);ds_list_add(normal_list3,0);
      texture_list1=ds_list_create();ds_list_clear(texture_list1);ds_list_add(texture_list1,0);
      texture_list2=ds_list_create();ds_list_clear(texture_list2);ds_list_add(texture_list2,0);
      faces_list=ds_list_create();ds_list_clear(faces_list);
      fp=file_text_open_read(filename);
      for (i=0;file_text_eof(fp)==false;i+=1) {
      row=file_text_read_string(fp);row=string_replace_all(row," "," ");
      if (string_char_at(row,1)=="v" && string_char_at(row,2)==" ") {
      row=string_delete(row,1,string_pos(" ",row));
      vx=real(string_copy(row,1,string_pos(" ",row)));
      row=string_delete(row,1,string_pos(" ",row));
      vy=real(string_copy(row,1,string_pos(" ",row)));
      row=string_delete(row,1,string_pos(" ",row));
      vz=real(string_copy(row,1,string_length(row)));
      ds_list_add(vertex_list1,vx);
      ds_list_add(vertex_list2,vy);
      ds_list_add(vertex_list3,vz);
      }
      if (string_char_at(row,1)=="v" && string_char_at(row,2)=="n") {
      row=string_delete(row,1,string_pos(" ",row));
      nx=real(string_copy(row,1,string_pos(" ",row)));
      row=string_delete(row,1,string_pos(" ",row));
      ny=real(string_copy(row,1,string_pos(" ",row)));
      row=string_delete(row,1,string_pos(" ",row));
      nz=real(string_copy(row,1,string_length(row)));
      ds_list_add(normal_list1,nx);
      ds_list_add(normal_list2,ny);
      ds_list_add(normal_list3,nz);
      }
      if (string_char_at(row,1)=="v" && string_char_at(row,2)=="t") {
      row=string_delete(row,1,string_pos(" ",row));
      tx=real(string_copy(row,1,string_pos(" ",row)));
      row=string_delete(row,1,string_pos(" ",row));
      ty=real(string_copy(row,1,string_length(row)));
      ds_list_add(texture_list1,tx);
      ds_list_add(texture_list2,ty);
      }
      if (string_char_at(row,1)=="f" && string_char_at(row,2)==" ") {
      row=string_replace_all(row," "," ");
      row=string_delete(row,1,string_pos(" ",row));
      if (string_char_at(row,string_length(row))==" ") row=string_copy(row,0,string_length(row)-1);
      face_num=string_count(" ",row);
      face_division=1;
      temp_faces[0]=0;
      for (fc=0;fc<face_num;fc+=1) {
      f=string_copy(row,1,string_pos(" ",row));
      row=string_delete(row,1,string_pos(" ",row));
      temp_faces[face_division]=f;
      face_division+=1;
      }
      f=string_copy(row,1,string_length(row));temp_faces[face_division]=f;
      if (face_division==3) {
      f1=temp_faces[2];
      f2=temp_faces[3];
      f3=temp_faces[1];
      ds_list_add(faces_list,f1);
      ds_list_add(faces_list,f2);
      ds_list_add(faces_list,f3);
      } else {
      f1=temp_faces[2];
      f2=temp_faces[3];
      f3=temp_faces[1];
      ds_list_add(faces_list,f1);
      ds_list_add(faces_list,f2);
      ds_list_add(faces_list,f3);
      for (t=0;t<face_division-3;t+=1) {
      f1=temp_faces[4+t];
      f2=temp_faces[1];
      f3=temp_faces[3+t];
      ds_list_add(faces_list,f1);
      ds_list_add(faces_list,f2);
      ds_list_add(faces_list,f3);
      }
      }
      }
      file_text_readln(fp);
      }
      file_text_close(fp);
      tm=d3d_model_create();
      tsn=0;
      d3d_model_primitive_begin(tm,pr_trianglelist);
      for (fc=0;fc<ds_list_size(faces_list);fc+=1) {
      sub_face=ds_list_find_value(faces_list,fc);
      if (string_count("/",sub_face)==0) {
      f_index=sub_face;
      t_index=-1;
      n_index=-1;
      }
      if (string_count("/",sub_face)==1) {
      f_index=string_copy(sub_face,1,string_pos("/",sub_face)-1);
      sub_face=string_delete(sub_face,1,string_pos("/",sub_face));
      t_index=string_copy(sub_face,1,string_length(sub_face));
      n_index=-1;
      }
      if (string_count("/",sub_face)==2 && string_count("//",sub_face)==0) {
      f_index=string_copy(sub_face,1,string_pos("/",sub_face)-1);
      sub_face= string_delete(sub_face,1,string_pos("/",sub_face));
      t_index=string_copy(sub_face,1,string_pos("/",sub_face)-1);
      sub_face= string_delete(sub_face,1,string_pos("/",sub_face));
      n_index=string_copy(sub_face,1,string_length(sub_face));
      }
      if (string_count("/",sub_face)==2 && string_count("//",sub_face)==1) {
      sub_face=string_replace(sub_face,"//","/");
      f_index=string_copy(sub_face,1,string_pos("/",sub_face)-1);
      sub_face= string_delete(sub_face,1,string_pos("/",sub_face));
      t_index=-1;
      n_index=string_copy(sub_face,1,string_length(sub_face));
      }
      vx=ds_list_find_value(vertex_list1,floor(real(f_index)));
      vy=ds_list_find_value(vertex_list2,floor(real(f_index)));
      vz=ds_list_find_value(vertex_list3,floor(real(f_index)));
      if (floor(real(n_index))!=-1 && ds_list_size(normal_list1)>=1) {
      nx=flipnormals*ds_list_find_value(normal_list1,floor(real(n_index)));
      ny=flipnormals*ds_list_find_value(normal_list2,floor(real(n_index)));
      nz=flipnormals*ds_list_find_value(normal_list3,floor(real(n_index)));
      } else {
      nx=0;
      ny=0;
      nz=0;
      }
      if (floor(real(t_index))!=-1 && ds_list_size(texture_list1)>=1) {
      tx=ds_list_find_value(texture_list1,floor(real(t_index)));
      ty=ds_list_find_value(texture_list2,floor(real(t_index)));
      } else {
      tx=0;
      ty=0;
      }
      d3d_model_vertex_normal_texture(tm,vx,vy,vz,nx,ny,nz,tx,ty);
      tsn+=1;
      if (tsn==999) {
      tsn=0;
      d3d_model_primitive_end(tm);
      d3d_model_primitive_begin(tm,pr_trianglelist);
      }
      }
      d3d_model_primitive_end(tm);
      return tm;

      أما هذا فهو للتحكم بالأبجكت و اللاعب

    3. #3
      التسجيل
      18-05-2008
      الدولة
      تحت سقف الإدارة الجديدة الفاشلة
      المشاركات
      287
      المواضيع
      50
      شكر / اعجاب مشاركة

      رد: [درس]عمل لعبة 3Dعلى الجيم ميكر

      ج-الاسم: build_models


      النص:


      global.tracer = d3d_model_create();
      d3d_model_wall(global.tracer,-20,0,.5,20,0,-.5,1,1);
      d3d_model_wall(global.tracer,-20,.5,0,20,-.5,0,1,1);

      //create the tree model
      global.tree1 = createFromObj("models/tree1.obj");
      global.tree2 = createFromObj("models/tree2.obj");
      global.treetex1 = background_get_texture(bg_wood);
      global.treetex2 = background_get_texture(bg_tree);


      كي يحدث إصتدام مع الجسم المستظم



      د-الاسم: scr_find_z


      النص:

      var grid,temp_x,temp_y,temp_z,temp_gridx,temp_gridy,temp_offsetx,temp_offsety,temp_z1,temp_z2,temp_z3,te mp_z4;
      temp_x = argument0;
      temp_y = argument1;
      grid = 50;

      //determine which grid the instance is in
      temp_gridx=floor(temp_x/grid)
      temp_gridy=floor(temp_y/grid)

      //determine where in the grid the instance is
      temp_offsetx= temp_x-grid*temp_gridx
      temp_offsety= temp_y-grid*temp_gridy

      temp_z1=ds_grid_get(global.termap,temp_gridx,temp_gridy)
      temp_z2=ds_grid_get(global.termap,(temp_gridx+1),temp_gridy)
      temp_z3=ds_grid_get(global.termap,(temp_gridx+1),(temp_gridy+1))
      temp_z4=ds_grid_get(global.termap,temp_gridx,(temp_gridy+1))

      if temp_offsetx>temp_offsety {
      temp_z = temp_z1-temp_offsetx*(temp_z1-temp_z2)/grid-temp_offsety*(temp_z2-temp_z3)/grid;} else {
      temp_z = temp_z1-temp_offsetx*(temp_z4-temp_z3)/grid-temp_offsety*(temp_z1-temp_z4)/grid;}

      return temp_z;


      مهم لجعل اللاعب يلمس الأرض



      س-الاسم: svplay


      النص:


      sound_volume(argument0,argument1);
      sound_play(argument0);



      يعمل عل خلق مشهد حقيقي للعبة بدمج الصوت و الحركة



      ص-الاسم: svrand


      النص:


      var temp_snd,rand;
      temp_snd = ds_list_create();
      if (argument1){ds_list_add(temp_snd,argument1);}
      if (argument2){ds_list_add(temp_snd,argument2);}
      if (argument3){ds_list_add(temp_snd,argument3);}
      if (argument4){ds_list_add(temp_snd,argument4);}
      if (argument5){ds_list_add(temp_snd,argument5);}
      rand = floor(random(ds_list_size(temp_snd)));
      sound_volume(ds_list_find_value(temp_snd,rand),argument0);
      sound_play(ds_list_find_value(temp_snd,rand));
      ds_list_destroy(temp_snd);


      مهم جدا لعمل أرضية اللعبة



      و-الاسم: build_sky


      النص:



      sky_up_ID0 = d3d_model_create();

      d3d_model_primitive_begin(sky_up_ID0,pr_trianglestrip);
      d3d_model_vertex_texture(sky_up_ID0,-1000, 1000, 1000,0,0);
      d3d_model_vertex_texture(sky_up_ID0, 1000, 1000, 1000,1,0);
      d3d_model_vertex_texture(sky_up_ID0,-1000,-1000, 1000,0,1);
      d3d_model_vertex_texture(sky_up_ID0, 1000,-1000, 1000,1,1);
      d3d_model_primitive_end(sky_up_ID0);

      sky_down_ID0 = d3d_model_create();

      d3d_model_primitive_begin(sky_down_ID0,pr_trianglestrip);
      d3d_model_vertex_texture(sky_down_ID0,-1000,-1000,-1000,0,0);
      d3d_model_vertex_texture(sky_down_ID0, 1000,-1000,-1000,1,0);
      d3d_model_vertex_texture(sky_down_ID0,-1000, 1000,-1000,0,1);
      d3d_model_vertex_texture(sky_down_ID0, 1000, 1000,-1000,1,1);
      d3d_model_primitive_end(sky_down_ID0);

      sky_east_ID0 = d3d_model_create();

      d3d_model_primitive_begin(sky_east_ID0,pr_trianglestrip);
      d3d_model_vertex_texture(sky_east_ID0, 1000,-1000, 1000,0,0);
      d3d_model_vertex_texture(sky_east_ID0, 1000, 1000, 1000,1,0);
      d3d_model_vertex_texture(sky_east_ID0, 1000,-1000,-1000,0,1);
      d3d_model_vertex_texture(sky_east_ID0, 1000, 1000,-1000,1,1);
      d3d_model_primitive_end(sky_east_ID0);

      sky_west_ID0 = d3d_model_create();

      d3d_model_primitive_begin(sky_west_ID0,pr_trianglestrip);
      d3d_model_vertex_texture(sky_west_ID0,-1000, 1000, 1000,0,0);
      d3d_model_vertex_texture(sky_west_ID0,-1000,-1000, 1000,1,0);
      d3d_model_vertex_texture(sky_west_ID0,-1000, 1000,-1000,0,1);
      d3d_model_vertex_texture(sky_west_ID0,-1000,-1000,-1000,1,1);
      d3d_model_primitive_end(sky_west_ID0);

      sky_north_ID0 = d3d_model_create();

      d3d_model_primitive_begin(sky_north_ID0,pr_trianglestrip);
      d3d_model_vertex_texture(sky_north_ID0,-1000,-1000, 1000,0,0);
      d3d_model_vertex_texture(sky_north_ID0, 1000,-1000, 1000,1,0);
      d3d_model_vertex_texture(sky_north_ID0,-1000,-1000,-1000,0,1);
      d3d_model_vertex_texture(sky_north_ID0, 1000,-1000,-1000,1,1);
      d3d_model_primitive_end(sky_north_ID0);

      sky_south_ID0 = d3d_model_create();

      d3d_model_primitive_begin(sky_south_ID0,pr_trianglestrip);
      d3d_model_vertex_texture(sky_south_ID0, 1000,1000, 1000,0,0);
      d3d_model_vertex_texture(sky_south_ID0,-1000,1000, 1000,1,0);
      d3d_model_vertex_texture(sky_south_ID0, 1000,1000,-1000,0,1);
      d3d_model_vertex_texture(sky_south_ID0,-1000,1000,-1000,1,1);
      d3d_model_primitive_end(sky_south_ID0);


      يتحكم بالسماء أي عندما تنحني يمينا أو شمالا تضهر لك السماء على شكل متناسب و متسلسل



      4-نضع الأبجكت


      وهذا في الملف المرفق



      5-ثم ننشىء الروم


      بأي شكل بشرط أن تكون الأبجكت جميعها في الروم


      لكي تتناسق الصور و الؤرسمات وحركة اللاعب



      وليس هذا فقط هناك مثال على ذلك






      أو



      الملف المرفق



      يجب ن يكون لك برنامج لصنع أجسام الثلاثي الأبعاد (لصنع لعبة)


      مثل



      Cenima 4D


      3D Max


      Maya



      لصنع الأشجار و السطوح كما في المثال الذي أرفقت معه بعض الأجسام



      وعفوا على الطول هذا


      أرجو أن يكون الدرس مفهوما


      ملاحظة هامة جداً:-
      سيعمل المثال مع البرنامج المرفق بكرارك


      التعديل الأخير تم بواسطة AMB0 ; 24-06-2008 الساعة 05:18 PM

    4. #4
      الصورة الرمزية سامي.خ
      سامي.خ غير متصل عضــو قديـــر
      Indie Games supporter
      الفائز الثاني بمُسابقة MGM 2
      التسجيل
      07-05-2005
      الدولة
      المنطقة الغربية (غير مستقر)
      المشاركات
      2,437
      المواضيع
      87
      شكر / اعجاب مشاركة
      بطاقات الألعاب

      Gamertag: samikhanfor PSN ID: samikhanfor Steam ID: samikhanfor Wii Code: samikhanfor

      رد: [درس]عمل لعبة 3Dعلى الجيم ميكر

      بارك الله فيك
      الدرس هذا كثير يبحثون عنه
      وخاصة ان مشكلة توريد الموديلات في الجيم ميكر إنحلت في الإصدار السابع
      شكراً لك





      سبحان الله وبحمده...سبحان الله العظيم
      اذا اردت أن تجدني اضغط هنا
      هذا أول موضوع لي بقسم صناعة الألعاب

    5. #5
      التسجيل
      07-06-2007
      الدولة
      العالم الافتراضي
      المشاركات
      188
      المواضيع
      40
      شكر / اعجاب مشاركة

      رد: [درس]عمل لعبة 3Dعلى الجيم ميكر

      مشكور اخوي ولك جزيل الشكر دروس متعوبة صراحه أستمر........

      <<<>>>
      كتاب لغة سي سكريت c-script باللغة العربية

      الجزء الأول هنا

      <<<>>>



    6. #6
      التسجيل
      25-07-2006
      الدولة
      بغــداد
      المشاركات
      2,054
      المواضيع
      68
      شكر / اعجاب مشاركة

      رد: [درس]عمل لعبة 3Dعلى الجيم ميكر

      ممتاز عاشت ايديك اخوي ولو الشرح مختصر جدا جدا لكن ايضا مفيد

    7. #7
      التسجيل
      23-05-2008
      الدولة
      اليمن
      المشاركات
      81
      المواضيع
      2
      شكر / اعجاب مشاركة

      رد: [درس]عمل لعبة 3Dعلى الجيم ميكر

      مشكور أخي على هذا الدرس
      من زمان وانا ابحث عنة

    8. #8
      التسجيل
      18-05-2008
      الدولة
      تحت سقف الإدارة الجديدة الفاشلة
      المشاركات
      287
      المواضيع
      50
      شكر / اعجاب مشاركة

      رد: [درس]عمل لعبة 3Dعلى الجيم ميكر

      شكرا على المرور

      وهذا الدرس ينفي كلام كل من يقول أن الجيم ميكر غير قادر على صنع ألعاب الثري دي
      والمثال دليل على ذلك

      تحميل المثال

    9. #9
      التسجيل
      15-03-2008
      المشاركات
      31
      المواضيع
      2
      شكر / اعجاب مشاركة

      رد: [درس]عمل لعبة 3Dعلى الجيم ميكر

      مشكووور والشرح روعة
      ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ـــــــ

      لعبة المتسلل

      http://www.montada.com/showthread.php?t=595421

      ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ـــــــــ

    10. #10
      التسجيل
      24-08-2011
      المشاركات
      1
      المواضيع
      0
      شكر / اعجاب مشاركة

      رد: [درس]عمل لعبة 3Dعلى الجيم ميكر

      تسلم يا غالى, انا عمرى مهلائى شرح احسن من كدة والمثال شغال 100%100 شكراً بجد على المجهود الرائع وكنت بطلب يريت تحتلنا شرح لصنع الأشكال ال3d وربنا يديك كمان وكمان

    ضوابط المشاركة

    • لا تستطيع إضافة مواضيع جديدة
    • لا تستطيع الرد على المواضيع
    • لا تستطيع إرفاق ملفات
    • لا تستطيع تعديل مشاركاتك
    •