Skip to content →

Acerola Software Posts

自機移動まわり色々

日々の不摂生は今に始まった話ではありませんが,最近横っ腹の肉付きが良くなってきていたので体重を測ってみたところ,半年前の健康診断のときよりも5kg増えていました.これはいかんと思い某流行りの筋トレマシンを購入したところ,ただでさえ狭い部屋がより一層窮屈に.

作業専用の部屋が欲しいです.ワンルームだと布団と共存しているせいか,機材に積もるホコリの量が尋常じゃないし.

* * *

さて,今週の主な作業は主にメニューのUIまわりの実装.ついでに,操作方法が変わったことによるプレイしにくさを改善すべく,自機の移動速度の変更を入れてみました.

UIのデザインについてはもう少し練るとして…….

コントローラでの操作は,通常移動の他に2ボタンによる高速・低速移動の3通りの速度変更が可能になっています.この操作方法は初代ゲームボーイのロンチタイトルだったアレイウェイとほぼ同等です.その移動速度を,STGの自機選択みたいにゲーム開始前に選択できるようにという目論みです.

プリセットは低速なSLOW TYPEと高速なFAST TYPE,その中間のNORMAL TYPEの3種類.その他に,それぞれの速度を15段階に任意設定可能なCUSTOMも設けてあります.慣れてくるとCUSTOM一択になりそうですが,自分のプレイしやすい組み合わせを考えるのも攻略の一環と考えれば悪くはない存在かと.

なお,まだ実装していませんが,AppleTVでのリモコン操作はオリジナル版のタッチ操作と同じ動作にする予定です.そのため,リモコン操作時には速度選択はありません.……という事を実装しようとすると,ゲーム中の操作デバイスの変更はできないように制限する必要が出てくるのですがね.

* * *

「反撃BLOCKS」のコンセプトのひとつには「片手かつ指一本の単純な操作のみで本格的な攻略を可能にする」というものがあり,操作が自機の左右移動のみとなっているのはこのコンセプトに準じた結果です.本当は上下移動も行いたかったし,STGのボムのような補助的な動作も入れたい気持ちはあったのですが,それらの誘惑を断ち切ってバランス調整を行なっていました.

……なので,ベタ移植でかつ操作が難しくなれば,そりゃあバランスも崩壊しますよね.

ちなみに,作り直し版の移動速度を最大まで設定した状態がオリジナル版と同じ移動速度です.タッチ操作であるオリジナル版の自機移動は,実はスワイプで移動ではなく,指を置いた場所に自機が高速で移動するというもの.これは自機の移動速度もゲーム性の一部だからという理由が発端でしたが,実際に動かしてみたところスワイプよりも細かい制御がしやすかったので採用した経緯があります.

つまり,コントローラ操作の最高速度の状態で正確に制御できて,初めてオリジナル版と同等になる……と考えると,やはり大幅な変更は不可避かもしれません.

* * *

何だかんだで5月の最後の週になってしまいました.(改めてカレンダーを確認したところ,5月最後の週は来週でした)今月中にはこの作り直し版をどうするかを判断する予定だったのですが,現状は色々と中途半端で区切りの悪い状態です.ライブラリの実験という当初の目的については,それなりの結果が得られているのですがね.

Comments closed

サウンドまわり色々

土日に作業して作業記録として残すつもりでしたが,いつの間にか月曜の朝になっていました.日曜日に買い物から帰ってきた後,久々にトマトスープを作ったものの量が多すぎ,残しても保存できないので無理やり胃に収め,満腹感のもとに横になった……というところまでは記憶にあるのですが.まあ,いわゆる寝落ちです.

* * *

さて,ここ最近は主にサウンドまわりの実装を行なっていました.サウンドまわり,実に厄介です.実装自体は特に複雑な事は行なっておらず,普通にOpenALで再生しているだけなのですが,iOS(+tvOS)とmacOSのそれぞれに問題が生じています.

iOSとtvOSですが,謎のノイズに悩まされています.端末によって発生したりしなかったりで,手元の環境では第4〜6世代のiPod touchとAppleTVでは発生を確認しており,逆に確認できていない端末はiPad AirとiPhone 7 Plusの2機種.特に頻発するのがAppleTVです.

一方,macOSのほうは酷いもので,SEを再生する度にいちいちフェードインするような,ちょうどAttackを遅めに設定したような鳴り方になっています.当たり前ですが,そのように作ったつもりはありません.勝手にそうなったのです.

ちなみに,上記の環境全てにおいて,再生する音声データとソースコードは同一です.OpenALのパラメータに何か違いがあるのかと思い比較してみたのですが,差異は発見できませんでした.同じデータ,同じプログラム,同じパラメータでここまで差異が生じているのですから困ったものです.

ノイズのほうは出力サンプリングレートとバッファサイズを弄ったら多少改善しましたが,macOSの謎フェードインは修正の目処が立っていません.というか,Apple提供のサンプルコードでも同じ現象が発生しており,もはやお手上げ状態です.残された手段といえば,OpenALを使用していて正常に鳴っている,ライセンス的に問題のないオープンソースのソースコードを覗いてみるくらいでしょうか.

とりあえず,サウンドまわりの完全な実装には時間がかかりそうです.

* * *

上記の不具合はあれど,機能的には必要なものが実装済みです.つまり,プリロードされたSEを鳴らすことができて,同時にBGMをストリーム再生することが可能になっています.

……が,しかし,鳴らす素材はどうするのかという問題が残っています.

「反撃BLOCKS」のサウンドは私のスキル不足が如実に表に出てしまった感があり,正直なところ,あれを二度も表に出したくはありません.かといって,当時(1年半ほど前)よりも上達しているのかというと,残念ながらそんな事はありません.数をこなさなければ成長しないという事は重々承知しているのですが,いかんせん苦手意識が先行してしまうのですよね.

一人でゲームを作ろうとすると様々な困難に直面しますが,私の場合,その半分くらいはサウンド関連な気がします.

* * *

手元の作り直し作業のTODOリストを眺めると,残りの未移植な部分はメニュー全般とリプレイ,プレイヤーデータ関連のようです.リプレイとプレイヤーデータ関連は別件の問題と絡んでくるため後回しにするとして,メニュー全般(主にオプション関連)は今週中を目標に(できれば週末までに)実装する事にします.多分この辺は移植よりも新規に実装したほうが早そうですね.

Comments closed

作り直し版「反撃BLOCKS」 その2

今週は5連休というゴールデンなウィークでした.私は普段,仕事以外の人間関係がゼロなため,こういった機会に親類に会う事だけが数少ない「仕事抜き」の会話ができる機会です.

人間関係は大切にしましょう.特に,顔を合わせるのに理由を必要としない相手とは.

……そんな訳で,連休は丸々帰省していたため,作業といえば細かいバグ修正とテストプレイくらいしかしていません.いや,どちらも重要な作業ですよ.

* * *

作り直し版の目的はライブラリの実験ですが,テストプレイをしていると色々と欲が出てきます.

テストプレイしていて思ったのが,やっぱり上下移動はいらないかなという事.これから新規に打ち返しパターンを作るのならまだしも,横移動だけで避けられるパターンで統一されている今,大したメリットがないという印象です.一方で,下にいるとボールを打ち損ねた際に飛んでくる弾が避けにくいというデメリットがあり,むしろ危険な状態.せめて弾除け以外のメリットがあればとは思うのですが……例えば床打ちの際に弾封じできるようにするなんて事も考えたのですが,それ自体にリスクが大きいとあまり意味が無いように思えます.

プレイの幅を広げるには良いと思ったのですが,それをやるには根本から設計し直さないと難しそうですね.

* * *

Windows版の対応について色々と考えています.ライブラリ側を拡張対応すればゲーム側には修正を加える必要は無いはずなのですが,それには2つの壁があります.

1つ目は,Windowsという環境に長い間離れていた為,多分昔とは色々勝手が変わっているであろう事.かつてはWindows向けのゲームをいくつか公開していましたが,その際の環境はDirectXは9cで,OSはXPやVistaでした.最近の主流はDirectX11のようで,ちらりとドキュメントを読む限りだと9cの頃とは大幅に変更されているようです.XInputやらUWPやらと,当時はあまり聞かなかった単語も多いですね.これらは時間をかけて解決するしかないのですが,よく知らない環境なだけに,どんな落とし穴があるか分からないという不安が残ります.

そしてもう1つ,これが最も厄介なのですが,そもそもWindowsの開発環境がありません.一応仮想環境でWindowsが動くのですが,ストレージの容量不足で外付けのHDDから起動しているため全体的に低速なうえに,いかに仮想化技術が優秀とはいえゲーム用途ではきついものがあるため,やるのならば本体ごと調達する必要があります.加えて,狭い部屋に本とゲームが山積みになっているような場所ですので,設置場所も確保できるかどうか怪しいです.本はスキャナと裁断機を買って少しづつ消化しているのですが,いかんせん増える量がそれを上回っている状況でして…….

……とまあ,何かと大変そうなWindows対応ですが,環境としての魅力は大きいため前向きに検討したいところです.

* * *

作り直しの作業で色々と欲は出てくるものの,実験的作業としてはあまり時間をかけたくないという気持ちもあるのですよね.作り直し版をゲームとして完成させたいという気持ちもあれば,全く別の新規のゲームを作りたいという気持ちも.しばらくの間は今の作業を続けますが,今月中には区切れる状態まで持っていきたいというのが当面の目標です.

Comments closed

作り直し版「反撃BLOCKS」

まだリプレイやデバッグ用の一時停止機能が入っていないので上手く撮れていませんが…….

最近行なっている作業はこちら.訳あって試験的に「反撃BLOCKS」を作り直しています.

* * *

何故こんな事をやっているのかというと,いわゆる実験です.

ここ半年ほど,自作のゲーム用ライブラリ(建物でいう基礎部分みたいな,ゲームプログラミングの根っこになるシステム)を完全新規に作り直していました.元々使用していたライブラリは作り始めたのが結構前で,利用するうえではそこまで大きな不満はなかったものの,細かい既知の不具合が積み重なっていたのも事実であり,いっそのこと作り直してしまおうという流れです.

去年1年間はひたすら積みゲーの消化にあたっていましたが,その合間を見て少しづつ進めていました.しかし,ライブラリというものは使われなければ育ちません.この「使わなければ育たないが,実績がなければ信頼できない」というパラドックスこそが,最近はライブラリを自作せず,Unityのようなゲームエンジンが好まれる要因のひとつなのでしょう.

……という訳で,その実験台として「反撃BLOCKS」の移植です.

ライブラリを作り直したことによる最も大きな変化は,言語がC言語からC++に変わった事です.「反撃BLOCKS」もC言語で作られていましたが,今回は実験の意味も兼ねてC++に書き直しています.そのため,ソースコードを丸ごと持ってきて移植という訳にはいかず,それぞれのアルゴリズムをトレースしながらの移植作業になっています.作業効率はあまり良くありませんが,今回の目的はあくまでライブラリの実験なので.

現状,BGM以外のゲーム内の要素を全て実装して一通り遊べるようになっており(表示バグがいくつか残っていますが……),ここまで来るのにおおよそ1ヶ月間.平日は仕事があり,主に金曜と土曜に徹夜しての作業ですから,正味1週間ちょっとといったところでしょうか.ライブラリ側の不備などを都度修正しての作業である事を考えると,悪くない進み具合と言えるでしょう.

* * *

ゲーム内容的には,ベタ移植ですのでそれほど大きな変化はありませんが,最も大きな違いは自機を上下にも動かせるようになった事でしょう.オリジナル版はタッチ操作の問題で左右2方向にしか動けませんでしたが,今回はコントローラでの操作が前提となっているため,上下にも動かせるようにしてみました.これで弾避けもし易くなる事でしょう.

……と思ったのですが,以外と使わないのですよね,上下移動.元々左右移動だけで避ける事前提でバランス調整を行なっていたので,当たり前といえば当たり前なのですが.それどころか,タッチ操作ではあまり気にする必要の無かった自機の移動制御が難しく,逆に難易度が上がっています.

もう1つの大きな変化としては,tvOSに対応した事でしょうか.オリジナル版はiOS版の他に開発用にMac版もありましたが,今回ライブラリがtvOSに対応した事によりAppleTVでも動作します.ゲーム用端末としては(開発側の制限が大きすぎて)いまいちパッとしないAppleTVですが,起動の早い端末ですので,この手の1プレイが短いゲームとは割と相性が良いかもしれません.もっとも,標準で付属するリモコンにはゲームコントローラとして使用する機能があるのですが,あれが思いの外使いづらいために現状ではコントローラ必須となっていますが.

* * *

実を言うと,上下左右に移動できるコントローラ操作の「反撃BLOCKS」は,一時期PS Vitaで開発する予定でした.少し前までPlayStation Mobileというサービスがあり,個人でも配信可能だったのですが,いかんせんiOS版の開発が終わる前にサービス終了してしまったのですよね.本格的な作業までは行なっていなかったものの,一応パブリッシャーライセンスを取得していたり,確か本体を買ったのもこれがきっかけだったような…….

今回の移植作業はあくまで実験なので今のところ配信予定は無いのですが,Vitaでの件もあり,あわよくば何らかの方法で配信したいという気持ちはあります.そのために超えなければいけない壁は実は結構多いのですが,それはどのゲームを作る場合も同じ事ですので.

Comments closed

サイトリニューアル

もう何年も「やる気のなさそうなサイト」状態でしたが,ようやく更新しました.流行っているらしいシステムを導入して見栄えも良くなれば,多少はマシになるだろう……という目論みで.

その結果,見事に「テンプレ通りの量産型サイト」に進化しました.「コンテンツ不足でスッカスカなサイト」というオマケ付きで.

という訳で,誤魔化しついでに暫く活動記録と称してあれこれ投稿していきます.低頻度で,週末更新くらいのペースで.

* * *

そういえば,「Acerola Software」という名前で活動し始めてからそろそろ15年くらいでしょうか.当時の記録がほぼ残っていないので正確な日付は分かりませんが,少なくとも初代ぺぐそり(当時は別の名前)が2003年公開らしいです.それより前にも色々作っていたはずなので,おおよそ15年くらいで正解でしょう.

当時と今とでは,インターネットという世界も随分変化しました.こんな風に誰が読むのか分からない一方的な投稿も,かつてはごく一般的でしたが,今となっては時代遅れなのでしょう.それでも,記録というのは付けること自体に意味があるし,後になって読み返してこそ価値のあるものだと思っています.当時の記録は恥ずかしくて読み返せませんが.

(……その点で言えば,情報発信にTwitterを利用したのは失敗だった気がします.あれはコミュニティありきのツールですから)

ちなみに,投稿記事にコメントが付けられないのは,単に使い方が分からなくてオフにしてあるだけです.多分そのうち何とかします.多分.

* * *

……昔話で書き忘れるところでした.

ここ最近,ちょっとした試験的な事を行なっています.今のところ配信する予定はなく,特に目新しさもないので,次回更新時にネタにするかもしれません.

Comments closed