[WIL] 20241108 /NOV/WEEK#2

Jaeyoung Ko·2024년 11월 8일

정신없이 또 한 주가 지나간 것 같다.

Node.js환경 CLI 로그라이크

CLI 텍스트 기반 로그라이크 게임

  • 플레이 방법
// 1. 웹 서버 시작
npm run start:webServer

// 2. 게임 시작
npm run start:game

완료 사항 (11/04 완료)


필수구현

  • Player 클래스, Monster 클래스를 통한 stat 관리
  • 턴제 진행
  • 스테이지 비례 점진적 몬스터 스탯 증가
  • 공격, 피격, 사망 구현
  • 플레이어 선택지 : [공격]
  • 몬스터 랜덤 선택지 : [공격]
  • 스테이지 클리어 시 일정 체력 회복

추가구현

11/05 업데이트 내역

11/05 업데이트 내역

  • 선택지 : [방어] : 방어 액션 이후 한 턴동안 추가 방어도를 얻는다. 방어 액션을 취하는 동안은 일정 확률(3%)로 [완벽한 방어]가 발동되며, 완벽한 방어 시 피해를 입지 않는다.

방어도 시스템

방어도는 피격 시 데미지 경감을 도와준다.
데미지 계산 : max(데미지 총량 - 방어도, 0)
ex. 기본 방어도 5 몬스터 데미지 20 => 20 - 5 = 15의 피해
기본 방어도 5 방어 액션을 통해 얻은 추가방어도 15 몬스터 데미지 16 => max((15 - (5+15)) , 0) = 0 피해 입지 않음
기본 방어도 5 몬스터 데미지 24, 완벽한 방어 발동 => 0 피해를 입지 않음

  • 선택지 : [반격] : 반격 액션 이후 상대의 공격 시, 절반의 데미지 경감 + 1.5배의 플레이어 공격 / 상대의 액션이 공격이 아닐 시, 아무런 영향 없음

로그인 + 리더보드 시스템

  • 로그라이크 플레이에 전체 클리어 혹은 사망한 스테이지를 firebase db에 기록
  • 초기화면에서 조회 가능

app.js를 통한 웹 서버로 fetch API + firebase admin 이용하여 db 이용


11/06 업데이트 내역

11/06 업데이트 내역

  • 리더보드 기능 완전히 완성

  • 리더보드 : 아이디 하나에 해당하는 최고점만 기록하도록

  • 리더보드 : 시간 관련하여 서버 사이드, UTC 기준 시간으로 설정하도록 변경

  • 몬스터 턴 액션: [강한 일격] 75% 확률로 1.75배 데미지, 25% 확률로 실패, [회복]: 최대체력의 10% 회복 추가

이렇게 하나의 프로젝트도 완성했고,




프로젝트 기획

광질 클리커 게임

광질을 통해 광물을 수집해 나가는 컨셉

클릭 시 곡괭이를

수집품 획득 마다 업적 달성

두 번째 react-spring, typescript 프로젝트도 시작에 들어섰다. (시작이 반이니까 반절 한것 같다)

시간이 정말 빠르게 지나간다.

프로젝트도, 새로운 기술 쓰는 것도 좋지만, 나의 약점이 코테라는 것을 알고 있기 때문에 여기에도 많은 집중과 투자를 해야할 것 같다.

profile
안녕하세요, 고재영입니다. 언제나 즐겁게 살려고 노력합니다.

0개의 댓글