Skip to content

BEMELON/MUD-Mini-Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MUD-Mini-Game

Server

  • 최소 30x30 크기의 던전을 제공한다.
  • ServerClientJSON 메시지 포맷을 이용한다.
  • Client가 최초 로그인하게 되면 던전의 임의의 위치에 떨어진다.
  • 사용자의 정보는 Redis에 5분간 저장된다.
  • 플레이 중인 유저로 중복 접속이 확인되면 동시 접속으로 간주하고 기존의 접속을 강제 종료한다.
  • 사용자에게 제공되는 기본 데이터는 아래와 같다.
    • hp : 30
    • str : 3
    • hp-posion : 1
    • str-posion : 1
  • 1분에 한번씩 슬라임이 10마리가 되도록 주기적으로 생성한다.
    • 생성되는 위치는 랜덤
    • 초기 채력은 5~10 사이의 랜덤
    • 초기 공격력은 3~5 사이의 랜덤
    • 랜덤하게 체력 회복 포션공격력 강화 포션을 갖고 생성되며, 이는 슬라임의 체력을 0 이 되게 만든 유저가 획득한다.
    • 슬라임은 자기 좌표 기준 [-1, -1] ~ [1, 1] 까지 9칸에 있는 유저를 5초에 한번 간격으로 공격한다.
  • 아이템의 효과
    • 공격력 강화 포션 : 1분 동안 공격력을 +3 증가 시킨다.
    • 체력 회복 포션 : hp 를 10 회복 시킨다.
  • 공격에 따른 데미지 계산
    • 공격이 발생하면 전체 클라이언트에게 알림이 가게 한다.
  • 접속 종료 및 로그아웃
    • 클라이언트를 종료하거나 네트워크가 끊기는 경우 서버는 해당 유저가 몬스터의 공격을 받지 않게 한다.
  • 동시 접속 및 유저 핸들링
    • 서버는 최소 30개 이상의 클라이언트 연결을 처리할 수 있어야 한다.
  • RESTful API
    • Socket 연결과 동시에 API 형식으로 통신할 수 있는 방법을 제공한다.

Client

  • move x y : 현재 화표에서 (x, y) 만큼 이동한다.
    • 이 때, (x, y)는 각각 3 이하로 한다.
  • attack : 현재 좌표 기준 [-1, -1] ~ [1, 1] 까지 9칸 영역에 대해 슬라임들을 공격한다.
  • users : 유저의 이름과 좌표를 나열한다.
  • chat {user_name} {content} : 주어진 유저이름의 유저에게 대화 내용을 전달한다.
    • 만약, 유저가 로그인하지 않았다면 없는 유저라 출력한다.
  • bot : Bot 모드를 활성화 한다. Bot 모드는 위의 명령어 중 하나를 1초에 한번씩 랜덤하게 수행하고 종료한다.

Commit Message Convention

{Type}({Problem}) : {Description}

Type Description
feat 새로운 기능 추가
fix 버그 수정
docs 문서 수정
style 코드 포맷팅
refactor 코드 리팩토링
test 테스트 코드
chore 빌드 업무 수정

About

게임 서버 + 게임 클라이언트 (TBD)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published