[로켓단]2022.08.02 - 1차모임 + 2022.08.06 - 2차모임

김재만·2022년 8월 6일
0

로켓단 3기

목록 보기
1/1

팀 스파르타의 로켓단 3기에도 참여하기로 했다. 이미 이번 주 화요일에 1차 모임이 있었고, 오늘 2차 모임도 진행하였다. 이번 기수부터는 한 달 정도의 짧은 텀으로 프로젝트를 진행하려고 하는 만큼, 직전 기수보다 밀도있는 프로젝트가 될 것으로 예상된다.

1차 모임

1차 모임은 크게 참여자 자기소개, 기획 발표, 3D게임 튜토리얼 특강 및 개발팁 제공으로 진행되었다.

기획발표

2기에서는 각자 자신이 만들고 싶은 게임을 기획하고, 공유한 다음 수정하거나 기획을 다시 하는 작업으로 시작했다. 문제는 이 부분을 조정하는데 각자 걸린 시간이 천차만별이었다는 점이다. 뿐만 아니라, 프로젝트의 방향성이 내가 만들고 싶은 게임으로 자아실현하는 것이 아니라, 상업적으로 성공할 수 있는 게임 런칭이라는 점을 확실히 했다.

때문에, 로켓단 측에서 19가지 게임을 기획하여 17명의 참여자에게 매칭하는 방식으로 진행하기로 했다. 기준은, 하이퍼 캐쥬얼 게임 히트작을 플레이해보고 개인적인 평가와 선호를 기준으로 하였다. 나도 몇 가지 게임을 기획하여 이름을 올리긴 했지만, 개인적으로 마음에 드는 기획이 정말 많았고 만들어보고 싶은 마음이 들었다.

3D게임 제작하기

3D게임 제작 튜토리얼을 위해 countMaster을 구현하며 필요한 요소들을 이야기해보았다. 그리고 게임을 제작하는데 참고할만한 영상이나 에셋, 템플릿 소스들을 공유했다.

이전에 만들었던 2048 Black은 2D로 구현한 게임이었던 만큼 생각보다 익숙하지 않은 내용이 많았다. 에셋을 가져와 프리펩을 활용하여 게임 프로젝트를 불러오고, 애니메이션을 적용시킨다음, 움직임을 부여하고 키 입력을 인지하여 좌우 이동을 구현하였다. 또한, 카메라 시점을 플레이어를 쫓아가도록 설정하고, 특정 충돌이벤트가 발생하면 플레이어의 갯수가 늘어나거나 줄어드는 동작을 구현했다.

2차 모임

2차 모임 이전에 기획된 게임이 배정되었다. 내가 만들게 된 게임은 슬라임 스파이(가제)로 이동 기능이 거의 없지만, 다른 생물에게 기생할 수 있는 슬라임을 조작하여 목표 지점으로 이동하는 게임이다.

이번 모임까지 이동하는 스틱맨 형태의 게임오브젝트를 생성하여 움직이도록 만들고, 슬라임을 조작하여 스틱맨과 함께 이동하는 로직을 구현하는 것이 목표였다.

    void Update()
    {        
        // checkTarget = false;
        // Debug.Log(checkTarget);
        GetInput();
        Swallow();
        if(!sDown)
        {
            transform.localScale = new Vector3(10f, 0.1f, 10f);
        }
    }

    void GetInput()
    {
        sDown = Input.GetButton("Swallow");
    }

    void Swallow()
    {
        if(sDown && checkTarget){
            transform.position = target.transform.position;
            transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
            player isSwallowed = target.GetComponent<player>();
        }
    }

    void OnCollisionEnter(Collision collision)
    {
        if(collision.gameObject.tag == "Player") {
            checkTarget = true;
            Debug.Log(checkTarget);
        }
    }
    // void OnCollisionStay(Collision o)

    void OnCollisionExit(Collision collision)
    {
        if(collision.gameObject.tag == "Player" || collision.gameObject.tag == "Swallowed" )
        {
            checkTarget = false;
            objName = collision.gameObject.name;
            Debug.Log(objName);
            target = GameObject.Find(objName);
        }
        
    }

슬라임의 스크립트 코드는 위와 같다. 다른 게임오브젝트와의 충돌을 인식하고, 충돌하고 있는 상황에서 Swallow에 해당하는 Input인 s를 누르면 기생이 동작하여, 충돌하고 있는 게임오브젝트의 위치값을 따라가도록 설정했다.

다음 목표

이번 주말까지 슬라임이 분열하기 전(박스형)과 분열한 후(여러 덩어리의 도형 오브젝트)를 구현하고, 분열한 상태가 오래 지속되면 덩어리가 점차 하나씩 줄어들며, 그 이후 결합 시 박스의 크기가 줄어든 만큼 작은 상태가 되도록 만들어야 한다. 그리고, 기생 당한 게임오브젝트의 메터리얼(색, 질감)을 변경하는 것까지 완료하여 녹화본을 공유하기로 했다.

마무리

게임 만들기는 정말 너무 재밌다.

profile
듣는 것을 좋아하는 개발자입니다

0개의 댓글