Công bố mã nguồn Descent 3
Cập nhật (2024/04/16)
- Cảm ơn mọi người đã quan tâm và tham gia đông đảo vào cộng đồng Discord của các nhà phát triển Descent. Đã có một cộng đồng hoạt động sôi nổi, vui lòng tham gia qua liên kết bên dưới.
- Sắp tới dự kiến sẽ có những commit lớn, chẳng hạn như để các nhà phát triển khác làm việc song song hoặc merge mã được viết sau khi kho lưu trữ này được lưu trữ.
Hướng phát triển và các quyết định
- Trong thời gian tới sẽ hỗ trợ C++17.
- Hiện đang sử dụng
clang ở chế độ LLVM để định dạng mã, vì vậy vui lòng chạy clang-format trước khi gửi PR.
Bản phát hành đầu tiên
- Đây là mã nguồn Descent 3 phiên bản mới nhất, bao gồm bản vá '1.5' do Jeff Slutter và Kevin Bentley viết vài năm trước. Khi đó nó hoạt động trên Windows, Linux và Mac.
- Một số thư viện âm thanh và video độc quyền của Interplay (định dạng ACM, MVE) đã bị loại bỏ. Chúng tôi vẫn đang giữ phần mã đó, nên đang tìm người có thể giúp tạo bộ chuyển đổi để các đoạn cắt cảnh cũ hoạt động lại. Cũng cần nỗ lực để stub out phần mã đó nhằm biên dịch được.
- Mục tiêu trước mắt là để mọi thứ có thể biên dịch lại, và nếu có thể thì cũng muốn thêm các action CI/CD. Sau đó sẽ cần dọn dẹp mã, như loại bỏ các chú thích kiểm soát phiên bản cũ, v.v. Phần lớn mã được viết bởi một đội ngũ tuyệt vời, nhưng cũng cần lưu ý rằng khi đó mọi người còn trẻ hơn nhiều và ít kinh nghiệm hơn.
- Nếu muốn giúp bảo trì, hãy gửi tin nhắn. Nếu không, chúng tôi cũng rất sẵn lòng nhận PR.
- Đây là cập nhật cuối cùng cho thấy trò chơi chạy trên các kiến trúc khác nhau. Xin lỗi vì đã không thể phát hành bản vá 1.5. Một số vấn đề hậu cần đã cản trở việc đó.
- Cảm ơn Jeff Slutter vì đã thực hiện phần lớn công việc hiện đại hóa đoạn mã từ thập niên 90 này. Rất mong chờ xem cộng đồng sẽ làm gì với nó!
Ý kiến của GN⁺
- Mã nguồn của một trò chơi đã được yêu mến hơn 20 năm nay được công bố, có vẻ sẽ thu hút sự quan tâm của nhiều nhà phát triển. Tuy nhiên, việc hiện đại hóa mã cũ sẽ cần rất nhiều nỗ lực.
- Bản thân việc công bố mã nguồn đã có ý nghĩa, nhưng để áp dụng vào trò chơi thực tế thì có vẻ vẫn còn nhiều rào cản như giải quyết vấn đề giấy phép, hỗ trợ nền tảng hiện đại và thiết lập quy trình phát triển.
- Để một dự án mã nguồn mở phát triển bền vững, có lẽ cần đi trước bằng việc đưa ra lộ trình rõ ràng, chuẩn bị hướng dẫn cho người đóng góp và thiết lập cơ chế quản trị.
- Trong mảng engine game mã nguồn mở, Godot và Cocos2d-x đang được phát triển rất tích cực. Có lẽ cần xem xét ưu nhược điểm của chúng và suy nghĩ về cách tạo khác biệt.
- Cũng có những lo ngại về việc một trò chơi từ 20 năm trước liệu còn phù hợp hiện nay hay sẽ mang cảm giác lỗi thời. Có vẻ cần nâng cấp hiện đại các yếu tố cốt lõi của trò chơi như đồ họa, âm thanh và UI.
1 bình luận
Ý kiến trên Hacker News
Có những câu chuyện cho thấy loạt game Descent đã ảnh hưởng rất lớn đến cuộc đời của một số người. Có người kết hôn với vợ quen trên diễn đàn, đặt tên các con trai theo nickname của bạn bè trong Descent, rồi còn tham dự đám cưới và tang lễ của những người quen từ cộng đồng này.
Hệ thống điều khiển bay tự do 360 độ của Descent sau này đã trở thành nguồn gốc của tùy chọn đảo trục Y trong các game FPS. Một nhà phát triển hồi tưởng rằng năm 12 tuổi đã đọc FAQ của Descent và học IRC, và Descent đã ảnh hưởng lớn đến việc anh trở thành kỹ sư kiêm nhà phát triển game như ngày nay.
Trong giới người chơi đối kháng, một kỹ thuật gọi là 'trichording' được dùng để tối đa hóa tốc độ, theo đó nhấn nhiều phím cùng lúc để di chuyển đồng thời trên 3 trục. Không rõ đây là thiết kế có chủ đích hay là lỗi.
Các định dạng thư viện âm thanh/video cũ của Descent 3 (ACM, MVE) đã bị loại bỏ, nhưng tác giả cho biết sẵn sàng chia sẻ mã để phát triển công cụ chuyển đổi. Có vẻ FFMPEG hỗ trợ các định dạng này.
Với một kỹ sư, loạt Descent là cánh cửa bước vào thế giới Internet. Năm 10 tuổi anh chơi D1 với bạn bè qua kết nối điện thoại, đến D2 thì trải nghiệm ghép trận qua Kali/Kahn. Sau đó làm quen với IRC, ICQ và say mê nâng cấp PC mới nhất. Đến D3, việc lọt vào top 100 bảng xếp hạng thế giới là một trải nghiệm rất đáng nhớ.
Cũng có những thắc mắc về quá trình và bối cảnh công bố mã nguồn Descent 3, cùng câu hỏi liệu có khả năng Interplay sẽ công bố mã nguồn của một game khác là Hardwar hay không.