[1 Day] AI와 함께하는 즐거운 게임 제작
- 꼬반
- 2024. 11. 7. 13:11
새로운 프로젝트로 돌아왔습니다.
전편에서 느낀 점들이 많았기에 이번에는 초반부터 구조를 잡아두고 시작하기로 했습니다.
새로운 Thread를 생성하고 제일 처음 아래와 같은 질의를 했습니다.
Q1. 앞으로 javascript와 html, css로 게임을 작성할 거야.
Q2. 기본적은 구성은 다음과 같아. 게임은 마을에서 시작하고, 마을은 여관(휴식으로 체력과 마나 회복), 상점(일반적인 소모품 구매 및 판매), 길드(퀘스트와 스킬 제공), 대장간(무기와 방어구 제작과 구매 및 판매), 던전(지하 100층으로 매층마다 몬스터와 전투, 5층 구간에선 중간보스, 10층 구간은 층간보스, 100층은 최종보스 등장)이 있어.
A2. 그렇군요! 매우 흥미로운 게임 컨셉입니다. 이 게임의 구조를 좀 더 구체화하고 구현하기 위한 몇 가지 방향을 제안해 드리겠습니다.
## 게임 구조 및 기능
### 1. 마을
#### 여관
- **기능**: 플레이어가 휴식을 통해 체력과 마나를 회복할 수 있는 장소.
- **구현**: 버튼 클릭 시 플레이어의 체력과 마나 상태를 초기화하는 기능.
#### 상점
- **기능**: 소모품을 사고 파는 공간.
- **구현**:
- 인벤토리 UI를 만들어 아이템 목록을 표시합니다.
- 구매 및 판매 기능 구현 (아이템 가격 설정 및 골드 관리).
#### 길드
- **기능**: 퀘스트 제공 및 스킬 습득.
- **구현**:
- 퀘스트 목록과 퀘스트 수락/완료 기능.
- 경험치와 골드를 통해 스킬을 배울 수 있는 시스템.
#### 대장간
- **기능**: 무기와 방어구 제작, 구매 및 판매.
- **구현**:
- 제작 레시피에 따른 아이템 제작 기능.
- 무기 및 방어구 구매/판매 인터페이스.
### 2. 던전
- **구조**: 100층의 지하 던전.
- **전투**: 각 층마다 몬스터와 전투.
- 전투 시스템 구현 (플레이어와 몬스터의 HP, 공격력 등).
- **보스**: 5층마다 중간 보스, 10층마다 층간 보스, 100층에 최종 보스.
- 특별한 능력과 패턴을 가진 보스 구현.
- **보상**: 각 층 및 보스를 클리어할 때 보상 시스템.
## 구현 계획
### HTML/CSS
- 각 장소(여관, 상점 등)와 던전의 UI를 설계합니다.
- CSS로 장소와 캐릭터의 스타일을 꾸밉니다.
### JavaScript
- 게임의 상태(플레이어의 체력, 골드, 인벤토리 등)를 관리하는 객체를 생성합니다.
- 각 장소의 기능(아이템 구매, 스킬 습득 등)을 함수로 구현합니다.
- 던전의 층을 이동하고, 전투를 진행하는 게임 루프를 만듭니다.
## 추가 고려사항
- **저장 기능**: 게임 진행 상황을 저장하고 불러올 수 있는 기능.
- **랜덤 요소**: 몬스터 등장과 전리품의 랜덤성을 추가하여 게임의 재미를 더합니다.
- **사운드 및 그래픽**: 게임의 몰입감을 높이기 위해 사운드 효과와 그래픽 요소 추가.
이러한 기본 구조를 바탕으로 게임을 점차 확장해 나가면서 새로운 기능과 콘텐츠를 추가할 수 있습니다. 게임 개발을 즐기면서 창의적인 아이디어를 반영해 보세요!
위와 같은 질의를 통해 AI에게 전체 구조를 설명해 두었고 이전처럼 질의들을 요청해서 아래와 같이 초기 구성을 완료했습니다.
여기서 부터 한번 다시 도전을 시작해보겠습니다.
(추가) 이게 뭐라고 ... 며칠 해봤다고 실력이 는다고 해야할지. 아니면 AI를 더 잘 굴릴수 있게 됬다고 해야 할지 ㅎㅎ
시작 시 캐릭터 생성하는 이벤트를 추가하고(앞으로 이벤트 관리를 위한 event.js 생성) 우측에 인벤토리 추가하여 힐링포션(소)를 생성하면 1개 선물로 주고 잘 사용하는 것까지 진행했습니다. 그리고 전에도 느낀건데 저 로그 출력은 은근히 이곳저곳에서 사용하는 곳이 많아서 아예 로그창과 로그 출력만 담당하는 console.js 를 분리해서 출력을 담당하게 했습니다.
지금까진 잘 동작하고 내일부터는 기초적인 몬스터와의 전투를 추가해보겠습니다. 이게 전투가 좀 잘 생각해서 안하면 망하기 딱 좋더라구요. 오늘은 이제 그만하고 내일 새로운 글로 뵙겠습니다~!
테스트는 아래에서!