ESport Team Maker 프로젝트 회고: 효율적인 데이터 관리와 사용자 경험 개선
1. 프로젝트 개요
- 프로젝트 이름: ESport Team Maker
- 개발 기간: 25.6 ~ 25.8 (8주)
- 참여 인원: 기획 2 / 개발 4
2. 주요 기능 및 개발 과정
본 프로젝트에서는 본인은 ESport 팀을 구성하고 운영하는 과정을 시뮬레이션하는 과정에서 다음과 같은 핵심 기능들을 구현하고, 효율적인 데이터 관리 및 사용자 경험 개선에 집중했습니다.
2.1. 싱글톤 패턴 기반의 일정 관리 시스템
- 고민: 게임 내 씬 전환 시 일정 정보 유실 방지, 효율적인 일정 관리
- 해결: 싱글톤 클래스를 활용하여 일정 관리 시스템을 구축했습니다. 씬 전환에 관계없이 일정 정보 및 게임 내 날짜를 유지하고 관리할 수 있도록 했습니다.
- 구현:
- 각 일정은 인터페이스 상속 대신 부모-자식 상속 구조로 설계하여 유지보수 및 확장성을 용이하게 했습니다. 새로운 일정을 추가하거나 기존 일정을 수정할 때 코드 변경 범위를 최소화할 수 있도록 했습니다.
- 결과: 게임의 흐름을 끊김 없이 유지하고, 다양한 일정들을 효율적으로 관리할 수 있었습니다.
2.2. CSV -> Scriptable Object 변환 시스템
- 고민: 기획 단계에서 데이터 변경에 따른 개발 부담 증가
- 해결: 기획자가 직접 데이터를 수정하고, 빠르게 게임에 반영할 수 있도록 CSVImporter 스크립트를 개발했습니다.
- 구현:
- CSV 파일을 Scriptable Object로 변환하는 기능을 구현하여, 데이터 수정 후 빠르게 SO들을 수정하여 빌드 테스트를 진행했습니다.
- 결과: 기획자와 개발자 간의 협업 효율성을 높이고, 데이터 변경에 유연하게 대처할 수 있었습니다.
2.3. JSON 기반 게임 진행 상황 저장 시스템
- 고민: 게임 진행 상황 및 시스템 정보의 안전하고 효율적인 저장 및 관리
- 해결: JSON 포맷을 사용하여 게임 진행 상황과 시스템 정보(사운드 설정 등)를 저장하고 관리하는 시스템을 구축했습니다.
- 구현:
- 간단한 암호화(XOR 변환)를 적용하여 사용자가 데이터 파일을 임의로 조작하는 것을 방지했습니다.
- 결과: 게임 진행 상황을 안전하게 저장하고, 사용자에게 쾌적한 게임 환경을 제공할 수 있었습니다.
2.4. 큐(Queue)를 활용한 뉴스 피드 시스템
- 고민: 경기 일정 수행 후 뉴스 피드를 순서대로 보여주는 기능 구현
- 해결: 큐 자료구조를 활용하여 뉴스 피드가 추가된 순서대로 표시되도록 구현했습니다.
- 결과: 게임의 몰입도를 높이고, 사용자에게 여러 팀의 경기 결과를 별도의 UI 팝업 없이도 전달할 수 있었습니다.
3. 느낀점
ESport Team Maker 프로젝트를 진행하면서 데이터 관리의 중요성을 다시 한번 깨달았습니다. 특히, CSV -> Scriptable Object 변환 시스템을 통해 기획자와의 협업 효율성을 높이고, 개발 과정을 단축할 수 있었습니다. 앞으로 프로젝트를 진행할 때 데이터 관리 시스템을 더욱 효율적으로 구축하고, 사용자 경험을 개선하기 위한 다양한 시도를 해봐야겠습니다.
'[내일배움캠프 Unity 9기]' 카테고리의 다른 글
| 06/18 TIL 프로젝트 마무리 및 발표 자료 정리 (0) | 2025.06.18 |
|---|---|
| 06/05 FSM + BT / 개인 과제 FSM 작성하기 (2) | 2025.06.05 |
| 06/04 TIL 두트윈(feat. 메서드 체이닝) (1) | 2025.06.04 |
| 05/30 TIL SpawnManager 역할 고민, 낮/밤 사이클 전환, NavMesh SamplePosition (0) | 2025.05.30 |
| 05/29 인벤토리 시스템 구조 개선 및 버그 수정 (0) | 2025.05.29 |