بازی که باخت تو را میفروشد؛ درس بازاریابی از Block Blast
نویسنده: آرش لطیفی — موسس The DevArt
مهندسی معکوس Block Blast نشان داد سرور قواعد بازی و مرگ را کنترل میکند تا ارزش تبلیغ را بالا ببرد — درسهای عملی برای درآمدزایی اپ و وب.
TL;DR — یک مهندس معکوس فهمید Block Blast سرورمحور تصمیم میگیرد کِی ببازی، تا دقیقا وقتی ارزش تبلیغ بالاست «مرگ» را تحویلت بدهد؛ بین ژانویه تا مه ۲۰۲۶ حدود ۱۲۷ میلیون دلار فقط از تبلیغ درآورده. درسها برای هر کسبوکاری که با تراکنش یا تبلیغ پول درمیآورد کاربردی است.
اواسط اکتبر یک تحلیل تکنیکال منتشر شد که واقعا خواندنی است: سازندهاش ویدیویی درباره Block Blast گذاشته بود که بیش از ۱۵ میلیون بازدید گرفت، بعد اپ اندروید نسخه ۱۰.۸.۲ را با jadx و کتابخانه Cocos بومی را با Ghidra دیکامپایل کرد. چیزی که پیدا کرد، یک درس بازاریابی کامل است — و اتفاقا برای صاحبان کسبوکار، نه فقط گیمرها.
بازیای که روی گوشی تو نیست
اولین یافته شگفتزدهکننده این بود که داخل پکیج دانلودشده تقریبا هیچ چیز جالبی نبود. بازی از ماژولهای کوچکی به نام «trait» ساخته میشود که هر کدام variantهایی به نام «arm» دارند. موقع اجرا، سرور یک کانفیگ میفرستد که مشخص میکند کدام arm کدام trait را میگیری، و اپها بهصورت جاوااسکریپت رمزنگاریشده دانلود میشوند.
عددها گویاست: کانفیگ نصب او حدود ۷۰۰ trait نام برده بود، ۲۵۴ تا برای نصب او انتخاب شده بود و ۱۰۱ تا بعد از نصب دانلود شدند. یعنی دو نفر که کنار هم بازی میکنند عملا دو بازی متفاوت اجرا میکنند، و استودیو بدون آپدیت اپ میتواند بازی تو را عوض کند.
این مدل «کلیکنت لاغر، سرور حکمفرما» فقط مال گیم نیست. هر اپ یا وباپی که تنظیمات قیمت، پیشنهادها یا محتوایش را از سرور میکشد، همین قدرت را دارد — و Block Blast نشان میدهد تا کجا میشود از آن استفاده کرد (و کجا دیگر اخلاقی نیست).
قانونی که منتظر تبلیغ گران میماند
قلب ماجرا یک فایل جاوااسکریپت رمزگشاییشده به نام RewardHighValueAdHarvestTrait بود — ۱۵,۶۱۶ بایت جاوااسکریپت مینیفای شده. کانستراکتورش پارامترها را ست میکند:
منطق در تابع shouldTriggerDeath سه شرط را باهم چک میکند:
ترجمه انسانی این کد:
- سه تبلیغ اخیرت را کامل دیده باشی — پرچم از کالبرک
onUserRewardedدر AppLovin MAX میآید؛ تبلیغی که زود ببندی false میماند. - تبلیغی که الان لود شده حداقل ۳.۵ برابر تبلیغ قبلی ارزش داشته باشد — eCPM هر اسلات آماده ضربدر ۱۰۰۰ میشود و بالاترین مقایسه میشود.
- از رکوردت حدود ۱۰۰۰ امتیاز رد شده باشی — برای هر بازیکن یک آستانه ست میشود (نصب او ۱۰۰۰ بود؛ کانفیگهای ۵۰۰ و ۷۵۰ هم در اپ بود). اگر بعد از فiring ریوایو کنی، آستانه یک پله بالا میرود تا همان بازی دوباره شلیک کند.
بعدش بازی لیست «bottom offer» را با یک ژنراتور کشنده جایگزین میکند — یعنی مهرههایی که نمیتوانی جا بدهی، دقیقا وقتی تبلیغ گران لود شده.
اعداد مالی هم نگاهکردنی است: بین ژانویه تا مه ۲۰۲۶، درآمد تخمینی Block Blast فقط از تبلیغ حدود ۱۲۷ میلیون دلار بود — در همان ماهها Candy Crush Saga حدود ۸۱.۱ میلیون دلار (تخمین Sensor Tower). بازی «سادهتر» از غول ژانر جلو زده، با همان ابزارها.
جدول مقایسه دو دنیا
| موضوع | بازی کلاسیک (آفلاین) | مدل سرورمحور مثل Block Blast | | --- | --- | --- | | قواعد بازی | ثابت در باینری | هر لحظه از سرور، بدون آپدیت اپ | | سختی | یکسان برای همه | شخصیسازی شده، حتی دو نفر متفاوت | | تصمیم درآمد | در کد، قابل ممیزی | در کانفیگ، نامرئی برای کاربر | | ریسک اعتماد | کم — اگر فاش شود، قدیمی بوده | بالا — کشف یعنی رسوایی ویدیوویروسی |
چکلیست برای کسبوکار تو
قرار نیست تقلب کنی. قرار است همین اهرمها را صادقانه استفاده کنی:
- [ ] قیمت، تخفیف یا محتوای دینامیک را از سرور/کانفیگ بده نه داخل بیلد — تا بتوانی بدون آپدیت اپ تست کنی
- [ ] هر تصمیم قیمتی یا نمایش تبلیغ را لاگ کنی تا اگر روزی پرسیده شد، قابل دفاع باشد
- [ ] پیشنهاد (offer) را به لحظه «آماده خرید کاربر» گره بزن، نه به فشار — تفاوت شخصیسازی و دستکاری همین است
- [ ] آزمایش A/B را با آستانههای معقول ست کنی (مثل ۵۰۰/۷۵۰/۱۰۰۰)، نه با اعداد تهاجمی
- [ ] یک خط قرمز بنویسی: چه چیزی هرگز نمیخواهی اتومات تصمیم بگیرد — و در code review نگهش داری
نکته آخر: این تحلیل دقیقا به همین دلیل وایرال شد که بازیها «عادلانه» به نظر میرسند اما نیستند. اعتماد دارایی بلندمدت است؛ درآمد ناشی از دستکاری، تا اول ویدیوی ۱۵ میلیون بازدیدی دوام دارد.
Q: این تحلیل تقلب وابسته به سرور را نشان میدهد؛ برای من که اپ ندارم چه درسی دارد؟
درس اصلی «کدام لحظه درآمدزایی میکنی» است. فروشگاه آنلاینی که تخفیف را دقیقا وقتی کاربر سبد را رها کرده نشان میدهد، همان اصل را صادقانه اجرا میکند — گره زدن پیشنهاد به لحظه واقعی نیاز، نه ساخت نیاز مصنوعی.
Q: آیا این مدل سرورمحور برای وبسایت هم عملی است؟
بله و رایج است: feature flags، تجربه شخصیسازیشده، و قیمتگذاری دینامیک همه همین ساختار را دارند. تفاوت فقط در شفافیت است — وبسایت شما را میشود با DevTools دید، و همین خودش یک محرک برای صداقت است.
Q: عجیب نیست که کاربرها نفهمیده بودند؟
فهمیدند — فقط ثابت نمیشد. بازیها هر بار متفاوت رفتار میکنند و کاربر «شاید من بد بازی کردم» را توجیه میکند. وقتی ویدیو و دیکامپایل منتشر شد، جواب روشن شد؛ همین ریسبک کشف است.