개발/게임 개발

    간단한 유니티 2D 타워 디펜스 게임 만들기 5편 - 캐릭터 이동

    이전 편에서 캐릭터 스폰 기능이 완성 되었으니 이번에는 캐릭터를 이동하는 기능을 만들어보자. 구현 방식 1. 일정 주기마다 이동 대상(적)을 찾는다. - 적 캐릭터가 1명 이상 존재하면 적들 중 가장 가까운 적을 찾고, 이동한다. - 적 캐릭터가 없으면 적 성채를 향해 이동한다. 2. 1번의 거리 비교 과정 중 거리가 공격 범위 보다 작으면 이동을 멈추고 공격을 시도한다. - 공격 시도 중에는 1번을 멈추고, 공격 모션이 끝나면 1번을 재개한다. 이 게임의 경우 캐릭터마다 서로 다른 속도를 가질 수 있으며, 이에 따라 전투 중 가장 가까운 캐릭터가 바뀔 수 있다. 때문에 공격 모션중에는 캐릭터 하나를 타겟팅 하는 것으로 하고, 공격이 끝난 후 가장 가까운 캐릭터를 다시 찾도록 하여 게임의 변화에 대응 할..

    간단한 유니티 2D 타워 디펜스 게임 만들기 4편 - 캐릭터 스폰

    캐릭터 스폰 구조 생각해 보기 캐릭터가 스폰되려언 어떤 과정을 거쳐야 하는지 생각해 보자. 단순하게 [버튼을 클릭하면 해당 캐릭터를 소환한다.]로 끝내는것이 아닌 실제 시스템의 동작을 생각해 봐야 한다. 유저가 스폰할 캐릭터를 캐릭터 선택 UI에서 고르고 UI를 클릭하여 소환요청을 보낸다. 스폰 시스템에서 어떤 캐릭터에 대한 소환 요청인지 확인한다. 재화 시스템에 해당 캐릭터의 소환에 드는 비용을 청구한다. 청구 결과 : - 재화 부족 : 로그를 출력하고 클릭을 무시한다. - 재화 충분 : 다음 단계로 넘어 간다. 소환할 캐릭터의 기본형태를 가져와 캐릭터 데이터에 캐릭터 업그레이드 값을 적용한다. 유저의 스폰 지점에 캐릭터를 소환한다. 소환 된 캐릭터를 관리할 수 있도록 스폰 시스템의 소환된 캐릭터 리스..

    간단한 유니티 2D 타워 디펜스 게임 만들기 3편 - 캐릭터 유닛의 행동에 관한 고려

    이전 글에서 말했긴 하지만 다시 한번 더 상기하기 위해 캐릭터 유닛의 행동과 그에 따라 필요한 속성(정보)들을 우선 나열해 보고자 한다. 캐릭터가 할 수있는 행동 1. 이동할 수 있다. 2. 이동을 멈출 수 있다. 3. 공격할 수 있다. (모든 유닛을 대상으로) 4. 공격받을 수 있다. 5. 이동과 공격하기 위한 적을 찾고, 감지할 수 있다. 6. 사망 할 수 있다. 7. 스폰되어 질 수 있다. 8. 업그레이드 되어 질 수 있다. 행동을 나열해 보았을 때 크게 공격, 이동, 사망, 스폰, 업그레이드의 총 5가지 시스템(행위)로 나누어 지는것으로 생각된다. 물론 추후에 캐릭터별 스킬을 추가하는것을 고려 한다면 이보다 더 달라 질 수 있겠지만... 캐릭터가 스폰되고, 이동해서 적을 공격하는 기본적인 로직을 ..

    간단한 유니티 2D 타워 디펜스 게임 만들기 2편 - 기초 쌓기

    리소스 게임을 테스트 하기 위해선 우선 시각적으로 보여야 하는 리소스들이 필요하다. 각 팀의 성채와 소환되어질 캐릭터, 지면, 게임의 배경등이 우선 가장 필요한 리소스들이라 생각했다. 저작권 없이 자유롭게 사용 가능한 아래 소스들을 다운받아서 유니티 프로젝트를 만들고 에셋들을 임포팅한다. 방법은 유니티 화면에 프로젝트 창에 끌얻 넣기만 하면 됨으로 혹시나 이 글을 보는 분들이 있다면 다른 강좌를 찾아보시길 추천드린다. 아래는 해당 리소스들의 다운 링크이다. 캐릭터 리소스 https://sventhole.itch.io/bandits Bandits by Sven Game Asset sventhole.itch.io https://sventhole.itch.io/hero-knight Hero Knight by ..

    간단한 유니티 2D 타워 디펜스 게임 만들기 1편 - 개요

    리소스의 중요성 게임을 제작하는데에 있어 리소스는 매우 중요하다. 눈에 직접적으로 보이는 요소이기 때문에 게임의 분위기와 퀄리티를 좌지우지하며, 유저에게 게임의 첫인상을 결정짓는다. 나는 게임은 최소한 상호작용요소, 시각요소, 청각요소, 규칙의 4가지 요소로 구성된다고 생각한다. 상호작용과 규칙은 기획과 프로그래밍만으로도 어느 정도 구현이 가능하지만, DOS로 게임하는것이 아닌 이상 시각요소와 청각 요소는 리소스 구현이 불가능하다. 그리고 이 요소들은 정말 제대로 만드려고 한다면 시간이 제법 들어가는 편이고, 돈도 꽤 많이 필요한 법이다. 개발 방향 이 프로젝트는 토이프로젝트 느낌으로, 유니티 엔진으로 핵심 기능들만 구현하고 마무리 지을 생각이다. 당장 그래픽과 사운드 리소스를 만들만한 시간과 돈이 많지..