개인공부/Win32API(31)
-
2D 게임만들기(3)
TOOL씬을 이용해서 맵파일을 제작하고 게임플레이 맵에 로드하고 플레이어와 벽과의 충돌을 구현했다. 하지만 벽에 살짝 플레이어 들어가는 판정이라서 벽에 끼는 상황이 발생했다. 내일은 이 상황을 해결하고 계속 게임을 만들 예정이다.
2023.01.15 -
2D게임 만들기(2)
사각형과 사각형의 충돌 기존의 충돌 매니저는 충돌의 시점만을 판단했기 때문에 내가 만들 게임에서는 충돌이 발생하는 지점?.. 방향을 판단해야 했다. 그래서 기존 충돌매니저에서 조건을 더 추가해 주었다. 처음에는 머리가 복잡해서 어떤 방식으로 충돌을 판단해야 할지 생각했는데 서로의 충돌 좌표를 기준으로 조건을 나눴다. 차근차근 완성을 했지만 현재 window Y좌표는 반대이기 때문에 조건을 한 번 더 수정해서 디버깅을 했는데 일단은 잘 완성했다. 그 결과 충돌체는 어느 방향에서 자신이 충돌한 지 판단이 가능하게 됐다. 하지만 아마도 버그가 발생할거 같은 불길한 예감이 든다...... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ..
2023.01.14 -
2D게임 만들기(1)
오늘부터는 게임 본격적으로 게임을 만들고 있다 현재는 간단하게 처음 씬에서 게임 씬으로 넘어가는 것도 구현하고 게임에 필요한 충돌판정을 보완해주고 있다. 충돌판정이 처음 일어났을때 4가지방향을 인식 가능하게 충돌체를 설정하고 있다.
2023.01.13 -
발판 구현
점프를 구현하기 위해서 먼저 발판을 구현했다. 오늘부터 작업을 하기위해서 깃을 공부하는 중인데 깃이 생각보다 어려운 개념이어서 공부가 많이 필요할거 같다.....
2023.01.12 -
RigidBody2D
리지드 바디를 컴포넌트로 사용하여 플레이어의 움직임을 구현하였다. 플레이어에거 fDT간격으로 힘을 주어서 움직이는 방식을 사용했는데 아직까지는 조작감의 설정을 만들 필요가있다. 최종적으로는 아이작같은 조작감을 주는 것이 목표이다. 그리고 플레이어의 애니메이션이 이동방향에따라서 바뀌게 만들었다. 이전의 몬스터의 상태처럼 플레이어의 상태를 지정하여 그 상태에 맞는 애니메이션을 적용하였다. 지금까지 강의를 들으면서 많은 내용을 배웠고 거의 강의가 끝나가는데 내가 만들 게임에 대한 구상과 기획을 하고있는 중이다. 일단 만들고 싶은 게임은 2가지인데 아마도 먼저 총알 피하기게임을 만들것 같다. 다음 강의에서는 중력을 적용하는 공부를 할 예정이다.
2023.01.11 -
유한 상태 기계(finite-state machine, FSM)
FSM 컴퓨터 프로그램을 설계할 때 쓰이는 모델이다. 컴퓨터 내에 유한한 상태를 가지는 기계가 있다고 가정하고, 컴퓨터는 오로지 하나의 상태만 갖고 있을 수 있으며 각 상태별 동작과 상태끼리의 전이에 대한 내용을 설계하게 된다. 몬스터 AI를 FSM 구조를 이용하여 설계를 하였다. 평소에는 IDLE 상태이지만 update에서 플레이어의 위치 정보를 받아서 몬스터와 플레이어의 거리 값을 계산하여 몬스터의 인식범위 내에 있으면 Trace 상태로 전환하는 이벤트를 발생시킨다. 이러한 FSM구조를 이용하면 몬스터의 AI를 더 편리하게 구현이 가능하다. 다음공부는 RigidBody 2d에 대해서 공부할 예정이다. 처음 강의목록에 리지드 바디가 있어서 강의를 들었는데 어느새 여기 단계까지 왔다. 강의를 다 들어가므..
2023.01.10