【4일째】Unity에서 몹 프로그래밍 [E02_CatchButterfly]

이니셔티브 개요



공부회에서 몹프로에서 게임을 만들고 있습니다. 이번에 4번째가 됩니다만 아다코-라고 말하면서 어떻게든 작성했습니다.

기획 내용 검토



닌텐도 DS 등에서 공부하면서, 어느 게임을 이식(파크리가 아님)할까 검토한 결과, 오브젝트를 터치하는 계의 게임이 되었습니다. 다른 팀의 기획 내용을 확인하면 분위기가 찼기 때문에 외형 등을 입지 않도록 노력했습니다.

생각한 게임의 기획 내용



다른 팀은 화면을 터치해 모기를 쓰러뜨리는 게임인 것 같기 때문에, 이쪽은 터치하면 나비를 잡는 게임으로 했습니다. 게임의 구조는 같은 물건이 됩니다만, 게임의 목적을 다르게 보이는 방법을 바꾸고 있습니다. 기획 내용의 착색에 대해서는 각각 다른 방향으로 전개하는 것이 좋다고 느끼고, 게임의 목적을 변경하도록 만들어 가는 것은 틀리지 않게 생각합니다.

게임 화면


  • 제목
  • 플레이 화면
  • 게임 클리어
  • 게임 오버

  • 나비를 잡는 것으로 액자의 나비를 잡도록 했습니다. 외형을 우아한 분위기로 해 보았습니다. 모기를 붙잡는 게임은 외형이 팝이므로 차이를 붙여 보겠습니다.

    랜덤한 동작입니다만 이쪽은 AddForce로 가속도를 사용하고 있습니다. 제어적으로 걱정스러운 곳도 있었지만, 기장이 찬 칸지가 다른 게임과 다르다고 생각합니다.
        private float changeTime = 0.3f;
        private float timeElapsed;
        private float timeOver;
        private float limitTime = 20;
        private float thrust = 10;
        private const float minSpeed = -20;
        private const float maxSpeed = 20;
    
        void Update()
        {
            direction = Random.Range(0, 360);
    
            //Vector3 pos = new Vector3(x,0,0);
            //gameObject.transform.rotation = new Quaternion(this.transform.position.x, this.transform.position.y, this.transform.position.z, direction);
            //gameObject.transform.rotation = new Quaternion(this.transform.position.x, this.transform.position.y, this.transform.position.z, direction);
            timeElapsed += Time.deltaTime;
            timeOver += Time.deltaTime;
            time.text = (limitTime - timeOver).ToString("F2");
            if (timeOver >= limitTime)
            {
                SceneManager.LoadScene("GameOverScene");
            }
            if (timeElapsed >= changeTime)
            {
                //transform.Rotate(transform.position.x, transform.position.y, direction);
                timeElapsed = 0;
                rb.velocity = new Vector2(0, 0);
                rb.AddForce(new Vector2(Random.Range(minSpeed, maxSpeed), Random.Range(minSpeed, maxSpeed)), ForceMode2D.Impulse);
            }
        }
    
    

    객체 생성 정보



    두 게임 모두 복수의 오브젝트가 화면에 출현하는 것입니다만, 이 게임은 처음부터 설치하고 있는 상태로 스타트합니다. 모기 게임에서는 객체를 조립식으로 만들고 코드에서 Instantiate에서 먼저 생성하는 형태로 되어 있습니다. 나중에 생각하면 조립식으로 Instantiate하는 것이 좋은 칸지입니다. 다만, Unity에서는 처음부터 설치해도 미니 게임으로서 성립할 수 있으므로, 이번과 같은 시간이 한정되어 버릴 때에는 좋은지도 모릅니다.

    총괄


  • 게임의 기획이 입었지만 외형이 다른 게임이 되어 좋았다
  • 외형뿐만 아니라 프로그래밍 내용도 다르다
  • 제어 방법이나 객체의 생성 등의 접근법은 여러가지
  • Mobpro로 포장하는 곳은 포장하고 끝을 접는 곳은 끝이 잘 될 수 있습니다
  • 좋은 웹페이지 즐겨찾기