RacingGame

이준영·2025년 9월 23일

주제 : 캐주얼 아케이드, 레이싱 게임
개발 기간 : 2024.03.04. ~ 2024.06.17.
개발 인원 : Unity(1명)
사용 기술 : Github, Unity
Github : https://github.com/leejy1685/RacingGame

RacingGame

주제 선택 사유

앰비언트 라이트
  • '종합 설계'강의의 주제를 IOT 자작 앰비언트 라이트로 설정.
  • 자작 앰비언트 라이트를 효과적으로 보여줄 수 있는 테스트 게임이 필요.
  • 주변 환경 색의 변화가 많을 수록 효과적.
  • 처음으로 3D 프로젝트에 도전.

기술 스택

Github, Unity

기술적 의사결정

Github

  1. 효율적인 코드 관리 및 백업

    • Github는 프로젝트의 모든 변경 사항을 효율적으로 추적하고 기록합니다. 실수로 코드를 삭제하거나 잘못된 변경을 했을 경우, 이전 버전으로 쉽게 되돌릴 수 있습니다. 이는 코드의 안정성을 높여주고, 중요한 데이터를 안전하게 백업하는 역할을 합니다.
  2. Git의 강력한 기능 활용

    • Git은 단순히 파일을 저장하는 것을 넘어, 커밋(Commit) 메시지를 통해 각 변경 사항에 대한 상세한 설명을 기록할 수 있습니다. 이를 통해 시간이 지난 후에도 왜 특정 코드를 변경했는지 쉽게 파악할 수 있으며, 코드의 이력을 명확하게 관리할 수 있습니다.

Unity

  1. 효율적인 개발 환경 제공

    • Unity는 코딩뿐만 아니라 씬(Scene) 구성, 오브젝트 배치, 애니메이션, UI 디자인 등을 한 곳에서 모두 처리할 수 있는 통합된 환경을 제공합니다. 이는 개발자가 여러 프로그램을 오갈 필요 없이, 게임 개발의 모든 과정을 Unity 내에서 효율적으로 진행할 수 있게 해줍니다.

    • 게임 내의 모든 오브젝트(예: 캐릭터, 아이템, 장애물)는 컴포넌트(Component)들의 조합으로 이루어집니다.

  2. 폭넓은 플랫폼 지원

    • '한 번 만들고, 여러 플랫폼에 배포': Unity의 가장 강력한 장점 중 하나는 크로스 플랫폼(Cross-platform) 지원입니다. PC(Windows, macOS, Linux)는 물론, 모바일(iOS, Android), 콘솔(PlayStation, Xbox), 웹(Web) 등 거의 모든 플랫폼에 게임을 쉽게 배포할 수 있습니다.

배운 점

회전 기능

  • 카트를 부드럽게 회전 시키기 위한 기능이 필요.
  • 쿼터니언 구조체와 입력 값을 사용해서 카트를 회전.
  • turnStrength 변수를 만들어 회전각을 조절.
  • 드리프트 구현에 성공.

파티클 시스템

  • 카트가 움직일 때, 자연스러운 연출이 필요.
  • 바퀴에 먼지 이펙트를 추가하기로 결정.
  • 파티클 시스템을 이용하여 먼지 이펙트를 구현.
  • 카트가 움직이는 연출이 자연스럽게 구현됨.

구현 기능

  1. 카트 선택 기능
  2. 사운드 기능
  3. 카트 조작 기능
  4. 시간 측정 기능
  5. UI 기능

시연 영상

RacingGame 시연 영상

앰비언트 라이트 적용 시연

profile
게임 개발자가 되기 위해서 공부하는 중입니다.

0개의 댓글