플레이 영상

 

구현/개선한 사항

스테이지 종료 목표 구현

  • 종료 조건(스코어, 특정블럭제거) 달성시 Game Clear 처리하도록 함
  • 기존의 종료 조건(블럭이동 횟수 사용) 달성 시에는 Game Over 화면으로

로딩 화면 추가

  • Coroutine을 사용하여, 현재 로딩 퍼센트를 화면에 표시

게임 플레이 개선

  • 가로줄 블럭 제거, 세로줄 블럭 제거, 폭탄 아이템 구현
    • 아이템은 이동/3-Match시 발동함
    • 아이템으로 블록 제거시 이펙트 추가
  • 블록의 떨어짐을 개선
    • 기존에는 1블럭을 떨어질때나, 3블럭을 떨어질때나 같은 속도
      • 많은 블럭을 떨어질 경우, 그만큼 빠르게 떨어지도록 수정
    • 블럭이 1단계 떨어진 후, 잠깐 멈췄다가 다시 떨어지는 현상을 수정
      • 부드럽게 한번에 떨어지도록.

최적화 및 개선

  •   메인 루프를 Update -> Coroutine상에서 동작하도록 수정

 

앞으로 구현할 사항

  • 스테이지 정보 저장/불러오기(JSON)
  • Map editor
  •  

앞으로 개선할 사항

이제 새 포트폴리오를 만들면서, 남는 시간에 진행할 것

github 링크

https://github.com/mistsixteen/RestaurantCrush

https://youtu.be/3L4GHkTTcVQ

 

구현/개선한 사항

  • 새로운 종류의 노드 구현
    • 이동불가능 노드, 얼어있는 노드 추가
      • 얼어있는 노드의 경우, 주변 블럭의 매칭을 감지하여 원래 노드로 돌아가게끔 설계함.
  • 최적화
    • GameBoard에서 저장하던 Node의 정보들을 Node 클래스 안으로 내제화
    • 프로퍼티를 적용하여 노드 상태에 따라 다른 값을 얻을 수 있도록 수정
    private NodeType nodeType;

    public NodeType NodeType
    {
        get
        {
            if (isIced == true)
                return NodeType.None;
            else
                return nodeType;
        }
        set
        {
            nodeType = value;
        }
    }
  • 기타 개선 사항
    • UI 버튼의 작동조건을 OnMouseDown -> OnMouseUP으로 변경하여, 
    • 기타 버그 수정

 

앞으로 개선할 사항

  • 스테이지 종료 목표 구현(타겟 제거 / 스코어링)
  • 스테이지 정보 불러오기 기능 구현(JSON)
  • UI 개선
  • 최적화 
    • GameManager 클래스의 진행 방식 수정(FixedUpdate -> Coroutine)

GItHub 링크

https://github.com/mistsixteen/RestaurantCrush

 

GitHub - mistsixteen/RestaurantCrush: Unity 2D Puzzle Game project

Unity 2D Puzzle Game project. Contribute to mistsixteen/RestaurantCrush development by creating an account on GitHub.

github.com

 

 

 

구현/개선한 사항

  • 스테이지 정보를 별도 클래스로 분리.
  • 위의 스테이지정보 클래스를 로드하는 클래스 구현.
  • GM, 효과음 추가

 

앞으로 개선할 사항

  • 스테이지정보 로드를 json을 사용하도록 수정
  • 컨텐츠 추가
    • 다양한 블럭/스테이지 추가할 수 있도록
  • UI 개선
  • GameManager 클래스의 진행 방식 수정
    • State에 따른 switch문 -> Coroutine 사용

 

메모

  • 이것저것 동시에 할 게 많지만, 이쪽도 꾸준히 개선해나갈 것

 

구현/개선한 사항

  • 코루틴을 사용하여 파티클의 지나친 Update 호출 방지
  • 3Match 후 노드가 자리를 채우러 내려갈 때, 코루틴을 사용한 딜레이를 추가하여 시인성 개선
  • 게임오버 화면 구현
    • 게임오버 후 메인으로 돌아갔다가 -> 다시 플레이 가능하도록
  • Node, Particle 생성을 Simple Factory 패턴을 적용한 별도의 Factory에서 전담하도록 하였다.
    • MonoBehavior를 상속하지 않은, Singleton Class에서 구현
    • MonoBehavior를 상속하지 않은 Class에서 Instantiate 사용시, GameObject.Instantiate() 로 사용해야함을 유의

앞으로 구현 필요한 사항

  • 이펙트 개선
    • Match시 어느 부분이 매치되었는지 표시해주는 이펙트 추가
  • 스테이지 기능 구현
    • 스코어 이외의, 특정 블록을 N개 획득하여 클리어하는 종류의 스테이지 추가
    • 메인에서 스테이지를 선택할 수 있도록.
    • 아이템/움직이지못하는 블록 등 추가
  • 사운드 추가
    • BGM, Effect

메모

알고리즘이나 유니티 공부도 좋지만, 게임개발도 하루에 일정 시간 이상은 할 수 있도록 하자.

+ Recent posts