Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
初めてのゲームプロジェクト バージョン管理
Search
you-ri
January 16, 2021
Technology
3.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
初めてのゲームプロジェクト バージョン管理
チームメンバーで安全、迅速にファイルやフォルダを共有することはプロジェクトを成功に導くために必要不可欠です。
それらを比較的簡単に実現するためのツールを実演交えて紹介します。
you-ri
January 16, 2021
More Decks by you-ri
See All by you-ri
Unity × AI開発の実例
youri
0
85
VRMとTimelineで映像制作
youri
0
900
Other Decks in Technology
See All in Technology
Oracle MCP Servers Explained
thatjeffsmith
0
350
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
3
560
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.7k
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
tamachi.go 誕生の裏側
rymiyamoto
1
200
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
140
AI・HPC開発を支えるGPU環境の新しい選択肢 液冷GPUシステム「AquSys」の取り組み
gpuunite_official
0
180
自宅NWにISR4331を導入してみた話
okaits
0
120
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
0
460
私がブラウザを自作したくなった理由
supurazako
1
280
【書籍出版記念】 10周回って、エージェント開発は RAGがすべてだった。〜RAGの歴史と開発現場で見えた実践知〜
akiratameto
9
2.4k
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
260
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
850
WCS-LA-2024
lcolladotor
0
800
Site-Speed That Sticks
csswizardry
13
1.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
970
How STYLIGHT went responsive
nonsquared
100
6.2k
Designing for humans not robots
tammielis
254
26k
Automating Front-end Workflow
addyosmani
1369
210k
Crafting Experiences
bethany
1
260
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
480
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
170
Transcript
初めてのゲームプロジェクト バー ジョン管理 GGJ21 オンライン
内容 - ファイル共有について - プロジェクト立ち上げ - 作業操作 - 注意点 -
GGJ 成果物提出について
自己紹介 PN: ゆーり 新しいものスキ。趣味で格闘ゲームを開発しています。
プロジェクト共有について
要件 - ファイル、フォルダの共有 - ファイルの変更履歴 - オンライン - 無料 -
簡単
プロジェクトの共有方法 USBメモリを介したファイル受け渡し。 Google Drive 等ネットワークストレージを介したファイル受け渡し。 バージョン管理を使う。
バージョン管理ツールの利点 複数メンバーと共有できる。 作業内容を保存できる。元に戻れる。 作業内容を把握できる。
いろいろなバージョン管理 名称 所感 CSV 昔からある。 SVN ゲーム業界で使われている。 Perforce 巨大なプロジェクトで活躍。すごい。 Git
一番人気。 Unity Collaborate Unity専用。一番簡単。 Plastic SCM 最近Unityファミリーに加わった。
GitHub Desktop GitHub社製。 シンプルなUI。 デザイナー向け。
いろいろなGitホスティングサービス(無料) サービス名 人数制限 容量制限 GitHub 無制限 Repo 10GB LFS 1GB
Bitbucket 5人 Repo 2GB LFS 1GB GitLab 無制限 Repo 10GB LFS ? Unity Collaborate 3人 1GB * 2021/1月現在無料で利用できる範囲での制限
準備 1. Unity Hub ダウンロード。インストール。 https://unity3d.com/jp/get-unity/download 2. Unityインストール。 3. GitHub
サインアップ。 4. GitHub Desktop ダウンロード、 インストール。 https://desktop.github.com/ 5. GitHub Desktop に GitHub アカウント を紐付ける。
プロジェクト立ち上げ
リポジトリ フォルダやファイルの変更履歴の保存場 所。 ローカルとリモートがある。 プル … リモートの内容をローカルに反 映。 プッシュ …
ローカルの内容をリモートに 反映。
プロジェクト作成手順 1. Unityプロジェクト作成。 2. Gitリポジトリ作成。 3. GitリポジトリをGitHubのリモートリポジトリへパブリッシュ。
プロジェクト参加手順 1. GitHubで招待してもらう。 2. Gitリポジトリをローカルにクローンする。
操作
History 履歴 更新履歴を見ることができる。
Changes 変更内容 変更したファイルとその中身を確認できる。 中身を確認できるのはテキストのみ。
Discard 破棄 ファイルを元の状態に戻します。
Commit コミット 変更内容を確定する。 1行のメッセージをつける必要がある。 1つの作業完了で1回コミットするとよい。
Undo アンドゥ 直前のコミット操作をなかったことにする。 何回でも戻れる。 サーバーにプッシュするとアンドゥできなくなる。
リモートに新しい変更があるか確認する場合 > Fetch フェッチ。 リモートに新しい変更がある場合 > Pull プル。 ローカルに新しい変更がある場合 >
Push プッシュ。 Sync 同期
Merge マージ ふたつの作業内容をいい感じに合成する。 ローカルでマージした後にプッシュすることで確定。
Conflict 衝突 同時期に同じファイルを操作してしまった場合に発生。 どちらが正しいファイルかを選択するか、もしくは合成する必要がある。 テキストの場合は自動的に合成してくれる。
Branch ブランチ 他人に影響を与えない自分だけの道を作れる。 Mainから分岐する。 Mainに合流させることで、プロジェクトを反映する。
注意点
GitHub(無料)の制限 制限内容 - 1ファイルサイズ制限 100MB。超える場合はLFSを使う。 - ストレージ容量 Repo 10GB, LFS
1GB。 - 帯域制限 Download Max 1GB / 月。 パブリックで開発した場合 - 再配布禁止のアセットのプッシュ禁止。 制限を超えるには ... - 別サービスを使う - 有料プランを選択 - 自分でホスティングする 容量使いすぎないように工夫する。
無視するファイル GitHubを使えば意識する必要は少ない。 バージョン管理する必要のないファイルパターンを`.gitignore` ファイルに保存する。 キャッシュやテンポラリフォルダを追加する。
ファイルへの書き出し シーンを保存する。 .unity ファイル プロジェクトを保存する。 .meta .mat .asset .json ファイル等
CTRL+S でだいたいOK。
Metaファイルの扱い Unity独自の機構。 アセット、フォルダ1つに1つのMetaファイル。 アセットの参照情報やインポート設定等が含まれる。 一緒にコミットする必要がある。
巨大なファイル (GitHub) 100MB以上のファイルは Git LFSを使う。 `.gitattributes` ファイルに ファイルパターンを保存する。 LFSストレージは1GBまで無料。
空フォルダ Unityでは空フォルダに対応するMetaファイルが作られるが Gitではフォルダのみが作られることはない。フォルダには中身が必要。 対応策 - Unityでは空フォルダを作らないように気をつける。 - 空フォルダ削除ツールを用意する。 Uni Empty
Folder Deleter https://github.com/baba-s/UniEmptyFolderDeleter - 無視する。
GGJ成果物提出について
ファイル構造 これらのフォルダをzipで圧縮してアップロードする。 クラウドストレージを利用する場合はリンクを貼る。恒久的にアクセスできるようにしてお く必要がある。 /src ソースコードやアセットファイルなど全て。 /release 実行ファイル。README.txt付きで。 /press ゲームのPR画像(press.jpg:
1024x768以上)。 /other その他のメディア。プレイ動画など。 license.txt クリエイティブコモンズライセンス 4.0
削除しておくべきファイル、フォルダ ダウンロードしたアセットのライセンスを確認する。 > 必ずライセンス表記に従う。 > 再配布が可能か? 再配布墓のアセットを削除する。 .git フォルダを削除する。 >
.gitフォルダにはファイルの変更履歴がふくまれているため。 再構成するための手順をテキストファイルに記述する。
再配布禁止なもの 自作したもの 。 > 問題なし。 Webからコピペしたコードなど 。 > ほとんど問題なしだが、ライセンス表記があれば従う。 Webからダウンロードしたもの。
> ライセンスを確認し、従う。 AssetStore にあるもの。 > ほとんど再配布禁止。別のライセンス表記があれば従う。
終わりに - チームの決定を優先する。 - わからないことやトラブルがあれば内容を Discord #質問チャンネルへ。 - リモートデスクトップを活用する。