落とし合いLダウンロード版

先日ブラウザ用ゲームとして公開した落とし合いLのページの一番下にダウンロード版へのリンクを追加しました。
折角Love2dでの習作なので、Win版とMac版を一緒に作れるよというテストです。…ブラウザ版と同じ内容なのでわざわざダウンロードするまでも無い内容ではありますけれども。

この二つを追加するにあたって大元のLove2dがVer.11.0にバージョンアップされていたので、本体の更新を行いました。更新内容のリストも参照ください。
この更新の中に影響の大きい変更が含まれていまして、その修正に手間を要することになってしまいました。
その変更点とは「Love.exe単体で起動した際の画面がSuperToastでなくなった」…ではなく、「SetColor等で指定する色の値の範囲が0-255から0-1に変更になった」というもの。

一往そのままゲームが動くことは動きますが、大半の色が正常に表示されなくなっているために色として指定している値を全部書き換える必要が出てきました。途中の段階で止まっているワンキーゲームの方も値の書き換えが必要になると考えると少し骨が折れそうです。
その他音声関係の処理も変更が入っているので、旧コードのままだとエラーで止まってしまいました。

また確認はしていませんが、Love2dのバージョンが変わったことでjavascriptへの変換にしようしていたlove.jsが使用できなくなっている可能性があります。まあブラウザで動かせるのはある意味おまけのようなものであると割り切ることもできますけれども。

DANCERUSH STARDOM

先日稼動開始したBEMANIシリーズの新しい音楽ゲームをプレイしてきました。

国内の現行のアーケードゲームでダンスをモチーフにしたゲームは「DanceDanceRevolution」シリーズと「maimai」シリーズがありますね。Pump It Upは公式サイトを見てもダンスゲームとは名乗っていない模様?
maimaiも最新作は「踊ってみた」のような文言がぱっと見つかりませんが、タイトルからしてもダンスゲームということで。
2年前にオンライン稼動を終了した「DanceEvolution ARCADE」は見た目からしてもダンスゲームらしい作りでしたね。

今回新たに稼動したのは「STEPSTAR」改め「STEPSTAR」改め「ShuffleDancerz」改め「DANCE GENERATIONS」改め「DANCE RUSH」改め「DANCERUSH STARDOM」。
ざっくりと誤解を招きやすい表現で説明するなら「スライダーとビジュアライザーが一体化して足元のパネルに移動したCHUNITHM」なゲームです。
なおUIはGuitarFreaksXG&DrumManiaXGシリーズに似ています。

ステージとなる足場全体がセンサーになっており、右足と左足が区別されて認識されます。音符の判定に関るのは左右の移動のみで、前後の移動は関係がないようです。
音符は画面奥から流れてくる形。指定された足で踏んだり、踏みっぱなしにしたりスライドさせる動作に加えて「DOWN」と「JUMP」のゲートが流れてきます。
「DOWN」のときは体を若干下に動かし(体全体でリズムを取る感じで頭を少し下げる程度でOK、手を動かすだけでもそれとなく判定されそう)「JUMP」のときはジャンプします(恐らく完全に両足が地面から離れる必要があります)。

横を向いて足を交互に前に出す、その場で走るような動き「ランニングマン」と「Tステップ」の二つのステップが公式サイトで紹介されている通り、ステップダンスを手軽に楽しめるのがこのゲームのウリといえそうです。
DDRではどうしてもパネルとパネルの間が離れていて、かつ段差がある関係で足をスライドさせる動きが再現しづらいんですよね。所謂トラボルタステップやSeasonsの譜面などスライドさせようという意図を感じる譜面はありますが、これがなかなか難しい。個人的にSeasonsの譜面はDANCERUSH STARDOMで輝くんじゃないかと思っています。

続きを読む DANCERUSH STARDOM

Luaのコードの軽量化

先日Love2dの習作として作った落とし合いLを更新しました。
更新と言ってもゲーム内容は変わらず、ゲームデータの軽量化を試してみました。

Love2dで作ったゲームをlove.jsを使用してブラウザ用に出力すると、luaで書いたコードはそのままdataファイル内に保存されるようです。このファイルには改行やスペースもそのまま残っているようであるため、読み込むためのデータとしては効率が悪いと言えます。
もとのluaで書かれた文を圧縮できれば、ブラウザで遊ぶときにダウンロードするデータ量が減ってちょっとお得になります。また外部の人が見たときに、ぱっと見でソースを読み取りにくくなって無駄の多いコードでもバレにくい(?)という効果もついてきます。

という訣で試してみたのがSquish。コード量を小さくする(minify)ほか、難読化やrequireで呼ばれる複数のファイルを一つにまとめる機能もあるツールです。
実行できるLuaのバージョンはLua5.1版までのようですが、実際にデータ量の削減に成功することができました。素のコードの46065バイトが15799バイトまで減りました。65%減となるとかなりお得感がありますね。

このSquishですが、実際に動作させるまでになかなか苦労させられました。もし動作に引っかかる方がいたらメモ程度に使い方をまとめておこうかと思いますが……さすがに居ませんね。
コード量の削減はブラウザ用以外でももちろん有効です。特にLove2dでWindows用のexeファイルを作るときはデータをZipで圧縮するだけという手軽さなので、圧縮前に難読化をかけておくとデータを解凍されても改造されにくくなりそうですね。あくまでされにくくなるだけですけれども。

またLove2dはLuaJITというLuaを高速で動作させられる何かにも対応しているので、配布ファイルを作る前にこの形式に変換しておくと動作速度とコードの読みにくさがさらにアップしそうです。ただし、Squishと併せて下準備がそれなりに大変なので、Love2d本来の手軽さからは大きく離れた作業になってしまうのが難点と言えます。

なお、love.jsを使ってブラウザ用に作る方法はLuaJITには対応していないようなので注意が必要です。

公開:落とし合いL

Love2dの習作として、ゲームをひとつ公開しました
落とし合いLです。LはLÖVEだったりLuaだったり。

JavascriptへのコンパイラであるEmscriptenを使ったLove.jsを使うとブラウザで動作するものが作れるらしいので、上のリンクはそのテストも兼ねてブラウザ版です。
ブラウザや設定次第で動かない場合もあるかと思いますが、スマートフォンからでも動作するようです(iPhone7で確認)。

こちらが確認した限りでは60FPS結構サクサク動きますね。シンプルなゲームなら十分いけそう。
PCからだとキーボード入力が出来る一方で携帯端末だとタッチ操作をすることになるため、今回みたいなアクション系だと操作感が大きく変わってくるのが難しいところです。
落とし合いLでは指を左右に動かすとその方向に移動、という形にしました。慣れればそこそこいける……?
また操作をシンプルにするため前作にあった方向キー二度押しのダッシュ/急ブレーキコマンドはありません。面倒だったとも言う。

操作性の他にタッチ操作の問題点として、キャンバスの外の部分をタップしてしまうと思わぬ場面で画面が上下にスクロールしたり前のページに戻ろうとしてしまう現象がそこそこ発生しやすいこともあります。PCゲーム(スーパーフックガールとか)でもウィンドウ外をクリックして画面が見えなくなったりすることがありますが、それに近い問題ですね。
シビアなゲームの場合はフォーカスが外れた際にポーズをかけるような処理が必要になりそうです。

今回は画面サイズは640×480(過去の落とし合いの2倍)固定で、携帯端末の場合は画面が横幅一杯に収まるようにHTML側で設定をしています。横縦比が4:3なので、縦長の端末で画面を横向きにすると、横幅が画面に合わされて上下が画面に収まらなくなってしまいます。
横長の画面の場合は縦幅を画面に合わせるような設定にできそうですが未検証です。縦長のSTGならともかく、縦横どちらでもプレイできる画面サイズの場合はしっかり設定する必要がありますね。

続きを読む 公開:落とし合いL

習作と謂えば

前回に書いた通り、Love2dを使ったシンプルなゲームを作っています。
現在の画面がこちら。
落とし合い画面

習作と謂えばこれ。Visual Basic6.0に始まり、過去4回ほど作ってきた「落とし合い」です。…分かる人はほぼ居ないと思いますけれども。
もともとは白い画面に青い丸と赤い丸、そして線一本があるだけのごくシンプルなゲームで、回を追うごとにエフェクトが増えたりしてたものです。今回は背景(単なるスプライト)が追加してみました。
さくっと作ってさくっと公開するつもりのものなので、次の日曜には公開できるといいかなと考えています。

前回となる落とし合いは「落とし合いC」なのですが、どうやら作ったのは10年前になるようで、今のPC環境だとプレイできなくなっている可能性があります。もしかしたらランタイムを用意すれば動作するのかも?
その時はC言語で作ってみようという試みだった気がするので、Love2dで作ってみようという今回のものは正当な続編として扱えそうですね。

Windows10での画面録画

Love2dで試しにゲームを作ってみようとワンキーゲームを作り始めて昨年5月からほぼ進捗なし。
これは身の回りが忙しかったという要因もありますが、それに加えて「曲を用意する」という部分で腰が重かった点が作業の進まない大きな原因であると言えそうです。

しかもPCが壊れて環境が一新されたことで、再度ソフトを入れ直したりするのにも腰が重いというダプルパンチ。少しずつでも調子を戻していこうと、とりあえず新環境で画面をキャプチャすることを試みました。
何でもWindows10では標準でゲーム画面を録画する機能があるとのことで、制作中のものを撮ってみたものがこちら。

続きを読む Windows10での画面録画

続きを読む→

このウェブログを作って2年と半年ほど経って今更、トップページから見たときの記事に「続きを読む」リンクがないことに気付きました。

やたらページが縦に長くなっても表示されないなと思っていたら、自分で任意に挿入するものだったのですねー。という訣で過去の長めの記事を適当に分割してみました。
分割すれば見やすくなるかと云うと、当然そんなはずもなく。大雑把に1000文字くらいを目安にして分割するかどうかを分けてみることにします。

ページレイアウト自体も、PCで見た場合に余白が多すぎてバランスがよくない感じがありますね。少なくともバランスのいい余白の取り方ではなさげ。
CCSも少しずつ改変してバランスを探っていく必要がありそうです。
続きを読む 続きを読む→

スマートフォンでネタバレ反転したいブックマークレット

タイトルのものを試作してみました。
探せば既にあるかと思いますが、たまにはJavaScriptにも触ってみようとかブックマークレットを試してみようという勢いでもあります。

感想サイトや攻略サイト等では、重要なネタバレになる部分の文字色が背景色と同じ色にして、目に入らないように隠されている場面に遭遇することが少なくありません。PCを使っている場合は、マウスで該当箇所をドラッグするなりCtrl+Aして文字を反転すれば隠された文字を読むことができるという仕組みです。
ただ、AndroidやiPhoneといった携帯端末を使っている場合は、基本的に文字を選択することはできても反転表示させることはできません。該当箇所をコピーしてメモ帳に張り付けるような手段をとる必要があります。

ネタバレ箇所が多い場合に毎回コピーして貼り付けを繰り返すのは流石に面倒なので、ブックマークレットを試してみたらどうなのと雑に試作したものがこちらになります。
続きを読む スマートフォンでネタバレ反転したいブックマークレット

STEP UPモードの難度変化量

beatmaniaIIDXの現在稼働中のバージョンは去年12月21日に稼働開始の25 CANNON BALLERS。
今のところそれほど多くプレイしているわけではなく、現在STEP UPモードを進めている最中です。多分あと2人くらいスポンサーがつけばクリアになりそうな状況。

このSTEP UPモードは新曲(今作の楽曲)を除いた20曲が課題曲として現在のプレイヤーのレベルに合わせてランダムで選ばれ、3曲プレイする間に周回ゲージをMAXにできればライバルに勝利してスポンサーを獲得できるというモードになっています。

周回ゲージは

  • グルーブゲージ(オプション指定なし)で1曲クリアすると1/3
  • ハードゲージで1曲クリアすると1/2

等、クリアした時のゲージオプションで上昇量が変わります。
基本的には1クレジット中に3曲クリアするか、ハードゲージで2曲クリアすることが目標になるかと思います。

そして、このモードはいい成績や減りやすいゲージオプションでクリアすると課題曲のレベルがどんどん上がっていきます。
順調に進めていくとそのうち課題曲をクリアできないレベルになり、クリア失敗した次の曲でレベルが下がる、というノコギリ型の難度の推移になっていくものと思われます。
個人的にはクリアしやすい難度でプレイを通したいので、基本的に低スコアを狙ってレースを進めています。

クリア時のランクと難度の上昇がどんな関係になっているのか気になったので少し検索してみたのですが、軽くぐぐった程度だと情報が見つかりませんでした。
STEP UPモード自体は19 Lincleで実装されていおり、以降システムも大きく変わっていないので誰かが調べている筈…?
なのですが情報が見つからないので、自分用のメモとして低スコアを出した時の情報をまとめておくことにします。

続きを読む STEP UPモードの難度変化量

ドリームダイアリー

先日、フリーゲーム「ゆめにっき」の続編的な?YUMENIKKI -DREAM DIARY-の情報が公開されました。

情報公開前の謎ディザーサイトではカウントダウンだけが画面に表示されている形で、それ以外に何もないかと思いきやソースを見ると発表予定のタイトルが分かる作りになっていました。

ゆめにっき自体はVer.0.08で存在を知り、以降Ver.0.10まで一通りプレイしてきたこともあり思い入れがあります。ファミコンバグとか溶ける雪だるまとか特殊なイベントも一通り見ていた筈。
逆にノベライズ等、ゲーム以降に展開されたものには全く触れていません。待望(?)のノベライズという触れ込みでしたが実際どうだったのでしょうか。

今回発表されたYUMENIKKIはどうやら3Dの探索ゲームのようで、2Dだったオリジナルとはまた雰囲気が少し変わりそうです。
「ゆめにっきぽい」とよく引き合いに出されがちなゲームではLSDやMYSTが3Dな感じ。二頭身ではなくキャラクターの頭身が上がったこともあり、それらにちょっと近い感じになるかも知れませんね。
スクリーンショットを見る限り画面解像度は高そうなので初代PSのような荒い画面の雰囲気とは違いそう。FC世界のような場所があれば荒いポリゴンが再現されるのかも?

サイトを見ると日本語や英語、中国語など多くの言語に対応しているようですが、ゲーム中に言語にあたるものが出てくるのかという点も気になるところです。原作では記憶の限りだとゲームのせつめいとメニュー画面、あとNASU以外だと特に文字情報はありませんでした。46836。
イラストや動画からメインヒロインがキュッキュ君(仮名)であることが推察されます。セコムマサダ先生(仮名)は健在なのか。

ともあれ発売は2/23とのことで、チェックしておきます。
ついでにSteamの紹介ページの「類似品」の欄には以前独り言でも書いたStrange Telephoneが載っていることも確認したものの、現在は一覧には無い模様。