최근 유니티엔진이 이미지에 큰 타격을 입고

고도엔진이나 언리얼 엔진으로 갈아타는 사람들이 무척 늘었다


유니티의 독재에 항거한 그들에게 고맙다고 전해주고싶다


그리고 유니티는 태생적으로 많이 무겁다... 정말 무겁다...

특히 간단한 2d게임을 만들려는 사람들에게도 정말 무겁다


그럼에도 불구하고 이런 사람들에게는

다른 엔진으로 갈아타는 행위를 만류하고싶다


1.모바일 f2p게임을 만드는 사람

  

유니티가 타 엔진과는 다른 독보적인 차별성이 바로

다양한 서드파티 라이브러리를 지원한다는것이다

이 중에는 게임에서 광고를 보게만드는 Admob

인앱결제를 지원하게 만드는 IAP

각종 서버api를 사용하게 만드는 UnityWepRequest등등

f2p게임 운영에 필요한 핵심 자원들을 간단한 연결과

chat gpt사용으로 끝이난다

+인게임 화면에서 실시간으로 리소스를 로딩시켜주는

 모바일 게임 필수기능도 유니티 어드레블로 해결가능하다



2.턴제 게임이나 순서가 보장된 게임을 만드는 사람


유니티의 코루틴은 게임업계 혁신중 혁신이라고 할 것이다

예를 들면 A몬스터가 있다

B몬스터가 있다

A몬스터는 B몬스터에게 파이벌을 발사한다

B몬스터는 A몬스터에게 아이스볼을 발사한다


여러분들이라면 이런 로직을 어떻게 짤 것인가?

클래스 단위로 쪼개서 서로 종속시키려들것이다


하지만 이같은 방법을 유니티에서는 하나의 코루틴 함수 안에서

단 50줄 미만으로 해결하게된다


함수 이름은 SpellFireball 

혹은 SpellIceball이 될 것이다


더 자세하게 얘기한다면

파이어볼을 발사하는 시작단계

파이어볼 발사 단계

파이어볼 종료단계


이것을 하나의 코루틴 함수 안에서

yield return 시리즈로 특정시간 후에, 특정 조건 후에 다음 로직을

실행 하게 만들어

코드의 타이밍이 보장되는 순간을 매 업데이트마다 실행시킬 필요가 없다는 것이된다


복잡한 턴제 로직과 코드로 무언가를 연출해야하는 상황에서

유니티 코루틴은 호날두같은 존재이다


실제로 언리얼을 쓰는 사람들이 다시 유니티로 돌아가게

만드는 1순위가 코루틴이다

코루틴에 뇌가 절여진 사람이 언리얼의 Timer를 쓰면

죽을 노릇일것이다


=이상=