Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Trikang

[뒤끝 엔진] 프로젝트 생성 및 유니티 프로젝트 설정 본문

개발 Tip/게임 개발

[뒤끝 엔진] 프로젝트 생성 및 유니티 프로젝트 설정

Trikang 2018. 9. 13. 22:14

우리 팀에게 적합한 서버 엔진을 찾던 도중, 오늘 BIC(BUSAN INDIE CONNECT) 페스티벌에 참여한 것을 계기로 우연찮게 뒤끝엔진을 알게되어 타당성 검증을 거치는 중.


아직 공식 레퍼런스를 제공하지 않는 것 같은데, 어서 제공해줬으면 좋겠다. 이같은 이유로 아래 초기화 부분에 적힌 내용은 공식 문서를 참고한 것이 아니라 본인 뇌피셜이 섞여있음에 주의.


프로젝트 생성


우선 회원가입을 진행한 후, 결제 정보를 등록하면 개발자 콘솔에서 프로젝트 생성이 가능하다. 새 프로젝트 버튼을 클릭하여 생성하면 되는데, 만약 결제 정보가 등록되어있지 않으면 등록하라는 안내 메시지가 뜬다.


프로젝트 생성 탭에 들어오면 이름을 적고 프로젝트 유형을 설정할 수 있는데, 아마 여러 유형으로 나누어 그와 관련된 설정을 간편하게 할 수 있도록 도우려는 의도인 듯하다.


생성된 프로젝트를 클릭하고 인증정보 칸에 가보면 클라이언트 앱 아이디시그니처용 암호화 키 정보가 있다. 이 두 정보를 이용하여 유니티 프로젝트를 세팅해보도록 하자.


유니티 프로젝트 설정


유니티 프로젝트 설정은 매우 간단하다. 

우선 홈페이지에서 유니티 패키지 파일을 내려받은 다음에 인스톨한다.


그 후에 상단 탭에서 새로 생긴 'The Backend'를 클릭하고, Edit Settings를 눌러준 다음에 우측 Inspector에 보이는 Client App ID와 Signature Key 칸에 위에서 얻어놓은 값을 넣어주면 세팅 끝.


서버 초기화


우선 스크립트를 하나 생성한 후, GameObject에 해당 스크립트를 붙여넣는다.


그 후 해당 스크립트에 아래처럼 작성한다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

using BackEnd;

public class FirstServer : MonoBehaviour
{
    void Start()
    {
        Debug.Log("뒤끝 SDK 초기화");

        // 서버가 초기화되지 않은 경우
        if (!Backend.IsInitialized)
        {
            Backend.Initialize(InitializeBackend);
        }
        else
        {
            // 초기화
            InitializeBackend();
        }
    }

    public void InitializeBackend()
    {
        Debug.Log(Backend.Utils.GetServerTime().GetReturnValue()); // 뒤끝 서버의 현재 시간을 받아오는 메서드

        if (!Backend.Utils.GetGoogleHash().Equals("")) // 빌드된 안드로이드 apk에서 구글 해 시키가 있으면
            Debug.Log(Backend.Utils.GetGoogleHash()); // 이를 출력
    }
}


using BackEnd;

우선 뒤끝 엔진과 관련된 네임스페이스를 사용한다고 알리고


       // 서버가 초기화되지 않은 경우 if (!Backend.IsInitialized) { Backend.Initialize(InitializeBackend); } else { // 초기화 InitializeBackend(); }

내가 커스텀 할 코드를 초기화 시켜준다. 이때, 뒤끝 엔진과 관련된 부분이 초기화 되지 않았으면 먼저 이부터 초기화하는 듯. 엔진 초기화 후 초기화시킬 메서드를 argument로 전달해준다.


public void InitializeBackend() { Debug.Log(Backend.Utils.GetServerTime().GetReturnValue()); // 뒤끝 서버의 현재 시간을 받아오는 메서드 if (!Backend.Utils.GetGoogleHash().Equals("")) // 빌드된 안드로이드 apk에서 구글 해 시키가 있으면 Debug.Log(Backend.Utils.GetGoogleHash()); // 이를 출력 }

초기화 시 취해줄 액션에 관한 내용. 간단하게 서버 시간을 받아오고, 안드로이드 프로젝트일 경우 해쉬 키를 출력한다. GetServerTime() 뒤에 또 주저리 주저리 적은 이유는 아래 참고.


기타 Tip

  • 뒤끝 엔진의 함수가 동기/비동기 방식으로 나뉘어지고, 비동기 방식은 함수의 동작이 끝난 후 실행할 Callback 메서드를 argument로 넣는듯 하다.
  • Backend.Utils.GetServerTime() 등의 메서드는 Return type이 BackendReturnObject이다. 이를 가공하여 원하는 데이터를 얻으면 됨.


Comments