Một dự án mã nguồn mở sáng tạo kết hợp công nghệ máy chủ PHP với ứng dụng khách Electron đã thu hút sự chú ý của cộng đồng lập trình viên, làm dấy lên những cuộc thảo luận về cả lựa chọn công nghệ và vấn đề cấp phép.
Ngăn xếp công nghệ độc đáo
Trò chơi được phát triển bởi [ solcloud trên GitHub ], sử dụng cách tiếp cận khác thường khi dùng PHP cho phần máy chủ và JavaScript với Three.js cho phần client. Mặc dù ban đầu có nhiều hoài nghi về việc sử dụng PHP cho game bắn súng góc nhìn thứ nhất, các thành viên trong cộng đồng đã ghi nhận rằng PHP hiện đại đáng ngạc nhiên là khá phù hợp và nhanh cho loại ứng dụng này.
Triển khai kỹ thuật
Phần triển khai phía client khá nhẹ, chỉ sử dụng Three.js như là dependency chính. Máy chủ giao tiếp qua UDP, trong khi client có thể kết nối thông qua WebSocket (cho chơi trên trình duyệt) hoặc trực tiếp qua UDP khi sử dụng ứng dụng Electron. Kiến trúc này cho phép chơi game trên cả trình duyệt web và máy tính để bàn, tuy nhiên nhà phát triển khuyến nghị sử dụng phiên bản Electron để có hiệu suất tốt hơn và điều khiển bàn phím tốt hơn.
Vấn đề về giấy phép
Một cuộc thảo luận quan trọng đã nổi lên liên quan đến tình trạng cấp phép của dự án. Hiện tại, kho lưu trữ thiếu tệp giấy phép chính thức, điều này về mặt kỹ thuật có nghĩa là mọi quyền đều được bảo lưu. Các thành viên cộng đồng đã mạnh mẽ khuyến nghị bổ sung giấy phép mã nguồn mở phù hợp, đề xuất các lựa chọn như:
- Giấy phép MIT cho sự linh hoạt tối đa
- GPL để đảm bảo mã nguồn luôn mở
- Giấy phép Apache cho khả năng tương thích với doanh nghiệp
Nhà phát triển đã chỉ ra rằng mã nguồn là miễn phí cho tất cả mọi người, nhưng các chuyên gia pháp lý trong cộng đồng đã chỉ ra rằng nếu không có giấy phép chính thức, những người đóng góp và người dùng tiềm năng sẽ gặp phải sự không chắc chắn về quyền sử dụng, sửa đổi hoặc phân phối mã nguồn.
Tình trạng phát triển
Trò chơi hiện có các tính năng:
- Gameplay FPS nhiều người chơi
- Hai đội: Tấn công và Phòng thủ
- Đồ họa 3D cơ bản với khả năng cải thiện hình ảnh
- Hỗ trợ bản đồ tùy chỉnh (bao gồm phiên bản chuyển đổi của bản đồ dust2 cổ điển)
Triển vọng tương lai
Nhà phát triển đã đề cập đến kế hoạch cải tiến trong tương lai, bao gồm:
- Khả năng chuyển đổi mã PHP sang C++ hoặc WebAssembly
- Cải thiện đồ họa và âm thanh (hiện đang tìm kiếm người đóng góp)
- Nâng cao tính năng chơi nhiều người
Dự án này là một trường hợp nghiên cứu thú vị về việc lựa chọn công nghệ không theo quy ước cho phát triển game, đồng thời nhấn mạnh tầm quan trọng của việc cấp phép phù hợp trong các dự án mã nguồn mở. Mặc dù có những lo ngại về thương hiệu liên quan đến tên Counter-Strike, dự án đã thu hút sự chú ý như một nguồn tài nguyên học tập tiềm năng cho các nhà phát triển game tương lai.