3P by GN⁺ | ★ favorite | 댓글 1개
  • Rebels in the Sky는 2101년 기업이 세계를 장악한 배경에서, 플레이어가 우주 해적 크루를 만들고 은하계를 떠돌며 농구 상대를 찾는 터미널 게임
  • 게임은 활발히 개발 중이라 breaking change가 자주 들어가며, 오래된 저장 파일이 무효화되면 새 게임을 시작하거나 저장 파일 마이그레이션 가능 여부를 이슈로 확인해야 함
  • 바로 체험하려면 ssh frittura.orgfrittura-hub에 접속하거나 웹 허브에서 rebels를 선택할 수 있음
  • 실행은 터미널에서 ./rebels를 실행하는 방식이며, 권장 최소 터미널 크기는 160x48이고 일부 터미널은 색상 표현이 좋지 않을 수 있음
  • 기본적으로 로컬 봇 팀이 생성되며 -f 플래그로 비활성화할 수 있고, 향후 플레이어가 더 많아지면 기본값은 온라인 팀 전용으로 바뀔 예정임

게임 설정과 현재 상태

  • Rebels in the Sky는 2101년을 배경으로 함
    • 기업들이 세계를 장악한 상태임
    • 자유로워지는 방법은 해적 크루에 합류해 은하계를 약탈하는 것임
    • 생존 수단은 농구
  • 플레이어는 자신만의 크루를 만들고, 가치 있는 농구 상대를 찾아 은하계를 떠돌게 됨
  • 게임은 heavy development 상태이며 breaking change가 자주 도입됨
    • 오래된 저장 파일이 무효화되어 이어서 플레이할 수 없을 수 있음
    • 이 경우 새 게임을 시작하거나, 저장 파일을 마이그레이션할 수 있는지 이슈를 열어 확인해야 함
  • Trailer on youtubeWiki가 제공됨

바로 체험하기

  • SSH로 frittura-hub에 접속해 게임을 체험할 수 있음
    • 명령어: ssh frittura.org
  • 웹에서도 허브에 접속한 뒤 rebels를 선택할 수 있음

설치와 빌드

  • 직접 빌드하려면 플랫폼별 의존성이 필요함
    • Linux: libasound2-dev, cmake
    • MacOs: cmake
    • Windows: cmake
  • Rust toolchain이 필요하며, 저장소를 클론한 뒤 다음 명령으로 빌드함
    • cargo build --release
  • cargo로 설치할 수 있음
    • cargo install rebels
  • 최신 릴리스 자산을 받아 설치할 수도 있음
    • 릴리스 자산은 https://rebels.frittura.org에서 플랫폼에 맞게 다운로드함
    • 실행 파일에는 chmod +x rebels로 실행 권한을 줌
  • 배포판 패키지도 제공됨

실행 환경과 플레이 조건

  • 게임은 터미널 애플리케이션으로 실행됨
    • 실행 명령어: ./rebels
  • 권장 최소 터미널 크기는 160x48
  • 모든 터미널이 게임 색상을 잘 지원하는 것은 아니므로, 다른 터미널을 시도해야 할 수 있음
  • 테스트된 터미널은 다음과 같음
  • 현재는 게임을 더 즐겁게 만들기 위해 로컬 봇 팀이 기본 생성됨
    • -f 플래그를 실행 파일에 넘기면 이 동작을 비활성화할 수 있음
    • 향후 플레이어가 더 많아지면 기본값은 온라인 팀 전용으로 바뀔 예정임

음악과 데이터

  • 음악은 인터넷 라디오에서 스트리밍됨
  • 라디오 방송국을 더 추가하려면 assets/data/stream_data.json에 포함하면 됨

기여와 버그 보고

  • 게임에는 아직 고정된 로드맵이 없음
  • 아이디어로 참여하려는 사람은 discord에 참여할 수 있음
  • 여정 중 버그를 만날 가능성이 매우 높음
    • 버그가 발생하면 이슈를 열고 어떤 일이 있었는지 설명해야 함
  • 개발자로 기여하려면 pull request를 열 수 있음

릴레이어 노드와 SSH 서버

  • relayer node를 실행하면 게임의 탈중앙화 유지에 도움이 됨
    • 실행 명령어: rebels -n
    • 다른 플레이어는 시작 시 rebels -i <RELAYER-NODE-IP4-OR-IP6>로 해당 릴레이어에 접속할 수 있음
    • 릴레이어를 운영한다면 알려진 릴레이어 목록에 주소를 추가하는 PR을 여는 것을 고려할 수 있음
  • 릴레이어를 실행하려면 relayer 기능을 켜고 빌드해야 함
    • cargo build --release --features "relayer"
  • SSH server도 실행할 수 있음
    • 실행 명령어: rebels -j
    • 다른 플레이어는 ssh <USERNAME>@<SERVER-IP4-OR-IP6> -p 3788로 접속할 수 있음
  • SSH 서버를 실행하려면 ssh 기능을 켜고 빌드해야 함
    • cargo build --release --features "ssh"

라이선스

  • 이 소프트웨어는 GPLv3 라이선스로 배포됨

댓글과 토론

Hacker News 의견들
  • 내 서버가 트래픽을 다 감당하지 못하는데, 오히려 이 게임이 계속 동작하는 데 중앙 권한이 필요 없다는 걸 보여줄 기회 같음
    85.214.130.204에 다른 중계 노드와 SSH 노드를 만들었고, ssh 85.214.130.204 -p 3788로 접속할 수 있음. 다만 중계는 예전 서버에 연결하려 해서 동작하지 않을 수 있음
    또는 로컬 클라이언트를 rebels -i 85.214.130.204 플래그로 실행해 대체 중계 노드 IP 주소를 지정하면 됨

  • 트레일러 링크가 안 되면 다른 링크가 있음: https://rebels.frittura.org/demo_v1.0.18.mp4

    • 이 링크들은 전부 안 됨. YouTube 같은 데 올려주면 좋겠음
    • GitHub 페이지의 동영상 URL이 404
      https://github.com/user-attachments/assets/aaa02f04-06db-4da...
    • YouTube 사본은 여기 있음: https://youtu.be/5Lu9MSgmTBc
    • README에 있는 건 안 됐는데 이 링크는 됨
      그리고 thug boy 노래가 Fist of the North Star를 강하게 떠올리게 해서 목이 꺾일 뻔했음. 훌륭한 선택임
    • 이 링크는 로딩이 너무 오래 걸림
  • 행성/위성 애니메이션이 정말 멋짐

  • FTL을 하던 친구가 있는데, 계속 그게 그냥 멋진 터미널 게임인 줄 알았음

    • FTL 정말 좋아함. 터미널 그래픽으로 포팅하면 굉장할 듯
  • 정말 재미있음! Windows Terminal에서도 잘 돌아감. 마우스, 키보드, 색상 모두 문제없음

    • 알아두면 좋겠음. 직접 테스트는 못 해봤음
  • 아주 독창적으로 보이지만, 익숙해지기는 조금 부담스러움. 나중에 해볼 생각임
    피드백을 주자면, 테마가 너무 많이 섞여 있어서 동영상을 봐도 게임플레이가 어떤지 파악하기 어려움. 예를 들어 언제 행동을 하는지, 언제 화면을 이동하는지 구분이 잘 안 됨

  • 완전 P2P 게임이라는 아이디어가 흥미로움. 사용자끼리는 어떤 상호작용을 할 수 있음?

    • 기본적으로 사용자는 서로 농구 경기를 하거나 선수를 거래할 수 있음
      이런 상호작용은 끝났을 때 일관된 상태가 보장돼야 하므로, TCP 핸드셰이크와 비슷한 방식으로 처리함. 예를 들어 선수 거래는 양쪽에서 일관되게 반영되어야 함
      그래서 실시간 상호작용은 쉽지 않음. 서로 도전할 때도 플레이어들은 게임의 초기 조건에만 합의하고, 이후 경기는 양쪽 클라이언트에서 독립적으로, 결정론적으로 시뮬레이션됨
  • README의 동영상은 모든 브라우저에서 동작하지 않는 듯함. 내 경우에는 Firefox에서 안 됨

  • 이 게임은 Godot으로 만든 건가? itch의 pixel planet generator 애셋을 쓴 것처럼 보임
    https://deep-fold.itch.io/pixel-planet-generator

    • pixel planet generator로 저해상도 GIF를 만들고, 그걸 서로 조합해서 은하 GIF를 만들었음