[4편] AI로 30분 만에 웹 게임 만들어 보기.
- 꼬반
- 2024. 11. 5. 13:33
이렇게 성실하게 글를 올린 적이 없었는데.. 신문물이 너무 재밌다 보니 성실 연재가 되가고 있습니다.
우선 개선 사항은 아래와 같습니다.
1. 캐릭터(플레이어, 몬스터)에 크리티컬 확률과 크리티컬 데미지 능력치가 추가되어 전투중 크리티컬 확률에 따라 평상시보다 강한 데미지가 발생
1.1. 레벨업 시 크리티컬 확률도 올릴수 있도록 수정
2. 몬스터의 출현확률을 기존(단순 랜덤) 에서 몬스터에 가중치를 부여하고 가중치에 따라 생성되도록 수정
2.1. 몬스터의 종류를 기존 4종에서 12종으로 추가
3. 드랍하는 골드를 활용할 수 있도록 전투 후 상점에서 힐링포션(3종류)를 구매할 수 있도록 추가
3.1. 전투 이후에만 상점을 이용할 수 있도록 현재 상태(idle, battle, shop) 상태를 관리하고 상태에 따라 UI 반경
3.2. 상점UI에 상점에서 물품을 구매하고 캐릭터의 HP가 회복할 수 있도록 로직 추가
(추가) 4. 모바일 디바이스를 고려한 반응형 CSS 추가
4.1. 반응형에 대응하는 CSS도 부탁했더니 뚝딱 수정해주네요. 짱이다..
(추가) 5. 각 상태에 따라 버튼 표시 상태 수정
5.1. 모든 상태에서 버튼이 다 나와 있어서 start game을 또 눌러 하던 게임이 초기화 된다거나.. 하는 것들의 불편함을 수정하고자 각 상태에 맞게 버튼이 출력되도록 변경
(추가2) 6. 전투시 Turn이 2번씩 진행되던 문제 해결
6.1. 이 부분은 한번 수정을 요청했지만 battleTurn() 함수엔 문제가 없었다. 다만 관련 부분을 살펴보니 html 내 onclick 이벤트와 main.js 에서 이벤트리스너로 이벤트를 주입하는 부분이 중복되어 발생하는 문제였고 이부분을 perplexity 에 전달하니 이렇게 답변이 나왔다 ㅎㅎ
(추가2) 7. 소소하게 플레이어와 몬스터 이름이 전투중 체력바 위로 표시되도록 반영 및 배경 변경
7.1. 신규 배경이 좀더 어울리는 듯. 주인공 이름은 시작할때 정하고 들어갈 수 있도록 수정해볼 예정
(추가3) 8. 플레이어와 몬스터에 마나를 추가, 이름을 이젠 정하고 플레이 가능
8.1. 처음에 이름을 정하고 시작할 수 있도록 수정하고 해당 이름으로 게임이 진행
8.2. 플레이어와 몬스터에 마나가 추가되었고 캔버스에 표시되도록 반영
8.3. 이후 스킬을 로그라이크 처럼 상점에서 랜덤하게 구매하고 전투에 사용하도록 (스킬은 로그라이크 처럼 구매 - 특정 트리순으로 확장) 개선 예정
사실 이젠 제목과는 다르게 단순히 매일 30분의 시간은 넘게 들어갑니다.
기능별로 파일을 분리해두지 않았다면 이 단계에서 고통을 받았을듯..
그래도 오늘 까지 작업을 하고 보니 단순하지만 이젠 꽤 그럴듯한 간단한 웹게임의 구색은 갖춘것 같네요. ㅎㅎ
테스트주소: https://ggoban.com/hof/