طراحی موتور مرحله: از مهندسی کد تا مهندسی عادت

مقدمه: گیم‌ جم قزوین و آشنایی‌ها

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

اما هیچ چیزی از ساخت عادت، رفتار های بازی ها و داستان های بازی ها نمیدونیم

مرور دو سال اخیر: از توقف تا بازگشت

اول بیایم بگیم از دو سال پیش تا الان چی گذشت.

دو سال پیش تا ده سال پیش: آغاز با روح‌لند

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

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

تجربیات اولیه: از ۱۳۹۳ و چت‌ روم‌ها

داستان از ساختن یک محصول خیلی خیلی ساده شروع شد. ما از سال ها پیش، یعنی حوالی سال ۱۳۹۳، تجربیات مختلفی داشتیم: از ساختن چت روم ها و شبکه های اجتماعی اولیه، و حتی قبل از اینکه Viber وارد ایران بشه، مشغول ساختن سیستم های چت داخلی بودیم.

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

چالش‌های قانونی و نظارت

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

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

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

رشد فنی: از لاراول تا ماکروسرویس‌ها

در طول این مدت، ما یاد گرفتیم مهندس های نرم افزار بهتری بشیم. درست در وقتی که همه داشتن با لاراول سایت می ساختن، ما سؤالات مهم تری داشتیم: آیا Node.js محیط اجرای بهتری برای JavaScript هست؟ یا چطور می شه به نحوه مطلوب fine tune اش کرد؟ در این مدت، معماری ماکروسرویس رو یاد گرفتیم و محصول رای کانکت متولد شد؛ یک کتابخونه چندمنظوره برای مدیریت ارتباط سرویس های مختلف با هم.

چگونگی عملکرد رای کانکت

چطوری؟ مثل اینکه سرویس احراز هویت بتونی با سرویس کیف پول کاربر صحبت کنه. رای کانکت به خوبی این رو مدیریت می کرد و با انتخاب صف های هوشمند مثل RabbitMQ و NATS، تونسته بود سوییچینگ خوبی بین bus و ارتباطات سرویس ها انجام بده.

چالش‌های جدید و راه‌حل‌ها

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

بازگشت به پروژه‌های قدیمی: بازسازی در ۱۴۰۲

همه این ها من رو رسوند به جایی که تصمیم گرفتم یکی از پروژه های قدیمیم رو در سال ۱۴۰۲ بازسازی کنم. قبلا پروژه ای به اسم شهرک رایگان من ساخته بودیم که من مدیر پروژه ش بودم؛ یک محیطی که کاربران توش راه می رفتن و با هم حرف می زدن و چت می کردن.

در سال ۱۴۰۲، با عنوان مجدد شهرک رایگان من و سپس روح لند، ساختیمش؛ که البته به دلیل بزرگی پروژه و سربازی من، متوقف شد.

امروز: از کت روم تا مهندسی عادت

و حالا با پروژه گربه چت و امروز با نام کت روم، برگشتیم: یک سوپر اپلیکیشن برای بازی های دو نفره و چند نفره و حتی سولو.

کت روم جمع شدن تمام دانش فنی ما در یک پروژه بود تمامی اون داستان ها یک جا

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

در این مرحله از سفرمون، فهمیدیم که ساختن یک محصول فنی عالی فقط نصف راهه. نصف دیگه، نگه داشتن کاربرها و تبدیلشون به درآمد پایداره. اینجاست که کتاب Hooked از نیر ایال به کمکمون اومد؛ یک مدل قدرتمند به نام “Hook Model” که بر پایه چهار مرحله ساخته شده: Trigger (محرک)، Action (عمل)، Variable Reward (پاداش متغیر) و Investment (سرمایه‌گذاری).

ما در کت روم، این مدل رو به عنوان پایه‌ای برای ایجاد عادت‌ های کاربری به کار بردیم. مثلاً محرک‌های خارجی مثل نوتیفیکیشن‌های بازی‌های روزانه، کاربران رو به اپ می‌کشوند (Trigger). بعد، عمل ساده‌ای مثل ورود به یک بازی دو نفره، فوری اتفاق می‌افته (Action). پاداش متغیر، مثل جوایز تصادفی در بازی‌های سولو یا تعاملات غیرمنتظره با دوستان، اعتیادآور می‌شه (Variable Reward). و در نهایت، سرمایه‌گذاری کاربر – مثل ساخت پروفایل شخصی یا جمع‌آوری امتیازات – باعث می‌شه برگردن و بیشتر بمونن (Investment).

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

طراحی Core Loop:

در این مرحله با ۴ واحد پولی کلی شروع کردیم پولک، الماس، انرژی، و امتیاز وفاداری

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