daruma3940の日記

理解や文章に間違い等あればどんなことでもご指摘お願いします

ストーリー

「おもしろい」映画と「つまらない」映画の見分け方
という本を買った

ここで紹介されていた
suiseibookclub.com

tokuminiさんが言ってた
物語論 基礎と応用
よりも
読みやすそうだし
こっちにしておこうかなと思ったので
こっちにした
(書店で見た感じ、
物語論 基礎と応用も読みやすそうだったけど)


まだ読んでない


....

こういう物語とか脚本の話題になると
自分が作ったゲームの脚本の話をしたくなりますよね

...してもいいですか?

...しますね。



これまで出している情報以上のネタバレがあるので
ネタバレを嫌う方はこの下は読まない方が良いです
先にプレイしてからどうぞ。
daruma3940.itch.io
(これホントは
6月に難波である同人ゲームのイベントまでは教えてくなかった

競プロ系の人間はゲームを楽しむためにプレイするというより、
その開発者にどれぐらいの実力があるのか測るためにプレイしそうだという
偏見があるので教えたくなかった)




















私の作ったゲームのストーリーは
主人公が天国に来てしまって天使さんと一緒に現世を目指すゲームです
ありきたりですね。

ステージは3ステージだけにしています。
これは東方がステージ6まであって
さくっとプレイできず
やる気が起こらないというのが
僕に発生してしまっていて。

だから
いつも1ステージしかなくて
サクッとプレイできるエクストラモードばかりプレイしていて。

僕のゲームも
サクッと10分ぐらいでワンプレイできる
ステージ数に収めたいなという思いがあって。
なのでステージ数を3にしたいというのがあって。
そうしました。
(もちろん沢山ステージを作ろうとすると
作る量が増えて大変になるからという理由もあるが)。

でもステージ数がこれだけ少ないと
自分がなぜ死んでしまったのかとか
この天使さんは何なのかとかいうストーリーにおける謎が
ステージが進むごとにだんだん潮解していく
みたいなことはできなくて。
色々削らなければならなくなって。

でもステージ1とステージ3は
もう何をすべきなのか決まっているんですよね
ステージ1は
主人公と天使さんが現世を目指すが
単純には行かなさそうだという雰囲気を出す

ステージ3は
現世に帰る為の大きな障壁を乗り越え、
謎も潮解し、
主人公は現世に帰るか天国に残るかの選択を迫られることになる

ということは
自由度があるのはステージ2になるわけで
そこで何をすべきなのかというのは
悩んだんだけど
僕が一番ステージ2でこれだけは外せないと思ったのが
プレイヤーがキャラクターと親しくなることだと思って。

ステージ3で
主人公が現世に帰るか天国に残るかの決断を迷うところで
プレイヤーにも一緒に迷って欲しくて。
プレイヤーが主人公に親しめていないなら
そこで「そんなのどっちでもいいじゃん」ってなっちゃうと思って。
だからステージ2は
プレイヤーがキャラに親しめる雰囲気にすることにした
(成功しているとは言っていない)
マンガとかで親しみを持たせる方法としては
そのキャラの過去を書くとかだとおもうけど
このゲームでは
片方が記憶喪失
片方が過去を隠してるんだよね


でも
まあ
そこで耐久弾幕を打たれたら
迷う余地なんてないよね
弾幕を避けることを喜びとするシューターとして(笑))
というかむしろあそこで
エリが全く弾を打ってこず
ひたすら15秒が流れるというのが
ストーリーと演出的には一番いいのかもしれないが。
それはそれで不満だよな
弾幕を避けることを喜びとするシューターとして(笑))。
でも
それは
シューティングゲームとして
新しいと思うし全然ありっちゃあり。



というかStage1のボスの会話は
「クリア後のおまけ ネタバレ有キャラ設定ファイル」を
読む前と読んだ後で
ぜんぜん印象が変わるようにしたんですが、
どうでした?
Stage3では二人の会話の間(ま)を積極的に取っていったんですが、
どうでした?


まあひとまず本を読む前としては
こんな感じかな

さっきの本を読んでから
もう一度自分のゲームのストーリーを見直してみることにしよう。

hoge

(書きなぐり)

色んな難しいものを簡単に扱えるようにするためのツールみたいなのがどんどん出てきた方がいいよねという信条なんだけど、
そうやって難しいものがラップされて簡単に扱えるようになるとその難しいものの内部で使われている技術というものが見えなくなってしまうわけで。
内部で使っている技術に対してそんなもの使ってない。不要で価値の無いものだ。と言ってしまうことも当然発生してしまうわけで。どうしたもんだろうなぁという気持ちになる。正しく評価されなくなってしまうのは良くないとは思うが...

学校で習った数学がどのように応用されているのか想像してみるというのも難しい話だと思っていて。
あのトランジスタだって発明された当時は信号増幅に使えるだろうがそれ以外は何に使えるかわからないとベル研の優秀な物理学者である発明者自身も思っていたらしいし、
エジソンも蓄音機の音楽を再生する装置としての価値に気付けず商業的価値がないと思っていたらしいし。
どのように使えるのか、どのような価値があるのかというのはとても難しいことなんだよな。

しかしまあ、全ての人間がそういうことを正しく知っておくべきだとも思っていないのでまあはい。

この文章を書いた意味が消失してきた。

色んなものに対してそんなものは不要だとか、そんなものは不要だ発言した人間を蔑むだとかそういうのやめていこう、な?
終わり。

今年の振り返りと抱負

作業に疲れてきたのであれだ、今年の振り返りでもしようか

まずは去年の抱負の振り返りから

1、ゲーム作りたい
今作ってる。
f:id:daruma3940:20181230210610p:plain
とりあえず難易度調整とか全然できてないし正直あんまりおもしろいとも思えない内容だが一通り作った。
しかしこれだけ作業しても出来上がるのはこのボリュームでこのクオリティかぁ...と思うとしんどいなぁ。
年内に体験版でも出そうかと思って作業ペースを上げていたが「その体験版誰があそんでくれるの?」と思うと作業ペース上げる必要がないことに気が付いた。
まあ前言ったみたいにゴールをかなり手前に引き寄せてるのでここもう少し追加した方がいいだろうなと思う要素は結構ある。
というかstage2,3は道中がないんだよな。完成を重視して削ってしまった。

難易度がさ、これぐらいでちょうどいいのかどうかわからないんだよな。
僕はなんだか簡単すぎるような気がするんだけど、それは僕がちゃんとしたjoypadを持っていて、ある程度シューティングゲームに慣れていて、どんな球が飛んでくるのか完全に知っていて、数ヶ月この弾幕達と向き合ってきたからかもしれなくて。
自分で作った弾幕に面白さを感じないのは流石に良くないと思うんだけど、難しくなりすぎてしまう可能性もあって...
友達にでもテストプレイしてもらおうかな...

背景を3Dにするとなんかすごく見栄えが良くなった。
f:id:daruma3940:20181230210625p:plain
特に本質としては何も変わらないんだけど背景を3Dにするだけで全然見栄えが違うの笑いますね。いやバカにしているわけではなくて。
私が体感するにプログラミングは全体の3割ぐらいで、ストーリー考えたり絵を描いたり音楽作ったり演出を考えたりっていうのもねバカにはならないと思うんですよ。
別にプログラミングが重要じゃないといってるわけではなくて、これがないと何も実現できないからね。滅茶苦茶重要なんだけどそれでも3割。まぁ実際開発にかけてる時間はプログラミングが9割だったりする...

ゲームって内容ではなくて、内容をプレイヤーにどう受け取ってもらうかっていうのに尽きると思っていて。
そういうどう受け取ってもらうかというのを担うのが絵だったり音楽だったり演出だったりフォントだったりエフェクトだったりすると思っていて。
でも内容が大切じゃないというわけでもなくて。尽きるなんて表現を使うなよって?その通りだね。まあそれが3割だってことで。
難しいよなぁ。こんな偉そうなことを書いてはいるが僕は内容もどう受け取ってもらうかもどちらも出来ていない自信があるよ。
まあ僕の感性は間違った感性だというのはこれまでの人生でわかっているので、私の言っていることに「なにいってんだこいつ」と思っている人の感性の方が正しいと思う。でもまあこれは僕のマスターベーションだからね。

そういうどう受け取ってもらうかということに関して、あの説明書に作品には出てこない上級天使をわざわざ乗せたことには大きな意味があって。
作品に出てくることは全くないがそういうのもいる世界なんだと知った上でプレイするのとでは全然見え方が違うと思っていて。
しかしまあそういうのの存在をほのめかすような世界観の演出にゲーム内で成功してるかといわれれば失敗してるわけで厳しいなぁ。

あともう一つ
ゲームのハイスコアについてゲーセンにゲームがあった時代ならそれに大きな意味があったのかもしれないが
今の家庭用ゲームではハイスコアが飾りになってしまっている感があるのでそれをうまくストーリーのkeyとして盛り込んだゲームを作りたいというアイディアはある。


というかたまにFPSがすごく下がって画面がおかしくなるということが発生していて。調べたわけではないがガベージコレクションが原因ではないかと思っている。何とかしないとなぁ。
https://docs.unity3d.com/ja/2018.1/Manual/UnderstandingAutomaticMemoryManagement.html
https://tama-lab.net/2018/06/%E3%80%90unity%E3%80%912d%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%B2%E3%83%BC%E3%83%A0%E3%81%A7%E8%BB%BD%E3%81%84%E5%87%A6%E7%90%86%E3%81%A7%E5%BC%BE%E3%82%92%E6%92%83/
あと発生頻度がすごく低いバグとしてstage2で会話windowが画面内に移動してこないというのもある。これも何とかしないと....
まあ人と比べずマスターベーションだと思ってゆっくりやってくさ。

2、Admobに8000円ほしい。
まだ4000円ぐらいやぞ。というか全然作ってないのでそれはそう。
というか商用のソフト作るの大変なんだよなぁ。
素材の商用利用可能かどうかとかもちゃんと調べて,ライブラリのライセンスも調べてみたいなことをしないといけないし
GDPRみたいなのも入ってくるし...
非商用でやりたい欲がある。
というか個人でやっていこうと思うとこういうの全部やらないといけないし、私は売り上げがクソなのでしなくていいがさらにここに確定申告とかが入ってくるわけで厳しそう。
組織に属するしかないかという気持ちになる。

2、研究の成果を出したい。
ノーコメント

3、研究テーマについての理解
まあある程度はついてきてるんじゃないかと思う。まだまだだが。

4,最強になりたい。
最強は難しいね。というわけで方針を変えて自分が最強になれるゲームを自分で作ろうと思う。

まあ去年の抱負の振り返りとしてはこんな感じ。


今年一年は弾幕シューティングばっかりやってた気がしますね...
今年の漢字は「弾」だ!
f:id:daruma3940:20181230211112p:plain
永夜抄ラストワードは全部開放(クリアでは無い)できた。
長かった...
f:id:daruma3940:20181230210701p:plain
f:id:daruma3940:20181230210715p:plain
しかし東方次はどれに挑戦しようかな...
紅魔郷のルナティックか地霊殿のExか...
なんか難易度がクソ高いのしか残ってなくてモチベーションがわかないんだよな

アニメはやがて君になるを見ている。
面白いですね。
どういうところが面白いかというと...
う~ん書きたいんだが若干のネタバレを含んでしまうので書かないほうがいいか...
いや紹介をしようとするとネタバレを含まざるを得ないというの辛いよなぁ。
しかし暗喩的な描写も多くて、ああその描写ってそういう意味だったのかとなることも多い。
ニコニコ動画で見ていたが、コメントで「これがセンター試験で出てきたら文句いうレベル」とかそういう内容のコメントがあって
唐突に昔知り合いに「これの意味取れてないんだったら物語の良さの半分もわかってないでしょ」と言われてしょげたことを思い出し、あんまり見たくなくなってしまった。
(全然関係ないけどセンター試験過去問のメリーゴーランドという小説が印象に残っている。)

僕はいろんな技術とか難しいものは簡単になったほうが面白くなると思っていて。今年流行ったバーチャルユーチューバーもその類のものだと思っていて。
パソコンのキーボードなんかも嫌いなんだよな。タッチタイピングとかタイピングゲームとかがもてはやされているのは僕からしたら異常で。もっと便利な入力ツールが普及してしかるべきだと思っていて。
こういう文学作品とかっていうのもさ何とかならないかなとは思うわけなんだが、それがいいことだとはさ限らないとも思っていて。難しいよな。
ただこれは文学作品とは関係ないんだけど本とかであえて難しく書くことで内容を考えさせるとか言ってるのは流石に無くしてほしいと思っていて。
何言ってるのか内容をとるところに読者に頭を使わせてどうするんだよ。内容を取った後、その内容が妥当かどうか検証するところにこそ読者に頭を使わせるべきじゃないのかと思っていて。
そのためには言いたいことはちゃんとわかりやすく書くべきだと思っていて。
...あれっなんの話だったっけ...????
ああ来年の抱負の話ね。来年の抱負か...

就職...かな?(唐突に叩きつけられる現実...!)

あっ来年もよろしく...

きんきょー2

特に何もしてない
しこって寝てる....

...というのは流石に言い過ぎなんだけど
まあそれと変わらない生活かな

何というか辛い気持ちで適当に感情を書きなぐってるだけなので散文です。

東方

紅H 妖H 永H 花L 風神Ex 地N 星Ex 神N 妖精E 紺N
永夜抄 ラストワードの開放はあとスカーレットディスティニーと夢想天生だけになった。
f:id:daruma3940:20181214185356p:plain

ゲーム製作

とりあえず説明書を作った
天国の一丁目説明書トップ

こういうの作ってることあんまりブログには書きたくなかったんだよね
研究室とか大学の知り合いとかそのあたりにだけ見せようと思ってたんだ。
でも進捗がないと思われるのも癪で貼ってしまった。(あとでこの記事ごと消すかもしれない)
これをしている間は誰と比べるでもなくひたすら自由でそして出来上がるのはただ自己満足なんだよ

天使の階級は天上位階論とか言う本に出てくるらしい9階級をそのまま使うかと思ったんだけど
下から2番目の地位である大天使っていうのがさ、下から2番目の順位のくせに強すぎるんだよな。めっちゃ強い。
教会側がめっちゃ強い大天使を下から2番目にまで格下げして神の威厳を保とうとしたとかいう政治的なアレがあったらしくてさこの設定は使いにくくてたまらなかったので
もう熾天使から座天使までを上位
主天使から大天使までを中位
天使を下位に割り当てる感じの
設定をつくってそれでやっていくことにした。
というか天使の9階級自体もキリスト教会が9つの階級に分かれていて「神の前ではみな平等の原理」から外れてるんじゃないかという指摘があったときに
その矛盾を解消するために政治的なアレで作られたものらしく そんなんでいいのかよという感じ。
というか地位の高い天使って不気味な姿してんだな。
エヴァの使途みたいな姿してんな。
エヴァはこれを参考にしたのかもしれないな。

この世界では「天国と現世は別物で天国の存在は現世には干渉できない逆もまた然り」といった設定にしたかったので
天使の仕事のうち人間を正しい方向に導くとか物理法則の保持をするといった現実世界に影響を及ぼすような仕事は天使の仕事リストからあえて外してある

動物は鼻行類を読んだら自分も自作動物を作ってゲームに出したくなったので出すことにした。
天国にいる動物ってさ、なんで死んで天国にいるのにそこで繁殖してるんだよとか考えると矛盾してるんだよな。
輪廻転生はどうなってるんだよとかおかしいことまみれ。というか天使は輪廻転生するのか?
まあ自己満足の世界なのでその辺適当でもいいっちゃいいんだが、自己満足の世界なのでその辺ちゃんとしておきたいというのもある。
「なぜ天国で繁殖してる生物がいるのか」とか「天使は輪廻転生の輪から外れてしまっているのか」について納得いく設定が出来れば追記すると思う。
こういうことを他人に突っ込まれたりして俺が神になれるひたすら自由な自己満足の世界が汚されるのが嫌でブログにはこのことを書きたくなかったというのがある。
というかゲーム自体もあんまり他人に公開したいと思っていない。自分しか知らない、自分だけのものにしてしまいたいという気持ちがさ、あるんだよな。
{またまたかっこつけたこと言っちゃって。それは自分の作品に自信がないからじゃないの??ねぇ。意気地がないだけなんだよ。}
うるさいうるさいうるさい!!」

というか昔自分が表現したいものがないといっていたが、歴史や地理や生物系の本を読んだりしたら作りたいものがわいてきたり、
とりあえず適当なストーリーを作ってしまって、その世界の設定をちゃんとしようと思うと自分で面白いと思えるものが出来てきたりして
天才ではない人間はこうやってやっていけばいいのかという気持ち。


でもねゲームの内容は全然できてないんだ
なんかツイッターで私のゲームなんかよりはるかにクオリティの高いシューティングを作ったツイートが流れてきてやる気がそがれていたというのもあるんだけどさ、
作った弾幕が避けていて面白くかつ見た目も美しいものにならないんだよな。
まあそれも他ゲーの弾幕をちゃんと分析して知識をつけていったりいろいろ試してみればいいだけなのかもしれない。畢竟意思の問題だ。
というか後は弾幕を作ってゲームバランス調整すればまあ一通り完成って感じなのでやっていくしかない。
(これは嘘でEffekseerでエフェクトを作ってとか、音を編集してSEをつくってとかやりだすとやることはもっといろいろあるんだがたぶんそこまでは僕一人ではできないだろう。
きふわらべさんが言ってたが、個人でゲームを完成させるうえで重要なのは自分がゴールに近づいていくよりもゴールを自分に近づけて行くことらしい。完成させたいなら割と正しいと思っている。
しかし私はこれを完成させたいんだろうか?自分しか知らない、自分だけのものにしてしまいたいという気持ちがさ、あるんだよな。

とりあえず面白そうにできたやつとして
ツツカナ
f:id:daruma3940:20181214185529p:plain
サクラチル
f:id:daruma3940:20181214190202p:plain
あたりですかね。妥協点な弾幕はもっとあるんだけど。
他はきれいだけど難しすぎたり、コンセプト通りなんだけど避けてて面白くなかったり簡単すぎたり。

他には他ゲームの弾幕を目で見て実装して弾幕作成の練習をしたりもちょっとだけした
f:id:daruma3940:20181214185756p:plain
f:id:daruma3940:20181214185916p:plain
f:id:daruma3940:20181214190216p:plain
f:id:daruma3940:20181214190227p:plain
f:id:daruma3940:20181214204133p:plain
弾幕デバッグシーンの曲が
https://soundcloud.com/user-450764049/stage1
これなのでこの曲は耳にタコができるほど聞いた。


というかさ、完成させたいだけだったらさ弾幕を生成してくれるAssetとか使えばいいだけになってしまうのでさ。
ゲームを作るゲームを楽しんでるんだよ。{Unity使って一から作るより楽してるくせに良く言うね}

{というか君6月に作り出してまだこれだけしかできてないの?ねぇ?
ツイッターで私のゲームなんかよりはるかにクオリティの高いシューティングを作ったツイートが流れてきたって言ってたよね?
それは5ヶ月で完成させたって言ってたよね?文花帖だって1か月で完成させたらしいじゃない?君はそれ以上かけてるのにまだこれだけなの?ねえ?
弾幕を考える時間もい~~~っぱいあったはずだよ?それなのにねぇ?}
「これは誰にも見せない俺のマスターベーションなんだ!ゲームを作るというゲームをしているんだ!やりたいようにやらせてくれ!」
{でもさこれだけ時間があって全然できてないってなるとさ、こいつやる気ないんじゃないかっておもうよね。
君はマスターベーションにも夢中になりきれないんだね。かわいそうだよ}
「うぅ...うぅ...」




色々やりたいことが多くて枝刈りが出来ていない状態だったが
マスターベーションよりも夢中になれるかどうかという評価基準を作ると結構絞れた。
マスターベーションよりも夢中になれないのならちんぽいじってた方がマシさ。
{そうやって選んだ対象に対しても夢中になり切れてないくせによく言うよね。}
「...」

音楽

SD-90とかSC-88Proとかが気になっている。今使ってる音源しょぼいからなぁ...いい音源を使って曲を作りたい。
{最近は全然作れてないじゃないか。それに君の作る音楽はコード進行に適当なメロディー載せただけ。音楽の勉強も進んでないしさ。}
「...」
作曲系のいい本が欲しい。教えてください。

絵はPixivのsenseiというサービスで練習するのがよさげそう。
有料講座を無料で見れる期間が終わってしまってからは全然やっていない。
でも天才じゃなくても絵を上手に描くための方法がちゃんと用意されてるんだなぁということを知れてよかった。(当たり前じゃん)
何を意識して書けばよいのかがわかってきた感がある(上手くなったとは言っていない)
というか今の板タブ全然まっすぐ線が引けないしうーんって感じ。
もうちょっと時間に余裕が出来たらやる。

というか自分が今以上に何かを上手になれるような気がしないの本当に良くないよね。
結局才能がすべてなんじゃないかという気持ちになってしまっている。
「だめだ!だめだ!マスターベーションしてるときはそんなこと考えないんだ!ちんぽ弄ることに集中しろ!」
まあのんびりとね。ゲームを作るというゲームをやっていこうと思います。

研究

5月から数ヶ月全く進んでない期間が続いていた。
院に入ったら物理と機械学習を絡めた研究をしましょうということで「学部の研究を頑張れば機械学習と物理を絡めたテーマが出来るんだ!」という感じで学部の卒研を頑張ったんだが(うまくいったとは言っていない)
卒研が終わっても担当教員がなかなかいいテーマが見つかっていないということで、自分で論文を探して「こういうのやってみたい!」と提案したりしたものの結局以前の分野の研究をつづけることになった。
まあ仕方ないかなと思い5月ぐらいまでは従ってたがなんか自分の中でもやもやした気持ちが強くなってきて何もしたくなくなってしまっていた。
というかうちの研究室はうちの学科の他の研究室でやってることと全然違っていて 数学的にも難しい内容なので
担当教員の方針として「そういうの理解するのは難しいから諦めて僕が導出した数式を実装して研究進めていってよ。」という感じで学生はタイプライターだし、何も学んでる感がなくて辛かったので
とりあえずその分野の基本的な本を一冊読んで内容をまとめた。ようやくこれまで何をやってきたのかが少し見えた。
院生になってようやくこれなんだ。笑ってくれて構わないですよ。これまでは「本を読むよりも手を動かした方が理解できるよ」という担当教員の言葉に従っていたのだが失敗だったことに気が付いた。これが8月ぐらい。

10月に入ってゼミが再開した。しかしこれまでのゼミで全然研究に関連したことをやってくれなかったのと担当教員に対する不信感が募ってきてしまっていて「ゼミをやる必要性を全く感じない」と言い放ってしまった。
うちの担当教員はゼミ以外は完全放置なのでこれで完全に放置になった。
そして担当教員が興味のある方向性と僕の興味のある方向性も違う部分があって。
「僕はそれ興味ないんでプログラム送るので先生がやってください」
「それやるとだるま君の研究じゃなくなっちゃうじゃん。私の研究になっちゃうよ。」
「僕の研究だからこそ、興味ないことはやりたくないんです。」
僕の頑固でプライドが高くてダメ人間なところが以前の会話を書き下しただけで出てきますね。教員から研究する姿勢を学んでいこうという態度がない。

というわけで何とか自分でできないかと思いながら文献を読んでいるが行間を全然追えなかったり数学的な基礎が全くなくて全然進んでいない。
やっぱり2年という限られた時間の中でちゃんとした成果を出そうと思うと「理解するのは諦めて先生が導出した数式を実装して研究進めていく」しかないのかもしれない...
学部で群論、集合、位相幾何、多様体、接束、解析力学ぐらいちゃんとやっておけばよかった...
でもまあなんだかんだいって担当教員にヘルプも出せるようになっているので心配していただかなくて大丈夫です。
修論も僕と似た内容を研究してた先輩の修論を見ると「そんな内容でOKなの...」ぐらいの内容だったので卒業も心配していただかなくて大丈夫です。
なんか最近大学を卒業できなかった人間のブログがツイッターに流れてくるがちゃんと研究がおこなわれている研究室ではああいうことが発生しうるのかという気持ちになる。
うちの研究室、学部の卒論とか割とひどいのが存在してるからな....(言わないほうがいいことだと思うので何も言わないが)
というかあれ系のブログ記事全部東大でしょ?はいはいって感じ。
就職は...まあ何とかなるとは思っている...がやばいかもしれないという気持ちが増してくる。インターンとかなにもしていない。

というかこういうの考えると普通にゲーム作ってる場合じゃないのではという気になってくる...まあ実際そう。

オチ

最近先輩にスマホゲーを勧められた
先輩が1年ぐらい続けてきたゲームらしいがユーザーが少なくてサービスを終了されそうなので助けてほしいということだったので少しやってみてる。
ユーザーを増やす協力としてpixivにそのゲームのキャラの絵を投稿してみたりした。(あんな病的にお腹の膨らんだ女の子の絵を描いても逆効果では)(オチ)(ちゃんちゃん♪)

A*craftにっき

内容。
ロボットの状態は(座標、向き)で指定される。ロボットが同じ状態を取らないように床に矢印を置いてロボットの行動を指定していく感じ。

問題を見る。
そうだよこういう問題を待ってたんだよ!!(良い順位を取れるとは言っていない)

ロボットを動かしたとき動作停止する場所を調べ、その一つ前に違う方向の矢印を置くというのが基本的な方針。

どの方向の矢印を置くかは何パターンかあるので最善を求めるためにそれぞれのロボットについて順番に深さ優先探索
DFSをするロボットの順番はnextpermutationで変えながら。

深さ優先探索では上手くスコアが伸びないケースもあるのでその場合はビームサーチ。

というか実際は最初にビームサーチを思いついてそれで上手くいかないケースを補うために深さ優先探索を使ったんだけど。

深さ優先探索とビームサーチは盤面によって使い分けたが、本番のテストで使い分けが上手く行かない可能性もあってここが怖かった。

というかビームサーチはHyperSonic向けみたいな感じ(そうか?)。

あと動作停止する場所に矢印を置くだけではHyperSonicでスコアが全然稼げなかったので動作停止した場所に一番近い、通過した交差点にも矢印を置くようにした。

もう少し細かいこともしてますがそれはまあ…はい


今回はメリハリをつけて参加することにした。
あんまりだらだら時間をかけてみても疲れてくると結局はパラメーター調整するだけとかの闇落ちムーブしかできないんで。
というかだらだら参加する時間はなかった。
パラメーター調整とか、高速化とかはほとんどしなかった。やってもよかったんだけどもっと本質的なところで戦いたかった。(まあいうてそんな本質的なことはできなかったが)(パラメーターを変えることでどう結果が変わるのか見て考察をするのは許してほしい)
(というかそういう守りに入った戦い方をしても大してスコアは伸びず、攻めた戦い方をする人に抜かされるだけなので)
ヘトヘトだけど爽やかなお気持ち(良いスコアを取れたとは言っていない)

どんどん最終順位表が完成してくるのドキドキしていいですね。
一位はtourist。
というか時間計測をどこから開始すべきかがあんまり良く分からんかった。





これ絶対焼けないでしょと思ったけど焼けるの..........
というかTCO MM2018 round2みたいな問題が焼けるのならこの問題も普通に焼けるよなぁ....(touristのforum postを見ての感想)

        • フォーラムを読んで

www.codingame.com

まずは一位tourist

半分の時間で大きな焼きなましをする。
もう半分の時間でちいさな焼きなましをする
最善解からランダムに5*5の正方形サブグリッドをとってきて、固定された回数のイテレーションでSAをし矢印を配置しスコアが上がるかどうかを試す
これはTCO MM2018 R2でeldidouにおそわった。

そういえばMM100でもサブグリッドを撮ってきてそこで焼きなますということ上位の人はしてたな...もしかして典型か?
自分の典型にしていこうな

大きなSAで矢印を置くセルの集合を8近傍に空白以外を持つセルに限定した。
これらのセルは将来的に矢印が置かれる可能性が最も高い。

それは確かに気が付いていてだから通過した交差点にも矢印を置くようにしたというのがある
しかし言われてみれば気づいていたという程度だな。

2位 eldidou

SAをつかった。しかし直接矢印を弄るのではなくわっかの集合を用いた(開始時点では空集合

焼きなましとしては、ある状態から別の状態へ移動するためにサイクルの集合に別の小さいサイクルを追加した。
もし端点が2回存在した場合それはとりのぞいたした。(なのでこれは別のサイクルとxorをとってから追加をした)

この方法の良い点はこれは探索空間をなめらかにできる
つまりこれは1つの良い状態から別の状態へ”””評価関数の低すぎるところを経由することなく”””行ける 焼きなましにとってこれはしばしば致命的になる

悪い点としてはロボットになんとかしてサイクルに入らせないといけない、
またはそのようなことをしてほしい時それによってスコアがとてもわるくなってしまうのでその時はbrute-force敵に解を見つけないといけない

これすごいなとおもうが私が実装してもかなり重い実装になってしまいそうだし
ロボットがちゃんとサイクルに入ってくれ無ければ悲劇でそれは難しそうで手を出しにくいなというのがある.....
というか盤面が一直線だったりした場合それはどう処理するつもりなんだ?別の方法を使うのか?

3位 ClisetAI

単純に制限時間いっぱい焼きなましをした
可能な遷移としては一つセルの状態を変えた
矢印を落ちる方向にはおかない---それ以外の制約はない
スコア関数にペナルティをつけた。ペナルティは8近傍に空白しかないところに矢印を置くことに対するものである
なので端のほうにしか矢印は置かれず間は2回往復される

こちらは矢印を置くセルを限定するのではなくペナルティを与える感じか。
確かに8近傍に何もなくても矢印置くのがいい場合もあるかもしれないしな。
でもtouristのやり方のほうが探索空間が減って、結局いいスコアが出そうな気がするな(実際出てるし)

5位 eulerscheZahl

事前にボードを端から落ちないように埋めておく。それ以外は何も変えない
その後、時間いっぱい矢印の向きを変えたり追加したり、取り除いたりをする
それぞれの変更で1~3個のやじるしを変更して、もし以前のbestと同じぐらい良ければそれを保持する(ちょっと悪くなった場合も局所解に陥らないように保持する)
最初のprefillを変更しながら1sの間にこれを4回繰り返す。
4回のそれぞれにおいて最初の1/3の時間で一つのロボットが最長の道のりを見つけるようにする、普通それはほかのロボットにとっても良い。
スコアは単純にゲームのスコアを用いる
他人に比べると私のシムレイションは遅い

探索空間を削減するためにいくつかの場所には矢印を置かないようにする
長い廊下の途中には矢印を置かない。
矢印が向かい合わないようにする
シムレイションにおいて、最初のロボットに矢印を再配置することを許した、これは180度ターンによるループを妨げる

リプレイを見るとほとんどの矢印が境界に置かれていることがわかる
なのでやじるしを変更するときにそれらを考慮に入れる::
もし我々が調整したいセルが隣にプレセットの矢印、落ちる場所を持っていない場合、ほとんどの場合その場所の矢印は消すことになる
そうでない場合、矢印はランダムにとる

いくらかのマップはいくつかの領域に分けられる。
それらを発見するためにWFSでロボットがどれだけの領域にたどり着けるかを確認する
2つのロボットが任意の2つの空セルを共有していたとこそれらは同じ構成要素(たとえそれぞれの開始地点に到達できなくても)
構成要素たちは重なる可能性もある、しかしそれはプレセットされた矢印の受けだけである
異なる構成要素は独立して最適化される
これはよりハイスコアを与える

そうか確かに複数のロボットが同じルートをたどっているケースが多かったことは気づいていた。
だから最初のロボットに時間をかけるようにすればほかのロボットにも良いのか。

そしてマップの領域を分けるのもなるほどという感じだなぁ。
subgridに分ける方法と領域を分けるの組み合わせるとよさそうな感じがする。

Zess Tuttiの話

近況にZess Tuttiの話を書こうと思っていたのだが忘れてしまっていた。
www.facebook.com
Zess Tuttiのレコーディングが始まったみたいですね。

僕はMagmaというバンドが好きなんですよ。

マグマ (バンド) - Wikipedia
1970年ぐらいから活動をしているフランスのバンドで。

音楽ジャンル的にはジャズロック寄りの(プログレとかズールといったジャンルに分類されることが多いが、詳しくない人にはどんなジャンルなのかチンプンカンプンだと思うのでジャズロックだと言っておく)バンドなんですけど
フランス語がロックには向いてないという理由(だったはず)でコバイア語と呼ばれる独自言語(意味はたぶん通じない。音を重視している)を使って歌ってるバンドなんですよね。


このMagmaの楽曲にZessというのがあるんですよね。
これはひたすら同じフレーズが繰り返されながら少しずつ激しくなっていく30分ぐらいの曲なんですが。
Magmaの曲の中で一番好きな曲で。

でもこれライブ盤にしか収録されておらず(有名なのとしては1981年のbobino live)、アルバム版が出てなくて、
ライブ盤に入っているのもZess(extrait) (extrait:抽出版)で完全版ではないんですよね。ずっと完全版が出ないので未完の大曲とまで言われていて。

この曲アルバムにしたらすごく映える曲だろうなというのはずっと思っていて。
いつアルバム版が出るんだろうとずっと思っていて。
しかしなかなかZessのアルバム版は出なくて。
メンバーもだいぶ歳だからもうアルバム版は出ないんだろうなと諦めていたのだが

今回Zess Tutti(Tuttiはイタリア語の音楽用語で完全版の意味らしい)としてレコーディングされると聞いて。

もう楽しみですね。
メンバーがだいぶ年なので以前のような力強い声は出せなくなっているだろうということは心配ですが。