Skip to content

kjw2/flutter_game

Repository files navigation

Chosun Survivor

조선시대 테마를 입힌 Vampire Survivors 스타일의 생존 액션 프로토타입입니다.
Flutter + Flame 기반으로 만들었고, 현재는 Windows 플레이를 중심으로 가장 많이 검증되어 있습니다.

개요

  • 30분 동안 생존하면 승리
  • 로비 → 캐릭터 선택 → 무기 선택 → 맵 선택 → 전투 흐름
  • 조선시대 캐릭터, 다중 무기, 레벨업 카드, 영구 강화 상점, 맵 에디터 포함
  • 키보드와 Xbox 패드 모두 지원

주요 기능

로비와 진행 구조

  • 로비 메뉴
    • 새 게임
    • 계속하기
    • 상점
    • 설정
    • 끝내기
  • 새 게임 순서
    • 캐릭터 선택
    • 무기 선택
    • 맵 선택
  • 30분 생존 시 승리, 사망 시 게임오버

캐릭터

  • 조선시대 농부
  • 조선시대 포졸
  • 이순신 장군

무기

  • 강철 창
  • 던지는 낫
  • 장궁
  • 부적
  • 절규
  • 조상님

전투 시스템

  • 자동 공격
  • 대쉬
  • 미니맵
  • 경험치 게이지
  • 현재 레벨 표시
  • 킬 수 / 런 골드 / 타이머 HUD
  • 일시정지 메뉴
  • 승리 / 패배 오버레이
  • 적 피격 데미지 숫자 표시
  • 무지개 혈흔 및 타격 효과

레벨업 카드

  • 기본 생존 스탯 강화
  • 새 무기 해금
  • 장착 중인 무기 개별 강화
  • 경험치 획득량 증가
  • 무기 범위 증가
  • 다시 선택 기능
    • 기본 5회
    • 상점 영구 강화로 최대 10회 추가
    • 새 게임 / 재시작 시 다시 충전

메타 진행

  • 몬스터 처치 시 경험치석 또는 골드 드랍
  • 몬스터 처치 시 1% 확률로 모든 아이템을 끌어당기는 자석 드랍
  • 보물상자 생성
    • 회복 물약 또는 골드 획득
  • 런 종료 시 골드 정산
  • 상점에서 캐릭터 공통 영구 강화 구매

맵과 맵 에디터

  • 기본 맵
    • 잿빛 평원
    • 비취 정원
    • 황혼 공방
    • 작열 사구
    • 철빛 격납고
  • 커스텀 맵 저장 / 불러오기
  • 맵 에디터 기능
    • 맵 크기 설정
    • 바닥 재질 선택
      • 흙바닥
      • 풀바닥
      • 콘크리트
      • 돌바닥
      • 모래바닥
      • 금속바닥
    • 배경 생성
    • 벽 / 기둥 / 웅덩이 배치
    • 브러시 / 라인 / 사각형 채우기
    • 실행 취소 / 다시 실행
    • 저장 후 즉시 테스트

조작법

키보드

  • WASD / 방향키: 이동 및 메뉴 선택
  • Space: 대쉬 / 일부 메뉴 선택
  • Enter: 메뉴 선택
  • Esc: 일시정지 / 뒤로가기
  • 1, 2, 3: 레벨업 카드 또는 일부 메뉴 빠른 선택
  • R: 레벨업 카드 다시 선택 / 게임오버 후 재시작

Xbox 패드

  • Left Stick / D-pad: 이동 및 메뉴 선택
  • A: 선택
  • B: 뒤로가기
  • X: 레벨업 카드 다시 선택
  • Start: 일시정지 / 메뉴 열기

상점

상점 강화는 모든 캐릭터에 공통으로 적용됩니다.

  • 체력 단련
  • 기동 훈련
  • 전투 교범
  • 속사 훈련
  • 탐색 감각
  • 재선택 보급

모든 영구 강화는 최대 10레벨까지 구매 가능하며, 가격은 200골드부터 시작해서 구매할 때마다 100골드씩 증가합니다.

실행 방법

개발 실행

flutter pub get
flutter run -d windows

분석 / 테스트

flutter analyze --no-pub
flutter test

Windows 디버그 빌드

flutter build windows --debug --no-pub

저장 데이터

프로필과 커스텀 맵은 앱 지원 디렉터리에 저장됩니다.

  • profile.json
    • 보유 골드
    • 상점 영구 강화 레벨
  • custom_maps.json
    • 맵 에디터로 저장한 커스텀 맵

프로필을 삭제하지 않는 한 골드는 계속 유지됩니다.

프로젝트 구조

  • lib/app
    • 로비, 선택 화면, 상점, 오버레이, 맵 에디터
  • lib/game
    • 게임 루프, HUD, 엔티티, 무기, 업그레이드, 맵 설정, 프로필 저장
  • lib/input
    • Xbox 패드 입력 처리
  • assets/audio
    • 배경음악, 피격음, 무기 타격음
  • windows
    • Windows 실행 및 빌드 관련 설정
  • test
    • 위젯 테스트, 메타 진행 테스트, 무기 동작 테스트

사용 기술

  • Flutter
  • Flame
  • flame_audio
  • win32_gamepad
  • path_provider

참고

  • 현재 기준으로 Windows 환경에서 가장 많이 검증했습니다.
  • flutter analyze--no-pub 없이 실행하면 의존성 최신 버전 안내가 출력될 수 있습니다. 이는 분석 실패가 아니라 pub 업데이트 안내입니다.

About

A Chosun-themed survivor-like action game built with Flutter and Flame, featuring multiple weapons, meta upgrades, and a map editor.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors