유닛이 아니라 Godot이 스마트폰 애플리케이션을 만든 게임입니다.

10084 단어 Godottech
유닛이라면 게임을 만드는 사람이라면 누구나 다 알 것 같은데, 이번에는 고닷이라는 게임 엔진으로 게임을 만들어 안드로이드, iOS의 멀티 플랫폼에 게임을 게시했다.

Godot이란 무엇인가?


Godot은 오픈소스로 개발된 크로스플랫폼의 게임 엔진이다.

Godot은 뭐가 좋아요?


개방원이기 때문에 허가비에 신경 쓸 필요가 없다.처음부터 끝까지 자유롭게 게임을 만들 수 있다.
또 유니티나 언리얼 에너지와 달리 실행 파일 하나만 내려받아 실행하면 바로 게임 개발을 시작할 수 있다.처음 게임을 하는 사람에게도 문턱이 낮죠.흔히 있는 게임 엔진이지만 게임 엔진을 사용하기 전에 준비하는 데 시간과 정력이 들기 때문에 이 문턱이 낮아 안심이 된다.
스마트폰을 위한 게임을 만들 때 무엇을 사용하는 것이 좋을지 연구하다

Godot은 뭐 할 수 있어요?


2D 및 3D 모두 가능합니다.해본 적은 없지만 AR이나 VR도 될 것 같아요.레딧에서 고닷의 정보를 봤을 때 다들 멋진 게임을 개발하고 있는 다양한 영상을 주셨어요.
그리고 문서 왼쪽 목록을 보면 흥분할 거예요.
먼저 - 일본어 문서

실제로 어떤 느낌으로 했냐면요.


실제로 어떻게 하는지 간단히 소개해 드리겠습니다.

UI


다음 느낌으로 장면에 파키와 UI를 붙인다.

적절하게 구성할 수도 있고, 일반 스마트폰 앱과 마찬가지로 레이아웃을 통해 UI를 구성할 수도 있다.나는 장면에 따라 구분해서 사용하는 것이 비교적 좋다고 생각한다.
각 구성의 이름은 Node입니다.이 스크립트를 지정할 수도 있고 프로그램을 통해 조작할 수도 있습니다.

플레파비 같은 거.


Godot에는 Plefab 개념이 없지만 같은 개념은 장면을 다른 장면에 직접 배치할 수 있다는 것이다.프로그램을 통해 동적으로 생성하고 설정할 수도 있다.간단하고 알기 쉬워서 개인적으로 좋아해요.그나저나 방금 그림의 맨 밑에 있는 네비게이션 버튼 등도 여러 곳에서 사용되고 장면으로 설정할 뿐이다.

절차.


프로그램은 GDScrite라는 독특한 언어를 사용했다.파이썬 같애.
var v2 = Vector2(1, 2)
var v3 = Vector3(1, 2, 3)


# Function

func some_function(param1, param2):
    var local_var = 5

    if param1 < local_var:
        print(param1)
    elif param2 > 5:
        print(param2)
    else:
        print("Fail!")
C#, UI 설계 프로그램의 Visual Script 가 공식적으로 제공됩니다.
다음 느낌으로 장면의 노드를 방문할 수도 있다.
    $ColorRect/Label.set_text("test")
한 마디로 하면 장면을 세분화하고 해당하는 프로그램도 분할할 수 있기 때문에 양이 증가했다고 생각하면 계속 분할하는 것을 추천한다.

스크립트 할당


Unity 구성 요소와 달리 각 노드에는 스크립트가 있습니다.Unity와 마찬가지로 편집기의 UI에서 스크립트의 변수를 설정할 수도 있습니다.
export(Texture) var texture
export(String, FILE) var scene: String
위에서 말한 바와 같이 export 명령을 사용하면 편집기에서 다음과 같은 설정을 할 수 있습니다.tool와 같은 구조를 사용하면 편집기에서 실제 미리 보는 상태에서 개발할 수 있다.

장면 인스턴스 동적 생성


프로그램에서 제작된 장면을 동적으로 생성하려면 아래 프로그램을 사용하십시오.
var SkillButton = preload("res://scenes/battle/skill_button.tscn")

    var skill_button = SkillButton.instance()
    skill_button.initialize(battle_character)
    battle_character.set_skill_button(skill_button)
    $UILayer.add_child(skill_button)
프로그램에 미리 불러온 다음instance 방법으로 생성할 수 있습니다.그리고 설정을 통해 장면에서dd그냥 속달로.

Tween도 있고요.


Tween도 있어요.시간에 따라 노드의 속성을 바꾸어 애니메이션할 수도 있다.또한 지정된 시간 호출 방법을 통해 처리할 수도 있다.
    tween.interpolate_property(
        $LabelBG,
        'position',
        Vector2(1000, 240),
        Vector2(140, 240),
        APPEAR_TIME,
        Tween.TRANS_LINEAR,
        Tween.EASE_IN_OUT
    )

자동으로 불러오기


스크립트를 자동으로 불러오는 기능이 있습니다.게임의 단일 단식으로 생성할 수도 있기 때문에 게임 전체가 사용하는 처리와 설정 등을 이것을 이용하여 간단하게 개발할 수 있다.
나도 그쪽에서 공동으로 이용하는 자원과 캐릭터 데이터를 참조하고 Admob의 조작도 그쪽에 의뢰한다.소박한 기능이지만 설정만 하면 바로 사용할 수 있어 편리하다.

현지화


현지화도 간단하다.다만 다음 CSV를 만들 뿐이다.
keys,en,ja
SUFFIX,_en,_ja
ACHIEVEMENT,Achievement,実績
ATTRIBUTE,Attribute,属性
BACK,Back,戻る
이후 tr("BACK")와 같이 프로그램에서 사용할 수 있고 UI의 단추와 탭에 키를 직접 쓰면 마음대로 변환할 수 있다.
이미지 등 자원에도 언어 교체 설정이 있다.

플러그 인


편집기의 기본 기능 이외의 확장 기능은 플러그인으로 가져올 수 있습니다.예를 들면 Admob 및 Game Services 등입니다.
일본에서는 아이폰이 유행하지만 해외에서는 안드로이드가 주류다.이제 Android는 간단하게 플러그인으로 기능을 설치할 수 있습니다.원본 파일을 만들어야 했는데 다운로드한 파일을 설정해서 설정 화면에 열면 바로 사용할 수 있다.
iOS와 관련해서도 개발자 수가 적거나 단순히 X코드가 끼어 있어 번거로웠고, 지금도 Godot 자체 구축이 필요하다.고닷과 각 플러그인의 해설대로 하면 되지만 푹 빠진 부분도 있어 조금 힘들었다.특히 현재 iOS에 해당하는 Firebase 플러그인은 존재하지 않습니다.따라서 분석이 불가능하기 때문에 분석을 하려면 플러그인을 독립적으로 개발하거나 다른 서비스를 이용해야 한다.
참고로 이번에는 Admob과 안드로이드용Firebase Analythics, Game Services, Billing을 사용했습니다.iOS용 물감과 게임센터는 고독 주체에 포함된 것 같다(하지만 솔직히 도료는 사용물이 아니다).

배포용 빌드


Android


안드로이드가 많이 설정돼 있다가 고닷에 구축하기만 하면 apk를 간단하게 만들 수 있다.아주 간단합니다.(물론 사전 안드로이드 SDK 설정 등은 보통과 동일하게 필요함)

iOS


iOS도 기본 상태를 유지할 수 있다면 Xcode 항목을 한 번 내보낸 다음 Xcode에서 구축할 수 있습니다.플러그인을 사용할 때, 그 안에 각양각색의 예처리를 넣어야 한다.
Godot 측과 Xcode 측의 링크도 가능하기 때문에 Godot 편집기 측이 개발한 것을 일일이 복사하지 않아도 Xcode 측에서 구축할 수 있다.
좀 번거롭긴 하지만 이런 느낌으로 한 번 설정하면 나중에 힘들지 않을 거예요.

총결산


또 개발하기 쉬운 기능도 많아 끝이 없다.Unity든 Unreal Engine이든 모두 편리한 기능이 많아서 문서를 보고도 시도해 보려고 해도 시도할 수 없다.어쨌든 놀기만 하면 즐겁다.
또 정보량 등 주변 환경과 기능성 있는 유닛이 좋은 편인데 개인적으로 좋아해서 이런 안내 기사를 썼다.불편한 점도 많지만 구애받지 않으시면 꼭 사용하세요!
다음은 실제 제작된 게임.가능하면 놀아주세요.다른 Godot제 물건도 발매됐지만, 아이를 향한 것이어서 간단하다.
Android
https://play.google.com/store/apps/details?id=com.alphabrend.formationbattle
iOS
https://apps.apple.com/jp/app/id1527275998
만약 참고할 만한 곳이 있다면 반드시 "괜찮다"고 말하세요.

좋은 웹페이지 즐겨찾기