GoalForge - Unity 2D 축구 게임
(226 Words, 2 Minutes)
GoalForge
Tech Stack: Unity 6, C#, GitHub Actions, GitHub Pages
GitHub: GoalForge-Unity
Overview
Unity 6 엔진을 활용한 2D 1대1 로컬 멀티플레이 축구 게임입니다.
기획 단계에서 “정말 게임이 재밌을까?”라는 질문에 답하기 위해, 기술적 복잡성보다 게임성을 우선시하기로 결정했습니다. 사람들이 왜 축구 게임을 재밌어하는지 분석하고, 제한된 시간 내에 재미 요소를 가장 효과적으로 부각할 수 있는 플래시 게임 스타일을 채택했습니다.
Key Features
캐릭터 고유 능력 시스템
실존 축구 선수를 모티브로 한 4명의 캐릭터가 등장합니다.
- 손흥민 - 스피드 부스트 (이동 속도 대폭 증가)
- 호날두 - 카리스마 (상대 선수 일시 정지)
- 메시 - 드리블 마스터 (공이 절대 떨어지지 않음)
- 홀란드 - 파워 슛 (강력한 슈팅)
게이지 시스템으로 시간 경과 및 공 터치 시 충전되며, 100% 도달 시 3초간 고유 능력이 발동됩니다.
파워업 아이템
매 10초마다 랜덤 스폰되는 5가지 아이템으로 전략성을 더했습니다.
- 스피드 부스트, 방어 실드, 메가 볼, 트랩 폭탄, 바람 저주
시각/청각 효과
- 히트스톱 - 골 순간 0.05초 시간 정지로 임팩트 강조
- 카메라 쉐이크 - 골인 및 강한 충돌 시 화면 흔들림
- 이벤트 기반 사운드 시스템
Technical Highlights
물리 기반 이동 시스템
단순 좌표 이동이 아닌 Rigidbody2D velocity 조작으로 관성과 마찰력이 살아있는 자연스러운 움직임을 구현했습니다.
자석 효과
공이 3초 이상 플레이어와 접촉하지 않으면 중앙으로 서서히 끌어당겨, 게임 지연 상황을 방지했습니다.
CI/CD 자동 배포
GitHub Actions를 활용한 파이프라인 구축:
- main 브랜치 푸시 시 자동 WebGL 빌드
- GitHub Pages로 자동 배포
- 베타테스터가 웹 브라우저에서 바로 플레이 및 피드백 가능
Problem Solving
협업 충돌 문제
GitHub에서 씬, 프리팹, meta 파일 충돌이 자주 발생했습니다.
해결: 브랜치 전략 체계화
- main → dev → feature 브랜치 구조
- Pull Request를 통한 코드 검토 프로세스 확립
웹 배포
유저에게 게임성을 평가받기 위해 웹 배포가 필수였습니다.
해결: GitHub Actions + GitHub Pages 활용
- 2000분 무료 사용량으로 인프라 비용 0원
- 빠른 배포 주기로 베타테스터 피드백 반영
What I Learned
게임성 우선주의
기술적으로 복잡한 기능보다 “재미있는가?”라는 본질적인 질문에 집중했습니다. 제한된 시간 내에 핵심 재미 요소를 효과적으로 전달하는 것이 중요하다는 것을 배웠습니다.
CI/CD 파이프라인 구축
웹 배포 자동화를 통해 빠른 피드백 루프를 경험했습니다. 코드 변경 → 자동 빌드 → 배포 → 테스터 피드백의 사이클이 개발 효율성을 크게 높였습니다.
협업 프로세스의 중요성
브랜치 전략과 PR 기반 코드 리뷰 프로세스를 확립하면서, 팀 프로젝트에서 협업 규칙의 중요성을 체감했습니다.