'이득우의 언리얼 C++ 게임개발의 정석'이란 책을 정독하며
예제만 따라 했던 내가 정말 게임 개발 실력이 늘었을 것이라고 생각하지 않는다.
그것을 확인해 볼 수 있고 가장 실력적으로 성장할 수 있는 방법은
간단한 프로젝트라도 직접 만들어 보는 것이라고 생각하여,
낮은 퀄리티라도 기획부터 퍼블리싱까지의 프로세스를 혼자 해보려고 한다.
처음으로 게임 개발을 해보는 거라 어떻게 해야 할지 정말 감도 안 오지만
끝까지 해보는 데 의의를 두고 한번 열심히 해보자!
<1>. 아이디어
일단 무슨 게임을 개발해야 할지를 생각해야 했다. 아무래도 처음 하는 것이다 보니 이 프로젝트가 나의 자신감, 동기 부여에 매우 큰 영향을 줄 것이라 생각하여 가장 1차원적인 게임을 해보려고 했다. 생각해 낸 게임은 '3D 비행기 슈팅게임'이고, 할 만할지는 모르겠다. 너무 어려워서 장르를 바꾸는 일은 없었으면 한다.
프로젝트 명은 'FlightFight'라고 정했다. (나름 라임..)
그리고 언리얼에는 BP(BluePrint)라는 너무 좋은 기능이 있지만, 아직은 C++에 대한 숙련도가 많이 부족하다고 생각하여 이 프로젝트를 진행하면서 BP는 최대한 사용하지 않고 C++로 해결하려 노력했다!
<2>. 게임의 구성 요소
- 에어로 다이내믹을 기반으로 한 비행기 조작(WASD)
- 3인칭 시점
- 1대 1 멀티플레이 형식
- 3개의 비행기 중 선택하여 게임 시작
- 각자 맵 정반대의 활주로에서 이륙하면서 시작
- 마우스 좌클릭으로 총알을 발사하여 상대를 공격
- 체력이 존재하고, 체력이 0 이하일시 기체 폭파 후 리스폰
- 총알 1발 맞을 때마다 체력 -10, 지형이나 적 기체에 충돌 시 즉사
- 스코어가 존재하고 0부터 시작하여 5점 달성 시 즉시 게임 종료
- 적을 폭파시키면 +1점, 지형에 충돌하여 사망할 시 -1점
- 체력 바, 적을 감지하는 레이더, 스코어 UI 표시
- 배경, 지형 미정
대략 머릿속으로 떠올린 콘셉트는 이 정도이다. 개인적으로 정말 게임의 가장 필수적인 요소만 담고 있다고 생각한다.
이 구성 요소들을 좀 더 정리된 상태로 보기 위해 Prezi라는 툴을 사용하여 시각적으로 표현해 보았다.
<3>. 개발 계획서
마냥 개발을 하면 너무 루즈해질 것 같으니 나름 파트를 세분화시키고, 우선순위를 매겨 개발 순서를 정한 후에 각 파트마다 대략적인 개발 시간을 정하여 최대한 그 일정에 맞춰서 개발을 해보려고 한다. 당연한 일이겠지만 예상 개발 기간을 훨씬 초과하지 않을까 싶긴 하다. 심지어 멀티플레이에 관한 부분은 대략적인 감도 오지 않아 일단 포함시키지 않았다.
이를 엑셀로 정리해 보았다.
주 단위로 개발 기간을 표시해 보았고, 총 10주 + a(멀티플레이 구현)로 측정이 됐다.
처음 개발에 대한 계획을 짜다 보니 감이 잘 오지 않아서 너무 빡빡하거나 혹은 느슨한 일정을 세운 거일지도 모르겠다.
혹시나 아쉬운 점이 있다면 말씀해 주시면 정말 감사할 것 같다.
<4>. 개발 환경
- Unreal Engine 5.1.1v
- Visual Studio 2022
'게임 개발 > 언리얼 개인 프로젝트-FlightFight' 카테고리의 다른 글
[언리얼 개인 프로젝트-FlightFight/C++] #1. Pawn 설계 - (4) 추가 이펙트(Niagara System) (0) | 2025.01.02 |
---|---|
[언리얼 개인 프로젝트 - FlightFight/C++] #1. Pawn 설계 - (3) 총알 발사 (0) | 2024.12.24 |
[언리얼 개인 프로젝트-FlightFight/C++] #1. Pawn 설계 - (2) Pawn 조작법 (0) | 2024.12.18 |
[언리얼 개인 프로젝트-FlightFight / C++] #1. Pawn 설계 - (1) Pawn 구성 (0) | 2024.11.28 |