개인과제는 어느정도 전체적으로 마무리한 것 같습니다. 일단은 여러번 테스트후 제출완료... >전투 기획 플레이어에게는 여러 가지 선택지가 주어진다. (공격, 연속공격, 방어, 도망 등…) 공격 - 100% 확률로 공격 성공, 몬스터에게 피격 연속공격 -
오늘 개인과제를 하면서 문제가 하나 발생하였습니다. 개인과제는 간단한 로그라이크류의 텍스트게임의 일부를 구현하는 과제입니다. 게임 화면은 이런식입니다. 오늘 문제의 구현내용 : 스테이지 클리어시 일시적으로 로그를 정지시키고 자동으로 다음 스테이지로 넘어가게하는 로직
자 이제 시작이야~ 오늘로 내일배움캠프에서 제공해준 Node.js 강의를 완강했습니다. 아직 강의 내용을 정리해야 될 부분이 많지만 일단 정해진 기한에 맞게 과제제출을 하기위해 바로 과제부터 시작 할려고 합니다. 추후 벨로그와 깃허브에 내용정리하기! 그럼 과제 내용부터 살펴 보겠습니다. 개인과제는 아이템 시뮬레이터를 구현하는 것입니다. 아이템 시뮬레이터...
와우 우여곡절끝에 거의 하루만에 필수기능들을 구현해보았습니다. 오늘만큼은 일찍 자자.... 익숙하지 않은 코드를 칠려고하니 어색한감이 있었지만 그래도 과제 내용이 강의 내용에 거의 맞게 내주셨더라구요! 그래서 다행히 금방 강의자료들과 구글링을 보면서 코드를 수정하고 직
구현에 앞서 도전기능을 알아 보겠습니다.캐릭터가 가진 money로 아이템을 구매하여 money감소캐릭터의 ID를 URL의 parameter로 전달하고, 구입하고 싶은 아이템의 코드와 수량은 body로 전달구입 성공 시 인벤토리에 아이템 생성, response는 캐릭터의
오늘부터 "풋살 온라인" 팀 프로젝트 과제가 주어졌습니다. 풋살 온라인 게임서버에대해 생각하고 이해하면서 구현해보는 과제인 것 같습니다.과제에는 필수기능, 도전기능으로 나누어 집니다. 필수기능을 다 구현하면 추가적으로 도전기능도 해보면서 추가적인 기능들도 구현해 보니다
오늘은 팀원분들과 상의하면서 어떻게 진행할지에 대해 논의해본 시간이였습니다.일단 와이어프레임부터 작성해 보았습니다. 저희는 피그마를 이용했습니다. 제가 저번 자기소개사이트 구현 프로젝트에서 사용해본적이 있어 팀원분들께 추천하여 피그마로 작성해 보았습니다.다른 팀원분의
오늘은 도전기능에서 몇가지 API를 구현하였고 Joi를 이용하여 유효성 검사를 하고, 에러미들웨어를 따로 만들어 좀 더 에러처리를 관리하기 쉽게 작업하였습니다. Joi를 이용하여 하나의 클래스에 여러 schema를 지정하여 관리하면 편할 것 같아 해보았습니다. >J
이젠 팀프로젝트 과제도 있기에 빠르게 도전기능을 완성해보았습니다. 리팩토링이 좀 덜 되어있지만팀과제를 하기전에 도전기능을 경험해보면 좋을 거 같아 빠르게 연습할겸 해보았습니다.캐릭터가 장착한 아이템 목록 조회 API아이템 장착 API아이템 탈착 API게임 머니를 버는
여러번 회의를 통해 ERD도 여러번 수정하고 DB의 컬럼이나 제약조건도 수정하면서 진행하고 있습니다.확실히 경험을 여러번 고뇌를 겪고 하니 DB를 제대로 설계하는 것이 중요하다고 느껴집니다. 로직에 맞고 기획에 맞게 db를 설계하는 것이 많이 까다롭더라구요. 하지만 점
아 선발 등록 API에 코드들이 너무 난해하여 리펙토링을 해주면 좋을 거 같다는 의견과 참고해보라고 코드를 보여 주셨습니다. 저는 여기서 이부분 "\`" 이걸 통해서 이런식으로도 작성이 되는 구나를 보았습니다. 오 이렇게 응용해서 해보면 여러 조건문들을 정리 할 수
휴 정신없이 흘러가는 날이 점점 많아지는 것 같습니다. 수정의 수정을 반복하다 보니 코드들이 점점 길어지는 것 같을 때마다 팀원분들과 함께 코드를 보면서 해결해 나갔습니다. 이게 협업의 순기능인 것 같네요 랭킹조회 API
최종 ERD 테이블 구조입니다. API 명세서 https://documenter.getpostman.com/view/38272046/2sAXqnf4zT 깃허브 주소 https://github.com/Moonb7/OnlineFutsalProject 프로젝트 시연 영
안녕하세요 요즘 날씨가 갑자기 추워졌네요. 항상 건강 조심하시고 저도 건강관리 체력관리를 해야 될 것 같네요 하하 그럼 이제 본 내용으로 작성해 보겠습니다.이번에 웹소켓 강의와 함께 개인과제로 바로 주셨습니다. 개인과제 내용은 실시간으로 움직이고 점수 획득을 통해 게임
오늘은 이제 필수 구현 기획중에서
스테이지에 따라 아이템이 생성, 아이템 획득 시 점수 획득, 아이템 별 획득 점수 구분 3가지의 기능을 구현하였습니다. 정말 막상해보면 작성한걸 보면 간단한 코드들이였는데 생각하고 또 생각하고 멍떄리면서 생각하는 시간이 너무 오래걸렸습니다. 젠장..일단 스테이지에 따라
오늘은 Broadcast기능 과 게임에서 최고점수를 저장하는 기능을 구현해보았습니다. 오류 발생 수정 후
어느덧 제출 날짜가 왔네요. 도전기능 마지막 redis를 이용한 데이터 저장 현재 테스트를 막하다가 유저 정보까지만 저장하게 구현해 두었습니다. redis Redis는 인메모리 데이터 구조 저장소로, 다양한 고급 데이터 구조를 지원하는 키-값(key-value) 데이
오늘도 팀프로젝트가 또 바로 시작이네요 이야야야 1. 프로젝트 프로젝트 명 : 랜덤 타워 디펜스 소개 한 줄 정리 : Web Socket을 활용한 게임 서버 구축 프로젝트 내용 원본 링크 : https://teamsparta.notion.site/
오늘 본격적으로 구현을 시작해 보았습니다. 일단 먼저 제공해준 게임이랑 저희가 기획한 게임의 흐름을 알아보았습니다. 먼저 랜덤 디펜스 게임으로 타워의 위치값도 랜덤이고, 몬스터도 랜덤으로 생성됩니다. 그리고 몬스터 처치시에 골드와 점수가 오르면서 해당 점수가 오를때
오늘은 어제 팀원들과 병합하고 여러 테스트를 거쳐 깃허브 병합을 완료 후 추가로 해야할 기능과 추가로 하고 싶은 기능을 정했습니다. 그 중 저는 이번 발제의 황금 고블린 출현 구현을 맡았습니다. 일단 이거를 서버에서 생성해 봐라? 피드백을 받았던거 같습니다. 음 이게
원래는 엑세스 토큰하나만 생성하여 검증하여 게임을 진행하였습니다. 하지만 리프레쉬 토큰도 같이 생성해서 리프레시 토큰을 이용하여 엑세스 토큰을 생성하는 것이 좋을 것 같아 구현해 보았습니다. 사실 처음에 리프레시 토큰에대해 몰랐다가 팀원분들이 알려주셔서 찾아보면서 구
어찌저찌 시간이흘러 오늘 제출일까지 왔습니다. 오늘은 팀원분들과 같이 지금까지 해온 프로젝트에 대해 간단히 소개해 볼려고 합니다. 게임의 메인 화면입니다. >### 게임 기획 > 게임 장르: 타워 디펜스입니다. > 게임 컨셉: 판교의 등대라고 불리는 불빛에 이끌려
이번에도 강의와 함께 과제를 주셨습니다. 이번 과제는 tcp를 이용한 멀티 플레이 게임 서버를 구현해보는 과제입니다. 사용한 라이브러리(모듈) : prettier, nodemon,
db 연결을 하고 테스트를 하던중 분명 userId, x, y 등의 값들을 JSON형태로 같이 서버 -> 클라이언트에게 보내줬습니다. 근데 유니티에서 확인한 값은 userId 값만 들어 있었습니다. 어라? 서버에서 값을 코드를 확인해보았습니다. 일단 외관상엔 문제가
저번주 금요일에 DB 연결 후 게임 종료시 마지막 위치 저장 후 게임 실행시 마지막 위치에서 생성되게까지 만들고 과제를 제출하였습니다. 그리고 못했던 부분이 있어 해설영상을 보면서 나머지 ping을 체크하는 로직을 따라서 작성하고 테스트 중 문제가 발생하였습니다.
오늘 벨로그는 간단히 프로젝트 소개를 할려고 합니다. 바로 보시죠!해당 원하는 Device Id(닉네임 같은 고유한 이름)를 입력하고 서버의 ip 주소와 포트 번호를 알맞게 입력하면 게임이 실행됩니다.해당 게임이 실행되면 device Id와 함께 랜덤으로 캐릭터가 생성
이번 과제도 저번 개인과제와 같이 Tcp통신을 이용한 멀티플레이 게임입니다. 이번 프로젝트의 게임장르는 타워디펜스 게임입니다.회원가입로그인매칭 & 게임 스타스타워 구매타워 공격몬스터 스폰몬스터 죽음처리본진 데미지게임 오버상태 동기화위에 있는 내용처럼 패킷 명세와 클라이
저희팀은 이번에 초반 셋팅 및 스켈레톤 코드를 다같이 vsCode의 Live Share 확장프로그램을 이용해서 해보기로 했습니다. 일단 먼저 전에 했던 개인과제의 파일들을 참고해서 이 프로젝트에 어울리게 변경하여 작성하였습니다. 디렉토리 구조
오늘은 제가 맡은 몬스터 생성 및 몬스터 죽음 요청을 처리하는 로직을 작성해 보았습니다.몬스터 생성 요청이 들어올때 실행할 handler함수입니다.몬스터 죽음 요청이 들어올때 실행할 handler함수입니다.일단 현재 game클래스(게임세션)안에 작성하였습니다.사실 처음
타워 공격을 할때 해당 클라이언트에서 상대타워도 공격을 않하는 상황이 발생하였습니다. 해당 문제를 찾아 보았습니다. 해당 각각의 유저를 기준으로 몬스터 및 타워의 id를 생성하여 겹치는 현상이 발생하였던 것 이였습니다. 해당 몬스터와 타워의 id는 무조건 고유한 값이
클라이언트에서 오는 sequence값을 체크해보는 로직을 작성해 보았습니다. 기존 onData 기존 코드에선 sequence값이 > #### 기존 createResponse 기존 버퍼객체를 만들어 응답으로 보낼 데이터를 만드는 함수입니다. 현재 sequence를 일
드디어 제출일이 왔습니다. 오늘 벨로그는 현재 프로젝트에 대해 소개하고 간단하게 시연영상을 작성해 볼려고 합니다. 시작하겠습니다!!!!!! 프로젝트 소개 장르 랜덤 타워 디펜스 배경 몬스터 월드에 시연영상 타워 디펜스 게임 시연영상 오늘의 회고 드디어 제출하
오늘부터 본격적인 최종 프로젝트가 시작되었습니다. 운좋게 이번엔 Unity트랙을 경험한 팀과 기획자분과 협업을 맺어 프로젝트를 시작하게 되었습니다. 굿 >### 11.10 회의 미리 사전에 11.10일에 간단한 회의를 진행하였습니다. > Agenda(아젠다): 기획
어제 아이디어 구상 중에 실제로 겪은 꿈을 아이디어로 내주신 팀원분이 계셨습니다. 해당 꿈의 내용은 약간 여러 팀원들과 저택에서 귀신들로부터 도망치면서 영혼을 수집하여 탈출하는 약간 게임을 하는 느낌의 꿈이였다고 했습니다. 해당 귀신들의 특징들 또한 전부 알려주셨고
오늘은 주말에 잠시 분산서버에 대해 알아보다가 MSA라는 마이크로서비스 아키텍쳐 구조를 튜터님께서 알려주셔서 오늘만은 팀원 다같이 이것에 대해 각자 공부해보는 시간을 가졌습니다.마이크로서비스 아키텍처(MSA)는 응용 프로그램을 여러 독립적인 서비스로 나누어 구성하는 소