هدف از راه اندازی این وبلاگ چیه؟

من قبلا بازی های کوچک زیادی ساختم!

اولینِ؛ اولین بازی درست حسابی ای که ساختم؛ بازی شطرنج 2 نفره و آنلاینی بود که 10 سال پیش؛ یعنی سال 2006 بعد از 3 ماه شب نخوابی تونسته بودم تکمیلش کنم و برای استفاده روی وب سایتم قرار بدم. این شطرنج رو در محیط ماکرومدیا فلش (خدابیامرزش) طراحی کردم و برای سمت سرور هم از PHP و MySQL استفاده کردم. در زمان خودش تجربه جالبی بود و فکر میکردم خیلی کار مهمی کردم!!!

دومین بازی ای که ساختم؛ 2008؛ بازی ریسینگ 3D ماشینی بود که در یک بزرگراه و بطور مستقیم بین دو ماشین و در ترافیک انجام میشد که بعضی جاها میشد وارد لاین مخالف هم شد. ایده این بازی از خودم نبود و بعد از انجام بازی Fast n Furious تصمیم گرفتم که منم بازی ای شبیه به اون بسازم. ساخت این خیلی بیشتر از 3 ماه طول کشید و من مجبور شدم برای ساخت اون اول با مفاهیم بازی سازی در محیط سه بعدی آشنا بشم؛ 3DS MAX رو تا حدی یاد بگیرم و بعد از اون زبان برنامه نویسی Lingo رو تا حدی کار کنم تا بتونم اونو در محیط Director بسازم. این بازی هم آنلاین بود ولی برای اجرا باید روی مرورگر Shockwave player نصب میشد. شاکویو پلیر رو خیلی ها اون زمان با فلش پلیر اشتباه میگرفتند در حالیکه دو چیز کاملا مجزا بودند. شاکویو برای ارائه ی محتوی سه بعدی در مرورگر طراحی شده بود در حالیکه فلش پلیر 2 بعدی بودی.
بعد از این بازی؛ چند تا بازی کوچیک لایی کشی و DRAG دیگه مشابه اون ساختم.


بازی 3D ساختن وقت گیر و خیلی خسته کننده بود. چیزی نبود که میخواستم برای همین گذاشتمش کنار و اومدم سراغ همون Flash و محیط 2D. علاقه زیاد به شبکه و بازی های آنلاین که داشتم باعث شد نسخه جدیدتری از شطرنج دو نفره رو مجدد بسازم! همینطور چکرز دو نفره رو.

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

بازی های که میساختم همه کوچیک و آنلاین بود! قابل دانلود نبودن و علاقه ای هم نداشتم کسی دانلودشون بکنه. دوست داشتم کاربر برای بازی کردن حتما وب سایت من رو باز کنه و تبلیغاتی که روی سایت دارم نمایش داده بشه و ازشون پول در بیارم. این سایت یعنی www.AlilG.com رو چند سال بعد که بازدیدش به شدت افت کرد تعطیل کردم.

تا اینجا چند سال شده بود که با Flash کار کرده بودم و از اینکه نمیشد بازی 3 بعدی در اون ساخت ناراحت بودم. تا نسخه جدیدتری از فلش اومد که به توسعه دهنده ها امکان میداد بازی های Fake 3D بسازیم. کتابخانه هایی مثل Away3D سعی میکردن کاری کنن رندر 3 بعدی در فلش انجام بشه! که نمیشد واقعا! با این حال من با Away3D هم یه بازی Fake 3D سعی کردم بسازم که نتیجه شد این. فقط تکسچر زدن منو ببینید روی تکسچر اتوبوس مدرسه :)).


و یا این یکی که با کوچیک و بزرگ کردن Sprite ها سعی میکردم حالت 3D فیک به بازی بدیم که بازیکن فکر کنه ماشین ازش دور و نزدیک میشه واقعا!

و

این بازی رو یه سایت چینی پابلیش کرد و چند صد دلاری از تبلیغات درآورد. بعد از این بیخیال 3D شدم و دو تا بازی 2D دیگه ساختم.

ساخت این باعث شد تا با Vector آشنا بشم. قبلش فقط pixel کار میکردم با اینکه محیط فلش برای Vector ساخته شده بود. که تجربه سخت ولی جالبی بود! ماشین ها رو برای اولین بار خودم تو Illustrator طراحی کردم و از وکتور آماده استفاده نکردم. اینم کلا شاید 100 دلار هم کار نکرد برام!


برای ساخت این یکی یعنی DOMINATOR TRUCK با BOX2D آشنا شدم و تازه فهمیدم به چه فیزیک عالی ای میشه باهاش تو فلش پیاده کرد. این بازی هم باعث شد چیزای زیادی یاد بگیرم ولی اینم در کل 50 دلار هم کار نکرد برام! بازی های من یه مشکل بزرگ داشت! عدم جذابیت! 😐 من اصلا نمیدونستم Game Design چی هست و سال ها به همین منوال ادامه دادم و تا همین امسال نمیدونستم مشکلم کجاست.

 

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

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

  

رفتن به سمت توسعه بازی های مولتی پلیری که کاربران حاضر بودند برای استفاده از آنها اشتراک ماهانه پرداخت کنند باعث شد بیشتر از قبل از طراحی بازی فاصله بگیرم و بیشتر برم به سمت شبکه؛ سرور؛ Linux و این سیستم ها. این بازی ها هیچ کدوم ارزشی از نظر Game Design نداشت. ایده جدیدی نبودن! بیلیارد صد ها پیش طراحی شده بود! شطرنج هزاران سال پیش طراحی شده بود. ساخت و طراحی این بازی بیشتر طراحی مدل GAME SERVER و نحوه اتصالات بین بازیکنان بود تا طراحی خود بازی. بیشتر وقت من صرف طراحی SERVER های این بازی شد در طول چند سال! تا طراحی خود بازی ها!

مهاجرت از FLASH به HTML5

با زیاد شدن گوشی های اندروید و آیفون دیگه کاربرها کمتر حوصله داشتن برای بازی کردن؛ 2 کیلو لپ تاپ رو بذارند روی پاشون و بیان تو سایت های فلش بازی کنن. اندروید و آیفون میونه خوبی با فلش نداشتند؛ و کم کم فلش پلیر دیگه برای گوشی های موبایل آپدیت بیرون نداد. بازی های فلش تو مرورگرهای موبایل کار نمیکرد؛ یا اگه کار هم میکرد عملا تاچ براشون کار نمیکرد و با ماوس فقط کار میکردن.  چیزی به اسم Responsive نداشت و این یعنی در مرورگرهای موبایل با هم مشکل نمایش داشت؛ برای همین بعد از چندین سال مجبور شدم با فلش خداحافظی کنم و برم HTML5 رو یاد بگیرم. ساختن بازی با HTML5 اون زمان بدون هیچ محیطی واقعا سخت بود. هر چند چیزایی مثل PHASER تازه داشت میومد ولی اونم هیچ محیطی برای طراحی نداشت. فقط یه تکست ادیتور داشتی و باید ازش یه بازی میکشیدی بیرون.با این حال من اکثر بازیهایی که قبلا با فلش ساخته بودم رو دوباره با HTML5 ساختم. همه چی فرق میکرد. تو فلش با XMLSocket برای اتصال بازیکن ها کار میکردم؛ اما HTML5 از RAW TCP پشتیبانی نمیکرد و باید سرور بازی ها هم سازگار با WebSocket میشد. تو فلش خیلی راحت انیمیشن ایجاد میکردم ولی تو HTML5 برای کوچیکتر انیمیشنی؛ حتی یه چراغ چشمک زن؛ باید کلی کد جاوااسکریپت نوشته میشد.

HTML5 و WebSocket هم برای من دردسرهای خودش رو داشت اما چیزای جالبی هم داشت!. یکسال بعد از شروع یادگیری بازی سازی با HTML5 با چیزی به اسم WebRTC آشنا شدم که اینم تجربه جالبی بود و 3 ماه طول کشید تا دقیقا ازش سر در بیارم. WebRTC به من این امکان رو داد که یه بازی فوتبال RealTime هم بسازم که هیچ SERVER ی نداشت. آره درسته بدون هیچ سروری و فقط با ایجاد یک شبکه RING بین کاربرها. هر کاربر موقعیت بازی رو به نفر بعدی میداد و این حلقه تکرار میشد. هر چند هیچوقت بازی محبوبی نشد. یادم هست وقتی با بچه ها تستش کردیم lag زیادی داشت و به درد اینترنت ایران نمیخورد.

با وجود علاقه زیادی که به بازی سازی با HTML5 پیدا کرده بودم؛ بعد از اینکه Facebook دو تا از بازی های اچی تی ام فایوه تخته ایم رو بدلیل مغایرت با قوانین (البته فیثبوک محترمانه ایمیلی فرستاد که یکسری بخش های بازی ها رو ادیت کنم و منم از اونجایی که اون دوره واقعا خسته و کلافه بودم و بدم نمیومد همه چی رو تعطیل کنم و برم دنبال یه کار دیگه بجز بازی سازی؛ زیر بار تغییرات نرفتم و ازشون خواستم حذف کنند بازیها رو؛ بعدا هم پشیمون شدم البته) حذف کرد به این نتیجه رسیدم که حداقل فعلا نه مارکت درست حسابی براش وجود داره و نه قابلیت رقابت با بازی های ANDROID و IOS رو داره و باید بیخیالش شد. و اینطوری شد که من کلا بازیسازی رو کنار گذاشتم تا امسال.

 

هدف از ساخت این وبلاگ

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