Galaxy Ball/1. 멀티플레이 - 대전모드 26

(16) 아이템 디자인

이제 정말 마지막 단계인 아이템만이 남아있다. 항상 가장 하기 싫고 어려운것만 뒤로 미루는 습관탓에 결국 마지막으로 하게 되었는데 아이템 랜덤생성, 기능구현은 할수 있을것 같은데 유독 약한 UI 부분 때문에 여태 미뤄오게 되었다 하지만 어차피 해야한다면 즐거운 마음으로 시작해보자. 가장 먼저 해야할건 아이템 디자인 사실 ppt에 발표하겠다고 임의로 만든 디자인들이 있긴 하지만 이건 어디까지나 발표용일뿐 실제로 사용될 디자인이 아닌데다 사이즈도 통일되어있지 않아 처음부터 다시 만들어보기로 하자 만들기전에 우선 실제로 구현할 아이템 목록부터 나열해보겠다 - 내구도 30으로 초기화 - 5연속 발사 & 팽창 제한 - 고정 구체 발사 - 내구도 상관없이 닿는순간 구체파괴 - 한턴에 발사할 구체를 1개 추가 - 한..

(15) Setting Scene # 자잘한 보완 & Credit Scene

생각해보니 시작화면과 인게임에서 흘러나오는 BGM이 동일하다크게 문제될건 없지만 그래도 각자 다른 BGM이 흘러나오는게 더 나을것같으니 변경해주자 최대한 비슷한 분위기에 바로 다음에 나올 인게임 BGM의 흐름을 거슬리게 하지 않을 BGM을 찾아시작화면 GameManager에 넣어준다. 볼륨도 인게임 BGM과 비슷하게 조절해주자 이번엔 버튼을 누를때 나는 효과음을 추가해주자 public class ButtonManager : MonoBehaviour{ public Button SinglePlayer; public Button MultiPlayer; public Button OnlinePlay; public Button Setting; public Button Quit; pu..

(14) Start Scene #UI 구현 & 씬 변환

이제 전 글에서 만든 버튼 UI가 제 역할을 하도록 구현해보도록 하겠다 버튼은 총 5개. 각각 어떻게 구현할지 정리부터 하고 가자 Single Player - Coming SoonMulti Player - 인게임 씬변환Online Play - Coming SoonSetting - 설정창 씬변환Quit - 게임 종료 인게임씬은 이미 구현해놨으니 상관없고 설정창에 대해서 세부적으로 정해보자 - BGM- Sound Effect- Credit 사실 설정이래야봤자 사운드 설정밖에 없긴하다. 그리고 크레딧을 아예 메인 화면에 버튼으로 올릴까도 고민을 했는데 이미 버튼갯수는 5개로 충분한데다굳이 게임할때 관심도 가지지 않는 크레딧창을 메인에 올리는게 맞나라는 생각도 들어 설정창안에 넣어버리기로 했다 우선 버튼을 관리..

(13) Start Scene #UI & 배경 화면 보완

현재 구상으로는 시작화면에 들어갈 UI가 - Single Play (추후에 개발예정)-Multi Play-Setting-Quit 정도이고, 설정화면에는-BGM-Effect 정도로 가볍게 담아볼까 구상중이다 시작 화면과 설정창에 쓰일 UI들을 여기저기 찾아봤는데확실히 FREEPIK이라는 사이트에서 제공하는 것들이 가장 무난하고 심플하게 이쁜것들이 많았다  문제는 무료로 다운할거라면 꼭 이미지 출처를 표시하라는거.. 출처가 뭔가 해서 봤더니  이 링크를 넣으라는것이었다. 안그래도 볼륨 작고 심플한 게임에 이것까지 넣을 자리가 어딨나 싶어고민하다 아이디어가 하나 떠올랐다 - Single Play-Multi Play-Credit-Setting-Quit Credit창을 만들어서 이 링크들을 죄다 여기에다 때려박으..

(12) Start Scene #배경화면

이번엔 게임을 시작할때 볼 수 있는 게임시작 화면을 구현해보도록 하겠다우선 시작화면에 가장 필요한 핵심요소는 버튼과 배경화면이다버튼이야 UI를 쓰면 되니까 고민할게 없지만 중요한건 배경화면인데..어떻게하면 심플하면서 너무 간단하지는 않은 배경화면을 만들 수 있을까 고민이 됐다 지금 생각난 아이디어는 2가지인데 1. 적절하게 임의로 구체들을 배치해놓고 그 위에 UI를 띄우기   2. 실시간으로 구체들이 발사되는 씬위에 UI를 띄우기 당연히 간단한건 1번이지만 2번이 확실히 더 있어보이긴 할것같다. 그리고 플레이어가 직접 쏘게 하는것보다 임의로 구체를 날리게 하는게 조금은 더 간단한 방법이기 때문에 못할것도 없다확실히 나도 게임을 할때 시작화면이 정적이지 않고실시간으로 무언가가 동적으로 움직이고 있을때 퀄리..

(11.5) 버그 개선 #3

오늘 집에 와서 프로젝트를 재생해보는데 뭔가 이상하다... 분명 공이 팽창할때만 나야하는 효과음이 P2Firezone을 클릭하는 순간에도 재생이 된다 한참을 찾아보고, 스크립트도 보는데 아무리 봐도 이상한 부분이 없다. 어차피 이건 디버그를 찍어봐도 의미가 없을거라는 생각에 냅두고 있다 뭐라도 해보자라는 생각으로 찍어봤다 void expand() { if (rigid == null || iscolliding) return; if (rigid.velocity.magnitude > 0.01f) return; if (Input.GetMouseButton(0)) return; if (!hasExpanded) { SwellSound.Play(); Debug.Log("사운드 재생 " + hasExpanded); }..

(11) 턴제 시스템

이제 정말 완성에 가까워져가고 있다. 이제 남은게 턴 변경과 아이템뿐이니사실상 초반 구상에 없었던 아이템을 제외하고 턴변경만 구현하고 나면 게임완성이나 다름없다 이것도 한번에 끝날 단계가 아니니 한번 단계를 나누어 구현해보도록 하자 1. P2 firezone에서 P2ballPrefab도 발사되게 하기2. 각 턴에 하나의 구체만 발사 할수 있다3. Player1이 하나의 구체를 발사하고, 팽창하고, 구체가 고정되는 순간 턴 종료4. 턴 종료가 되어야지만 Player2가 구체를 발사할 수 있다5. 해당 턴 Player의 Firezone만 활성화 가장 기본적인 1번부터 시작해보자우선 구체를 생성하고 발사를 구현하는 스크립트는 GameManager에 있고거기서 P2firezone과 P2ballPrefab을 추가..

(10.5) - 버그 개선#2

위 영상을 보면 구체가 정지하여 고정되기 전에 추가로 firezone에서 마우스를 더 클릭하면 계속해서 힘을 받아 이동하는것을 볼수가 있다. 이렇게 된다면 계속 클릭을 멈추지 않는다는 전제하에 게임이 끝나지 않을것이다 전부터 알고는 있었지만 턴제 시스템을 구현하다보면 사라질거라 생각하며 넘어왔었지만 턴제 시스템을 만들다보니 그냥 이걸 없애버리는게 더 빠르겠다는 생각이 들었다 private void Update() { if (Input.GetMouseButtonUp(0) && rigid != null) { rigid.velocity = GameManager.shotDirection * GameManager.shotDistance; // GameManager에서 값 가져와서 구체 발사 } Move(); ex..

(10) BGM & Sound Effect

이번에는 게임에 필요한 BGM 그리고 효과음을 구현해보도록 하겠다 게임의 BGM은 이곳에서 그리고 게임의 효과음은 아래 사이트에서 구해보았다 게임 효과음 다운로드 | 뮤팟 효과음 태그 검색영상 편집자에게 꼭 필요한 무료 효과음 이걸로 종결! 장면전환, 소리효과와 같은 다양한 효과음들을 획득하세요.www.mewpot.com 추후에 더 많은 효과음들이 늘어날 수 있겠지만 우선 지금 추가해보려는건 3가지다 1. 게임 BGM2. 공이 팅길때나는 기본적은 효과음3. 승패가 결정되고 씬이 전환될때 나는 효과음 우선 가장 기본이 될 게임 BGM부터 넣어보자 사실 BGM이 가장 간단하지 않을까 싶다. 그냥 메인씬에 있는 GameManager에 Audio Source 컴포넌트를 부착한뒤BGM으로 쓸 오디오소스를 넣어준뒤..

(9) 버그 개선#1

원래대로라면 이제 예정대로 턴을 변경하고 번갈아가며 공을 한개씩만 날리는 기능을 구현하려했는데방금 치명적인 오류를 하나 발견했다 만약 내가 이런 상황이라고 가정해보자. 사실상 이건 어디로 공을 쏘든 패배 확정이나 다름없는 상황이어야만 한다  근데 이걸 이렇게 빠져나올수 있고 이러면 게임의 승패가 갈릴수가 없어진다 이걸 해결하기 위해 내가 생각한 방법은 두가지이다 1. 만약 구체에 들어간 힘이 너무 약하다면 임의로 최소한의 힘을주어 앞으로 나가게 하기2. 구체가 팽창하는 과정에서 일어난 충돌은 내구도의 감소로 이어지지 않기  하지만 후에 밸런스를 위해서라도 2번이 더 적합해보이니 2번으로 결정했다사실 2번 기능은 초반에 구현할 계획이 있었지만 여러번의 시도 끝에 도저히 감을 못잡고 실패한 기능이다 usin..

반응형