داستان برنامه نویسی ماینکرفت با جاوا

داستان برنامه نویسی ماینکرفت با جاوا

بروزرسانی : 3 سال پیش

زبان جاوا و خلق پرفروش ترین بازی تاریخ یعنی ماینکرفت 

 

آموزش زبان برنامه نویسی جاوا برای بازی سازی

همه ی شما ممکن است نام بازی معروف ماینکرفت را شنیده باشید بازی که مرز دانلود را شکست و پرفروش ترین بازی تاریخ در پلتفرم های مختلفی شد..

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

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

در ادامه به روایت های جالب و درس های جالبی از مارکوس میپردازیم.

 

مارکوس پرسون کیست ؟‌

مارکوس پرسون بازی ساز ماینکرفت با زبان جاوا

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

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

گفته شده است که در سن ۱۸ سالگی یک برنامه نویس حرفه ای بوده است و در سال ۲۰۰۴ به شرکت Midasplayer که سازنده ی بازی های معروف مثل کندی کراش هست رفته و آنجا استخدام شده است.

در این شرکت با برنامه نویس دیگری به نام جاکوب پورسر آشنا شد که تاثیر زیادی در رویه ی تغییر زندگی مارکوس داشت و در ساخت بازی ماینکرفت هم او را یاری کرده است.

مارکوس در زبان برنامه نویسی جاوا تبحر داشت و با نام کاربری notch در سایت twitch و youtube آموزش هایی برای بازی سازی از او است که نشان میدهد مارکوس در برنامه نویسی و بازی سازی با جاوا مهارت داشته است پیشنهاد میشود عبارت coding with notch را سرچ کنید و آموزش ها و ویدیوهای لایو که از او آرشیو شده است را ببینید..

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

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

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

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

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

با این کار مبلغ زیادی به مارکوس رسید و او را تبدیل به یکی از بیلیونر های جهانی کرد.

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

 

زبان های برنامه نویسی و کتابخانه های استفاده شده برای ماینکرفت ( minecraft )

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

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

محیط کدنویسی که مارکوس برای بازی سازی و کدنویسی خود انتخاب کرده است eclipse مخصوص جاوا بوده است که شاید به نظر بسیاری از افراد بازی سازی با آن ممکن نیست !

برخلاف تصورات عمومی درباره ی بازی ماینکرفت این بازی ، با ابزارهای بسیار ساده و امکانات کم خلق شده است ولی خوبی این بازی سبک بودن آن ، خلاقیت زیاد  آن است که همگی مدیون کدنویسی هوشمندانه و خوب مارکوس است.

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

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

یکی دیگر از دلایل پیشرفت و موفقیت بازی ماینکرفت این است که به بازی کننده احساس خالق بودن را میدهد و انسان ها همیشه دوست دارند خالق باشند ، از هر چیزی که در ذهن دارید میتوانید یک نمونه درون بازی ماینکرفت بسازید از پل و خانه ی چوبی گرفته تا عمارت های سنگی و ...

این بازی برای کرافت کردن یعنی ساختن همه چیز از ترکیب چیزهای طبیعی و غیر طبیعی دیگر استفاده میکند که همگی نیاز به یادگیری و زمان گذاشتن روی بازی دارد که باعث اعتیاد بازی کننده به این بازی میشود.

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

در زیر چند نمونه از بازی های ساخته شده با کتابخانه ی lwjgl را مشاهده میکنید . اگر این تصاویر را با گرافیک کنونی بازی ماینکرفت بررسی کنید متوجه میشوید که از نظر ظاهری بسیار شبیه به هم هستند.

بازی سازی با زبان جاوا و کتابخانه ی lwjgl
آموزش بازی سازی با جاوا و کتابخانه ی lwjgl
آموزش بازی سازی با جاوا و کتابخانه ی lwjgl
هر سه تصویر بالا را که با استفاده از کتابخانه ی گرافیکی lwjgl ساخته شده است با تصویر زیر که بازی ماینکرافت است بررسی کنید و متوجه میشوید که سبک گرافیکی همگی یکسان و از یک جا نشات میگیرد.
زبان برنامه نویسی بازی ماینکرافت
 
اگر به فکر بازی سازی با زبان برنامه نویسی جاوا هستید و میخواهید خیالتان از بابت مسائل گرافیکی راحت باشد و همچنین پرفرمنس بالایی در بازی شما وجود داشته باشد پس از کتابخانه ی https://www.lwjgl.org/ غافل نشوید.
آموزش بازی سازی با زبان برنامه نویسی جاوا
خوبی این کتابخانه ی سبک وزن بودن ، متن باز بودن و سطح پایین بودن آن است که به شما توانایی های بالایی برای خلق بازی با زبان جاوا را میدهد.
 

آیا زبان برنامه نویسی جاوا برای بازی سازی خوب است ؟ 

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

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

اما جاوا در بین بازی سازان محبوب نیست و کمتر کسی است که از جاوا برای بازی سازی استفاده کند.

دلایل اینکه جاوا برای بازی سازی محبوب نیست در لیست زیر آمده است:‌

 

  1. بسیاری از کنسول های بازی مثل xbox , ps3 و ... ماشین مجازی جاوا یا jvm را ندارند و به همین دلیل بیشتر از سی پلاس پلاس استفاده میشود که توسط این کنسول ها نیز پشتیبانی میشود.
  2. بسیاری از گیم انجین ها مثل unity3d و unreal و ... از زبان جاوا پشتیبانی نمیکنند.
  3. برای بازی های پی سی DirectX از جاوا بخوبی پشتیبانی نمیکند.
  4. بازی های موبایل مخصوصا آیفون که از ios استفاده میکند بازی های جاوا را ساپورت نمیکند.

 

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

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

و مارکوس از آن زمان ها در شرکت های مختلف بازی سازی میکرد و تخصص خود را برای جاوا بصورت کامل کسب کرده بود و از آن برای خلق ماینکرفت استفاده کرد.

 

مدت زمان توسعه ی بازی ماینکرفت با زبان جاوا 

در ابتدا بازی ماینکرفت یک ایده بود که به ذهن مارکوس رسید و نسخه ی اولیه آنرا طی یک هفته کدنویسی کرد اما بازی ساده بود و هنوز کارآیی های لازم را نداشت

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

مارکوس با نام مستعار notch دائما در حال پشتیبانی این بازی در انجمن های مختلف بود و یکی از اصلی ترین کارهای او در زندگی ،‌ ماینکرفت بود.

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

تا اینکه تعداد بازی کنندگان این گیم از مرز صد میلیون نفر گذشت..

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

 

 

لینک کوتاه این مقاله : https://avasam.ir/post/207
این سیستم برپایه ی علاقه مندی شما یک دوره ی مناسب به شما پیشنهاد میدهد
مرا بسوی بهترین دوره ی آموزشی که برای من مناسب است هدایت کن 🤖
برای استفاده ی دیگران و حمایت از ما در جامعه های زیر به اشتراک بگذارید

.:: نظرهای کاربران ::.
Amin / 1 سال پیش

واقعاً خیلی کتابخونهٔ خوبیه برای نوشتن بازی با جاوا. LIBGDX رو هم پیشنهاد می‌کنم. ساده‌تر از LWJGL هم هست.

مصطفی / 2 سال پیش

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

دوره ی آموزش پروژه محور ساخت کافه بازار دوره ی آموزش پروژه محور ساخت فروشگاه دیجیکالا آموزش لاراول دوره ی آموزش ویو جی اس