2018年03月04日

マサオたたきKSG賞!

先日第四回PLiCyコンテストにて、マサオたたきがKSG賞をいただきました!



何か賞貰えたら嬉しいなあと思ってはいたのですが、シナリオはないしシステム部門といってもギミック豊富というわけでもないしアクション部門といっても言うほどアクションでもないし、KSG賞……はKSG度足りないだろうしなあ……無理そうだなあ……という感じだったので、受賞の連絡頂いた時にはもう本当にびっくりしました。KSGか! マジか! KSG賞なのか! いいのか! 貰っていいのかー! と一人でツボってました。マサオ君がKSG賞! やったぜ! 個人的KSG賞はシグラルさんのmemesoらんどだったのでちょっと申し訳なさもありますが、本当に嬉しいです。ありがたき幸せ!

というわけでマサオたたきの裏話など。といってももう書いてることが多いので、表話な感もありますが、ゴウ。

マサオたたきの最初アイディアとしては、animate.cssのアニメでランダムにインしてくるマサオ君をクリックするとanimate.cssのアニメでランダムにアウトする、という感じでした。ティラノのbgのmethodとか確認するやつ作ってた時に、そういうの面白そうだなあと思い軽くやってはみたものの、それがあまりうまくできなかったのと、中途で放置してたらファイル整理した時に間違って削除してしまったのとで、あれどうしようかなーまあいつかでいいかーと放置&放置。で、しばらく経ってSVGをちょっと触った時に、「これパスで当たり判定できるのでは?」と思いついたので、それでインしてくるマサオ君をクリックしたらアウトさせられる感じのを改めて作ってみよう、となった結果が今のマサオたたきです。どうせなら軽い方がいいなーと立ち絵も一種類に限定。BGMは丁度動画作った時に「これゲームでも使いたいなあ」と思ったぐるぐるぺったんこオンリーに決定。ひたすらぐるぐるぺったんこ。最初の構想とはちょっと違いますが、やりたいことはできたので良かったです。ただそんな感じで自分の中でマサオ君を叩くのが当たり前になりすぎて、「何で叩くの?」と聞かれた時に「……何でだろう?」となってしまったのが反省点でしょうか。何でだろう。自分でもよく分からない!(白目 叩かせてくれるマサオ君は太っ腹です。ありがとうマサオ君! ありがとうカブ!

制作中は付け焼刃情報を駆使しまくったので、今ファイルを見るともう「うわあ」ってなります。自分でよく読めない! ひどい! でも一応SVG使えるスマホからでもプレイできるくらいの軽さにはできたかなあと。ゲームにもよりますが、瞬発系は快適性の維持が難しいですね。今回作ってみて、場当たりだとやっぱり調整が壁だなあと感じました。アクションゲーム作ってる方すごいです。

制作自体は途中まで一発ネタになればいいかなという感じで、大体できて「もういいか!」となっていたのですが、テストプレイしてもらってそこで色々ご意見頂いて、確かにもうちょっとちゃんとできた方が面白いかなあ、折角だし、と思い直して、また諸々やった末に今の四ステージ(?)となりました。一発ネタだけど一発ネタに終わらないゲームにできたのは、本当にもうテストプレイヤー様のおかげです。ありがたい限りでした。

あとランキングの設置法とかググってもサッパリだったのですが、ティラノのオンラインランキングのプラグインを配布してくださった方がいらして、それを元にPLiCyさんの方からアクセスする形で実装できました。本当にあのプラグインがなければオンラインランキングは無理でした。ありがたさがもはや天井突破です。スクショ撮るJSアップデートプラグインまで! 宇宙にいくしかない!
ランキング設置後にやり込んでくれる方もいて、非常に嬉しかったです。モード的にスコアはほとんど頭打ちにはなってしまうのですが、ちょっとした時にやってもらえたらそれでもう幸せマックスです。

折角なので数値とかカスタマイズできる感じで公開しようかとも思ったのですが、全体的にコードがしっちゃかめっちゃかでもう手が付けられませんでした。何という分かりづらい作り方をしてるのか! 無駄多い気がしてならない! そんな感じでアレですが興味ある方がいらっしゃればゲーム部分だけでもアップしようかとも思うので、お気軽にお声がけくださいー。
posted by SOrow at 19:29| Comment(0) | 日記

2017年12月17日

「マサオたたき」ver1.01に更新しました


PLiCyさんにアップしている「マサオたたき」を更新しました。スクリーンショット生成ボタンを挿入して、オンラインランキング導入です。どちらも荻原さんのプラグインとコードを使わせていただきました。激感謝です。ありがとうございました!

ランキングは名前とスコアだけが送信される形です。コンボ数とかまでは入っていません。入れようと思えば入れられなくもないのですが、さすがにデータ数多くなると重くなる可能性もあるかなーと。というわけでスコアだけのランキングですが、お試しいただけますと嬉しいです。不具合ありましたらガンガンご指摘ください! 残っているような気もします!(白目)

ハイスコア送信としては、一回で全部のモードが送信されるようになっています。個別の方が自由度高いかなーと思ったのですが、一括の方がボタンを置きやすかったのでその方法で。割とギッチギチにボタンを配置してしまったのでもう置き場を考えるのがめんど(ry ゆとりをもった設計大事ですね。ただ設計してないのでそもそもゆとりも何もないというのがアウトです。何という適当なゲーム作りなんだ……。それでも完成するあたりツールすごい。プラグインすごい。ありがたい限りです。

自分のサーバーでランキング試した時は大丈夫だったのですが、他ドメインからajaxだとクロスドメインでCORSとかで何かこうアレしないとダメなんですね。難しい。通信関係はセキュリティが大事なのでガバガバでやっちゃいけないなあとある程度は調べたのですが、理解ができているかは謎です。もうちょっと忘れ始めている。ダメだな!
あとhttpとhttpsだとlocalstorageが別になるんですね。最初httpsで登録してて、まあhttpでもいいかーと変更したらデータが消えてて「!?」でした。何という初歩的ミス! テストしていただいて気付くことができました。ビビりました。ヤバかった!

別ドメイン間のテストはティラノサーバーが便利でした。keito-worksさんのなのですが、今見てみたらティラノードになっていました。あれ私いつティラノサーバーDLしたんだろう? 謎! それはともかくティラノードですね。これ一つでlocalhostで立てられるので、自分のサーバーにアクセスすれば自動的に別ドメインでのやり取りになると。他のローカルサーバー立てればウェブを通してやらなくてもいいのかもしれないのですが、通信速度もチェックできたのでまあいいかなと。何とかなった気がします。

オンラインランキングはパッケージ版と自分のサーバーのみでの設置やり取りだと普通にサクサク動くので、ミニゲームなんかでも使いやすいなーと思います。すごい。
私はとりあえず名前登録を一度だけにして、重複したらランキング上書きという形にしてみました。その方が管理が楽かなと。システム変数に保存してそれをそのまま送る感じですね。今回モードが四つあるので四つ送るのもめんどいかなあとも思ったのですが、まあいいやと四つ送れるようにしました。ただそうするとソートを送った時にやれなくなるのでそっちはcopy_runking時にするように。順位チェックはコピーした配列の中からシステム変数の名前と同じのがあった順番を吐き出すようにした……気がします。多分。それであとは配列分だけランキング表示です。この形だと最初から100表示するとえらい重さになるので、そこは削って配列分だけにしました。中身としては100まで保持されますが、多分そこまで登録する人はいない気がします。まあいいか!

というわけでPLiCyさんでのマサオたたきオンラインランキング導入が完了しました。軽く遊んでいただければ嬉しく思います。

PLiCyさん、最初は子供向けな感じなのかなーと漠然とイメージしていたのですが、実際ゲームを登録したり遊んだりしてみると、ガチな機能や作品も沢山あってすごいなと。ガチなというか玄人向けというかハイクラスというか何だろうもうとにかくすごいですね。多分子供向けは子供向けというか、子供でも気軽にネット上でゲームを作れたり遊べたり交流できたりするような場所でもあると思うのですが、それを作り上げている技術だとか匿名性が保たれつつ開かれた場所だとかは、十分大人でも楽しめるというか、むしろ大人が制作意欲を掻き立てられるすごいものでもあるなあと。浮田建設さんすごい。去年のPLiCyコンテストがきっかけで使うようになりましたが、良い機会だったなーと感謝です。

ティラノビルダーの場合はシナリオファイルに使われてる画像のpreloadタグが自動で挿入されるので、ちょっと作ってみたけど短いしパッケージで配布するのもなーという場合など、PLiCyさんで公開してみるのも良いと思います。ブラウザゲームだとパッと遊べるのが利点ですしね。oggファイルも自動でコンバートされるので、互換性をあまり気にせずアップできるのも嬉しいです。オープンソースでOKな素材を使っているならZIPのDLをOKにするのもよさそうです。ガッツリなゲームをアップもできるけどサクッと楽しむゲームもできるという。
スクリプトもシナリオ読み込みのボトルネックが解消されてからはスムーズに進むようになりましたね。ブラウザゲームを公開する敷居がかなり下がったなーと感じます。
あとは何かティラノ関係でPLiCyさんで何かあるのかないのか何なのからしいでようなので、あるのかないのか! 続報待機!

PLiCyさんはウディタをブラウザ向けに動かしてるのもすごいですね。ティラノやツクールMVのようにHTML5化出力されるわけじゃないのにちょっと理解しにくいほどすさまじいことが行われている! ウディタ側でも画像処理関係とかイベント関係の最適化は必要な感じですが、ブラウザゲームとして動くだけでまずすごいです。技術力が本当にヤバイ。スゴイ。あとGDWもすごいですね。3D酔いさえしなければもっと遊べるのに……。三半規管を鍛えないとダメか!

そういえば基本ブラウザはVivaldiを使っているのですが、最近PLiCyさんのページで途中でページが黒く更新されてゲーム画面が真っ黒になる現象が起こるので、Chromeでやってます。Chromeだと普通に遊べるんですよね。謎。PLi-PeeRが始まった頃からな気がするのですが、何でChromeはいけるのにVivaldiお前は黒くなってしまうのだ! という感じです。謎。

いつの間にかPLiCyさんの話になりましたが、そんな感じでマサオたたき更新でした!
posted by SOrow at 18:43| Comment(0) | 日記

2017年11月24日

マサオたたき公開!

マサオ君をひたすら叩くゲーム、「マサオたたき」をPLiCyさんで公開しました!

t.jpg

PLiCyさんのコンテストに参加できたらいいなーと思っていたので、無事に間に合ってよかったです。テストプレイヤーのお二人に超感謝です。猛感謝。やはりテストしてもらうと自分じゃ気付かない点がゴロゴロ出てきますね。テストしてもらえてしかもバグ指摘もらえたり意見もらえたりするのは本当にありがたいなあと思います。究極感謝!
ゲームはもう短くパッとできると思うので、気軽にサクッと遊んでいただければ嬉しいです。マウスの場合は手の酷使にお気を付けください! スマホの方が指で押せるので遊びやすいかもしれません。ただSVG使ってたり何だりなので、最新機種じゃないと動かなさそうなのが難点です。スマホを持っていないのにスマホ向けにしようとするのがまずおかしい! 今回もまたスマホでのテストをテストプレイヤーさんにお願いしたのですが、デバッグ用としてのスマホも持っとかないとダメだなあと思います。つい「まあ今度でいいか!」になってしまうのですが。今度とは。

ミニ要素としては、無意味に太陽がクリックできたり、無意味にマサオ君ボタンから飛んだマサオ君のセリフがランダム変わったりします。無意味! ちなみにプレイ数が10回になるとちょっと何かが増えるかもしれません。何か。何かとは。

折角なので思いつくまま制作裏話?を書いていきます。とりあえず説明やスコアの表示方法について。
あれはティラノのbuttonタグをfix化して、なおかつfixレイヤーではなくfreelayerに配置するように改造して、ksファイルを呼んだ先で[html][endhtml]でテキストやボタンのHTMLをフリーレイヤー上の別のdivで表示して、[iscript][endscript stop="true"]で閉じるボタンのクリックイベントを個別につけ、[return]で戻っています。表示を閉じる時に要素消してからのnextOrder発動です。fixからcallで呼んで(というか直接buttonからのstorageから呼んで)returnで戻るとスタックが残るので、ボタンを表示したまま呼んだシナリオの中身を展開することができます。カナメ君や俺ギャルのおまけのモーションや表情変更はそれでボタンを表示したまま操作できるようになっています。
ただ今回スコアとかは[html][endhtml]でテキストを表示したかったのですが、[html]タグではフリーレイヤーにHTMLが作成されるので、buttonをfix化するとfixlayerに配置されて、フリーレイヤーより上に来てしまう。というわけで、ティラノを改造してfixボタンをフリーレイヤーに配置できるようにしました。単にifでパラメータ分けして生成するようにしたのですね。そうすると同じ親div内に配置されるので、[html][endhtml]でHTMLを生成しても、ボタンの上に表示できるようになります。そんな感じでスコアなんかを上に乗っけました。
普通のゲームだったら別にボタンを毎回消したり出したりでもいいかなと思うのですが、今回特にゲーム部分以外での読み込みラグを減らしてレスポンス性を上げたかったので、ボタンを表示したまま乗せたかったのですね。マサオ君も最初は毎回SVG生成してたのですが、フリーレイヤー内の要素を削除する[cm]を使わないようにして、ある程度の要素を保持したままリトライできるようにしています。多分。多分……。

非同期処理が結構適当なので、通信速度やラグによってはちょっとバグが起こりそうかなあという感じです。何かヤバそうな挙動がありましたらご指摘いただけると幸いです。ただ直す技術は私にはないかもしれません(白目)。その際は申し訳ない限りです。

というわけでマサオたたき、サクッと気軽にプレイしていただければ感謝感激でございます。
posted by SOrow at 19:14| Comment(0) | 日記

2017年11月19日

テスト

投稿テスト。
posted by SOrow at 12:01| Comment(0) | 日記