본문 바로가기

게임 개발/[AssortRock] 콘솔 게임(CUI) 설계 및 분석7

[VampireSurvivor] 개인 프로젝트 - 뱀파이어 서바이벌 콘솔버전 - 3 레벨 시스템 도입 레벨에 따른 경험치 필요량을 LevelManager를 통해 관리 HP바, 경험치바 추가 화면 좌상단에 현재 체력을 최대 체력으로 나눠서 백분율을 구한뒤 그걸 게이지에 표시 몬스터 피격판정 구현 후 경험치 획득 구현 예정 레벨업 시 아이템 선택하여 플레이어에 추가하도록 할 예정 몬스터 추가 GameObject를 상속받는 고블린클래스 추가 매 Update마다 플레이어의 위치를 토대로 추적하도록 만들었음 플레이어가 한 칸씩 움직일때 몬스터도 한 칸씩 움직이기 때문에 도망치기 어려움 (로직 변경필요) 무기 아이템, Effect 클래스 구현 기본 무기인 총 추가 (플레이어 생성 시 같이 생성됨) 총알은 별도의 Effect 클래스를 만듦 (GameObject 상속) 총의 Update에서 플레이어 .. 2022. 10. 11.
[VampireSurvivor] 개인 프로젝트 - 뱀파이어 서바이벌 콘솔버전 - 2 카메라 뷰 변경 이전에는 동굴에서 라이트를 켠 것 처럼 작은 카메라가 플레이어가 가는 곳마다 비추는 방식이었다면 이제는 카메라는 고정하고 플레이어를 기준으로 좌우 렌즈폭을 토대로 맵을 렌더링해서 비추는 방식으로 변경 아이템 작업 아이템을 추상클래스로 만들고 순수가상함수로 Initialize, Update, Render, Destroy 선언 Shoes, Might, Health, Defence와 같이 플레이어 스탯과 직접적으로 연관된 작업 먼저 수행 아이템이 플레이어와 상호작용하는 방식은 아이템의 Update에서 Player의 포인터를 받아서 상호작용함 진행상황 씬 작업 (20%) 게임 오브젝트 - 플레이어 (10%) 게임 오브젝트 - 몬스터 (0%) 오브젝트 간 상호작용 (0%) 아이템 작업 (10%) 2022. 10. 10.
[VampireSurvivor] 개인 프로젝트 - 뱀파이어 서바이벌 콘솔버전 - 1 소개 이 프로젝트를 시작하게 된 계기는 공부한 것을 실습해보기 위한 프로젝트가 필요하다고 느꼈기 때문 예전에 재밌게 하기도 했고, 콘솔 테트리스, 슈퍼마리오, 갤러그는 종종 봤어도 뱀파이어서바이벌은 아직 본 적이 없어서 한 번 만들어보기로 했다. 기존에 PUSH PUSH에서 했던 틀을 토대로 살을 덧붙여나가면 좋은 결과물이 나올 것 같다. 목표 맵을 크게 만들고 필요한 부분만 카메라로 비추는 식으로 부분만 렌더링하는 식으로 플레이 생각대로 됐지만 맵을 다 지우고 새로 그리는 로직때문에 깜빡이는게 많이 거슬린다. 이렇게 하는 것보단 여백을 조금만 남기고 가운데영역을 전부 카메라 영역으로 쓴 후에 좌표에 따른 맵을 로딩(?)해서 업데이트해나가는 식으로 해보면 어떨까 생각이 든다 진행상황 씬 작업 (10%) .. 2022. 10. 9.
[PUSH PUSH] 게임 로직 구현 - AssortRock 17일차 오프라인 수업_220929 로직 변경 사항 Ball을 밀었을 때 그 위치가 Ball 혹은 벽이면 그 위치로 이동하지 못하게 하는 로직 추가 House에 Ball을 넣었을 때 House가 반짝거리게 하는 효과 넣기 (Pen의 도입) 숙제 (플레이어가 제일 마지막에 그려지도록 하기) 이동불가 로직 // Player.cpp if (map->GetPixel(ballPos) == L'▩' || map->GetPixel(ballPos) == L'●') { ballPos = prevBallPos; mPos = prevPos; } 만약 다음 볼이 움직인 위치를 가져와서 그 위치가 벽이거나 Ball일 경우 움직이기 전 위치로 세팅해준다. House에 볼을 넣었을 때 효과 처리 Ball이 들어갔는지 아닌지 여부에 따라 해당 칸에 bool 값으로 표.. 2022. 9. 30.