ساخت انجین بازی Game engine

saalek110

Well-Known Member
بازی دوم آپلود شد:
http://victory.rf.gd/games/game2

بازی دوم با GDevelop ساخته شده. بازی سازی بدون کدنویسی رایگان خروجی وب هم دارد.


GDevelop نام نرم افزاری رایگان، متن باز، چندسکویی (cross-platform) و کم حجم است که به وسیله آن قادر خواهید بود تا بدون نیاز به کدنویسی، بازی های دو بعدی خلق کنید. این نرم افزار با ابزارهای ساده ای شده ای که در دسترسی کاربران خود قرار داده، این امکان را فراهم آورده تا تمامی کاربران حتی کاربران مبتدی بتوانند بازی هایی که مد نظرشان است را خلق کنند. مهم نیست چه سبکی را برای بازی خود مد نظر قرار دهید، به کمک این نرم افزار قادر خواهید بود تا بازی هایی با سبک های متنوع نظیر تیراندازی، معمایی، استراتژیک، بازی های 8 بیتی و … را به راحتی طراحی کنید.



GDevelop آمده است تا نظر کاربران بسیاری را که به ساخت بازی های رایانه ای و یا موبایلی علاقمند هستند ولی با هیچ یک از زبان های برنامه نویسی آشنایی ندارند و یا برنامه نویسی برای آنها سخت است، به خود جلب کند. این نرم افزار تنها با چند کلیک عمل کدنویسی را برای شما انجام خواهد داد، یعنی با انتخاب یکسری دستورالعمل هایی که از قبل برای آن تعریف شده، قادر خواهید بود تا اعمالی را که به وسیله کدنویسی قادر به انجام آن هستید را به راحتی برای شما انجام دهد بدون اینکه حتی یه خط کدنویسی انجام دهید.

پشتیبانی از نرم افزار GDevelop بسیار قوی بوده و آموزش های فراوانی را می توانید از وب سایت سازنده آن دریافت کنید و این آموزش ها نیز بصورت های مختلفی نظیر متنی و یا ویدئویی در یوتیوب ارائه داده شده است. بازی های دو بعدی که به وسیله این نرم افزار طراحی می کنید، امکان ارائه در پلتفرم های مختلفی نظیر ویندوز، مکینتاش، لینوکس و همچنین اندروید نیز وجود دارد. طبق گفته های سازندگان این نرم افزار، امکان ارائه بازی های شما در سیستم عامل iOS نیز به زودی فراهم خواهد شد تا کاربران گوشی ها و تبلت های شرکت اپل نیز از بازی های شما بهره مند گردند.



ویژگی های نرم افزار GDevelop:​

  • رابط کاربری ساده و حرفه ای
  • کاملاً رایگان بدون نیاز به خرید لایسنس
  • دارای تم های مختلف برای ظاهر نرم افزار
  • ساخت انیمیشن های دو بعدی بصورت یکپارچه
  • خلق بازی بصورت کامل بدون نوشتن یک خط کدنویسی
  • امکان استفاده برای تمامی سطوح کاربری حتی مبتدی
  • ارائه آموزش ها و نمونه مثال ها بصورت متنی و ویدئویی
  • پشتیبانی از تمامی سبک های بازی ها
  • پشتیبانی از پلتفرم های مختلف نظیر ویندوز، مک، لینوکس و اندروید
  • و…
 
آخرین ویرایش:

saalek110

Well-Known Member

بازی سازی 3D آنلاین.
قابل دانلود هم هست و روی نرم افزار php مثل زمپ اجرا میشه.xampp
روی سایت پابلیش میشه و می توانید بازیهای ساخته شده دیگران را هم ببینید.
من خودم اشکالی ساختم و دانلود کردم و روی کامپیوترم اجرا شد. مدتها قبل این سایت عضو بودم و پروژه ام هنوز بود.
پر کردن فرم ثبت نام هم نمی خواهد و با همون جیمیل میشه ثبت نام کرد.

آموزشها:
نمونه ها:



در نمونه زیر یک چهاردیواری داریم که با ماوس و کیبورد میشه در محیط حرکت کرد.

نمونه ها اگر در کروم اجرا نشد در اپرا یا فایرفاکس یا ... امتحان کنید.

نقل از:
PlayCanvas ساده ترین جهان برای استفاده از موتور بازی WebGL است.این برنامه رایگان است ، منبع باز است و از ابزارهای شگفت انگیز توسعه دهنده پشتیبانی می شود.


playCanvas یک محیط کاملا بر پایه‌ی وب برای توسعه‌ی بازی است. این بدان معناست که شما از پلتفرم آن‌ها برای نوشتن کدهایتان، تست‌ آن‌ها، ساخت صحنه‌هایتان و حتی اکسپورت بازی‌تان با یک کلیک استفاده می‌کنید. این پلتفرم دارای رابط کاربری گرافیکی (GUI) با جزئیات فراوان و دیوانه‌کننده است.

گزینه‌ی دیگری که این ابزار در اختیار شما قرار می‌دهد، پشتیبانی کامل آن از واقعیت مجازی (VR) و سازگاری با آن است که حوزه‌ی رو به رشدی در صنعت بازی‌سازی است.

نقطه ضعف این ابزار رایگان نبودن کامل آن است. شما اگر کاربر رایگان این پلتفرم هستید، بازی‌هایتان در معرض دید عموم قرار دارند و نمی‌توانید پروژه‌های خصوصی به‌ وجود آورید.
 
آخرین ویرایش:

saalek110

Well-Known Member
در تاپیکی مجزا آموزش three js شروع شد. ساخت بازیهای سه بعدی در این محیط فعالیت بعدی ما خواهد بود.
لینک:
 
آخرین ویرایش:

saalek110

Well-Known Member
در بازی سازی دو وجه کار داریم:
اولی زیباسازی محیط
و دومی کدها و هوشمند سازی.کلا توسعه و تجهیز با کدهای جدید.

باید مراقب بود که اولی تحت شعاع دومی قرار نگیرد. یعنی تلاش کنید از لحاظ زیبایی هم روی بازی کار کنید.
درسته که کدهای جدید ما را در ساخت بازی تواناتر می کند ولی اگر از امکانات موجود هم درست استفاده نکنیم کار اشتباهی است.
در کل سعی کنید به هر دو بعد همزمان توجه داشته باشید.

بعد سوم کار تمیر کردن محیط کار است. که روی این قسمت هم باید به موقع وقت گذاشت.
مثلا باید به موقع زیربرنامه درست کرد و قسمتهایی از برنامه را جدا کرد.
باید نامهای مناسبی به هر قسمت داد. باید شرح های خوبی در کدها نوشت. چون شش ماه دیگه یا یک سال دیگه شرح ها خیلی کمک کننده تر است. الان کدها را می شناسید ولی چند ماه بعد فراموش می کنید. و شرح ها کمک بزرگی است.
دیگه اینکه باید انتخاب کنید می خواهید کدام شاخه را کار کنید ، مثلا بین دو بعدی و سه بعدی انتخاب کنید.
یا با کدام بازی ساز می خواهید کار کنید.هر چه تصمیم تیزتری بگیرید سرعت پیشرفت بیشتری خواهید داشت.
من خودم از جندین بازی ساز صرف نظر کردم. بعضی در کامپیوتر من کراش می کردند و مجبور شدم رها کنم.
خودم نظر شخصی نسبت به بعضی داشتم و کار با آنها را رها کردم. بهرحال باید تصمیم به موقع بگیرید تا به بازی ساز مناسب خود برسید.
 
آخرین ویرایش:

saalek110

Well-Known Member
نکته دیگه اینکه در تمام محیط های بازی سازی با موضوعات مشابهی سر و کار دارید.
مثلا چیزهایی که من در یونیتی یاد گرفتم خیلی در playcanvas.com به کمکم اومد.

منظورم اینه خیلی مفاهیم و روشها در همه محیط ها هست و فرقی نمی کنه در چه محیطی
کار کنید. یعنی چیزهایی که در یک محیط یاد می گیرید در محیط دیگر به کارتان می آید.
مخصوصا در بازی سازی سه بعدی این قضیه پر رنگ تر است. مدام با مفاهیمی سروکار دارید که در حقیقت مفاهیم گرافیک است و ربطی به بازی سازی ندارد. مثلا تکسچر و متریال. در همه اونها هست. بعضی بازی سازها که ساده ترند
قسمتهایی را پوشانده اند ولی باز هم از نشانه هایی مشخص میشه همون مفاهیم را سعی کرده اند
بپوشانند تا محیط کار ساده تر بشه.
در بازی سازی دو بعدی سه عنصر اسپرایت و آبجکت و روم(یا scene)همه جا به چشم می خورد.
چون سازنده بازی ساز مجبور بود با این موضوعات یک جوری برخورد کند.
گیم میکر استودیو کامل ترین بازی ساز دو بعدی است که من دیدم. و در مقابلش کلی بازی ساز دو بعدی
هست که ساختاری مشابه اون دارد ولی ساده تر است.
در بازی سازی دو بعدی سریع به برخورد می رسیم چون مباحث تکسچر و متریال در دو بعدی نداریم.
گیم میکر با گذاشتن اکشن یا دکمه برخورد یا کلیزیون کار را ساده نشان داده.
دو بعدی سازهای دیگه هم بهرحال برخورد را کار کرده اند ولی نه به وضوح گیم میکر.

متاسفانه خیلی سایت ها و فروم های ایرانی از بین می روند و حاصل دسترنج خیلی ها از بین می رود.
ولی در سایتهای خارجی این قضیه کمتر است و اگر به زبان انگلیسی کمی احاطه داشته باشید سریع کد مورد
نیاز خود را پیدا می کنید. البته خوب بعضی موضوعات سخت تر است و جوابهای کمتری در نت وجود دارد.

پس هر چیزی جایی یاد می گیرید در محیط های دیگه به کارتون می آید.

نکته دیگه اینکه کلا تکنولوژی ها پیشرفت می کند. مثلا html ارتقا پیدا می کند
بروسرها تکمیل می شوند. سخت افزارها قوی تر می شوند و ....
و محیط کار عوض میشه و گاه مشکلات زیادی از محیط کار کم می شود. مثلا فارسی نویسی نسبت به قبل کمتر مشکل دارد.
ولی با پیشرفت تکنولوژی باز هم تجربیات قبلی شما به کارتان خواهد آمد.

برنامه نویسی یا بازی سازی مثل ساختمان سازی است. چون باید با یک سری مواد اولیه یک محصول نهایی ساخت.
در محیط کاری نظم و دیسیپلین خیلی مهم است و سرعت کار را تعین میکند.
هر چه شما هوشمند تر و منظم تر کار کنید سریع تر پیشرفت می کنید ولی بهرحال به هدف می رسید.

اشتراکات محیط های کاری بسیار زیاد است و چه خوبه در بازی سازی این اصول را یاد بگیرید نه سر ساختمان. چون خسارتش کمتره. و محیط های مهم تری هست که از ساختمان سازی هم مهم تره
پس هر چه دیسیپلین کاری بهتری داشته باشید در همه محیط ها موفق ترید.
یعنی من دارم به جنبه هایی از کار در بازی سازی اشاره می کنم که در همه محیط ها مشترک است.
مثلا پیشرفت معنوی شما از محیط های کاری شماست.
در اونجا هم مدیریت و نظم لازم است. و شاید تنها ابزار شما در اون محیط ها باشد.
در اون جاها بازی ساز وجود ندارد نشانه ها وجود ندارد نشانه ای اگر وجود داشته باشد تجربه قبلی شماست
که بگه با چی طرف هستید و باید چه واکنشی نشان دهید. در اون دنیا شما تنها ترید و انتخابهای شما
مهم ترین فاکتور است. پس حالا که بازی سازی با خیلی محیط ها اشتراکات دارد
سعی کنیم جدی تر کار کنیم.
 
آخرین ویرایش:

saalek110

Well-Known Member
بحث زاویه حرکت در خیلی بازی سازها هست.
یعنی وقتی بازیکن به زاویه 60 درجه داره نگاه می کنه موقع حرکت هم باید به اون سمت برود.
در عکس زیر وقتی زاویه نگاه بازی کن مثل شکل زیر حدود 60 درجه است باید حساب کنیم به سمت راست و به سمت جلو چقدر باید برود.
اون مقداری که با کشیدن دو خط عمودی قرمز روی شعاع دایره ایجاد شده را ببینید.
باید در جهت راست خیلی کم حرکت کند ولی به سمت جلو حدود 2 تا 3 برابر باید حرکت کند.
 

پیوست ها

  • a1.jpg
    a1.jpg
    12.7 کیلوبایت · بازدیدها: 0
آخرین ویرایش:

saalek110

Well-Known Member
خوب حالا اون دو مقدار چطوری از روی زاویه حاصل می شود.
پاسخ سینوس و کسینوس زاویه است.



a6.jpg

البته زاویه باید به رادیان باشد نه به درجه.

محیط دایره یادتونه
2πR بود.

π=3.1413

وقتی کل محیط 2π
باشد نصفش یعنی 180 درجه میشه π
.
, 90 درجه میشه
π/2 یعنی πتقسیم بر 2 .
حالا من نمی خوام اینها را حفظ کنید بلکه خواستم یادتون بیافته رادیان چی بود.



اون که میگه نظرم 180 درجه تغییر کرده یعنی از شرق به غرب رفته و درست میگه
ولی اگر یکی بگه نظرم 360 درجه عوض شده اشتباه است چون 360 یک دور کامل است و برگشته روی صفر دوباره.
مقدار 180 درجه مساوی p رادیان و 360 درجه 2p رادیان است.


JavaScript:
rotation += 0.05;
camera.position.y = Math.sin(rotation) * distance;
camera.position.x = Math.cos(rotation) * distance;

کد بالا میگه اگر قراره بازیکن یا دوربین به اندازه distance جلو برود ولی زاویه دار ایستاده چقدر باید به سمت راست(یا چپ) برود و چقدر به سمت جلو( یا عقب).

البته در بازیها سمت z و x داریم. چون y ارتفاع است و معمولا بازیکن پرواز نمی کند.

a4.jpg

Value of root 3, √3 =1.732

a7.jpg


b1.jpg
 
آخرین ویرایش:

saalek110

Well-Known Member
حالا چقدر زاویه کم و زیاد کنیم؟
3.1413/2=1.57065
یعنی 90 درجه حدود 1 و نیم است.
اگر بخواهیم هر استپ 15 درجه بچرخانیم میشه یک ششم یک و نیم:
0.2618
چون من نمی خواهم وقتی به 90 رسیدیم کج باشه و دقیق 90 نباشه.
 

جدیدترین ارسال ها

بالا