![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FefRJHR%2FbtqLeqHzCgS%2FcDEAgz8NJDfhmGbIqSDD11%2Fimg.png)
[Unity Project] Moongazer - 8일차 (完)
2020. 10. 20. 17:17
프로젝트/Moongazer (Unity RPG)
오늘 한 작업 디버깅 드래곤 사운드 조절 인벤토리 구현 포션 사용 상점 구현 파이어볼 충돌 수정 구현 중 막힌 것 JSON 인코딩 타입이 한국어로 되어 있어서 글자 깨짐 현상이 발생했다. 다른 이름으로 저장할 때 인코딩을 유니코드로 지정하니까 정상적으로 동작했다. 아이템을 클릭하면 정보를 볼 수 있게끔 구현하고 싶었다. 나의 경우에는 현재 인벤토리와 서브 아이템이 분리되어 있기 때문에 인벤토리 좌측 상단에 아이템 정보가 뜨는 방식으로 결정했다. 앱으로 테스트해 보고, 버그 있으면 후딱 수정해서 얼른 영상 따야겠다! 😃 +) www.youtube.com/watch?v=mTBuRThR8pA
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbs3YC4%2FbtqLlBUTcMp%2FgaXKVu6ZJG6xapGgTkAWV1%2Fimg.png)
[Unity Project] Moongazer - 7일차
2020. 10. 20. 01:06
프로젝트/Moongazer (Unity RPG)
오늘 한 작업 필드 씬 레벨 디자인 던전 씬 레벨 디자인 플레이어 스탯 JSON 연동 플레이어 인벤토리 JSON 연동 퀘스트 오류 수정 보스 및 스켈레톤 오류 수정 로딩 씬 안 보이는 오류 수정 내일 목표 3타 딜 안 들어가는 오류 수정 드래곤 사운드 체크(어긋나는 게 있었던 것 같음) 인벤토리 구현 마무리 상점 구현 드래곤 파이어볼 충돌 수정 구현 중 막힌 것 처음에 레벨 디자인이 너무 귀찮아서 그냥 애셋에 있는 샘플 씬을 사용했더니 모바일 환경에 맞지 않았고, 최적화를 해도 프레임 드랍 현상이 너무 심했다. 그래서 필드 씬과 던전 씬을 각각 구현해 봤다. 최적화하는 김에 Batch도 사용해 보았다. JSON은 유니티에서 처음 사용해 봤던 것이라서 좀 헤맸었다. 또한 어느 시점에서 해당 파일을 읽어 와..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8SIO1%2FbtqKIo2W5c4%2Ftblcfn0KXG3FdFIPWT4461%2Fimg.png)
[Unity Project] Moongazer - ~6일차
2020. 10. 12. 11:52
프로젝트/Moongazer (Unity RPG)
그동안 한 것 youtu.be/FPoed32ImIc 에너미 보스 플레이어 스킬 구현 충돌처리 NPC 퀘스트 다이얼로그 인벤토리 간단한 퍼즐 사운드 및 이펙트 와... 너무 급하게 치느라 포스팅을 하나도 못 했다... 심지어 커밋도 못 했다. 진짜 일어나서 밥 먹고, 코딩하고, 밥 먹고 잤다. 이런 생활 처음 해 보는 것 같다. 학교 시험 기간에도 이렇게는 안 했다. 학원 일정 때문에 2주짜리를 급하게 일주일만에 끝내려니까 빠진 기능도 많고, 코드를 너무 막 짠 게 아닌가 싶은 생각이 든다... 코드로 해결하고 싶었는데, 급하게 만들다 보니까 하이어라키에 점점 뭐가 많아지고 직렬화 남발했다. 마음에 안 든다. 😒 그리고 영상 찍으려니까 갑자기 보스 충돌처리가 안 돼서 ㅋㅋㅋ 학원 가기 두 시간 전인데 갑자..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsTq4z%2FbtqKhk1gRCd%2F9mhIyNJ8bPhSYXkVuK9Dk1%2Fimg.png)
[Unity Project] Moongazer - 2일차
2020. 10. 7. 01:32
프로젝트/Moongazer (Unity RPG)
오늘 한 작업 UI 프로토타입 완료 플레이어 콤보 공격 구현 bool 변수 하나를 추가해서 플레이어 콤보 기능을 구현했다. 공격 시 시간을 저장하고, 일정 길이 범위 안일 경우 콤보 공격을 진행한다. 공격을 진행할 때마다 코루틴 함수를 멈췄다가 다시 호출함으로써 시간 카운트를 진행하였다. 1.4초 안에 유효한 입력이 들어오지 않으면 콤보가 끊긴다. public void StartAttack() { isAttacking = true; if (State != Define.State.Attack) { State = Define.State.Attack; AttackType = PlayerAttack.None; _time = Time.fixedTime; } else if (AttackType 0.35f || At..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqNW0w%2FbtqJ93sOsee%2F1QqLKJVWnvarA1qKKgDfs0%2Fimg.png)
[Unity Project] Moongazer - 1일차
2020. 10. 6. 02:06
프로젝트/Moongazer (Unity RPG)
애셋 문제도 있고, 딱히 모작하고 싶은 작품이 안 보여서 퍼즐 기능이 있는 자작 RPG 게임을 만들어 보기로 했다. UI는 애셋에 있는 프리팹을 기반으로 하되, 기본적인 구조와 배치된 오브젝트 구조만 이용하고 스크립트는 직접 붙이려고 한다. 레벨도 직접 만들어 보고 싶었는데, 생각보다 시간이 많이 들 것 같아서 애셋에 있는 데모 씬을 그대로 이용하려고 한다. UI와 플레이어, 에너미 기능이 얼추 완성된다면 테스트 씬을 지우고 옮겨서 배치해 보려고 한다. 오늘은 급하게 진행하느라 진행 중 메모를 따로 적지 못했다... 내일부터는 스크린샷도 찍으며 차근차근 기록하면서 작업해 보려고 한다. 💪 오늘 한 작업 조이스틱으로 캐릭터 움직이기 UI 배치 및 생성하기 팝업 UI는 X 버튼 누르거나 화면 바깥 터치하면 ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjUkCJ%2FbtqFA608zIZ%2FUuwWziJNfeCkd5QCkkKFa0%2Fimg.png)
[WinAPI 일주일 모작] 모모도라 3 - 7일차 (完)
2020. 7. 12. 23:59
프로젝트/모모도라3 모작(일주일)
2020/07/12 사운드 추가 마무리 체력 회복 추가 디버깅 bool 변수 수정 영상 만들기 youtu.be/0gD32Kcki6s 길면서도 짧은 일주일 프로젝트가 끝났다... 초반에는 진짜 길게 느껴졌는데, 후반에는 너무 짧아서 이것저것 기능 쳐내느라 바빴다. 기획 & 설계의 소중함을 느꼈다. 프로젝트 하나 완성한 소감은 기능적으로 특별한 게 없어서 조금 아쉬움이 남는다. 스테이지에서 꼬이지만 않았더라면 세이브/로드 기능도 넣지 않았을까 싶다. 😥 그!래!도! 몬스터 파일 입출력 처리 넣은 거랑 직접 만든 카메라가 들어가 있어서 조금 더 뿌듯하긴 하다. 프레임워크는 너무 어려워... 동영상 초반 움직임 부분에 하필이면 렉이 걸려서 버벅거리는 게 너무 아쉽다. 이미 만들어 버려서 어쩔 수 없지만 ㅠㅠ 얼..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcC2NX%2FbtqFAqkVpne%2FtvktEDfr6TmYKWd7FkVll1%2Fimg.png)
[WinAPI 일주일 모작] 모모도라 3 - 6일차
2020. 7. 11. 22:58
프로젝트/모모도라3 모작(일주일)
2020/07/11 보스3 마무리 충돌 시 뒤로 밀리기, 알파 렌더 이펙트 추가 사운드 추가 피곤해!!!!!!!!!! 죽겠다... 오늘은 한 게 많다. 사실 기획할 때는 시간이 남을 줄 알았고, 막상 개발 들어가니까 구조 꼬여 버리는 바람에 시간이 엄청 부족할 줄 알았는데, 그것까지는 아니어서 다행이다. 첫 게임 프로젝트가 마무리되어 가는 중이라 기분 좋은데, 그만큼 엄청 피곤하다... 자고 싶다. 내일은 사운드 추가만 하고, 시연용으로 RECT 충돌이랑 픽셀 충돌 보여 줄 수 있는 모드를 토글키로 만들어서 영상 촬영해 봐야겠다. 남들 게임 얼른 보고 싶다. 두근두근! 😄
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcozF12%2FbtqFyQJ3BE0%2FDkbdWNKQfjOWEmhxobq520%2Fimg.png)
[WinAPI 일주일 모작] 모모도라 3 - 4일차
2020. 7. 9. 23:56
프로젝트/모모도라3 모작(일주일)
2020/07/09 스테이지 구조 변경 보스 패턴 추가 (진행 중) 충돌처리 (일반 몬스터는 완료, 보스는 현재 진행 중) 어제는 스테이지 관련해서 너무 막막했고... 코드 수정하다가 멘탈이 고대로 깨져서 포스팅하는 걸 깜빡했다. 😭 스테이지 구조 쪽에서 꼬일 거라고는 생각을 못 했어서 그런가? 뭔가 진행하는 속도가 생각보다 느리면서도 빠른 듯해서 아이러니하다. 지금 상황으로 봐서는 시간이 남을 것 같지는 않지만, 그렇다고 엄청 급하게 눈물 흘리면서 코드 짜지도 않을 것 같다. 아, 충돌 처리를 그냥 에너미 클래스에서 처리해 버리니까 생각보다 쉽게 진행 중이다. 이러다 꼬이면 안 되는데, 꼬이는 일은 없길 바란다... 기도메타... 🙏 할 수 있을지 모르겠지만, 내일은 보스 구현이랑 충돌 처리 완전 끝내..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDApTs%2FbtqFtxEqhHT%2F0Xue9YgQu1cq9TEDPChgGK%2Fimg.png)
[WinAPI 일주일 모작] 모모도라 3 - 2일차
2020. 7. 7. 23:56
프로젝트/모모도라3 모작(일주일)
2020/07/07 일반 몬스터/보스 몬스터 파일 처리 일반 몬스터 공격 기능 구현 충돌 처리 수정 오늘 할 건 다 했는데... 조금 아쉬운 느낌... 일반 몬스터 중 한 종류에는 픽셀 충돌이 필요해서 바로 적용해 봤더니, 프레임이... 반절이나 떨어진다... 😥 특정 조건인 경우에만 픽셀 충돌을 처리하게끔 하면 덜 느려질 것 같은데, 그 특정 조건을 어떻게 처리해야 좋을지는 조금 더 고민해 봐야겠다. (정 안 되면 한 마리만 배치하거나, 차라리 움직임을 수정하는 게 좋을 것 같다... 🤔) 글 작성하다 말고 수정해 봤는데 나름 잘 작동하는 것 같다. 그래도 조금 더 고민해 봐야지...... 내일은 보스 기능 구현하고, 충돌 처리 시작! 💪
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHKDB7%2FbtqFrDxnkph%2FKBAfwIJUsVKgC67TUaAjDk%2Fimg.png)
[WinAPI 일주일 모작] 모모도라 3 - 1일차
2020. 7. 6. 22:31
프로젝트/모모도라3 모작(일주일)
2020/07/06 캐릭터 상태 버그 수정 일반 몬스터 구현 스테이지 생성 및 이동 처리 카메라 수정 캐릭터 원거리 공격 차지 시스템 구현 일반 몬스터 파일 처리 오늘 너무 하기 싫어서 푹 쉬었다... 😎 일단 대충 위치에 맞춰서 몬스터 배치는 완료했다. 자세한 기능 구현 및 충돌 처리보다는 파일 읽어와서 클래스 생성하고 벡터에 담는 처리를 먼저 해야 할 것 같다. 보스까지 파일로 읽어와서 배치하는 것부터 진행하고, 확인한 후에 세부 기능을 구현하는 편이 좋을 듯하다! 순조롭게 되고 있는 듯하지만 언제 어디서 버그가 터질지 모른다. 긴장 또 긴장! 💪💪
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEFCwK%2FbtqFn01tDQM%2FxaYzeraUNw1IHUrIz26wt0%2Fimg.png)
[WinAPI 일주일 모작] 모모도라 3 - 0일차
2020. 7. 5. 14:03
프로젝트/모모도라3 모작(일주일)
https://www.youtube.com/watch?v=1j-odjPa-Zk 맨 처음에는 문라이터를 생각했었는데, 전투만 구현하는 것도 생각보다 어려워 보여서... 조금 더 단순해 보이는 게임을 찾다가 이 모모도라 시리즈를 발견하게 되었다. 구매해서 실제로 플레이해 보니 생각보다 재미있었고, 보스도 패턴은 단순하지만 다양해서 일주일 모작 프로젝트에 적합하다는 생각이 들었다. 진짜 게임 같은 게임은 처음 만들어 보는 거라서 두근대기도 하고, 내가 잘할 수 있을지 걱정도 된다. 구현 범위는 일반 맵 두 가지, 일반 맵과 보스 맵을 잇는 맵, 보스 맵 세 가지 정도이다. (시간이 남으면 일반 맵과 보스를 하나씩 더 추가하고 싶긴 한데, 어떻게 될지는 아직 잘 모르겠다.) 현재 프로토타입으로 진행해 놓은 코드..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfpPNh%2FbtqE0ZAFyfl%2FOBksEr7dnkq4gYKIPXBdw1%2Fimg.png)
[C++, WinAPI] 너구리 게임
2020. 6. 16. 20:12
프로젝트/게임 로직 구현
플레이어는 좌우로 움직일 수 있고, 사다리 범위 내에서는 상하로 이동할 수 있다. 스페이스 키를 누르면 바라보고 있는 방향으로 점프한다. 몬스터 또는 장애물과 닿았을 때, 그리고 점프하지 못한 경우에 게임 오버 처리하며, 사다리와 몬스터, 장애물, 과일은 랜덤하게 배치된다. 게임 오버 되지 않고 모든 과일을 다 먹으면 게임을 종료한다. youtu.be/hbKMTk90sko
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYok9Q%2FbtqESigE1Cr%2FtwDnDoGVNuKXxkWwNyU9w0%2Fimg.png)
[C++, WinAPI] 클레이 사격
2020. 6. 15. 21:37
프로젝트/게임 로직 구현
화면 양쪽에서 접시가 날라오고, 중앙에 위치한 두 개의 조준점은 해당 접시를 따라서 상하로 이동한다. 플레이어는 타이밍에 맞춰서 키보드의 좌,우 버튼을 누른다. 접시의 패턴은 우측 상단, 우측 하단, 좌측 상단, 좌측 하단으로 이루어져 있으며, 원활한 플레이를 위하여 랜덤으로 호출하되 확률을 지정하여 우측에서의 출현률을 높였다. 사격 실패했을 경우, 일정 시간 동안 사격을 할 수 없게 재장전 기능을 추가하였다. https://youtu.be/5DHTDYhlmbs
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQoFxQ%2FbtqEIT94h4L%2FAp8zPZzBWS7qOjL6JzyDUk%2Fimg.png)
[C++, WinAPI] 탱크대전(vs 초급 AI)
2020. 6. 9. 20:20
프로젝트/게임 로직 구현
사용자 플레이어의 조작에 따라서 발사할 위치를 확인할 수 있는 포물선을 그리고, 스페이스 바를 누르면 해당 위치로 총알을 발사한다. 컴퓨터 플레이어는 총알이 근접해 오면 피하고, 일정 시간마다 사용자 플레이어의 위치에 맞게끔 총알을 발사한다. 컴퓨터 플레이어는 일정 체력 이하가 되었을 때 사용자 플레이어의 위치를 체크하고, 해당 위치로 향하는 강력한 유도탄을 발사한다. youtu.be/4yzd0GrD5XU
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2FaWJ%2FbtqEo7NHZV9%2FNAg2rofhkCkt288SCovx80%2Fimg.png)
[C++] 숫자 퍼즐 게임
2020. 5. 25. 21:48
프로젝트/게임 로직 구현
0부터 24까지 겹치지 않게 무작위로 섞어서 출력한다. 단, 0은 언제나 맨 오른쪽 최하단에 위치해야 한다. 사용자로부터 방향키를 입력받음과 동시에 0을 해당 방향으로 한 칸 이동시킨다. 예를 들어 왼쪽(←) 버튼을 누른 경우, 0의 왼쪽에 있는 22와 자리를 바꾼다. 0이 가장자리에 위치하는 경우, 예를 들어, 0이 상단 사진의 21번 자리에 있다면, 왼쪽(←) 버튼과 아래쪽(↓) 버튼을 눌렀을 때 아무런 위치 변화가 일어나서는 안 된다. https://www.youtube.com/watch?v=e8aU3ExfA2Q&feature=youtu.be ※ 공부 중에 만들어 본 코드입니다. 코드가 매끄럽지 않으며, 검색하지 않고 최대한 알고 있는 내용으로만 구현했으니 참고용으로만 봐 주세요! #include ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdlN9y2%2FbtqEimEvIN0%2Fe8Posv4dTyUveIwX5qfXgk%2Fimg.png)
[C++] 트럼프 카드 배팅 게임
2020. 5. 20. 22:16
프로젝트/게임 로직 구현
트럼프 카드 모양(♠/◆/♥/♣)을 가진 52개의 카드를 생성하고, 무작위로 섞는다. 카드 모양은 열거형, 각 카드는 구조체를 이용하였다. 섞은 카드 배열에서 카드 두 개(♣a, ♣b)를 차례로 꺼낸다. 이를 확인하고 플레이어는 배팅한다. 이때, 소지금을 넘는 금액을 입력하거나, 최소 배팅 금액(천 원) 미만을 입력했을 경우 정상적인 값이 들어올 때까지 재시도를 요구한다. 다음번에 나온 카드의 숫자가 두 카드의 숫자(a~b) 사이라면 배팅금을 두 배로 돌려받고, 그렇지 않을 경우에는 돌려받지 못한다. 이를 소지금이 없어지거나, 카드(52개)가 모두 소진될 때까지 반복한다. youtu.be/-e-lf0-ZeuY ※ 공부 중에 만들어 본 코드입니다. 코드가 매끄럽지 않으며, 검색하지 않고 최대한 알고 있는 ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDC6D8%2FbtqEgioFVzu%2Fun0FC9HiGxg79dK08Y2t5k%2Fimg.png)
[C++] C++로 구현하는 빙고 (vs 컴퓨터) ver.2
2020. 5. 19. 22:50
프로젝트/게임 로직 구현
이전 버전과 규칙은 동일하다. 이전 버전: https://c1oud9.tistory.com/97 [C++] C++로 구현하는 빙고 (vs 컴퓨터) 이중 배열의 각 칸에 순차적으로 숫자를 넣는다. (1~25) 셔플 알고리즘을 통해 숫자를 무작위로 섞는다. 사용자에게 숫자를 입력받는다. 사용자에게 입력받은 숫자를 처리한다. 사용자 및 컴퓨터� c1oud9.tistory.com youtu.be/bjkK66xrGS0 개선점 두 숫자가 동시에 처리되지 않고, 플레이어의 입력 후 컴퓨터가 고를 수 있도록 턴제로 진행되게끔 수정했다. 이때, 컴퓨터가 숫자를 지울 때 2초라는 시간을 지연시켰다. 턴이 지날 때마다 화면을 지우며 자연스럽게 갱신하는 기능을 추가했다. 버그를 수정하였다. ※ 공부 중에 만들어 본 코드입니다..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpIPre%2FbtqEimwHHpa%2FqL7parJSpZOrl6KHkInwd0%2Fimg.png)
[C++] C++로 구현하는 빙고 (vs 컴퓨터)
2020. 5. 18. 22:00
프로젝트/게임 로직 구현
이중 배열의 각 칸에 순차적으로 숫자를 넣는다. (1~25) 셔플 알고리즘을 통해 숫자를 무작위로 섞는다. 사용자에게 숫자를 입력받는다. 사용자에게 입력받은 숫자를 처리한다. 사용자 및 컴퓨터의 배열 모두 해당 숫자가 있는 칸의 값을 -1로 만든다. 컴퓨터의 숫자를 결정한다. 본인에게 유리한 숫자를 랜덤으로 출력한다. 이때, 우선 순위는 가로(─), 세로(│), 대각선(\,/) 순이다. 결정된 컴퓨터 숫자를 처리한다. 사용자 및 컴퓨터의 배열 모두 해당 숫자가 있는 칸의 값을 -1로 만든다. 빙고 5줄이 되면 게임을 종료한다. 빙고 줄을 비교하여 승자를 가린다. 단, 동점일 경우 플레이어가 승리한다. youtu.be/DSG1LpYXd7I ※ 공부 중에 만들어 본 코드입니다. 코드가 매끄럽지 않으며, 검색..