Tìm hiểu trò chơi EzySmashers - Phần 1: Game MMO phát triển bởi người Việt
Trở lại các blogTrước khi đọc bài viết
Để có thể hiểu về EzySmashers, các bạn nên tìm hiểu trước về ezyplatform. Mọi người có thể tham khảo bài viết dưới đây :
Giới thiệu về ezyplatform.Giới thiệu về EzySmashers
EzySmashers là một trò chơi MMO được phát triển bởi tổ chức mã nguồn mở Young Monkeys Việt Nam, sử dụng EzyPlatform cho phần server và Unity cho client. Trò chơi này được thiết kế để đem lại trải nghiệm hành động thời gian thực, với những tính năng hấp dẫn như hệ thống quản lý phòng chơi, quản lý cửa hàng vật phẩm, và tính năng bảo mật người dùng.
Trong EzySmashers, người chơi sẽ tham gia vào những trận chiến gay cấn, sử dụng búa để đánh bại đối thủ trên đấu trường. Khi một người chơi bị hạ, họ sẽ phải rời trận và bắt đầu lại. Trò chơi có cơ chế client-side prediction và server reconciliation để giảm thiểu độ trễ, cùng với tính năng entity interpolation giúp đảm bảo trải nghiệm mượt mà dù cho mạng có bị trễ.
Ngoài ra, EzySmashers còn cung cấp bảng điều khiển quản trị mạnh mẽ cho phép nhà phát triển theo dõi hoạt động của người chơi, hiệu suất máy chủ, và thực hiện các điều chỉnh ngay lập tức nhằm tối ưu hóa trải nghiệm người dùng. Hệ thống xác thực mạnh mẽ giúp đảm bảo an toàn cho tài khoản người chơi và ngăn chặn việc truy cập trái phép.
EzySmashers cũng hỗ trợ WebGL, giúp người chơi truy cập và tham gia game ngay trên trình duyệt mà không cần cài đặt phần mềm, tăng tính tiện dụng và mở rộng đối tượng người chơi. Trò chơi hiện có sẵn trên nền tảng EzyPlatform và có thể được cài đặt dễ dàng thông qua các plugin.
Các thuật toán mà EzySmashers đã cài đặt
- Thuật toán nội suy để đồng bộ vị trí giữa client và server.
- Thuật toán đảm bảo thứ tự gói tin để game không bị giật lag.
- Các thuật toán xử lý khác ở cả client và server.
Các tính năng mà EzySmashers cung cấp
- Gameplay.
- Game lobby.
- Quản lý người chơi phòng chơi.
- Quản lý vật phẩm.
- Payment: Tích hợp EzyPayment, mua hàng trong ứng dụng để cho phép người dùng mua vật phẩm trong game.
- Leaderboard: Thêm hỗ trợ xem bảng xếp hạng toàn cầu.
- Achivement: Thêm hỗ trợ để người chơi đạt được thành tựu.
- Chat: Cho phép người chơi trò chuyện trong sảnh chờ và phòng chơi.
- AssetBundles: Cập nhật tài nguyên game từng bước một.
- Pagination: Tải dữ liệu khi cần khi người dùng cuộn trang.
- Quản lý bot.
- Âm thanh: Thêm hỗ trợ nhạc nền, hiệu ứng âm thanh và cài đặt để bật/tắt chúng.
- Phần quản trị cài đặt trò chơi.
- Các tính năng được thừa hưởng sẵn từ EzyPlatform và các plugin được EzySmashers sử dụng.
Chúng tôi sẽ liên tục bổ sung các tính năng mới cho EzySmashers, các tính năng này sẽ được liệt kê ở Roadmap.
Chơi thử EzySmashers
Link chơi thử: https://ezysmashers.ezyplatform.com/
Khi mới bắt đầu, hệ thống sẽ yêu cầu đăng nhập, người chơi có thể bỏ qua bước này bằng cách click vào nút Quick play
.
Nếu người dùng muốn đăng nhập thông qua một tài khoản, họ có thể tạo tài khoản bằng cách nhấn vào nút Sign up here
, một giao diện đăng ký sẽ hiện ra và người dùng có thể đăng ký tài khoản và kích hoạt tài khoản qua email:
Sau khi vào giao diện chính của game, ở trên cùng bên trái sẽ là tên nhân vật, cấp độ và thanh progress bar. Dưới đó , là leaderboad(biểu đồ xếp hạng nguười chơi) và achievement (phần thưởng người choơi đạt được). Ở trên cùng bên phải sẽ là số kim cương (tiền trong game dùng để nâng cấp trạng bị, mua vũ khi, hay mua tướng mới ) .
Tiếp đó ta có thể thấy phần chọn nhân vật gồm hai mũi tên sang phải và sang trái hỗ trợ chúng ta thay đổi nhân vật. Ở đây trò chơi đã cho chúng ta mặc định 2 nhân vật. Ở dưới đó là phần chọn vũ khí, khi mới vào người chơi sẽ được vũ khi mặc định, tham gia các trận chiến và dành chiến thắng thì người chơi sẽ được kim cương và có thể dùng tiền để mua hay nâng cấp trang bị mới.
Ở phía tay phải màn hình là danh sách phòng chơi, tại đây người chơi có thể tạo phòng hoặc tham gia vào phòng chơi.
Mỗi phòng chơi trong danh sách thường chứa nhiều người chơi và được quản lý chặt chẽ.
Tính năng này giúp đảm bảo việc tổ chức trận đấu diễn ra mượt mà, cho phép người chơi dễ dàng tạo các trận đấu riêng hoặc tham gia vào các trận có sẵn. Khi tạo một phòng mới, chủ phòng có thể chờ đợi đủ số lượng người tham gia hoặc bắt đầu trận đấu khi có đủ 2 người.
Mô tả lối chơi
Chiến đấu trong đấu trường:Trong mỗi trận đấu, người chơi sẽ di chuyển trên đấu trường và sử dụng búa để tấn công đối thủ. Mục tiêu của bạn là đánh bại những người chơi khác để giành chiến thắng. Khi bị hạ gục, bạn sẽ phải rời trận và quay lại từ đầu.
Thu thập vật phẩm:Trong khi chơi, bạn có thể thu thập những đôi giày trên đường để tăng tốc độ di chuyển, giúp bạn nhanh chóng né tránh hoặc tiếp cận đối thủ một cách dễ dàng hơn.
Kết thúc trận đấu:Trận đấu kết thúc khi chỉ còn lại một người chơi duy nhất chưa bị hạ gục, người đó sẽ là người chiến thắng và nhận được phần thưởng.
Những điểm nghẽn công nghệ mà EzySmashers đã giải quyết
Làm game online và đặc biệt là game MMO có những nút thắt công nghệ rất khó giải quyết, đòi hỏi kỹ thuật xử lý và thuật toán phức tạp, 2 nút thắt lớn nhất đó là:
- Nội suy để đồng bộ vị trí giữa client và server.
- Đảm bảo thứ tự gói tin để game không bị giật lag.
Và EzySmashers đã giải quyết được cả 2 nút thắt kể trên và các vấn đề phức tạp khác mình sẽ liệt kê ở các bài viết khác nhé.
Tổng kết
EzySmashers được phát triển bởi Young Monkeys - các kỹ sư người Việt Nam, phần lớn là sự đóng góp của tiến sĩ Lương Anh Vũ để giải quyết các nút thắt tồn tại trong nhiều năm. Hy vọng rằng khi mua EzySmashers và sở hữu được mã nguồn của nó, các cá nhân và tổ chức sẽ có thể tìm hiểu và làm chủ được công nghệ của EzySmashers, từ đó có thể bổ sung thêm cốt truyện, thay đổi hình ảnh và phát hành cho người dùng, hoặc sử dụng EzySmashers để tạo ra các trò chơi khác một cách dễ dàng.