クレイじいさんの言

HOMEへ戻る
呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉

  呉ソフトの でございます。(還暦をとうに過ぎたプログラマ)
www.kuresoft.net のくれいじいさんコーナーもよろしく。こちらはブッチャケ噺です。

2016年10月16日
○呉ソフトは今年で30年になりました。
歳をとるはずですよ。気がつけば30年。一体何をやって来たんだろアタシャ。
まあ、人の役に立つ事もあったので無駄じゃなかったんでしょう。

○ファーストクイーンスマホ版できました
こんな歳になってもプログラマムは続けられるのですね〜 しかしですよ、
・持続力がない
・忘れっぽい
この辺はしっかりと限界を表してますね〜 オソロシイ事です。
残っているのは諦めの悪さだけなので、10年越しに作り続けていたファーストクイーンWEBが、とうとうスマホ&タブレット版で完成しました!
たぶん、正味作業としては3年ぐらいでしょうかね。

なぜ、こんなに時間がかかったのか?
この問題は私だけでなく、多くの開発者が苦しんだと思います。
先見の明のある会社、対応力の高い会社は、目まぐるしく変わる市場に対応してこられたのでしょうが、対応できずに脱落した会社も多くありました。
一方、新たに登場した会社も数多く、ゲーム業界全体ではいまだにぎわっているようです。

ようやく、マネタイズ含めてどうすれば良いかが落ち着いて来たみたいなので、今の自分の精一杯の力を試してみました。
商売になるとは思ってません。自分の勉強と意地ですよね。引退の歳で勉強しても何になるのかと言われそうですけどねー

自分の頭が回らくなってくると、経験を人に伝える事ぐらいしかないですので、ちょっと書きます。

一人開発に戻ってからお金にならない事も沢山やりました。
アクションゲームのオンライン化をしましたがお蔵入りでした。しかし、次の仕事の役にはたってます。
ファーストクイーンのプログラムを1から作り直してWEB版にした事もあって、WEBオンラインのお仕事につなげる事ができました。
オンラインゲームのキモを知る事ができたのは大きかったですね。

「オンラインゲームのキモ」ってわかりますか?

ブッチャケお話しましょう。「オンラインゲームのキモ」は「通信しない事」です。
ちなみに、以前の「3Dゲームのキモ」は「ポリゴンを書かない(減らす)事」でした。

「目からウロコ」でしたね。
オンラインゲームでは、離れた場所にある機器の上で動いているゲームが「同じ動作」をしている必要があります。そのため、「常に画面の要素を共有するために通信する必要がある。」・・・

普通そう思いますよね。
所が所が、多少違っていようが結果が同じなら良い、やっていて大きな違和感がなければ良いのです!
本当に重要な部分だけを通信で合わせて(同期をとると言います)結果を同じにします。

社会生活もそうじゃないですか。
教師時代、無能な校長ほど規則規則でうるさかったですね。
全部が同期取れてないと気が済まないのです。
重要な部分だけ同期とって、あとはそれぞれの動きに任せれば良いと思うのですが・・・
あ、話が違う方に外れた?

話を戻します。ゲーム処理の中で通信の速度の遅さは大きな問題なので、できるだけ少ない通信回数で「同じように見える」ゲームを全部の人に提供します。具体的な通信のタイミングや内容はすべてのゲームで異なる事になります。
私のお手伝いしたオンラインゲームでも、どこで同期をとれば良いか考える事ができました。目にウロコがついたままじゃ出来なかったかも。

さて、元々企画していたファーストクイーンWEBですが、まごまごしているうちに時代はPCからタブレットへ変化していくようでした。
これは挑戦するしかないと思い勉強しました。
PC上で仮想のスマホ・タブレット環境を作りその上で動くようにします。
プログラム作業としては大きな問題はありませんでした。
そこで、実機にのせてみます・・・

唖然でした。(ここで中島みゆきの「地上の星」をかけて下さい)
動きが重い(遅い)のです、極端に。
まだ実機の環境では、性能的に足らない部分が多すぎたのです。
(結局現在の機種になるまでは無理な仕様だった)

直接、グラフィックチップに描画させる事を考えていた所、「UNITY」という開発システムが高速描画できるとの事だったので、試してみました。
「プログラマーのいらないゲーム開発ソフト」は以前からいくつかありましたが、長続く支持されたソフトはあまりないといわれてます。が、UNITYは単なるゲーム開発ソフトではありません。

私達がPC以外のプラットフォーム(機種)でアプリを作る時、PC上で目標の機種を疑似的に動作させて問題なければ、その機種で動くプログラムを作り出します。(これをクロスコンパイルと言います)
UNITYを使えば、ほぼ同じプログラムで、Android でも iPhoneでも動くというので、これはお金だしても試してみる価値があると思いました。

今までC++で作って来たのをC#に変更させ、さらにUNITY独特のシステムに合わせました。
そういう使い方が合っているのかどうかわかりません。おそらくUNITYの意図していない使い方だと思います。UNITYがバージョンUPすると、私のやり方は推奨されなくなりました。

まあ、プログラム通りに動作してるようなので、これで良いかと思ってます。
自分のプログラムが他人のシステムの上で動作するようになった30年近く前からずっとこのノリで、後はカンだけが頼り。
普通のUNITYで作られたゲームは、ゲームの仕組みをUNITYで作るのですが、ファーストクイーンは移植なので、ほとんどプログラムが繋がっているだけです。

去年までの作業で、PC上のUNITYでファーストクイーンが動くようになりました。
スマホ・タブレットでは様々な画面サイズがあるのですが、このシミュレートも容易に出来たので、縦持ち横持ちに対応して、別のUIを搭載する事にしました。

今年の初めに新しいAndroidの実機を手に入れ、動作させました。

呆然でした。
まだ、 動きが重い(遅い)のです、想定以上に。
性能的には中くらいのスマホなので、これで遅いのはまずいです。
どうやら細かい数字やらバー表示やらが遅いようなので、これらはまとめて表示しました。
やっと私として許せる表示速度になりました。
しかし、タッチの精度が想像以上に悪いので、操作方法をPCとは変えなければいけません。
マップ場所へのタッチはやめて、疑似パッド方式にしました。

7インチタブレットでも試してみました。じいさんでも、このサイズなら縦持ちで大丈夫みたい。
おお、なな、なんとスマホ・タブレットでファーストクイーンが動くようになったではあーりませんか!

よーし、後はコーカイするだけだ!
と、小躍りしたわけですが、始めての経験、じじいの災難はまだまだ続きます。

 続く・・・(そのうち)


呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉呉


◆HOMEに戻る◆