اندیشه ها و نظرات یک برنامه نویس و بازی ساز



من و دوستم سینا آل علی در انتهای دوره دبیرستان/شروع دانشگاه با فردی آشنا شدیم از طریق یکی از دوستای سینا که می خواست ده هزار دلار پولشو سرمایه بده به تیمی که با هم یه پروژه تکنولوژیک بسازند. می شد نه میلیون که  تو یه سری رفت و آمد تصمیم گرفتیم بازی کشاورزی شبیه هاروست مون بسازیم ولی به شکل شبکه ای و سه بعدی که بتونی با همسایه هات که آدمای واقعیند کارای مختلف مثل مسابقه اسب سواری کنی و به هم کمک کنید تو کار و . یه سری کار درست کردیم و یه سری اشتباه. قطعا مسایل شخصیش بعد 12 سال کمتر یادمه ولی فنی هاش بیشتر. به سینا هم اینو دادم که تهش نظرات اضافه بر ایناشو بنویسه.

ما دو کار درست کردیم یک داشتن ایده ای با اندازه نسبتا مناسب و دوم تحقیقات جامع از تکنولوژی های مختلف ساخت بازی و ساخت MMO از جمله big world, Hero Engine, monumental engine و . اولش که خواستیم شروع کنیم فکر کردیم بخشای بلادرنگ رو با شبکه خود یونیتی که رکنت بود و بخشای دیگه رو با smartfox پیاده سازی می کنیم ولی به زودی فهمیدیم که نمی تونیم و رفتیم دنبال تکنولوژی درست. کلی گشتیم. اون وقت Photon دو محصول داشت و خیلی برامون مهم بود تکنولوژی کاملی باشه که با دو نفر برنامه نویس اصلی بشه باهاش همه چیو نوشت برای همین هر تکنولوژی که مثلا باید 100 تا فایل ادیت می کردی و به سه زبون توش کد می زدی رو حذف کردیم. کتاب سی شارپ گرفتیم programming C# 3.0 و کل مستندات یونیتی رو خوندیم و نفری یه بازی کوچیک ساختیم. آخر رسیدیم به تکنولوژی های شرکت MuchDifferent و حتی با خودشون هم رو بازی Badanamu کار کردیم و بعدا ها من بیشتر هم کار کردم. 


اشتباهمون در مورد تکنولوژی این بود که در باره بعضی چیزای دیگه مثل substance و تکنولوژی کش کردن داده در براوزر برای web player یونیتی زیاد وقت گذاشتیم و یک کمی هم رفتیم دنبال خرید تکنولوژی های گرونی که بالا اسم بردم قبل بررسی کامل که البته بررسی خوب مستنداتشون کلی بهمون چیز یاد داد. خیلی هم کلا به ابزار اهمیت می دادیم و مثلا یه ابزار نوشتیم از تو منو های یونیتی توابع SVN رو در اختیارمون می ذاشت و فقط یه روز نوشتنش وقت گرفت ولی خوب سرعتمونو می برد بالا و برای خیلی چیزای دیگه مثل ساخت prefab و قرار دادن object رو زمین و هم ابزار داشتیم و این بعد ها هم فکر کنم کم و بیش تو کار هردومون ادامه پیدا کرد.


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


این پست رو بیشتر بدین دلیل می نویسم که تو فیدبک پست قبلیم و پستای قبلش راجع به کار خارجی، شایان و دیگران درخواست کرده بودند و مطلبم کامل نبود و توضیحات بیشتری می خواست. راجع به یافتن پروژه قبلا نوشته بودم که مثلا unity connect و reddit از معدود جاهایی هستند که الآن هنوز ایرانیا می تونند و برند و پروژه بگیرند و برای همین راجع بهش صحبت نمی کنم. البته در باره گرفتن پروژه های مربوط به هنر مثل مدل سازی و concept و . ممکنه از جاهای دیگه ای هم ممکن باشه که من ندونم. اگه از دوستان هنرمند کسی لطف می کنه و این مطلب رو می خونه، لطفا تو نظرات توضیح بده و یا خودش پستی بنویسه و بده من که لینکشو منتشر کنم. 

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

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

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

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

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

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


آخرین ارسال ها

آخرین جستجو ها

aboayinek سرگرمی و جوک ، اس ام اس راهنما و ترفند های ایرانسل و همراه اول يادداشت‌‌هاي جواهري جزیــــــره بانک مقالات nasihatcon Angel of Death اجناس فوق العاده