2013年3月18日月曜日

NGUI作者、新バージョンに大いに悩む

なにやらNGUI作者が新バージョンをどうするか悩んでるようだ。Unityのアセットストア売り上げNo.1でUnity Technologies社にも入社して何を悩むのかとおもうかもしれないが、大真面目に新バージョンについてどうするか、ということのようだ。

NGUI掲示板での告白がGoogle翻訳ではうまく伝わりきらないんで、意訳と口語体バリバリの"超訳"でどうぞ!

------------
http://www.tasharen.com/forum/index.php?topic=3484.0


今日はめずらしく真剣にみんなの意見を聞きたいことがあって投稿してみることにしたよ。是非意見を聞かせてくれよ!

下位互換ってマジ大変・・・


実はNGUIの開発をやってきて、前々から下位互換で身動きがとれなくなってたんだ。新しい解決策を見つけるにつれて(たとえばイベントのハンドリングを例にすると分かり良いのだけど)、過去プロジェクトとの下位互換を考えると NGUI をどうしても変更できない場面があった。だからこそ NGUI はコア部分は一年前と対して変わってないし、その証拠として NGUI フリー版でも現行バージョンの NGUI でされたプロジェクトは開けるようにしてきたんだ。

いやさ、考えてみると Unity も同じ悩みあんだろうね。いっつも下位互換を維持して修正しないのと、何か変更して良く修正すんのと、両方の質問があるときは勝つのがいつも下位互換だったんだよね、チクショー。

ま、知っているとおもうけどね、Unity でのオイラの仕事は "次世代" UI システムを作ることなわけさ、NGUI の後継になるようなモンをね。これを最高級の仕事にするためにはね、時には妥協も必要ってわけさ。イベントシステムを変えていきたいのは良い例でさ(これは Unity の将来バージョンで個別に同梱されるとおもうけどさ)。

イベントとかスプライトとかグッと改善したいんだけど・・・


もっと具体例を言わせてもらうとね、NGUI にはちいと知られた OnPress(bool isPressed) イベントってもんがあるわけさ。新システムは  OnPressEvent() および OnReleaseEvent() を代わりに送信すんだけど、この方が Playmaker とか他のツールと相性が良いわけでね。新しいイベントシステムではね、OnDragEnterEvent / OnDragExitEvent なんか追加しちゃったりするつもりでね、これでボタンをタッチした後にスライドして別のとこに行ってもバッチリ対応できるように考えてるわけさ。このイベントシステムは Unity ネイティブなんでね(C++ 側でビルドしてるから)、自然とレスポンスも大分と早くなるわけで。OnGUI ボタンともうまく連携するわけで、デバッグでまだ使い続けたい人にも役立つはずさ。

他に変更する箇所の例をあげるとなー、UISpriteとか UIFilledSpriteとか UISlicedSprite とか UITiledSprite(種類多かったなー)をついに一個のスプライトでまとめて置き換えるつもりなんでさ。コイツが出来れば、コンテンツの描画とか、デプスと Z バッファの優先順位、イベント通知(OnSubmit とか値が変わった時、とかね)の完全なリプレースとか、その他にも色々選択肢が広がるわけさ。

聞いてりゃ良くなることばっかりと分かるだろうけどさ、改善するともう下位互換はボロボロになるわけで。全部変更して NGUI の過去プロジェクトと下位互換を維持するなんて無理!!って言ってももう10万ユーザもいること考えると、見捨てることになるとトホホなんだよね。

配信方法もネックでさ・・・


まだとっておきのこと言ってなかったな。大幅変更して NGUI 3.0 にしたとして、アセットストアで既存バージョンをただ置き換えちゃうのはイケテない。何でかって、必要なときに古いバージョンをダウンロードする方法ないんだし、それを買ってくれたみんなに強制するなんざオイラ自身も許せないわけさ。あと考えられる方法で #ifdef 使って新しいシステムと切り分けるのもおバカなアプローチで、コードが倍になるしグチャグチャになっちゃう。これもプライドが許さんな。フリー版でリリースしてよ!って声あるかもしんないけど、それは勘弁ってだけじゃなくて、過去に購入したかどうかチェックするだけでも気が狂うような作業になるわけさ。10万ユーザ分で切り分ける作業はチョット時間ないッス。

長ったらしくてスマンだけど、別のプロダクトとして販売するから皆にそれで選んでもらいたいってことなんだよね。

頼む、意見をくれ!(;´Д`)


でね、オイラの質問が出てくるわけさ。下位互換とオサラバして NGUI 新バージョンを作成してそこから今年後半ぐらいに新しい UI システムにスムーズに移行できるようにしたら、それでも使ってくれる?あと、もうひとつ重要なことなんだけどオイラの立場にたってもらって、それは時間を費やすべきことだとおもってもらえるだけのプロダクトだと思うかな?

あの・・・、実はオイラの結論は「いや、作るべきじゃない」に傾いてきているんだ。まあ、予想は皆としてはフリー版で対応してくれよっていう声が強いんじゃないかな、と思ってることが大きいんだけどね。是非みんなの意見も聞きたいわけさ。

この究極の選択、皆はどう思う?
------------

ちいと口語体過ぎたかな・・・でも言っていることは合っているぜ?!

意見ある人はどんな英語でも良いから、フォーラムで回答してあげようぜ!

0 件のコメント:

コメントを投稿

ブックマークに追加

このエントリーをはてなブックマークに追加

自己紹介

自分の写真
Unity3D公式マニュアル翻訳やってる人がスマホ(iPhone, Android)のゲーム開発しています。気軽に面白く初心者が遊べる内容がモットー。Blogでは開発情報をひたすら、Twitterではゲーム作成の過程で参考にしている情報を中心につぶやきます

ページビューの合計

過去7日間の人気投稿