BornaDev
برنا للتطوير
استودیو مهندسی نرم‌افزار
المشاريعالخدماتالتقنياتفريق العملالعملاءالمدونةعن الشركةتواصل معنا
ابدأ مشروعك
BornaDev
برنا للتطوير
استودیو مهندسی نرم‌افزار

استوديو هندسة برمجيات موجه نحو المنتجات، متخصص في المنصات السحابية المتينة والواجهات البرمجية الآمنة.

روابط سريعة

  • الرئيسية
  • المشاريع
  • دراسات الحالة
  • الخدمات
  • التقنيات
  • فريق العمل
  • العملاء
  • المدونة
  • عن الشركة
  • تواصل معنا

الخدمات

  • هندسة المنصات الخلفية
  • تطوير واجهات APIs
  • منصات الويب المؤسسية
  • حلول النشر و DevOps

اللغات المعتمدة

Django REST API v1 Connected
© 2026 BornaDev (برنا توسعه). جميع الحقوق محفوظة لشركة برنا للتطوير.
تم التصميم والتطوير وفق معايير هندسية متقدمة.
دراسات الحالة
دراسات حالة معمقة

رزم‌آور؛ ساخت بازی سه‌بعدی فارسی از منطق نبرد تا شبکه

رزم‌آور نمونه‌ای از توسعه بازی دسکتاپ با فناوری‌های JavaScript است: رندر سه‌بعدی با Three.js، اجرای دسکتاپ با Electron و ارتباط چندنفره با امکانات شبکه Node.js. محصول، پنج نقشه، مأموریت‌های تک‌نفره، مبارزه آزاد آنلاین و دارایی‌های صوتی فارسی را در یک تجربه واحد ترکیب می‌کند.

Associated Project: رزم‌آور؛ میدان پهلوانان

التحدي

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

الحل الهندسي

سورس مسئولیت‌ها را میان ماژول‌های گرافیک، نقشه، منطق میدان، عملیات و جهان چندنفره تقسیم می‌کند. محیط Electron، قابلیت‌های شبکه را از طریق یک رابط IPC محدود به بخش نمایش متصل می‌کند. ارتباط مسابقه با TCP و کشف محلی با UDP تعریف شده است. متن‌ها و فایل‌های صوتی فارسی در ماژول‌ها و دارایی‌های مستقل قرار دارند و گردش‌کار ساخت، بررسی منطق و شبکه را پیش از بسته‌بندی تعریف می‌کند.

النتائج التشغيلية

خروجی، یک بازی دسکتاپ با حالت تک‌نفره و چندنفره و محتوای فارسی است. مخزن، سورس، تصاویر واقعی، فایل‌های صوتی محلی، اسکریپت‌های آزمون و تنظیمات ساخت برای سه خانواده سیستم‌عامل را در اختیار توسعه‌دهنده می‌گذارد. اعداد پنج نقشه، چهار اسلحه و ۵۳ دیالوگ از دارایی‌ها و مستندات همین نسخه گرفته شده‌اند؛ عددی برای نرخ فریم، تأخیر شبکه یا تعداد کاربران ادعا نشده است.

معمارية النظام

game.js جریان بازی و اتصال رابط به رویدادها را مدیریت می‌کند. graphics.mjs مسئول نمایش سه‌بعدی است و maps.mjs و arena.mjs تعریف میدان، برخورد و بخش‌هایی از منطق نبرد را در بر دارند. operations.mjs مأموریت‌ها، نارنجک‌ها، فروشگاه و بقا را جدا می‌کند. multiplayer-world.mjs و network.cjs وضعیت معتبر سرور و ارتباط شبکه را پوشش می‌دهند. main.cjs، preload.cjs و network-ipc.cjs مرز Electron و رابط شبکه را تعریف می‌کنند؛ در تنظیمات پنجره، contextIsolation و sandbox فعال و nodeIntegration غیرفعال است.

الأقسام التقنية

تجربه بازی؛ پنج میدان با هویت متفاوت

TEXT_IMAGE

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

تجربه بازی؛ پنج میدان با هویت متفاوت

مأموریت‌هایی فراتر از حذف همه دشمن‌ها

TEXT_IMAGE

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

مأموریت‌هایی فراتر از حذف همه دشمن‌ها

چهار اسلحه و اطلاعات روشن در میدان

TEXT_IMAGE

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

چهار اسلحه و اطلاعات روشن در میدان

چندنفره با میزبانی شخصی

TEXT_IMAGE

میزبان سرور را از داخل برنامه ایجاد می‌کند و ظرفیت دو، چهار یا هشت بازیکن را انتخاب می‌کند. جست‌وجوی شبکه محلی با UDP و ارتباط مسابقه با TCP پیاده‌سازی شده است. اتصال مستقیم به آدرس میزبان نیز در دسترس است؛ اتصال اینترنتی به تنظیم شبکه و دسترسی ورودی میزبان وابسته است.

چندنفره با میزبانی شخصی

هویت فارسی در تصویر و صدا

TEXT

منوها و نوشته‌های بازی فارسی‌اند و نام‌های ایرانی برای شخصیت‌ها استفاده شده است. ۵۳ فایل MP3 آماده در مخزن قرار دارند و به‌صورت محلی پخش می‌شوند. طبق مستندات دارایی‌ها، صداها با Piper و مدل فارسی تولید شده‌اند؛ مدل تولید صوت جزئی از زمان اجرای بازی نیست.

از ماژول‌های مستقل تا خروجی دسکتاپ

TEXT

تفکیک منطق، گرافیک، عملیات، شبکه و صدا امکان بررسی مستقل بخش‌ها را فراهم می‌کند. اسکریپت‌های مخزن منطق بازی، نقشه‌ها، چندنفره، صدا و ارتباط شبکه را پوشش می‌دهند. پیکربندی electron-builder و GitHub Actions ساخت خروجی برای Windows، Linux و macOS را تعریف می‌کند؛ تنظیم بیلد به‌تنهایی تضمین اجرای بدون مشکل روی همه دستگاه‌ها نیست.

← سجل المشاريع الهندسيةابدأ مشروعك