2 điểm bởi GN⁺ 2023-12-22 | 1 bình luận | Chia sẻ qua WhatsApp

Engine game Moddio 2

  • Moddio là một engine game ưu tiên chế độ nhiều người chơi.
  • Tích hợp sẵn mã mạng có máy chủ toàn quyền, nội suy snapshot và tính năng hiệu chỉnh phía máy khách.
  • Hỗ trợ hơn 50 người chơi đồng thời hoặc hơn 300 đối tượng chuyển động trên một VM 5 USD/tháng.

Bản demo

  • Bao gồm sẵn: engine vật lý Box2D, mã mạng có máy chủ toàn quyền, hệ thống kho đồ và vật phẩm, thuộc tính tích hợp sẵn (HP, năng lượng, v.v.) và tốc độ hồi, hệ thống hội thoại, cửa hàng, điều khiển đơn vị, đạn và di chuyển đơn vị có dự đoán phía máy khách, AI đơn vị và tìm đường A*, điều khiển trên di động, v.v.

Cách chạy game

  • Cần Node 18 trở lên.
  • Sau khi thiết lập kho lưu trữ, chuyển đến thư mục /src, đổi tên game-sample.json thành game.json, rồi quay lại thư mục gốc và chạy máy chủ.
  • Giờ bạn có thể chơi game tại http://localhost:80.

Cách tạo game mới từ đầu

  • Game Moddio được tạo và chỉnh sửa bằng trình biên tập game Moddio do https://www.modd.io cung cấp.
  • Sau khi tạo game, bạn có thể xuất game.json để dùng cho bản cài đặt cục bộ.
  • Đổi tên JSON game đã xuất thành game.json và chuyển nó vào thư mục ./src.

Cách đóng góp

  • Moddio hoàn toàn miễn phí và mã nguồn mở theo giấy phép MIT.
  • Để tìm hiểu cách trở thành người đóng góp, hãy truy cập trang hướng dẫn đóng góp.

Ghi công

  • Có sử dụng Isogenic game engine, Phaser, PlanckJS, uWebsocket, Box2D, tài nguyên Kenney, Hero Icons, v.v.

Ý kiến của GN⁺

  • Engine game Moddio chuyên biệt cho phát triển game nhiều người chơi và cung cấp các tính năng mạnh mẽ để hỗ trợ số lượng lớn người chơi với chi phí thấp.
  • Đây là mã nguồn mở và liên tục phát triển nhờ đóng góp của cộng đồng, nên cũng dễ tiếp cận với các kỹ sư phần mềm mới vào nghề.
  • Tích hợp sẵn nhiều tính năng cần thiết cho phát triển game, giúp nhà phát triển có môi trường để nhanh chóng tạo nguyên mẫu và thử nghiệm.

1 bình luận

 
GN⁺ 2023-12-22
Ý kiến trên Hacker News
  • Lo ngại về việc trang đăng ký trong ứng dụng Android yêu cầu nhập tên người dùng và mật khẩu Google vào một nơi trông giống biểu mẫu web bên trong ứng dụng

    • Người dùng không thể biết liệu ứng dụng có đang nhìn trộm mật khẩu hay không
    • Câu hỏi liệu có phải việc triển khai mẫu thông thường là chuyển sang trang đăng nhập rồi quay lại ứng dụng là khó, hay do vấn đề hỗ trợ đa nền tảng
  • Việc thu hút người dùng cho một game engine không hề dễ, đặc biệt nếu đó là mã nguồn đóng

    • Câu hỏi về việc họ đã duy trì tốt như thế nào thông qua thư viện trò chơi trên trang web, và đó là tác phẩm của vài người bạn hay là thành quả của một cộng đồng năng động
  • Bày tỏ sự ngạc nhiên trước việc modd.io là một framework/nền tảng phổ biến dùng để tạo game IO

  • Một trong những cách chắc chắn để không bao giờ hoàn thành trò chơi là bắt đầu bằng việc tự viết engine

    • Có thể tự tạo công nghệ riêng, nhưng công nghệ đó nên được điều chỉnh cho phù hợp với dự án, thay vì trở thành một nền tảng game tổng quát
  • Tò mò về trải nghiệm với khoảng 50 người chơi khi tham gia máy chủ Brains

    • Chuyển động bị giật do WebSocket
    • Thắc mắc về nén mạng, đặc biệt nghi ngờ liệu nén LZ-string có đủ hay không
    • Chi phí băng thông đám mây có thể rất cao nên vẫn còn nhiều chỗ để cải thiện ở khía cạnh mạng
  • Câu hỏi về động lực tạo ra một engine mới

    • Lý do tích hợp sẵn các tính năng cụ thể vào engine, chẳng hạn như hệ thống vũ khí, cửa hàng, đạn bắn dự đoán phía client và di chuyển đơn vị
    • Băn khoăn liệu những tính năng này có thực sự cần cho một game engine hay đây là engine dành cho một thể loại game cụ thể
  • Ưu điểm của low-code và trình biên tập tương tác, có vẻ phù hợp với các dự án sở thích

    • Hứng thú với việc tạo bản đồ và thế giới
    • Câu hỏi liệu cách tốt nhất có phải là xuất game ra JSON, chỉnh sửa bằng lập trình rồi nhập lại hay không
    • Sự e ngại về việc hiểu và chỉnh sửa JSON, cùng đề xuất về cách tiếp cận
  • Chỉ ra rằng backend multiplayer dựa trên Node.js có thể ngày càng chậm khi số lượng kết nối tăng lên

    • Câu hỏi về cách đã giải quyết vấn đề này và các lựa chọn thay thế như Go
  • Bày tỏ sự cảm ơn đối với dự án mã nguồn mở và dự định sẽ xem kỹ mã nguồn trong kỳ nghỉ cuối năm

  • Có thể hữu ích cho việc tạo AI agent làm NPC, đồng thời cảm ơn vì đã phát hành công việc này dưới dạng mã nguồn mở