3 điểm bởi GN⁺ 2024-11-24 | 1 bình luận | Chia sẻ qua WhatsApp
  • Rebels in the Sky là một trò chơi terminal lấy bối cảnh năm 2101, khi các tập đoàn đã kiểm soát thế giới, nơi người chơi tạo một băng cướp biển không gian và lang bạt khắp thiên hà để tìm đối thủ bóng rổ
  • Trò chơi hiện đang được phát triển rất tích cực, nên thường xuyên có breaking change; nếu file lưu cũ bị mất hiệu lực thì cần bắt đầu ván mới hoặc kiểm tra qua issue xem có thể migrate file lưu hay không
  • Để trải nghiệm ngay, có thể kết nối tới frittura-hub bằng ssh frittura.org hoặc chọn rebels trên web hub
  • Cách chạy là thực thi ./rebels trong terminal; kích thước terminal tối thiểu được khuyến nghị là 160x48, và một số terminal có thể hiển thị màu không tốt
  • Mặc định trò chơi sẽ tạo đội bot cục bộ, có thể tắt bằng cờ -f; khi số lượng người chơi tăng lên trong tương lai, mặc định sẽ được đổi thành chỉ đội trực tuyến

Thiết lập trò chơi và trạng thái hiện tại

  • Rebels in the Sky lấy bối cảnh năm 2101
    • Các tập đoàn đang kiểm soát thế giới
    • Cách để trở nên tự do là gia nhập một băng cướp biển và cướp bóc khắp thiên hà
    • Phương tiện sinh tồn là bóng rổ
  • Người chơi sẽ tạo băng của riêng mình và lang bạt khắp thiên hà để tìm những đối thủ bóng rổ xứng tầm
  • Trò chơi đang ở trạng thái heavy development và thường xuyên đưa vào breaking change
    • File lưu cũ có thể bị vô hiệu hóa và không thể chơi tiếp
    • Trong trường hợp đó, cần bắt đầu game mới hoặc mở issue để kiểm tra xem có thể migrate file lưu hay không
  • Trailer on youtubeWiki

Trải nghiệm ngay

  • Có thể trải nghiệm game bằng cách kết nối tới frittura-hub qua SSH
    • Lệnh: ssh frittura.org
  • Cũng có thể vào hub trên web rồi chọn rebels

Cài đặt và build

  • Nếu muốn tự build, cần các dependency theo từng nền tảng
    • Linux: libasound2-dev, cmake
    • MacOs: cmake
    • Windows: cmake
  • Cần có Rust toolchain, sau khi clone repository thì build bằng lệnh sau
    • cargo build --release
  • Có thể cài bằng cargo
    • cargo install rebels
  • Cũng có thể tải và cài từ release assets mới nhất
    • Tải release assets phù hợp với nền tảng tại https://rebels.frittura.org
    • Cấp quyền thực thi cho file bằng chmod +x rebels
  • Cũng có sẵn gói cho các bản phân phối

Môi trường chạy và điều kiện chơi

  • Trò chơi chạy dưới dạng ứng dụng terminal
    • Lệnh chạy: ./rebels
  • Kích thước terminal tối thiểu được khuyến nghị là 160x48
  • Không phải terminal nào cũng hỗ trợ tốt màu sắc của game, nên có thể cần thử terminal khác
  • Các terminal đã được kiểm thử gồm
  • Hiện tại, để game vui hơn, mặc định sẽ tạo đội bot cục bộ
    • Có thể tắt hành vi này bằng cách truyền cờ -f cho file thực thi
    • Khi có nhiều người chơi hơn trong tương lai, mặc định sẽ được đổi thành chỉ dùng đội trực tuyến

Âm nhạc và dữ liệu

  • Nhạc được stream từ radio internet
  • Nếu muốn thêm đài radio, chỉ cần thêm vào assets/data/stream_data.json

Đóng góp và báo lỗi

  • Trò chơi hiện vẫn chưa có roadmap cố định
  • Ai muốn tham gia bằng ý tưởng có thể vào discord
  • Khả năng rất cao là bạn sẽ gặp bug trong quá trình chơi
    • Nếu gặp bug, hãy mở issue và mô tả điều gì đã xảy ra
  • Nếu muốn đóng góp với vai trò nhà phát triển, có thể mở pull request

Nút relayer và máy chủ SSH

  • Chạy relayer node sẽ giúp duy trì tính phi tập trung của trò chơi
    • Lệnh chạy: rebels -n
    • Người chơi khác có thể kết nối tới relayer đó khi khởi động bằng rebels -i <RELAYER-NODE-IP4-OR-IP6>
    • Nếu đang vận hành relayer, bạn có thể cân nhắc mở PR để thêm địa chỉ vào danh sách relayer đã biết
  • Để chạy relayer, cần build với tính năng relayer được bật
    • cargo build --release --features "relayer"
  • Cũng có thể chạy SSH server
    • Lệnh chạy: rebels -j
    • Người chơi khác có thể kết nối bằng ssh <USERNAME>@<SERVER-IP4-OR-IP6> -p 3788
  • Để chạy SSH server, cần build với tính năng ssh được bật
    • cargo build --release --features "ssh"

Giấy phép

  • Phần mềm này được phát hành theo giấy phép GPLv3

1 bình luận

 
GN⁺ 2024-11-24
Ý kiến trên Hacker News
  • Máy chủ của tôi không kham nổi toàn bộ lưu lượng, nhưng ngược lại đây có vẻ là cơ hội để cho thấy trò chơi này không cần quyền điều phối trung tâm để tiếp tục hoạt động
    Tôi đã tạo một node chuyển tiếp khác và một node SSH tại 85.214.130.204; có thể kết nối bằng ssh 85.214.130.204 -p 3788. Tuy nhiên node chuyển tiếp có thể không hoạt động vì nó đang cố kết nối tới máy chủ cũ
    Hoặc có thể chạy client cục bộ với cờ rebels -i 85.214.130.204 để chỉ định địa chỉ IP của node chuyển tiếp thay thế

  • Nếu link trailer không chạy thì có link khác: https://rebels.frittura.org/demo_v1.0.18.mp4

    • Tất cả các link này đều không chạy. Mong là có thể đưa lên nơi nào đó như YouTube
    • URL video trên trang GitHub bị 404
      https://github.com/user-attachments/assets/aaa02f04-06db-4da...
    • Bản sao trên YouTube ở đây: https://youtu.be/5Lu9MSgmTBc
    • Link trong README thì không chạy, nhưng link này thì được
      Và bài thug boy gợi nhớ mạnh đến Fist of the North Star đến mức tôi suýt vẹo cổ. Lựa chọn tuyệt vời
    • Link này tải quá lâu
  • Hoạt ảnh hành tinh/vệ tinh thật sự rất đẹp

  • Tôi có một người bạn từng chơi FTL, và tôi cứ tưởng đó chỉ là một trò chơi terminal rất ngầu

    • Tôi cực thích FTL. Nếu port sang đồ họa terminal thì hẳn sẽ tuyệt vời
  • Thật sự thú vị! Chạy tốt cả trên Windows Terminal. Chuột, bàn phím, màu sắc đều không có vấn đề

    • Thông tin này rất đáng biết. Tôi chưa tự thử được
  • Trông rất độc đáo, nhưng có vẻ hơi khó làm quen. Tôi định sẽ thử sau
    Nếu góp ý thì chủ đề bị pha trộn quá nhiều, nên dù xem video cũng khó nắm được gameplay ra sao. Ví dụ, khó phân biệt khi nào đang thực hiện hành động và khi nào đang di chuyển màn hình

  • Ý tưởng một game P2P hoàn toàn thật thú vị. Người dùng có thể tương tác với nhau theo những cách nào?

    • Về cơ bản, người dùng có thể chơi bóng rổ với nhau hoặc trao đổi cầu thủ
      Những tương tác như vậy phải đảm bảo trạng thái nhất quán khi kết thúc, nên được xử lý theo cách tương tự TCP handshake. Ví dụ, việc trao đổi cầu thủ phải được phản ánh nhất quán ở cả hai phía
      Vì vậy tương tác thời gian thực không dễ. Ngay cả khi thách đấu nhau, người chơi chỉ thống nhất các điều kiện ban đầu của ván đấu; sau đó trận đấu được mô phỏng độc lập và mang tính quyết định trên client của mỗi bên
  • Video trong README có vẻ không hoạt động trên mọi trình duyệt. Với tôi thì không chạy trên Firefox

  • Trò chơi này được làm bằng Godot à? Trông có vẻ dùng asset pixel planet generator trên itch
    https://deep-fold.itch.io/pixel-planet-generator

    • Tôi đã tạo các GIF độ phân giải thấp bằng pixel planet generator, rồi ghép chúng với nhau để tạo thành GIF thiên hà