Gopher Academy
3.86K subscribers
930 photos
41 videos
280 files
2.12K links
🕸 Gopher Academy

🔷interview golang
https://github.com/mrbardia72/Go-Interview-Questions-And-Answers

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
graphics.gd: Use Go with the Godot Game Engine

🟢 خلاصه مقاله:
اGodot یک موتور محبوب برای ساخت بازی‌های 2D و 3D است و با وجود شباهت نام، ربطی به Go ندارد. پروژه graphics.gd پلی میان این دو می‌زند: یک لایه runtime و ابزار فراهم می‌کند تا بتوانید منطق بازی و اپ را با Go بنویسید و هم‌زمان از امکانات و گردش‌کار Godot بهره ببرید. این رویکرد، ویژگی‌های کراس‌پلتفرم Godot را حفظ می‌کند و اکنون حتی امکان ساخت اپ‌های iOS با Go را نیز فراهم کرده است. نتیجه، مسیری عملی برای توسعه‌دهندگان Go و کاربران Godot است که می‌خواهند کدنویسی را با Go انجام دهند بی‌آن‌که از مزیت‌های خود Godot چشم‌پوشی کنند.

#Go #Godot #Golang #GameDev #iOS #Bindings #CrossPlatform #OpenSource

🟣لینک مقاله:
https://golangweekly.com/link/174443/web


👑 @gopher_academy
🔥1
🔵 عنوان مقاله
Making a Cross-Platform Game using Pion and WebRTC Datachannels

🟢 خلاصه مقاله:
این مقاله رویکرد ساخت یک بازی چندسکویی را با تکیه بر Pion و WebRTC Datachannels شرح می‌دهد. ایده اصلی این است که با استفاده از WebRTC، ارتباطات دوطرفه و کم‌تاخیر بین مرورگر و مشتریان بومی برقرار شود و Pion نقش پیاده‌سازی WebRTC را در سمت سرور یا کلاینت‌های نیتیو بر عهده بگیرد. به‌دلیل پشتیبانی گسترده مرورگرها، همان لایه شبکه می‌تواند بدون پلاگین روی وب، دسکتاپ و موبایل کار کند.

راه‌اندازی فعلی ساده و آزمایشی است و محدودیت‌هایی دارد: اتکای احتمالی به سیگنالینگ حداقلی، تکیه بر TURN در شرایط دشوار شبکه، نیاز به تنظیم دقیق قابلیت‌های Datachannel (سفارش‌دهی/قابلیت اطمینان)، دشواری اشکال‌زدایی، و نبود سرور اقتدارگرا یا rollback netcode که همگام‌سازی، ضدتقلب و پایداری را سخت‌تر می‌کند. با این حال پتانسیل توسعه بالاست: کانال‌های چندگانه برای ترافیک‌های مختلف، به‌کارگیری پیش‌بینی سمت مشتری و snapshot interpolation، افزودن امنیت و ضدتقلب، لابی و matchmaking، و پایش و سنجه‌ها. این مسیر برای نمونه‌سازی و آزمایش شبکه‌سازی بلادرنگ چندسکویی بسیار امیدوارکننده است. نویسنده: Srayan Jana.

#WebRTC #Pion #GameDev #Multiplayer #DataChannel #CrossPlatform #Networking

🟣لینک مقاله:
https://golangweekly.com/link/174647/web


👑 @gopher_academy
1
🔵 عنوان مقاله
Building Conway’s Game of Life with raylib-go

🟢 خلاصه مقاله:
یک پروژه تفننی و آموزشی است: پیاده‌سازی Conway’s Game of Life با استفاده از raylib-go در Go. برنامه یک پنجره باز می‌کند، شبکه‌ای دوبعدی از سلول‌ها می‌سازد و هر فریم سلول‌های زنده و مرده را به‌صورت مستطیل‌های رنگی رسم می‌کند. قوانین استاندارد (شمارش ۸ همسایه و اعمال قوانین کم‌جمعیتی، بقا، تراکم و تولیدمثل) با double-buffering اجرا می‌شوند تا محاسبات نسل بعدی تمیز و قابل اتکا باشد و در صورت نیاز امکان دورپیچی مرزها هم در نظر گرفته شده است. تعامل‌ها شامل توقف/ادامه، گام‌به‌گام، تنظیم سرعت، پاک‌سازی یا تصادفی‌سازی صفحه و تغییر وضعیت سلول‌ها با کلیک ماوس است؛ ذخیره/بارگذاری الگوهای ساده هم قابل افزودن است. حلقه به‌روزرسانی مستقل از نرخ رندر زمان‌بندی می‌شود تا اجرای روان و کارآمد حفظ شود و روی Windows، macOS و Linux به‌خوبی اجرا می‌شود. کد نهایی ارائه شده و برای توسعه ایده‌هایی مانند کتابخانه الگوها، کنترل‌های بهتر زوم/پن، گرادیان‌رنگ بر اساس سن سلول و ارزیابی عملکرد قابل گسترش است.

#ConwaysGameOfLife #raylib #raylibgo #Go #GameDev #CellularAutomata #GraphicsProgramming

🟣لینک مقاله:
https://golangweekly.com/link/174642/web


👑 @gopher_academy
1
🔵 عنوان مقاله
The new() Function Will Take an Expression in Go 1.26

🟢 خلاصه مقاله:
در Go 1.26 یک بهبود کوچک اما کاربردی می‌آید: تابع new() می‌تواند یک عبارت بگیرد، نه فقط یک نوع؛ Chris Siebenmann توضیح می‌دهد که این تغییر برخی الگوهای تخصیص و مقداردهی را ساده‌تر و خواناتر می‌کند. Tim Little با استفاده از raylib-go یک شبیه‌سازی آب بلادرنگ در Go می‌سازد و نشان می‌دهد چگونه می‌توان با ترکیب کارایی Go و سادگی raylib، رندر و فیزیک ساده را پیاده‌سازی کرد. Vladimir Makarov به تخصیص ثبات در کامپایلر Go می‌پردازد و تأثیر آن بر کارایی، استراتژی‌ها و ملاحظات بخش SSA را شرح می‌دهد. در نهایت، Ted Unangst یادآوری می‌کند که «دم» برش‌ها در Go بی‌نهایت رشد نمی‌کند و باید به ظرفیت، بازبرش و رفتار append توجه کرد تا از خطاها و افت کارایی جلوگیری شود.

#Go #Golang #Go126 #Compiler #RegisterAllocation #raylib #GameDev #Slices

🟣لینک مقاله:
https://golangweekly.com/link/175062/web


👑 @gopher_academy
2