5개월간의 게임 엔진 제작 프로젝트가 끝났다.
OpenGL을 깔짝대던 수준에서 시작하여
SCOP 프로젝트를 통해 Model과 수학 라이브러리와 친해지고,
HumanGL 프로젝트를 통해 계층적 구조와 애니메이션에대해 공부를 하고,
FT_Newton(물리 엔진) 프로젝트를 통해 물리 엔진을 직접 구현하는 값진 경험을 하고,
ALE를 마치며 엔진 최적화와 엔진 구조에 대한 이해를 높일 수 있었다.
C와 C++만을 공부하여 아직 Unity와 Unreal을 사용해보지 못해 부족한 점이 많았지만 팀원들이 많이 도와준 덕분에 프로젝트를 잘 마칠 수 있었다고 생각한다. 취업 걱정 없고 돈 걱정 없었다면 현재 팀원들과 지금 엔진의 부족한 점을 전부 수정하고 더 좋은 엔진으로 develop하는 단계까지 진행하고 싶지만 현실적으로 불가능하기에 여기까지 진행한 것으로 만족하려 한다.
물리 엔진에서 충돌 처리시 충돌점을 좀 더 많이 줄여 성능을 높이거나, Model 별로 collider를 효율적으로 만들어주는 기능을 추가하거나, 박스가 하나의 꼭짓점으로 떨어진 경우 부자연스럽게 떨어지는 것을 고치는 등 물리 엔진만 해도 아쉬운 점이 많고, 게임 엔진의 최적화 적으로도 프러스텀 컬링의 Bounding Volume이 특정 Model에 대해 부정확하다거나 메모리 풀을 만들었지만 사용하기 쉽게 자료구조를 만들지 못한 것 등 아쉬운 점이 너무 많은 것 같다. 지금 아쉬운 점들을 잊지 않고 기억해놨다가 다음에 똑같은 상황을 겪는 경우 이를 활용하여 더 현명하게 문제를 해결해야겠다.
처음 게임 엔진을 만들자고 했을때는 무작정 시작하였지만 팀원들과 일주일에 한 번씩 만나 회의하고 방향을 잡아가며, 같이 공부하고, 같이 의견을 나누는 과정이 너무 재밌었던것 같다. 이를 통해 너무 어려운 과제였음에도 불구하고 끝까지 구현을 할 수 있었던 것 같다. 이 경험을 잊지 않고 앞으로 힘든 프로젝트를 마주하더라도 포기하지 않고 끝까지 매달리는 그런 내가 되어야겠다.
ALEngine: 엔진 프로젝트 결과물 - (5) (0) | 2025.03.26 |
---|---|
ALEngine: Trigger 구현 - (4) (0) | 2025.03.26 |
ALEngine: SIMD를 이용한 최적화 - (3) (0) | 2025.03.26 |
ALEngine: Freeze 구현 - (2) (0) | 2025.03.21 |
ALEngine: Frustum Culling 구현 - (1) (0) | 2025.02.17 |