Giter VIP home page Giter VIP logo

defencegame's Introduction

DefenceGame

이력서포트폴리오 (1)

프로젝트 소개

브롤스타즈의 미니게임 금고를 지켜라를 모티브로 제작 총 3단계의 스테이지로 구성되어 있는 웨이브 형식의 게임

참여인원 : 2명

내가 참여한 파트

Player

(1) 공격

  • 오브젝트 풀링을 활용하여 총알 재사용
  • 라이플 / 바주카 / 수류탄 총 3가지의 무기 구현
  • 라이플은 라인트레이스를 활용하여 단일 공격으로 구현하였고, 바주카와 수류탄은 구를 활용해 충돌을 감지하여 범위 공격으로 구현
  • 브롤스타즈처럼 바닥에 각 무기의 사정거리를 표현할 수 있도록 구현

(2) 피격

  • 공격을 받으면 HP를 감소하고, HP가 0이 되면 죽도록 구현

Enemy

  • 오브젝트 풀링을 활용하여 총 45마리의 Enemy와 총알 재사용
  • 풀링 가능한 캐릭터를 상속받아 에너미를 만들고, 에너미클래스를 상속받아 총 3가지 타입의 에너미를 설계
  • 총알도 위와 동일한 방식으로 설계
  • Behavior Tree를 활용하여 에너미 AI 구현

Boss

  • Behavior Tree를 활용하여 보스 AI 구현

(1) 공격

  • 보스의 무기는 활과 화살로 설정
  • Single Shot 과 Triple Shot 두 가지로 보스의 공격 구현
  • 화살의 폭발 범위는 직접 구현한 머터리얼을 사용하여 바닥에 범위 표시

(2) 피격

  • 공격을 받으면 HP를 감소하고, HP가 0이 되면 죽도록 구현

Item

  • 아이템을 활용한 후, 일정시간 쿨타임이 있도록 구현
  • 일정 체력을 가지고, 체력이 0이 되면 사라지도록 구현

(1) 방벽

  • 방벽을 세울 수 있는 지형인지에 대한 여부를 초록색/빨간색으로 구별

(2) 터렛

  • 터렛을 세울 수 있는 지형인지에 대한 여부를 초록색/빨간색으로 구별
  • 일정 구역 안에 적을 탐지할 경우, 적을 향해 공격할 수 있도록 구현

UI

(1) 체력 바

  • 머터리얼 에디터에서 원형 체력 바 구현
  • 플레이어가 데미지를 입을 때, 확인이 가능하도록 확인용 UI 구현

(2) 남은 시간 표시

  • 스테이지 당 남은 시간을 표시할 수 있는 UI 구현

(3) 무기/아이템 표시

  • 현재 사용하고 있는 아이템 및 무기를 표시하고, 남은 총알 수와 남은 쿨타임을 표시

(4) 미니맵

  • 적들이 어디에서 스폰되고 어느 방향으로 가고 있는지 확인할 수 있도록 구현
  • 머터리얼 에디터에서 미니맵 상 적의 스폰을 나타내는 애니메이션 구현

(5) 게임 시작 화면

  • 게임 스타트 및 종료를 하기 위한 시작 화면 구현
  • HLSL로 작성한 커스텀 노드를 통해 백그라운드 및 플레이어 얼굴 아이콘 구현

(6) 게임 진행 안내 화면

  • 스테이지 준비 안내, 클리어 등의 게임 진행에 필요한 UI 구현

GameMode

  • 일정 시간이 지나면 다음 단계로 진행이 되고, 적절한 UI가 화면에 표시될 수 있도록 구현

defencegame's People

Contributors

jinsubaek11 avatar yeni0224 avatar

Watchers

 avatar

Forkers

yeni0224

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.