zpl-c/librg
🚀 Making multi-player gamedev simpler since 2017
Thành tựu nổi bật
Những danh hiệu mới nhất của dự án
#1 Repository Của Tuần
#1 Repository Của Tuần
#3 Repository Của Tuần
🎮 librg: Đồng bộ thế giới game đa người chơi nhẹ nhàng bằng C99
Một thư viện middleware nhẹ giữa lớp truyền dữ liệu mạng và logic game, giúp quản lý thực thể, chủ nhân và tái tạo thế giới một cách hiệu quả.
librg là một thư viện nhẹ viết bằng ngôn ngữ C99 theo phong cách single-header, hỗ trợ đa nền tảng. Dự án ra đời năm 2017 với mục tiêu giải quyết độ phức tạp khi thiết lập và quản lý luồng dữ liệu trong game đa người chơi và server dedicated. Thay vì đồng bộ mọi thực thể với mọi người chơi như cách truyền thống, librg chỉ đồng bộ những thực thể mà người chơi có thể nhìn thấy.
✨ Điểm nổi bật
- Theo dõu thực thể: theo dõi thực thể thuộc thế giới nào và trạng thái hiện tại của chúng.
- Theo dõi chủ nhân: xác định người chơi nào sở hữu thực thể nào.
- Quản lý quan tâm khu vực (AoI): kiểm soát những gì người chơi có thể nhìn thấy.
- Tái tạo thế giới: tái tạo một bản sao giới hạn của thế giới dựa trên góc nhìn của từng người chơi.
- Hỗ trợ thế giới 2D/3D: tương thích với nhiều kích thước thế giới khác nhau.
- LOD mạng: hỗ trợ cấp độ chi tiết dựa trên bán kính nhìn thấy.
- Đa nền tảng & nhẹ: single-header, dễ tích hợp vào dự án.
💡 Vì sao đáng chú ý
Trong các trò chơi mạng truyền thống, mỗi thực thể thường được đồng bộ với tất cả người chơi, dẫn đến lãng phí băng thông khi số lượng thực thể tăng. librg giải quyết vấn đề này bằng cách chỉ đồng bộ thực thể với những người chơi nằm trong tầm nhìn thấy của chúng, giảm đáng kể lượ lượng dữ liệu truyền tải.
Thư viện thiết kế giao diện chung để tích hợp với hầu hết các thư viện truyền tin mạng như ENet, GameNetworkingSockets, yojimbo, KCP, WebSocket, WebRTC… Chỉ cần thư viện hỗ trợ gửi/nhận buffer char * và xác định người gửi/nhận bằng ID nguyên số là có thể dùng được với librg.
#GameDev #C #Networking #Multiplayer #OpenSource #TiniX
Dự án tương tự
Khám phá các dự án và mô hình AI khác có sự tương đồng.
A curated list of Multiplayer Game Network Programming Resources
Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more