投稿

声の活動を始めました

イメージ
はじめに 阮文です。 さて、私は自分の声をスピーカーで聴くとものすごい違和感があって、声の活動をする予定はありませんでした。 実は一年前に声優のJiRさまが歌を公開しているのを見て、楽しそうだなぁと思いマイクの購入までは行っていたのですが、試しにちょっと歌って収録された音声を聴くと……。 違和感がひどくて声の活動はやめておこうと思ったのでした。 それが昨年の5月6日 既に前回のブログで記しているように『或る夏の日々』振り返り鼎談を収録して公開しました。 これは初めて私の音声が収録されて公開されたものであり、全ての始まりでした。 しかし、この時に収録された音声は私が緊張していてセリフを棒読みしていたり、はっきり発音しないせいでノイズ扱いされて子音が消えていたりで、聴いていて恥ずかしくなるものでした。 勿論、鼎談に協力していただいたりささん、JiRさまのお声はちゃんと聴き取れますし、お二人には感謝しかありません。 始まる とはいえ、自分の声はここまで聴き取りづらいものだろうか? というか、まずノイズキャンセルで消えている部分の無い声を収録してどんな風に聞こえるかまず確認しようということでUSBマイクから直接録音(Audacity)で朗読を行いました。 朗読 宝島序文(stand.fm) それが、宝島の序文『買うのを躊躇する人に』青空文庫です。 まぁ、特別聴く価値のあるものではありません。 あくまでノイズキャンセル無しでそのままの声を録音するとどうなのかを確認したかったのですから。幸い思ったとおり子音が消えて意味不明になるという現象は起きませんでした。 一人での収録なので取り直しは何度でもできます。 鼎談の時よりは一歩前に進んだと言えるでしょう。 歌ってみた『オリオンをなぞる/UNIZON SQUARE GARDEN』(stand.fm) 朗読を公開してしまうと、すっかり勢いがついており、鼎談であれだけ恥ずかしい音声を公開しているのだから、今更何を公開しても恥ずかしくないという開き直りもあり、歌を公開することにしました。 どうせだから好きな歌を気持ちよく歌ってみようということで『オリオンをなぞる』を選曲しました。 朗読ではAudacityで行いましたが、歌はやっぱりリバーブがかかっているべきだと思うので、後からの加工ではなく歌う段階でリアルタイムにリバーブがかかる環境が良...

『或る夏の日々』振り返り鼎談 テキスト版

イメージ
昨日、ボイスドラマ✕テキストアドベンチャー『或る夏の日々』について主人公『黎鵺れいや』役のJiRさま、ヒロイン『瑠璃るり』役のりささんと振り返る、振り返り鼎談(音声配信)をりささんのチャンネルで公開していただきました。→ 【或る夏の日々】振り返り鼎談~阮文×JiR×りさ~ こちらは収録前にチャットで進めたセリフです。実際の収録では雰囲気に合わせて変化しています。 阮文「阮文です。最近はゲーム制作を行うのが主な活動になっています。私は声の活動をしたことは無いので聞き取りづらいと思いますが、よろしくお願いします。」 JiRさま「フリーで声優をしておりますJiRと申します。朗読やナレーション、アナウンスの他、女の子からおばあちゃんまでキャラクターを演じさせていただいております。よろしくお願いいたします。」 りささん「ボイスコや声活動をしております、りさと申します。毎週ラジオ配信を行なっていたり、お芝居では少女やお姉さん、ヴィランの役柄を担当させていただく機会が多くございました。何卒よろしくお願いいたします。 阮文「さて、1月31日に『或る夏の日々』を公開し、1ヶ月半後の3月16日に制作ノートを公開しました。制作ノートは私の視点できっかけや完成までの経緯を記しました。本日は声の出演だけではなく制作に協力していただいたお二人が感じたことを聞いていきたいです。『或る夏の日々』振り返り鼎談という感じですね。 まずは依頼しても良いですかと私が連絡した時の事を振り返ってください。」 JiRさま「阮文様が私が出演するボイスドラマを聴いたことがきっかけで、音声作品が好きということを再認識して、ボイスドラマのようなゲームをつくりたいと思ってくださったということをお聞きしていたのでそのことがまずとても嬉しかったです! 好きを再認識するきっかけとなれたということがこんなにも嬉しいものなのだと、活動していてよかったな〜!と心から思いました。 そしてなんといっても或る夏の日々の主人公が以前演じさせていただいた黎鵺くんということで、また黎鵺くんに会えるんだとわくわくした気持ちでいっぱいになりました!」 りささん「阮文さんをJiRさん経由で存じており、お声がけいただくまでは、阮文さんが制作されたゲームのいちプレイヤーだったこともあり、まさか自分に依頼をくださるとは思っておりませんでした。 自分の声を聴...

『或る夏の日々』制作ノート

イメージ
◇どのようにして始まったか……  昨年、音だけの世界、ボイスドラマが好きだと気がついたことは以前記した通り。 その後すぐにボイスドラマみたいなゲームが作りたいと思った。 このふわっとしたボイスドラマみたいなゲームという思いは明確な形を何も想像していなかった。 そしてまたふと思った。文字だけのテキストアドベンチャーゲームならボイスドラマと相性が良いのではないか これも詳細なシステムをイメージしていたわけではない。ただなんとなくそう思った。 それで、なんとなく夏休みの冒険的な内容がいいかなと思った。 こうして全てがふわっとして明確ではないまま、取り敢えず目に見える具体的なイメージが無いとアイデアが浮かばないなと思い、主人公や執事をプログラム的に配置し、セリフが表示されるようにした。 後は、会話が進展するようにする為にはプログラムの構造をどうするべきか、データをどのように持たせるべきかを逐次考えながら、まったく設計のない、どうなるかわからないプログラミングを始めた。まさにこのゲームプログラミングこそがアドベンチャーであった。 ダンジョンだけは前作のロジックを流用して初期から存在した ◇次々と気づいてしまう事実…… プログラミングを進めながら、同時に登場人物の状況に応じたセリフを考え、そしてセリフを考えながらキャラクター設定を徐々に固めるという感じで、全く何も無いところに点を描き、点から点につなぐように作業は進められた。 今まで、ここまで何も決まっていないプログラミングをした事はなかった。 どこまで作れば終わるのかも見えないし、どういうゲームになるのかもわからない。 ただゲーム内の夏休みが終わればゲームも終了するという事だけは決めていた。 でも、なんのゲームシステムとしての設計もなく、プログラムの構造も決まっておらず、データ構造も都度必要にかられて設計するという状況では何もかもが手間がかかった。 ゲーム内のすべての行動は専用のプログラムが組まれており、使い回しが殆ど無い。 状況に応じて会話を変化させるために、セリフとプログラムが密接になっており、データとプログラムの境目も曖昧であった。 7月に思いつき、8月に始めたプログラミングは、当初なんとなく8月中に完成させようなんて思っていたが、8月が終わってもなんの目処も立たない状況で、これはいつ終わるのだろうかという不安に...

今年初めての、そして半年ぶりのブログ

 以前は毎週のように記していたこのブログ、最後が7月23日なので半年以上間が開いてしまった。 書くことが無かったわけではなくて、書きたいことは色々あったのだけど、精神的な余裕がなくて書けなかった。 それでは何故今ブログを記しているのかというと、余裕のない原因が解消されたからである。 余裕のない原因、それは1月31日に発表したゲーム、ボイスドラマ✕テキストアドベンチャー『 或る夏の日々 』の制作であった。 リリース後も毎日改修を続けたり、告知用の動画を作成したりしていたが、昨日でほぼ一通りの作業が終わった。 発表したばかりで、まだ正式な制作ノートを記す気分ではないので作品についての詳細はここでは記さない。 でも、ブログが書けなかったほど余裕がなかったのは、前回のブログで記したボイスドラマにはまったことがきっかけでなんとなくボイスドラマ的なゲームを作りたいと思ってしまった事が原因である。 この何となくボイスドラマ的というのは何も形が無いので、どう進めるのか、どんな仕組みにするのか、何もないところから始まった。 制作を始めてしまった後も、どこまで作るのかとか、登場人物は何人出すのかとか、とにかく何も決まっていなくて、いつ終わるのかが全く読めない。 何をもって終わりにするのかもわからない。 いつ終わるのかわからない作業を進めていると、とにかく終わらせたいという気持ちと、でも最低限やらなきゃと思っていることは終わらせようという気持ちが自分の中でぐるぐる回り余裕がなくなる だから他の何かに手を付けることが出来なかった。 なにか思うことがあってもブログに記すことは出来なかった。 そんな事をしている暇があったらゲームを制作しなければならない、そう思った。 そんな状態が半年も続いた。 昨年末には前回のブログに記した音声配信サイトhearが閉鎖された。 既に、サーバーが不安定で開けないことも多かったので、活動する人も他の配信サービスに移っていた。 なので私も途中からはstand.fmを中心に聴くようになり、hearはあまり開くことも無くなっていた。 しかし閉鎖が決まった12月にはここでしか聴けないものを聴いておこうとして毎日hearを開いていた。 昨年、初めて自分のゲームに音声を依頼して、それがきっかけで JiRさま の作品を聴くようになり、JiRさまと共演していた りささん ...

気づいてしまった、私の『好き』

 ここ最近の自作ゲームでは声優のJiRさまにご出演いただいており、自分が作った他愛もないセリフにJiRさまのお声が入ると突然いきいきとしてくるのだから不思議だなと思っていた。 それで、ふと気になって JiRさまが出演しているボイスドラマ をいくつか聴いてみた。 作品の内容についてはここでは触れないけど、聴いていると儚さや切なさといった感情がこみ上げてくる。音声だけの世界で映像がなく、具体性に欠ける中で印象という翼が広がっていくように感じる。 それで、私はある事実に気づいてしまった。 私は昔から声だけのドラマが好きだったのだ。 あまり意識していなかったし、積極的に聴いてこなかったのだけど、多分、きっと、恐らく、大好き。 考えてみれば私は寝る前に『JET STREAM』を聴くのが好きだった時期があり、ほぼほとんどのCDを購入している。 『JET STREAM』ってBGM的な曲の合間合間にちょっとした朗読が入るのだけど、それがたまらなく好きだった。 もっと昔に遡っても自分の好きな小説がラジオドラマになるとなるべく聴くようにしていた事を思い出す。(といっても聴き逃す事も多かった印象だけど) 好きだったのに向かい合ってこなかった。 よくわからないけど意識しようとしなかった気がする。 多分、ゲームとか本とか、漫画とか音楽とかいろんな好きがあって、優先度的に前面に出ることがなかったのだろう。( ※ ) でも、あらためて聴いてみると、もっと聴いてみたいと思う。 今まで向かい合ってこなかった、自分の『好き』を再認識した。 全然気にしてこなかったから知らなかったけど、音声を配信するサービスというのは結構いろいろあるようだ。 hear.jp  というものがあるのも最近初めて知った。他にも無料で聴けるPodcastやYouTubeでの音声のみもたくさんあるようだ。 HEARシナリオ部 というのがあって、ここでたくさんボイスドラマを公開しているようなのでとりあえずいろいろ聴いてみようと思う。 なんだかちょっとワクワクしている。 ※正確な記憶ではないけど、ドラマCDって1回か2回しか聴かないのに音楽CD並みに高くて費用対効果が悪いと感じていたかも

D&B Part1『脱出』制作ノート

イメージ
 D&B(ダンジョンズ&ボヨヨンズ)Part1『脱出』は他の作品と同様にプログラミングの練習目的で作ったゲーム 単純な迷路脱出ゲーム  →今すぐプレイ コンセプト プログラミングの練習が主目的なので公開しなくても良いのだけど、この作品は公開するという方向で考えていた気がする。 ただ、当初はもっとオリジナリティのあるルールに変更しなければ公開する価値は無いだろうと考えていたが、何度も動作検証をしているうちにシンプルなタイムアタックのゲーム性で公開したいと思うようになっていった。 当初は自由に敵の数を変更したりマップの広さやマップの複雑さを自分で指定できたりとかなり自由度の高い仕組みとなっていた。しかし、ゲーム性の中心をタイムアタックにしようと思った段階で自由にマップの広さを変えられたらタイムアタックにならないのでマップの広さはフロアーごとに固定し、複数のフロアーを用意してそれぞれに異なる広さや敵の数を設定するという仕組みとなった。 いつの段階だったかははっきりしないが、タイムアタックをゲーム性の中心にもってきた段階で、タイムスコアを集計してランキングを表示すればタイムアタックは盛り上がるのではないかと考えた。記録の残らないタイム表示ではスクリーンショットを撮って共有するといった方法でしか競う事が出来ないので、ランキングを表示する仕組みが必要な事は明白だった。 スコアを集計表示するためには各プレイヤーの結果を送信する必要が出てくる。 また、結果を蓄積した上で、集計し、上位ランキングをソートして表示する必要がある。 これらはユーザーのブラウザで動作するJavascriptだけでは実装不可能なのでサーバーサイドの仕組みが必要となる。今回はまともなサーバー構築は一切行わず、Googleスプレッドシートにデータを蓄積し、Googleスプレッドシートの関数で集計し、その結果を受診するというシンプルな仕組みを構築している。詳しくは D&B Part1『脱出』技術的なメモ に記す。 D&B Part1と、一作目から二作目を作るかのようなタイトルにしたのには一応理由があって、シンプルなタイムアタックで公開すると決める前にあった各種アイデアを実現した続編を作る前提で、今はとりあえずシンプルなタイムアタックの迷路脱出ゲームにすると自分に言い聞かせる必要があっ...

D&B Part1『脱出』技術的なメモ

制作ノートでは軽く触れただけのデータ送受信について、忘れないように記録を残しておく。 → 制作ノート   データ送受信 今までの作品はJavascriptのみで作られていた。つまりクライアント側のみで動作するプログラムであり、サーバーにデータを送信したり、サーバーからデータを受信したりする処理は無かった。 今回、タイムアタックをゲーム性のメインに持ってきたかったので、タイムスコアをサーバーに送信して蓄積し、ランキングを受信して表示する事が必要になった。 真面目にサーバー環境を構築するという選択肢もあったのだが、試しにGoogleスプレッドシートにデータを送信して蓄積し、Googleスプレッドシート側でランキング集計用シートを作成し、受診時はシートの内容を取得するだけというシンプルな構成を作ってみた。 GoogleスプレッドシートにはQUERY関数というデータベースを操作するSQLのSELECT文のような関数が存在するので、集計用のシートを作成してランキングデータを表示するのは実に簡単だった。 データ蓄積用のシートをQUERY関数で参照するだけでランキング集計済みのシートが出来上がるのでApps Scriptでシートを取得して戻せばJavascript側で簡単に表示できる。 しかし、実は実装に苦労した。 Javascriptはブラウザのコンソールを見ていればエラーの原因がわかるのだけど、Apps Scirpt側でのエラーはコンソール上ではわからないのでブラックボックスのようになってしまう。 まぁこれはPostmanを利用することでAPI(Apps Scirpt)側のエラーがわかるようになって解決したのだけど、気づくまではけっこう大変だった。 (ブラウザのコンソールではApps Scirpt側のエラーは全てCORSエラーとして表示される。しかし、実際は返答がないだけでCORSエラーではない。ChatGPTやGeminiにエラーを分析させてもてんで見当違いな改善策が提示されるが、それはCORSエラーを改善しようとする内容だからであり、実際にはCORSエラーではないのだから解決しないのは当然であった) それと、今回タイムスコアの送信とランキングの受信のみなので大きな問題は発生していないけども、Apps Scirptからスプレッドシートへのアクセスにはタイムラグが結構...