fix
This commit is contained in:
89
my-blog/content/posts/2025-12-28-ue-mac.md
Normal file
89
my-blog/content/posts/2025-12-28-ue-mac.md
Normal file
@@ -0,0 +1,89 @@
|
||||
---
|
||||
title: "ゲーム開発とmulti-platform"
|
||||
slug: "ue-mac"
|
||||
date: "2025-12-28"
|
||||
tags: ["ue", "mac", "ios"]
|
||||
language: ["ja", "en"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
今回は、ゲーム開発のmutli-platform(マルチプラットフォーム)対応について。
|
||||
|
||||

|
||||
|
||||
## 近況
|
||||
|
||||
win, mac, iosで動くゲームがようやくできました。
|
||||
|
||||
動作は軽量で、winで開発していた時より安定しています。
|
||||
|
||||
|
||||
## mac/ios向けを作る開発者の数
|
||||
|
||||
個人開発では、ほとんど見当たりません。ueを使う個人開発者自体が少ないですが、mac/iosで作る人はさらに少ない。これには理由があると思いますが、ここでは話しません。
|
||||
|
||||
情報が少なく難易度が上がる欠点はありますが、やっている人がいないというのはチャンスでもあります。
|
||||
|
||||
## 開発者がmulti-platformをやる利点
|
||||
|
||||
mac/iosでゲームを作っていると、様々な利点に気づきます。
|
||||
|
||||
個人開発者は、win以外のmac, ios, linux, androidなど、複数のplatformで動くゲームを作ったほうがいいなと思ったので、今回はそのことを話します。
|
||||
|
||||
まず、winだけで作っていると気付かないボトルネックをいくつか発見し、設計を見直しました。
|
||||
|
||||
こういうものを放置していると、内部で蓄積し、ゲームの不安定化に繋がっていたと思います。
|
||||
|
||||
昔から大企業が作るゲームの安定性は不思議に思っていました。こういうことだったのかもしれません。
|
||||
|
||||
multi-platformを心がけることで自然とゲームの軽量化、安定化が進むので、結果的にwinで作るゲームも良くなります。
|
||||
|
||||
## multi-platformの大変さ
|
||||
|
||||
これも話しておかないとフェアじゃないので、書いておきます。
|
||||
|
||||
multi-platformの対応は、様々な問題が発生し、大変な苦労をします。
|
||||
|
||||
ゲーム開発自体も大変ですが、multi-platform対応はさらに大変と考えてください。
|
||||
|
||||
企業、あるいはチームがやるレベルの作業量、知識、対応が必要。
|
||||
|
||||
基本的には、個人がやるようなことではなく、おそらく、個人では難しいと思う。
|
||||
|
||||
おすすめの方法は、winで作っていたprojectの移植を考えるのではなく、一からmacを基準に作ることです。ios, linux, androidの場合も同様です。
|
||||
|
||||
```sh
|
||||
o ... mac -> win
|
||||
x ... win -> mac
|
||||
```
|
||||
|
||||
開発環境を整えることも重要で、私は`git`, `openssh`, `pwsh`, `zsh`などを使います。
|
||||
|
||||
`app store`に提出する場合、`.pkg`, `.ipa`などの仕様を理解しなければなりません。
|
||||
|
||||
最終的には、各os上で動作するbuild, deploy, testの自動化環境を作ります。
|
||||
|
||||
cmd example:
|
||||
|
||||
```sh
|
||||
$ ${UE_ROOT}/Engine/Build/BatchFiles/RunUAT.sh
|
||||
|
||||
$ codesign -f -s "$IOS_CERTIFICATE_NAME" --entitlements "$entitlements" "$app_path"
|
||||
|
||||
$ iconutil -c iconset "$custom_icon" -o "$tmp_iconset_icns"
|
||||
|
||||
$ xcodebuild -exportArchive -archivePath "$archive" -exportPath "$BUILD_DIR" -exportOptionsPlist "$BUILD_DIR/ExportOptions.plist"
|
||||
|
||||
$ xcrun devicectl device install app --device "$IOS_DEVICE_ID" "$app_path"
|
||||
|
||||
$ xcrun altool --upload-app -f "$pkg_path" -t macos --apiKey "${ASC_KEY_ID}" --apiIssuer "${ASC_ISSUER_ID}"
|
||||
```
|
||||
|
||||
## 画質と動作チェック
|
||||
|
||||
動画を残しておきます。結果としては、mac/iosで動くゲームは画質、 動作ともにあまりよくない。
|
||||
|
||||
逆に、winはかなり良いという結果。開発者としては、winでプレイしてほしい気持ちがでてくる。
|
||||
|
||||
<iframe width="100%" height="415" src="https://www.youtube.com/embed/GqaAKnKtTTs?rel=0&showinfo=0&controls=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
||||
|
||||
Reference in New Issue
Block a user