from __future__ import katryo

カリフォルニア州マウンテンビュー在住のソフトウェアエンジニアがいろいろ書きます。

Denkinovel iOSアプリのリリース

DenkinovelのiOSアプリをリリースした。

リリースしたのは8月だ。そういえばブログでこのことを発表していないことに気づいたので、いま慌てて書いている。

改めて紹介すると、Denkinovelは小説投稿サービスだ。音楽・画像の演出のある小説を投稿できる。端的にいうと、ノベルゲーム風の小説が作成できる。

DenkinovelのWebサイト http://denkinovel.com/ を見てもらったほうが話が早いので説明は以上に留める。

どうしてDenkinovelを作ったか? をまとめたスライドも用意した。気になる方はこちらに目を通してほしい。

Denkinovel iOSアプリのインストールはこちらから https://itunes.apple.com/jp/app/denkinovel/id1000108250?l=ja&ls=1&mt=8

428 〜封鎖された渋谷で〜 の感想

428 〜封鎖された渋谷で〜 をクリアした。

端的に感想を述べると、求めているものとは違った。

パズル的な試行錯誤の楽しさはある。ここまで高レベルのノベルゲームはそうそうリリースされないだろう。しかし、小説として読むと、全然入り込めない。自分がノベルゲームをプレイするときはいつも「ちょっとすごい小説」を期待して読み始める。その観点から見ると、428は僕が望んだゲームではなかった。

どうして期待と違ったのか

入り込めなかったのは、キャラクターの行動理由が陳腐なことと、プレイヤーが彼らの感情を把握できるよう、過剰にわかりやすい神の視点で物語が進むからだ。

誠実な小説なら、キャラクターの目的や思考に読者が納得いくよう、丁寧に背景が語られる。だが428ではそれが深く描かれず、とってつけたような安直なエピソードが行動原理として提示される。

ゲームシステムを考えると、それも仕方の無いことだと思う。428において、プレイヤーは第三者のアングルで物語に入り込む。複数のキャラクターの思考を覗き込み、選択肢から答えを選ぶ。視点のジャンプは頻繁で、クリアまでには何十回もの切り替えを行わねばならない。当然ながら、迷いそうになる。キャラクターの目的、抱える問題、人間関係、それらを何度も思い返しながら進めることになる。だから、すぐに理解ができるよう、陳腐にも見えるエピソードでキャラクターの目的が描かれる。

思考や背景を過剰に説明する文体も、即時のわかりやすさを優先した結果使われたものだろう。制作チームは最善の策をとったのだ。ゲームとして楽しめるよう完成するため、小説としての味わいをあえて消した。だから、428は安定して面白いゲームになったし、小説にはならなかった。

カナン編

なお僕はカナン編もプレイした。こっちは僕が求めていた「ちょっとすごい小説」だった。そして完全に奈須きのこワールドだった。

カナン編は428本編の実写画像はなくなり、キャラクターと背景は作画で描かれる。立ち絵はなし。イベントCGのみで、静止画像をパンさせるアニメーションが頻繁に使われる。

で思ったことなのだけど、立ち絵はなくて正解だった。ノベルゲームとしてプレイヤーを没入させる目的に対し、立ち絵はむしろマイナス要素になる。僕がいま考えている新作ノベルゲームがあるのだけど、それも立ち絵なしで作ろうかと思っている。あるとしても、表情を強調する使い方をするだろう。

まとめと蛇足

  • 428はいいゲームだけど優れた小説ではない
  • みゆきちの声かわいい
  • スペシャルシナリオほかエンディング後のボーナスがいくつか残っているけど、めんどいしもうやらなくていいや……

iTunes 428 〜封鎖された渋谷で〜

スパイク・チュンソフト

映画「オール・ユー・ニード・イズ・キル」を見てきたので感想書くよ

オール・ユー・ニード・イズ・キルを観てきた。かなりよかった。

やるべきことをすべて遂行した傑作だと思う。どう頑張ってもハリウッド以外では実現できない領域の業であり、映画スタッフの物語への理解がとてつもなくうまくいった好例だ。

なぜこの映画が面白くなったかというと、「観客が考えること」を先取りし、常に期待以上のシーンを見せながら予想を裏切り続けたことが勝因だろう。

原作がステージ制のアクションゲームだとしたら、映画はInfamousのようなオープンワールドだ。戦場から逃げてもすぐに殺されはしない。少し考えて工夫をすれば、基地から離れて自由に動き回れる。しかし自由度が高まったからといって難易度は下がらず、ゴールが難関であるが故に実現はほとんど不可能に思える。無理にしか思えない目標に向けて、何十、何百と試行錯誤を重ねて、プレイヤーたるウィリアムが少しずつ成長してゆく、という展開は、共感できるし、描かれなかったシーンを自然と想像してしまう。

「ここで基地から脱出したら?」

「将軍と交渉したら?」

「あえてリタと会話しなかったら?」

思いつくだろう選択肢の多くは実際に試され、そして失敗する。やりたいことを全部やりきっているというのはそういうことだ。観客が想像する可能性はすでに予測されている。だから僕はやられたと感じ、そのストーリーに巧みさを覚えた。

そういえば、映画でのゴールは原作と違い、「ギタイのボスを倒すこと」なのだ。物語全体の目的が異なるので全然違う話にならざるをえないのだが、そこが本作のカッコイイところで、原作の原作たる要素を保ったままアップデートできているのだ。

原作では最終局面で描かれる、コーヒーのエピソードがある。映画では中盤で、オマージュ(むしろセルフパロディ?)ともとれる展開がある。

農家にたどりついた二人が一息つき、ウィリアムがリタにコーヒーを淹れるシーンだ。僕はあれでもうエンディングだと思っていた。その予想は当然ながら裏切られるのだが、ずっと汗臭い基地と薬莢が跳ねるビーチばかり見ていたところでようやく辿りついた穏やかな無人の農家には、「あっこれはちょっと違う展開になるぞ?」と思わせる説得力があった。

それからステージは峻厳な雪山や慇懃なコンクリートの司令部に移行していくわけだが、この映画の転換点がコーヒーを淹れるあのシーンにあるのは確かだ。何度目かのリタの死と失敗に直面したウィリアムは、リタに頼らずに敵を狙う覚悟を決める。

原作の一番のポイントは「練習したら強くなる」「強くなってもどうにもならないことがある」「どうにもならないことがあっても生きていける」だと僕は勝手に思っている。映画での農場でのシーンと、そこからのウィリアムの行動は、原作の根幹をとらえていた。

やるべきことはすべて行い、それでも突破口が見つからない状況下で、記憶と精神は疲労してゆく。そして不可視の敵にひそかに囲まれていたという絶望。そこから、ウィリアムは立ち上がった。元上官の妨害(理解してくれたかに見えた直後、全力で予想を裏切ってくれる。そこがまたいい)やギタイの猛攻にさらされながらも目的のために執念深く策を練り、試行し、突破口を開いてゆく。

絶望を知り、頼りない中年が戦士に変わるかっこよさ。主役がトム・クルーズでよかった。最初は「おっさんが主人公であの物語成り立つのかよ」と浅はかに考えていたのだが、甘かった。おっさんはおっさんで、超かっこよくなれるのだ。

2013年をまとめた結果wwwwww

今年もまとめエントリの季節がやってきた。2013年をまとめよう。

1月

就職活動してた気がする。

2月

就職活動を終えた記憶がある。

3月

フィリピンに語学留学してた。フィリピンの海きれい。

4月

えーと。

5月

何してたっけ……。

あっ。

Denkinovelのアップデート履歴を見たところ、4・5月は頻繁に更新していた。それまでほぼjQueryのみで、フレームワークなしで頑張っていた画像・BGM切り替えをBackbone.jsでやるようにして、pushStateを使ってページごとにURLを与えるようにしたんだった。

6月

売春・児童ポルノ防止法の改正案の陳情書を書いたりしてた。このときちょっとだけやりとりした宮崎謙介議員とあとで(12月に)会ったりした。

7月

蒼穹のファフナーを全話見た。あれは面白かった。来年はEXODUSの披露会があるらしいのでいまのうちに全話見よう。

やりたいことが多すぎると7月の記事においてかとりょーは主張している。そして12月31日現在でもこの状況はほぼ変化していない。変わったのはEver17をクリアしたことくらいだ。

あと北海道で研究発表をした。北海道きれいだった。

8月

京都大学で楽しく表現規制に反対する会 KUSACを作って、Denkinovelに機能追加していた。

どうやら研究について考えていたらしい。このときはまだタスクを多く含むページを探すことを目的にしていた。

コミケと筑波行ってきた

9月

ウッ、記憶が。

10月

Ever17をクリアした

あとDenkinovelの開発のためにも小説投稿サイトの比較記事を書いた。

11月

イギリスに行った。ロンドンからダラム、ニューキャッスル、スコットランドの首都のエディンバラに行った。

あと11月祭で講演会を主催した。

12月

研究してる。

はぐれ学生アドベントカレンダーの記事を書いたりした。

現実逃避アドベントカレンダー機械学習について書いた。

未来について

修論を提出したら

  • Kindleに入れたノンフィクション全部読み終える
  • Steins;Gateをやり終える
  • Last of USをクリアする
  • Denkinovelの開発再開
  • Perl覚える

あたりやりたい。

来年は東京(渋谷の近く)に住む予定。みんなよろしく。

小説投稿サイト(小説家になろう、星空文庫、Eエブリスタ、CRUNCH MAGAZINE、Denkinovel)の比較

Some Books by benobryan

 Denkinovelの開発を再開した。参考のため、ほかの色々な小説投稿サイトに同じ小説を投稿して、その使い勝手やユーザーの反応、そもそもユーザーが何のために小説投稿サイトを利用するのか、などを考えた。

 以下、それぞれの特徴を解説する。

5つの投稿サイト

以下5つの小説投稿サイトに同じ小説を投稿した。Denkinovelだけは音楽と画像の演出ありバージョンだ。

ほかにArcadiaなどあるみたいだけどめんどくなった。

投稿した小説はアナテマ・フィジクス。もともとノベルゲームだったものを小説向けに書き直している。

ev58d

ちなみにこんなビジュアル。

各小説投稿サイトを使ってみての感想

Denkinovel

 いまのDenkinovelに足りないものをリストアップする。

  • アクセス解析
  • 「あなたが次に読むべき作品」レコメンド
  • お気に入り機能
  • 通知機能

 アクセス解析なのだけど、もしかしてユーザーがGoogle Analyticsを仕込めるようにすれば解決するかもしれない。

動く小説投稿サイトDenkinovel

小説家になろう

 小説のみ投稿サイトでは最大手。古くから運営しているだけあって高機能。で、かつ画面遷移やURL設計に古くさいものを感じる。Yahoo! Japanみたいに、いかにも昔ながらな設計で、それでいながらユーザー人気が非常に高い。「変わらないこと」の強さがある。

 投稿の際に設定する項目が多い。入れるべきキーワード(タグ)をおすすめしてきて、「キーワードに『男主人公』を追加するだけでも読者にとっては大切な情報です」となろうの流儀を教えてくれる。

 ランキング上位の作品は似たようなジャンルで似たような展開ばかりなので、真ん中くらいに順位の作品がいちばん面白い、という話を聞いたことがある。なろう内部でのネットワークのせいで、他ユーザーと頻繁に交流する作者の、最大公約数的テーマの作品が上位に来やすいのだとか。

小説家になろう

星空文庫

 画面がシンプル。ユーザーが迷わないよう、UIが考えてある。機能は少なめ。

 ユーザーがGoogle Analyticsをページ内に仕込める。これにより、リアルタイム解析で現在ページを見ているユーザ数を見てフヒヒッと笑みを浮かべることができる。

星空文庫

Eエブリスタ

携帯小説の流れをくむサイト。読者を含めたユーザー数770万人。

リーダー画面の構成が綺麗でシンプル。文章を読むのに集中できる。ただ、そのぶん一ページに表示される文章量が少なく、早く読みたい人にとってはイラつく。もともとガラケーサイトだったので、URL構造など古い感覚がある。スマートフォンで読む人が多そう。

Eエブリスタ

CRUNCH MAGAZINE

 小説投稿サイトというより交流サイト。投稿機能はおまけ。文フリにブースを出すような文芸の人が多い。

 できたばっかりなのでユーザーはまだ少数。今後に期待。

 小説のレコメンドにユーザーごとの読書履歴といいね履歴を使っている。いいね機能を多用するユーザーだと精度の高いレコメンドができるようになると思う。

 詳細は不明だが、レコメンドの素性に、本文を解析したものも使っているらしい。単純に、特定の単語の出現頻度だとうまくいかなさそうだから、ひらがな・カタカナ・漢字の割合、体言止めの頻度あたりを使ってると思う。でも正直なところ、小説のカテゴリタグといいね、そして作者を素性にするだけのほうが性能高い気がする。

 メニューアイテムにマウスオーバーすると出てくるツールチップのヘルプが便利。Denkinovelでも真似しようと思う。

CRUNCH MAGAZINE

まとめ

動く小説投稿サイトDenkinovel、よろしくね☆

動く小説投稿サイトDenkinovel

Artemis Engineの長所と短所

今日の午前はアナテマ・フィジクスArtemis Engineに移植する作業をしていた。Artemis Engineについてちょっと書いてみる。

長所

この2つを両立させている点で、現在最も信頼できるスマートフォン向けノベルゲームエンジンだとは思っている。もし仮にHTML5ゲームエンジンを作っても、iOSでの音楽再生あたりで不具合があったり、動作が鈍くなるんじゃないかなと想像している。確かめてはいないけど。

短所

開発するうえでの短所はけっこう多い。

タグ名

以前も書いたのだけど、タグ名が直感的でない。

たとえばレイヤー読み込みを行うタグは[lyc]だ。正気を疑う。ライク? 何語だそれ。レイヤーをCするのだと思うが、Cが何を意味するのかわからない。

レイヤーを削除するタグは[lydel]。LayerをDeleteするからlydel。これはぎりぎり理解できるが、それなら[delete_layer]のほうが瞬時に意味を理解できてよいと思う。

リーダブルコードにも関数・変数の命名を大切にするよう書いてあった。利用する人の少ない言語なのだから、せめて理解しやすいタグ名をつけてほしい。

マクロの不統一

Artemis Engineはマクロを使って複雑な処理をシンプルに書くことができる。サンプルコードでもマクロが多用されている。生のJavaScriptではなくjQueryを使うような感覚で使える。

しかし、いまのマクロの状況はよくないと思う。現在配布されているサンプルのゲームに入っているマクロには、日本語のタグ名と英語のタグ名が混在している。日本語のタグは気持ち悪い。文字コードのこともあるし、ソースコードにコメント以外では日本語を使うべきでない。また、コードを読んでもArtemis Engine標準のタグなのかマクロの独自タグなのかすぐにはわからない。意味のわからないタグに出会ったとき、タグリファレンスを見ればいいのかマクロファイルに目を通すべきか判断できない。

ノベルゲームの形式は基本的にどれも同じだ。仕様は90%以上定まっている。クリックかタップすればテキストが進む。ほぼ標準化されたシステムだ。別のノベルゲームであっても同一エンジンであれば中身の処理は変わらない。だから、ひとつノベルゲームを作った人なら、同一エンジンのノベルゲームのコードはだいたい理解できることが多い。

しかしマクロの使用により、同一エンジンでも理解できなくなる危険がある。書き方の多様性が大きくなるからだ。サンプルコードを理解するためには、素のArtemis Engine言語を知り、さらにサンプルのマクロを把握しないといけない。それは苦痛であり、無駄な作業だ。The Zen of Pythonを思い出してほしい。

”There should be one — and preferably only one — obvious way to do it.”

同じことをしてるんだったら同じ書き方のほうがいい。

ノベルゲームを作りたい人に、プログラミングの勉強をさせてはいけないと僕は思う。一からコードを書かなくていいように、ゲームエンジンは作られた。僕が運営しているWebサービスのDenkinovelもそういった目的で開発した。物語を作る人には物語に集中してほしい。コードは機械に書かせればいい。

マクロの思想そのものは悪くない。問題はマクロの利用状況だ。

  • サンプルコードにマクロが多用されている
  • そのマクロが標準ではない

これらが問題だ。そこで、マクロ自体もjQueryのような便利ライブラリとして共有化して、公式に配布してしまうのがいいと思う。

この二つを用意して、それを標準パッケージに入れればいい。

あと、ついでにマクロ内でのタグ名を変えてほしい。日本語タグはよくない。全角スペースや全角カッコを間違えて入れてしまいそうで怖い。