ゆめ2っき アップローダ、更新方法解決案

ということで長年 アップローダなどに頭を悩ましてきた
ゆめ2っきですが一つの解決方法を見出すことができました。

Git + SourceTreeです。



近日、私は近日東方のゲームを共同製作いたしましたが
それにも利用しており、十二分な効果を発揮しております。

恐らく皆様には聞き慣れないモノかもしれないものなので
簡単に説明致します。

ここでは難しいこと抜きにして掻い摘んだ話を致します。
詳細をより知りたい方はご自分で調べられたほうが
よろしいかと思います。
https://ja.wikipedia.org/wiki/Git

Gitとは複数人共同で一つのプロジェクトを製作するシステムです。
非常に普及しており、プログラミングされた事のある方は
一度は目や耳にされたことがあるかと思います。

業務にも使用されており、解説書など多数発行されております。

そのGitを簡単に扱えるようにしたのが、SourceTreeというソフトウェアです。
アイコンをクリックして操作するだけです。簡単。
(本来はDOS画面のような文字だけの操作)

基本的なイメージとしては
サーバーにファイル全体をあげて
それを各々がリンクして共有する流れになります。
それなら今と変わらないと思うかもしれませんが全然違います。

サーバーにあがっているファイルはzipのように圧縮して上がっている状態などではなく
フォルダのデータの形で上がっています。

だから例えば、ツクールを触って 「A」のファイルしか触っていない。
そんな場合Gitが自動的に判断して
ファイルをサーバーにアップする時は
「A」のファイルだけになります。
いつものように、丸々 何百メガのファイルをアップしたり
ダウンしたり、解凍したりする手間がありません。
あっと言う間です。ボタン一つで自動にやってくれます。

端的に説明致しますとこういうことです。

ではもし、それらをゆめ2っきプロジェクトに適応させれば
どのようなメリットが想定できるか?
現状のゆめ2っきの抱える問題を当て嵌めて
ダラダラ書いていってみようかと思います。


アップローダーの容量問題、分割問題
ゆめ2っきは現在非常に大きなファイルサイズとなってしまい
その大容量を上げることのできるアップローダを探すのが困難です。
一定期間だけ大容量でアップできるアップローダもありますが
その期間を超えてしまうとファイルが消えてしまうなどの問題が多数あります。

そのため分割してゲットアップローダーにアップする、
もしくはドロップボックスアップするという手法が主流です。

しかし、分割するのも手間、上げるのも手間
ドロップボックスはすぐにダウンロードできなくなる。
など問題が山積みです。

そもそも、容量が大きいのでダウンロード、アップロードにも時間がかかります。


Gitではそれらの問題も解決することができます。

私が現在使用しているサイトBitbucketでは5G使用することができるので
十分です。1ファイルの容量制限はあったかもしれませんが、
そもそも圧縮しません。

バージョン別のファイルを入れていったら10回ぐらいで使えなくなるじゃん。
と、思いの方がいらっしゃるかもしれませんが、その問題はありません。

Gitではバージョン管理もしてくれるので
過去のバージョンのファイルを保持する必要がありません。
(そもそも、それぞれのバーションのファイルでも99%同じファイルだからね。)

戻そうと思えば過去のファイルに戻すことができます。

と、根本的なファイル容量面/アップローダーの面の問題を解決することができます。

またユーザーもブラウザでアクセスすればZipでダウンロードすることができ
容易にプレイすることが出来ます。
いつでも同じ場所にファイルがあるのは安心ですし、1回ダウンロードすれば
全部入っているのは簡単でいいですよね。



②パッチ問題
現在でも2chのスレを見ると、パッチの問題が発生してますね。
これは上記のファイル容量の問題の絡みでもありますが。

少し更新しただけで400M近いデータをアップしたりダウンしたりするのは大変です。
そのため、変更しただけのファイルをアップロードしてパッチの形として配布する形が多いようです。

しかし、問題も多いようです。

・現在ゆめ2っきではアップローダが定まっておらず、いろんなところに
ファイルがあがっているように見えます。そのためどれが、どのパッチがあたっている
などの把握も必要になったり、ユーザーもどれをダウンロードすればよいか
わかりにくい。プレイしにくい状況と思います。
一歩間違えればとある方の作業がもう一度って事になります。

・パッチを作成するのも大変。ワザワザ触ったファイルを把握しながら
制作するというのが手間でしかありませんし、気軽にちょこっとだけ
直すなどもしにくいです。そもそもトラブル/バグの原因になりやすい。
一つの画像音楽ファイルでも欠けたら、その場でゲームストップですからね。

・気軽なちょっとした時間に作業してり更新したりという事が辛く成った。
そのため、製作に取り掛かりにくい。
のんびり開発していたら、他の方が走るということになり
共同のファイルに再度自分の更新を入力しなくてはならなかったり
と非常に手間で無駄です。


という問題が現状の一つの問題になっているように見えます。

Gitでは先程も述べましたが
ツクールを触って Aのファイルしか触っていない。
そんな場合Gitが自動的に判断してくれて
ファイルをサーバーにアップする時は触ったファイルだけになります。

ゲーム開発は手間がかかります。
現状では、ゲームを作る部分以外のところの負担が大きいように見えます。
Gitではそれらを改善できゲーム開発本来の目的の部分に注力できるのは?と
思います。

正直、現状のまま、共同開発するのは、いずれ不可能に近くなると思います。
というか破綻しかけているように思えます。


③開発の加速
Gitは共同開発用のシステムです。
そのためのファイル管理システムやら共同で開発するための機能が ゆめ2っきには
十二分に含まれています。

特にそれぞれのファイルを個別でアップしてくれるシステムは非常にありがたいです。

ちょっと空いた時間にチョコチョコさわって気軽にアップできるというのは重要です。

またそれらが確実に反映されるというのは大事なことだと思います。


とまぁ、Gitの魅力について端的に述べました。
ハッキリいって不特定共同開発においてこれ以上のシステムは現状ありません。
メリットが物凄い大きいです。


が、やはり、少々ながらデメリットがあります。

それらを述べていこうと思います。

・導入するための手間と使い方を憶える手間が発生します。
それぞれ開発者が、そのソフトの使い方を憶える必要があります。
(といっても簡単ですが、最低限の使い方の説明動画なら5分位の動画になります。)
今後ゆめ2っきに開発に参加する人皆が SourceTreeをインストールして
BitbucketGitHubにも登録していただく必要があるのでメールアドレスが必須になります。

まぁ逆にいってみればそれだけの手間です。

現状のような
ファイルを圧縮して、
パッチを間違わないように確認して、
クソ重いファイルを何度もアップしたりダウンロードしたり
他の走者が終わった後に、データ移して
バグが無いか確認して
などの手間からしたら大した手間では無いとは思います。

是非 ゆめ2っき導入をご検討頂きたいなと思う一品です。