NodeJS 간단한 로그라이크 게임 만들어보기 - 완성 (자세한 설명은 다음장에)

아트·2024년 8월 26일
0

CLI-게임만들기

목록 보기
4/5
post-custom-banner

기능소개

기본적 흐름

로비화면

첫 실행시 업적보기는 없습니다.
업적보기는 게임을 1회 이상 시작해야 나타납니다.


스테이지가 시작되면 임의의 몬스터가 나타납니다.


사용자가 입력한 행동이 진행되고 현 순서의 행동에 대해 먼저 출력합니다.

이전 행동에 대해선 위와 같이 로그로 출력됩니다.


전투에서 승리하면 임의의 스탯과 체력회복을 얻습니다.

10% 확률로 전설의 비약 (10~30%)를 획득합니다. 사용하지 않게되면 임의의 스탯을 얻게됩니다.

확률에 따라 최대 체력, 기본 공격력, 최대 공격력, 방어력, 행운에 분배됩니다.

그 후 다시 전투가 진행됩니다.

게임이 진행되고 나서는 로비에 업적보기가 나타납니다. 업적은 아래와 같이 저장됩니다.

{
  "kill_monster": {
    "슬라임": 1
  },
  "encounter_monster": {
    "슬라임": 1
  },
  "collect_elixir": 1,
  "start_count": 1,
  "total_dmg_dealt": 31,
  "total_dmg_taken": 4,
  "total_heal": 0,
  "victory_count": 0,
  "lose_count": 0
}

플레이어 이름과 일반 몬스터, 대장의 이름은 설정파일로 보관하고 있습니다.


{
  "player_name": "용사",
  "normal_monster_names": [
    "고블린",
    "슬라임",
    "스켈레톤",
    "혼령",
    "가고일"
  ],
  "boss_monster_name": "마왕2"
}

업적보기

옵션설정

옵션 목록

닉네임 변경

몬스터 변경

보스 몬스터 변경


파일구조

각 용도에 따라 디렉토리가 분류되어 있습니다.

실행구조

  • index.js : 프로그램이 실행되는 스크립트입니다.
    • Game.js : 스테이지가 진행되는 스크립트입니다.
    • Lobby.js : 로비 및 업적 출력에 대한 스크립트입니다.
    • Option.js : 옵션을 설정할 수 있는 스크립트입니다.

디렉토리 구조

  • / : 프로젝트 루트
    • /resources : 프로세스 실행중 필요한 외부 데이터 보관소
    • /src : 스크립트 보관소
      • /lib : 공통 모듈 보관소
      • /scenes : 시나리오 스크립트 보관소
      • /unit : 캐릭터 기본 단위 모듈 보관소

Git 주소

https://github.com/artbiit/SpartaCLI_Rogue

다음장에선 자세한 설명에 대해 작성해보겠습니다.

post-custom-banner

0개의 댓글