少し前に「Unityの勉強始めた」って話を書いた。
仕事とは無関係に、全くの趣味として。
でも、趣味なので週に2時間程度しか時間を割けず、遅々として進んでいなかった。
今日、時々仕事でプログラム保守をしている会社の人と、打ち合わせ会議があった。
保守しているプログラム、見ず知らずの前任者が作ったものから、求めに応じて僕が随分と拡張している。
WEB 上で動作する Javascript のシステムなのだけど、前任者は「その時の仕様」でうまく動くように、非常に美しいプログラムを組み上げていた。
…美しい、というのは良いことばかりではない。
当時の仕様での動作としては問題ないのだけど、後から手を加えようとした時に改造しにくかったのだ。
ネットワークからデータを受けて表示するプログラムだったのだけど、無駄が排除されていて、受け取ったデータを集計し、表示した後はデータを残していなかった。
これが、後から「操作によってデータの絞り込み表示とかできると良い」という話になった時に、データが残っていないのだ。
仕方なく、根幹部分での「データ集計」は残したまま、送られてきたデータを溜めておく別部分を作り、絞り込みの際には別途集計を行って、それまで表示していたデータを「リセット」して、集計したデータを今送られてきたように流し込んで…
という、複雑怪奇なプログラムになっていた。
#根本部分から作り直せばいいのだけど、それができない理由があった。
このプログラム、どこかで根本的に手を入れないと、今後の拡張難しくなっていきますねー、なんて話を以前にしていた。
実は、僕は「WEB 表示部分」を作っていたのだけど、システム全体としては、別の人が作った Android アプリと iOS アプリもあった。
さらに、別用途で使われる Windows アプリもあった。
目的が違うものなので画面なども違うのだけど、表示される内容は同じ…にしたいのだけど、少しづつ違って同じになっていない。
で、今回、「すべて Unity で作り直せないか」という相談。
各種表示プログラムがあるわけだけど、今一番使われているのは僕が作っていた WEB 画面なのだそうで、これをベースにして Unity で作り直したいらしい。
Unity なら、iOS / Android / Windows / MacOS / WEB など、各種環境向けにコンパイルできる。
それぞれに必要な UI などは微妙に異なるが、共通化できる部分は出来るだけ共通化していきたい、という意向らしい。
で、「Unity 使えますか?」と聞かれたわけだ。
ごめんなさい。使えません。
でも、ちょうどいま勉強中で、勉強のためにゲーム一本作ってみている最中でした。
そんなわけで、趣味でやっていただけだったのだけど、ちょっと勉強を急がなくてはならない状態。
今日は会議後、5時間ほど作業していた。
まだ「上から3つ並んだ宝石が落ちてくるだけ」だったプログラムが、「フィールドの配列を持ち、落ちてきた宝石が積み上がり、それらの宝石に落ちてくる宝石がぶつかると通り抜けられないような判定」までは出来た。
これを作ることが目的ではないのだけど、ゲーム一本仕上げるのって、ある程度システムを理解していないとできないからね。
実践的な勉強、というつもり。
実際に作り直すとしても、おそらくは秋から作業開始になるようだ。
その時に備えて「API マニュアルと首っ引き」でないとプログラムできない今の状態から脱出したいところ。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |