WeCandyFanceIt

이준영·2025년 9월 22일

주제 : 캐주얼 아케이드, 원터치 디펜스 게임
개발 기간 : 2019.09.01. ~ 2019.12.09.
개발 인원 : 기획자(1명), Unity(3명), 그래픽(2명)
사용 기술 : Github, Slack, Unity
Github : https://github.com/leejy1685/WeCandyFenceIt_Code

WeCandyFanceIt

주제 선택 사유

  • 아직 객체지향 프로그래밍에 대한 개념도 잡히지 않았을 때, 진행한 프로젝트
  • 적절한 규모의 기획이어서 좋았다.
  • 선배 프로그래머 분들의 도움을 받으며 제작

기술 스택

Github, Slack, Unity

기술적 의사결정

Github

  • GitHub는 게임 개발에 있어 버전 관리와 협업 툴로 굉장히 유용합니다. 가장 큰 이유는 개발의 효율성과 안정성을 높여주기 때문입니다. 게임 개발은 혼자서 모든 작업을 하는 것이 아니라, 여러 명의 개발자가 각자 맡은 역할을 수행하며 함께 만들어가는 경우가 많습니다.

  • 모든 코드 변경 사항이 기록되기 때문에, 어떤 개발자가 언제, 무엇을 수정했는지 한눈에 파악할 수 있습니다. 이는 문제의 원인을 찾거나, 특정 기능이 추가된 시점을 확인하는 데 큰 도움이 됩니다.

Slack

  • GitHub-Slack 연동을 사용한 이유
  1. 실시간 정보 공유와 투명성:

    • 커밋이나 푸시가 발생하면 즉시 Slack 채널에 알림이 오기 때문에, 팀원 모두가 누가, 언제, 어떤 코드를 변경했는지 실시간으로 파악할 수 있습니다. 이는 프로젝트의 현재 상태를 투명하게 공유하고, 모두가 최신 정보를 놓치지 않도록 도와줍니다.
  2. 컨텍스트 스위칭 최소화:

    • 개발자들이 Slack에서 대화하다가 GitHub로, 다시 Slack으로 화면을 계속 전환할 필요가 없습니다. GitHub에서 일어나는 중요한 활동들을 Slack에서 바로 확인하고, 관련 논의를 이어갈 수 있어 업무 흐름이 끊기지 않습니다.

Unity

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

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

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

  2. 폭넓은 플랫폼 지원

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

배운 점

프리펩 생성

  • 젤리, 대포알, 폭발 이펙트 등 오브젝트 생성이 필요.
  • 오브젝트를 프리펩화 -> 코드를 이용해 생성.
  • 코드로 오브젝트를 생성하는 기초 방법을 학습.

오브젝트 이동

  • 젤리와 대포알이 이동하는 기능이 필요.
  • RigidBody2D 컴포넌트를 속도 값을 사용해서 오브젝트를 이동.
  • 오브젝트를 이동시키는 방법을 학습.

코루틴 사용

  • 일정 시간이 지나면 대포알 사용 가능한 개수가 회복되어야 함.
  • 코루틴을 사용하여 일정 시간마다 대포알을 회복.
  • 코루틴의 사용 방법을 학습.

마우스 좌표

  • 마우스로 클릭한 곳으로 대포알이 날라가야함.
  • 마우스로 클릭한 곳의 좌표를 (해상도 좌표) -> (월드 좌표) 변환.
  • Unity내의 좌표 개념을 학습.

충돌 기능

  • 폭발 이펙트에 젤리가 닿으면 젤리는 사망해야 함.
  • RigidBody2D와 Collider2D를 이용하여 충돌하면 사망 처리.
  • 기초적인 충돌 처리를 학습.

구현 기능

  1. 젤리 생성 기능
    • 랜덤 위치에서 젤리 생성.
    • 젤리가 아래 방향으로 이동.
  2. 대포 기능
    • 대포알 최대 개수 3개
    • 일정 시간마다 대포알 1씩 회복
    • 터치한 방향으로 대포알을 발사
  3. 젤리 공격 기능
    • 터치한 위치에 도달했을 때, 폭발
    • 폭발하면 젤리는 사망

시연 영상

WeCandyFanceIt 시연 영상

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

0개의 댓글