2019年01月29日

GoogleAppEngineのJava7終了のお知らせ、だと思っていたのですが・・・

一昨年からGoogleAppEngineのJava7が非推奨環境となりJava8に切り替えましょうとGoogleさんから言われ続けてきたのですが、僕は仕事や家族の都合で余裕を持てずシャットダウンされる2019年1月16日まで来てしまいました。
サーバサイドとして使用しているアプリに不具合が起きる覚悟でいたのですが、Java7のサーバプログラムは1月16日を過ぎた今でもまだ動いています。

gae_java7_1.jpg gae_java7_2.jpg

https://cloud.google.com/appengine/docs/deprecations/java7?hl=ja
https://cloud.google.com/appengine/docs/standard/java/runtime?hl=ja

・・・「Java7 Shutodown」って書かれたら普通、使えなくなると思うよねえ(´;ω;`)

『警告: Java 7 ランタイムは非推奨となっています。Google では、利用規約に従って Java 7 ランタイムを引き続きサポートいたしますが・・・』

って以前はなかった気がするんだけど、僕の勘違いか・・・同じページを以前見た時にこの文言があれば右往左往することもなかったのに。

右往左往、Eclipseのプロジェクトが壊れたPC内にある状況でclassファイルからソースファイルを逆コンパイルしたものの、Google提供の新しい環境だとどうしてもデータストアを扱うことができずに困り果てたり、発想を切り替えて急いでSDKBOX経由でGooglePlayやGame centerのリーダーボードをいじってみたりしていたのですが、怒りを通り越してなんだか拍子抜けしてしまいました。

他人が提供する開発環境に依存しているとよくこういうことがありますが、情報をキャッチするアンテナが大事ではあるものの、情報の汲み方が難しいケースもあるんだなあ・・・

とりあえず、今は使えても非推奨の環境を使い続けるのも怖い、しかしリーダーボードは実装してみたところ僕のゲームでは使えないとわかってきた(実装段階でかよw)、データのストックは新しい物を使った方がよさそう。

他の言語のGAEか、最近話題のFirestoreでも調べてみるか・・・SQL的なものが使えればいいのだが。
posted by B.cos at 02:41| Comment(0) | Google App Engine開発 | このブログの読者になる | 更新情報をチェックする

2019年01月01日

Zen Koi 鯉の禅

"Them of Koi"と聞き間違えそう。

なんとなくですが。

20181226020533378.jpg

ゆったりした静かで美しい池のなかで鯉を育て、やがては龍にして天高く飛ばそう、そんなスマホゲーム……

ちょっとワケわかんないですね。

プレイした感想含め、軽く説明させていただきます。(少々批判的な意見もございますが、個人的所感として受け取っていただければと)

20181227084630455.jpg

タップしたポイントに鯉を誘導することで操作。

鯉がぬるぬるなめらかに動いて気持ちいいです。(これを味わうだけでもインストールする価値はあるかと!)

レベル1の段階だともどかしさがありますが、レベルアップするとサクサク自在に動くようになります。

鯉のレベルアップの経験値はステージ内を徘徊する生き物を捕食することでたまっていきます。 

ゲームが進行すると何回も噛みつかないと食べられない、後ろからこっそり近付かないと食べられない、などクセの強い生き物が登場します。


レベルアップするとパラメータを、スピード、旋回、レア度に割り振ることができます。

スピードはそのままの意味、旋回はコーナリングというべきか、鋭角な方向転換ができるようになります。

レア度はよくわからなかったのですが、後述の交配に関係すると思われます。

コーナリングは餌をとるときのイライラがかなり軽減されるので大事です。

スピードも大事だけど、コーナリングの方がもっと大事。


別の鯉を見かけたらつきまとってナンパです(笑)

20181226022646557.jpg

交配して卵を産んで、次世代の鯉を作りましょう。

卵は時間が経つと孵化してレベル1の小さな鯉になります。

20181227071506457.jpg

しばらく親のまわりをついてまわりますが、そのうち離れていきます。

20181227071632168.jpg

設定画面で今まで孵化させた子供たちを選んでプレイヤーキャラにすることができます。

レベルや各パラメータは個体ごとで異なります。

ちなみにパラメータの上限も個体ごとに違います。

模様もそうですが、この辺がもしかしたらレア度が影響してるかもしれません。

無課金では上限はありますが、育てた鯉をストックしておくことができます。

また育てた鯉は図鑑にコレクションとして並びます。

20181227072510018.jpg 20181227072521053.jpg


鯉はレベルアップを重ねると、龍になります。

エフェクトがバーーーッンってなって鯉が滝ではなく空を昇ります。

そして、龍になる。


20181227084456470.jpg 20181227084701050.jpg

龍になった鯉はもう使えなくなり、コレクションに登録されます。

20181227084755784.jpg

そしてまた、次世代の鯉を育てて、さらにレアで、さらにレアな龍をコレクションしていく、という流れです。

『年老いた生き物は、やがて伝説の生き物になる』

という東洋的発想から生まれた独創的な、素晴らしい作品だと思います。

ただ、やりこめるかというと、僕は続かなかったです。

レベルを上げる以外に指定された数の餌を捕食してミッションをこなすことで、池を広げていくプロセスがあります。

池を広くすればもちろん探索エリアが広がるのですが、広くなるのと障害物が増えるだけで別に代わり映えはありませんでした。

それでいて餌となる生き物の種類も増えていきますが、クセの強いものばかりになってゆき、探索エリアの広さに加えて作業が辛くなってきてしまいました。(ゲームでよくある話ではあります)

また、コレクションする鯉や龍も模様とパラメータが違うくらいで、そんなにバリエーションがあるってわけでもない。

コレクション魂に火がつかなかった、ですね。

というわけで、最初はのんびりした感じがすごく楽しかったのですが、作業が作業を呼ぶ状況と、その繰り返しが三回を越えたあたりで疲れてしまいました。

ゲームとして作業化するよりも、美しい世界を自由にさまよって探索&発見を楽しめるようにもできたのではないかなあと、少し思いました。

後者はバランス調整とコンテンツの管理が難しそうではありますが。
posted by B.cos at 22:47| Comment(0) | ゲームレビュー | このブログの読者になる | 更新情報をチェックする

2018年09月12日

【ゲームレビュー】エージェントファイト

「エージェントファイト」というスマホゲームを紹介します。
https://play.google.com/store/apps/details?id=com.Company.AgentFight

20180912181541467.jpg

スクリーン上にバーチャルパッドがないというのはいい。
「ボタンを押したと思ったら押してなかった」というガッカリ感が無いだけでもストレスフリーです。

20180912181619096.jpg

また格闘アクションを気持ちよく楽しめることについては申し分ないです。
ダウンした相手へのフリックでの追撃アクション、とても気持ちいいです。
マウントポジション、マジ最高。

古めの端末だとカクカクしてしまいますが、設定で解像度やFPSをいじればそこそこ滑らかになります。

不満や要望をあげるならば(私の動作環境はAndroidOS.6.0.1/URBANO)、

1.ゲームオーバー、ステージクリアーしても、プレイヤーキャラも敵キャラも普通に動いてる。

2.プレイヤーキャラのダウンがないこと。HPがなくなってコンティニュー画面になっても立ったままで普通に操作できます。1とあわせて、これではメリハリがないなと。

3.ステージクリアするとNEXTボタンがいきなり出てくるので、(ステージクリアーは唐突にやってくるので)戦闘がまだ続いているものとしてタップ連打してると反応して次のステージにいってしまいます。ステージクリアーの余韻がないのはちょっと気持ちよくないなと。

20180912181602840.jpg

4.もしかしたらあるのかもしれませんが、セーブがないと辛いです。

5.放置するとわかるのですが、基本的にこのゲームの敵キャラの行動ルーチンは「待ち」です。敵の攻撃もこちらが攻撃してこないと当たらないものもあります。好みの問題かもしれませんが、もう少し攻めの姿勢があった方が面白いかなと思います。

6.機種によるのかもしれませんが、最初の読み込みがとても長い。長すぎてたまに端末がスリープします。(アプリって起動中はスリープを禁止できなかったっけ???)もしかしたらすべてのファイルをメモリ上に一度に読み込んでたりする?

いろいろ書かせていただきましたが、バーチャルパッドなしで、昔ながらの爽快感第一のアクションゲームを作るスタイル、期待しています。

posted by B.cos at 18:17| Comment(0) | ゲームレビュー | このブログの読者になる | 更新情報をチェックする

2017年10月21日

「からっぽのいえ」を終えた。

21731122_1464237423664590_175982751051077609_n.jpg


この作者さんの作品、「ひとほろぼし」「ひとたがやし」「ひとりぼっち惑星」とやってきたけど、ストーリーとして一番好きだな。
登場人物の彼らは幸せなはずなんだけど、寂しくなったのはプレイするこちらが人間だからなんだろな。

21752021_1464237443664588_4309568118111848633_n.jpg

21731164_1464237466997919_923799573747137055_n.jpg


最後に次のロボの開発費の投資をしておいた。
作者さんにいいものを作ってもらうためにも、こういうことは重要。

21751476_1464237486997917_4577397223192510342_n.jpg
posted by B.cos at 02:48| Comment(0) | ゲームレビュー | このブログの読者になる | 更新情報をチェックする

道具に上下はない。それが君と君の周囲を幸せにするか否かだ。

よくネット上のプログラミング界隈で見かける「Javaはクソだ」「PHPはダメだ」という無駄なdisりあい。
こういうのはもしかしたらひどいプログラムコードしかみてないから言えることなのかもしれない。
僕もPHPでクラスなのにメンバにglobal修飾子使ってるのをみて「やべえぞ!」「オブジェクト指向の意味ねえじゃん」と思ったことはあれど、それでPHPをクソだと思ったことはない。
つまんないことを言ってしまえば、どんな言語でも時間も余裕もない人にかかるとクソコードを書けるわけで、言語間に上も下もない。
何を作るのか、その手法は君や君の周囲を幸せにするのか、ということだけだ。
 
PHPと言えばC言語由来だからもちろんポインタライクなこともできるんだけど、仕様上、参照を繰り返すと無駄なメモリ空間ができて動作が遅くなることがある……と聞いている。
それをわざわざやってPHPはクソだというトンチンカンなブログを先日見つけたんだけど、クソだなんだいう以前になぜPHPの作法では使うこともなさそうなC言語的な畸形コードを書いてみようと思ったのだ?
マウンティングのことばかり考える時間減らして、サービス作ろうぜとしか思わない。
 
ところで僕がプログラム始めた頃は「goto」を言葉狩りする人もいたけれど(「gotoを使う?気は確かか?w」ってレベル)、要は「どうしたら効率的に使えるか」を理解していれば問題ない。
使えそうにないなら放置していいわけだし、使える方法を学べたならばそれでいいんじゃない?
余計な正義は鬱陶しいだけだ。
posted by B.cos at 02:17| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2017年09月14日

「NAMAKO02F」、AppStoreでリリース。

NAMAKO02F(iOS版)
https://itunes.apple.com/us/app/namako02f/id1269181712?l=ja&ls=1&mt=8

N2F_ScreenShot01.png N2F_ScreenShot02.png

N2F_ScreenShot05.png N2F_ScreenShot07.png

N2F_ScreenShot03.png N2F_ScreenShot04.png

N2F_ScreenShot05.png

Android版に続き、かつてWindowsXP用に作成した「NAMAKO02」をスマートフォン用に改修した「NAMAKO02F」のiOS版をAppStoreにてリリースしました。
よろしくお願いします。

※Android版はこちら
https://play.google.com/store/apps/details?id=net.bcosizm.namako02a

P.S.
cocos2d-x使ってたので移植は、決して楽とは言えませんでしたが(笑)、大きな時間をかけずに済みました。
敷居は高いといわれますが、使ってみるといいものですよ、cocos2d-x。Windows95〜WindowsXPまでで自作でフリーゲームを配布してたような方にはお勧めです。
posted by B.cos at 01:58| Comment(0) | ゲーム製作-成果物 | このブログの読者になる | 更新情報をチェックする

2017年06月09日

「NAMAKO02F」の作者プレイ動画







以前のWindows用NAMAKO02でもプレイ動画をあげてくださる方々がいたのですが、残念ながら未熟なプレイ内容のものが多かったので、今回は自分でFreeモードでプレイしたものをアップしてみました。
Google Play Gamesで録画したのですが、スクリーンをタップorフリックする音が入っててなんだか恥ずかしいですね。

途中何度か足を止めての殴り合いになってますが、ああいうのがが一番ダメなプレイです。
後ろに下がり過ぎないよう気をつけつつ、距離をとって自分だけが攻められる時だけ攻撃に入る、というのが美しいのです。

あと、お気づきの方もいらっしゃるかと思いますが

『ローキック(ガード不能)→ガード→上中段攻撃…の一部の速い攻撃→ローキック→……』

ちょっとした三すくみ(じゃんけん的な要素)があります。
自分のキャラでそのルールを使ってどう効率化するかがきれいな勝ち方のコツになるかも?
posted by B.cos at 02:45| Comment(0) | TrackBack(0) | ゲーム製作-成果物 | このブログの読者になる | 更新情報をチェックする

2017年06月04日

NAMAKO02Fを通して伝えたかったこと

N2F_Header.png

https://play.google.com/store/apps/details?id=net.bcosizm.namako02a

(以下、ツイッターでつぶやいたら長文になってしまったものを、ブログ用にまとめています)

NAMAKO02Fの解説で

「攻撃をする過程で自ら地面に倒れ込んだ相手選手は攻撃をもらっても自己責任だ」

と書いたのは、K-1やキックボクシングの試合での「胴廻し回転蹴り」の扱いについて僕がずっと言いたかったことだったりします。

胴回し回転蹴り、フルコン空手における大技にして奇襲技。体全体を回転させて大きな弧を描く美しく強烈な蹴り技。頭部に当たったら相手はバタンと倒れる。
まさに一撃、強烈。
このブログタイトルに使っちゃうくらい好きな技です。

K-1やキックボクシングでも空手出身の選手が使うことがあるのですが、その使われ方に納得いかないのです。
そもそも顔面パンチなしのフルコン空手ルールならば当たりやすく、常に頭を狙われるルールではなかなか当たらないものでしょう。
これはK-1がヘビー級しかなかった頃からそうなのですが、胴廻し回転蹴りは当てる目的では絶対使われません。
時間切れ間近や試合後半で盛り返したいときに使われるくらいです。
選手も勝ちたいので判定時の印象の問題や当たるものなら…と考えることもあるのでしょう。
やるならKO取る気でやってほしいのですが、もっと嫌な点がありまして。
K-1やキックボクシングのルールだと、自分がしかけた攻撃で倒れたのであればスリップと同様の扱いとなり、レフェリーが双方の選手にストップをかけてまた仕切りなおします。
ルールを利用した上での戦略としてはありなのかもしれませんが、観客はそういうのを見たいわけじゃない。
美しく強烈な胴廻し回転蹴りをそのために使って欲しくない。

若い頃からこれだけは不満に思っていて、K-1ミドル級の最初の頃に小比類巻がダウンした相手にローキックしようとしたのを見て、「これだ!」と思いました。(あの頃の彼はギラギラしてましたね!)
「俺がルール作るなら追い打ちありにしよう」とすら思いました。
もしかしたら自作でゲームを作ろうとした動機のひとつだったのかもしれないです。

競技と技は違いますが、パンクラスの総合ルールで鈴木みのるとライガーがやったことがありましたが、ライガーがすぐに浴びせ蹴りを敢行し、それを防いだ鈴木がグラウンドで瞬殺した試合がありました。
試合内容はちょっとうろ覚えですが、あの時のライガーからはヤル気が伝わってきました。
事情は知りようもないですが、プロレスラーとして異種格闘技戦に出て、一瞬でヤッてやろうという気迫を感じました。
まさにプロレスラーの鏡です。
勝ち負けも大事だけど、格闘技はプロレスを見習うべきところが多々あるんじゃないかと今は思います。
ファンは何を見たいのか、まだファンになってない人は何を期待しているのかと。

ついでに言うと、ゲームにおける「しゃがみ」への認識もずっと前から気にしていました。
なんで、頭を低い位置に置いてる相手に中段下段攻撃を当ててもダメージ同じなん?と。
しゃがみパンチやしゃがみキック、あんな体軸もない腰の入ってない攻撃でのけぞるの?と。

それに反抗するつもりで、WinXP用に出した「NAMAKO02」では、頭を下げている相手にミドルキックやひざ蹴りをしたら受けるダメージは大きくしていました。
今回の「NAMAKO02F」でもやっています。
ゲームとして、ローキックのダメージが足に受けるから低いと言うのはわかります。
だけど、それがしゃがんでたりダウンしてる相手の頭に当たっても同じだけしか減らんってどういうことっすかと思ってたんですよ。
ミルコのハイキックよりも、はいつくばってるときにもらうミルコのサッカーボールキック、そっちの方が怖くないすか?

結局のところ、所詮はゲームの話で、作った人の想定している遊び方から外れたらそれは意味ないし、そう思っているならばお前が作りなさいってな話でして。
実際やって悪くないなと思いました。
頭の位置を下げるのはメリットにもデメリットにもなるという、NAMAKO02シリーズ独特なゲーム性は作ることができました。
posted by B.cos at 21:10| Comment(0) | TrackBack(0) | ゲーム製作 | このブログの読者になる | 更新情報をチェックする

2017年05月31日

「NAMAKO02F」、GooglePlayでリリース。

「NAMAKO02F」(Android用)
https://play.google.com/store/apps/details?id=net.bcosizm.namako02a



過去にWindowsXP用に作成した「NAMAKO02」をスマートフォン用に改修して「NAMAKO02F」としてGooglePlayでリリースしました。

旧作「NAMAKO02」(http://www012.upp.so-net.ne.jp/B-cos/namako02.html

N2F_Header.png N2F_ScreenShot03.png

キャラは何体か削って12体にしました。
あいかわらず棒人間のグラフィックで(ぶっちゃけ再利用です)、スイッチで構えを切り替えられる仕様は外さず、タッチスクリーン用に操作方法を吟味して改修して、スマホゲームっぽいテンポに調整していたら……別のゲームになってしまいました(笑)

ただし、打撃中心でバチバチにど突き合う楽しみ、休み時間に教室の後ろの方や廊下でK-1ごっこをするような楽しみ方は相変わらずなんじゃないかなと思っています。
1度、PVだけでも見て、遊んでいただけたら幸いです。

N2F_ScreenShot05.png N2F_ScreenShot07.png

うまくことが運んだらiPhone用にもリリースしますし、キャラクターも新しく4体追加するつもりです。
いわゆるスポーツ空手とか、キックボクシング特化型テコンドーとか、マイク・ザンビディスっぽいのとか、サウスポーのボクサーとか。

N2F_ScreenShot09.png N2F_ScreenShot11.png N2F_ScreenShot08.png
posted by B.cos at 23:52| Comment(0) | TrackBack(0) | ゲーム製作-成果物 | このブログの読者になる | 更新情報をチェックする

2017年01月05日

JavaScriptについて思うところ

http://itpro.nikkeibp.co.jp/atcl/mag/14/253262/122000040/index.html

先月号だけど日経ソフトウェア1月号の付録でついてきた「JavaScript実践テクニック」を今さら読んでみたけど、これは貴重な一冊かもしれない。
JavaScriptという言語の他にはないあやふやなルールを丁寧に説明している。
そしてそのあやふやなルールができた理由を、予想に過ぎないが、JavaScriptができてきた背景を並べて説明している。
まあ思ってもみなかった挙動を示すことが多いことには変わりなく、全っ然っ、納得できないんだけどね(笑)
 
そもそも論として90年代から各社が自社のブラウザのシェアを勝ち取るべく、独自の改造や方言を作り出してきた背景があったのが問題で。
それをEcmaインターナショナルがなんとか標準化しようとしてきた。
でもすでにインターネット上で動いているコードも多く、その各社の方言ありのJavaScriptの仕様を捨てるわけにもいかず。
結果としてエラーがあったとしても動くような仕様だったり、計算速度を落とさないような変数の設計にしたり、既存の言語仕様からなんとかC++やJavaのようなオブジェクトを作れるようにしたりとか、、、なんだかもー、作った人々のイライラが伝わってくる話だよね。(予想に過ぎないけど!)
 
それでも歴史は繰り返していて、方言だらけだったHTMLをHTML5で統一しようという段階になったけれども、結局は各社の都合で動かない機能があったり、各ブラウザが採用しているJavaScriptエンジンで動作が変わるということもあるわけで。
 
JavaScriptのベースであるEcmaScriptの最新版「6」が出た現在、一回リセットした方がいいんじゃねえのと僕は思ってる。
JavaScriptを他の言語のように厳格に組むための言語も乱立しちゃってるし、なんかもう面倒くさい。
まるで「系統からくる制約」じゃん。
 
目下の問題は今、Live2Dの機能を使うための自分用のライブラリを作ろうとしているが、クラスにしようとするといろいろひっかかって進めないことである。
女の子の3Dモデルを早く自在に動かしたくて、サンプルに使ったソースコード(クラス使用)をカスタマイズしているんだけど、動かなくて「チクショウ!」ってなってる(笑)
posted by B.cos at 03:14| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする