2025.03.31
구현(=삽질) 시작
<프로젝트 TrialAndError>
어제 2D Sprite 적용을 시도해보면서 만들었던 프로젝트의 이름은 TrialAndError. 강의 81강까지 들으며 따라했던 코드를 그대로 복사해서 새로 만든 프로젝트다. 당분간은 이 프로젝트에서 계속 시행착오를 반복하며 연습 겸 습작 구현은 진행할 예정이다.
어젯밤에 willow 형과 앞으로의 구현 방향을 간단히 논의했다. 형이 벤치마킹 하려는 게임은 파이어엠블렘 시리즈이고, 해당 시리즈를 기준으 하면서도 당장 내 역량으로 구현이 가능한 최소 수준의 게임을 구현해 볼 예정이다.
그래서 당장 이야기가 나온 태스크는
- 스탯 기반 턴 시스템 구현
- 캐릭터의 클래스 분리 (현재는
Unit하나로 통일되어 있음)- 클래스 간 차이는 당장은 스탯만 다르게, 그리고 이후에는 각각의 클래스가 취할 수 있는 액션에도 차이를 둔다.
정도이다.
<스탯 기반 턴 시스템 구현 시작>
강의에서 구현한 턴 시스템은 적군과 아군이 번갈아가면서 진행하는, 아주 단순한 구조다. 하지만 요구사항은 캐릭터마다 존재하는 스탯에 의한 우선순위 결정 후 캐릭터마다 턴을 진행하는 것이기 때문에 개선이 필요하다.
그래서 오늘은 TurnSystem 에서 unitList 를 관리하게 하고, 모든 Unit 은 초기화되는 순간 TurnSystem.Instance.AddUnit() 함수를 통해 자신을 등록하게 했다. 그래고 TurnSystem 내부에서는 "현재 액션이 가능한 유닛" 을 unitList 의 인덱스로 관리하게끔 했다. 이제 턴 종료 및 시작 시마다 캐릭터 단위로 액션 포인트가 적용된다.
아직 캐릭터 스탯에 의해 턴 순서가 정해지진 않는다. 그리고 턴이 시작된 캐릭터에게 카메라 포커싱을 주고 선택도 자동으로 되게끔 해야 할 것 같다.