2018年6月17日日曜日

DETROIT BECOME HUMANやった

かなり久しぶりだ

話題の作品 Detroit become human

アンドロイドが普及したときに心が芽生えたらどうするのみたいな話

微妙なネタバレ注意










ゲーム性としての感想は

スキップ機能を実装しろ

以上です



シナリオとしての感想は

結末 もうちょっとなんとかならなかったのか

こんくらいです



いや めっちゃ面白かったんだよ やってる間は

だけど二週目をやり始めると全貌が見えちゃってるというか
他のエンディングも誤差なんだなぁって思えてきて
やる気が削がれるというか
スキップ機能がないからくっっっっっっそ長いしミスできないし

あと結末 これちょっとなぁって思った
正直あの逃げてる二人?三人?がどの結末でもふーんって感じするし
マーカスが失敗したら糞だし
成功してもへーっとしか思わなかった

なんか このゲームを通して考えさせようとしてるのはわかるんだけど
求めてるのはそこじゃなくて このゲーム制作者が考えた結末はなんなのかを知りたかった





一周目で一番最後に選択肢間違えて世界破壊しちゃったから頑張って同じところにまで持ってこうとしたら
逃げてる人は捕まって死ぬし最後の最後でコナーがポイント見つけられなくて終わるしなんなんだよって感じ




みんなでやろうの会があったら言ってください おそらくコントローラチャプターごとに交代してけばかなり楽しめると思う

2018年3月29日木曜日

数学ガール ゲーテルの不完全性定理を読んだ

「数学ガール ゲーテルの不完全性定理」という本を読んだお話
一つ前の記事で本とか著者とか経緯を簡単に話してるのでそれは省略

ゲーテルの不完全性定理
読んだと大層なこと書いてるけどまぁ理解なんてしてないです
ムリムリムリ
この本では9章までで、自己矛盾って楽しいよねっていうよくあるパズルみたいな問題の紹介と、その後で「数学を数学する」ための数学を専門にしてる人独特の形式的記述のお話をしてる。
ここまでは楽しかった。こんな数学の世界があるんだなぁって感じ
第10章 これは無理だ
ゲーテルの不完全性定理をしっかり証明してる
登場人物たちはその場で一度理解したみたいな雰囲気してるけどこれはちょっときつい
また元気が出たら改めて読みます

これ テーマが難しすぎるのもあるけどなんていうか具体的じゃないのが辛いポイントだと思う
整数のお話とかは実際に代入したり数式いじったり 中学生高校生が思考を持っていけるレベルで収まってたけど
この不完全性定理はちょっと次元が違うな




自己を自己で証明するとかできないとか
みたいなお話だとしか理解できてないんですけど
コンピュータのお勉強をしている身として
そういえばそんな話を情報数学の授業でやったなぁと
思ってぐぐってみた
この記事をどういう人が書いてるかわからないので正確性はともかく
こういう話にもつながるんだなぁって
数学ガールでもコンピュータとのつながりがあるかのようにチラチラ話題で出てたけど
やっぱりプログラムの限界とかP=NPに関わってるんだなぁ
多分だけど NP問題のときにやった プログラムにある値を代入したものが多項式時間で終わるか判定する みたいな部分がこれなのかなぁって


理論の世界 難しい

なんかこの定理をお勉強したからって、そのままそれで遊んだり実際にやってみたりそれを使った最先端技術みたいなのが無いのが、数学の理論のつらい所


まぁこういう思考の仕方もまた数学なんだなぁと思って考えるのはやめることにします。。。

2018年3月23日金曜日

数学ができるとかできないとか 最近のお勉強のお話

最近 やるゲームもなくて暇で暇でしんどかったので お勉強してました

もう四年になるしそろそろ自分の興味のあることを勉強しようかなと思って本屋に行ったのが始まり

理系の棚 特にコンピュータ系の棚にいっていろんな本眺めて 見つけた一冊がこれ

「暗号技術入門」結城 浩 リンク

めっちゃ面白かった これは全く暗号とかパソコンとか知識のない人でも読める
昔の暗号から今現在使われてる暗号まで説明してある そしてビットコインでお馴染みのブロックチェーンと楕円暗号についての導入も書いてある

で、この著者 プログラミングとか数学で有名な人ってのは知ってたからこの人のこと調べてたら見つけたのがこの本

「数学ガール」 リンク

大学生向けみたいなタイトル付いてるし 面白いかなと思って とりあえず俺が関係ありそうな「乱択アルゴリズム」から読んだ

めちゃくちゃおもしろかった
なので最初の無印とフェルマーの最終定理も読んだ

読み終わったのが今日

大学で数学を全くやっていないのでマジで整数論代数論幾何的発想群論全て初めて触ったけどめっちゃ面白かった

で、フェルマーの本の最後に出てた 有限体 楕円関数について
これ 暗号で出てきたじゃんとおもって
ちゃんと調べようと思って調べた

http://mattyuu.hatenadiary.com/entry/2016/11/07/015339

この記事を見つけ、最後に紹介されてる動画を見た
そしてそこの動画の中で紹介されてる動画がこれ

http://www.nicovideo.jp/mylist/46044337

これを見てる途中です。。。



この数学の世界の面白さ うまく説明できる人間ってマジですごいよな
ちゃんと数学勉強してるんだなって思う
そりゃちょっと教職とった程度の人間じゃ教えるのは無理だわ

数学って 自分が理解してることと 問題が解けることと 他人に説明できること
の差があるというか

よく高校時代に 「あいかは数学ができる」とか言ってた人が居たけど
俺は自分で数学はできないと思ってるし、実際自分が理解してるだけだし
自分が理解してない範囲のことは一切知らないし知ろうともしなかった
ただの自己満足

他人に説明できる人は完全にその周囲の知識まで体系的に、具体例も含め全て頭に入ってる人だけだし そこに至るには自分の手で計算して証明することを積み重ねるのが重要

俺は読んで満足する人間



この数学ガール 高校時代に出会いたかった
使ってる知識自体指数計算のやり方とsincosの初歩と数列の極限くらいだから
しかもそれもちゃんと説明してるから
頭のいい普通の高1なら読めるようになってるんだよね
ついでに数学を考える上での正しい思考プロセスまで書いてある
しかも物語調で




まぁ当時の俺の勉強スタイルを後悔するわけじゃないけど
今なら別の勉強方法してたよねって思います

高校の勉強って なんか大学の研究のための初歩をやってるところなわけじゃん
それなのに数学は各章ごとにまったく違う話かのように勉強したまま放置して終わったり
物理は公式暗記して性質暗記して終わったり

ほんまクソだな
俺が高2高3で数学じゃなくて物理に興味持ったのって明らかに塾で微分物理やってたからだし その時に「高校数学の試験問題を解く」数学の勉強じゃなくて「大学の数学を勉強する」ことをやってたら数学にもっと興味持ったかもしれないなぁって




とにかく今数学モチベが高いので 満足するまで関連ブログとか関連本とか読み漁ろうと思います

2018年2月28日水曜日

windows8とubuntuをデュアルブートさせようとして失敗しまくった話

えぇ 一日消えました
自分のBIOSとBOOTに関する知識が無かったのが問題ですね

これからデュアルブートしようとしてる人の参考になればと思います

何が起きたのかというと
普通にUnetbootinでLiveUSB作ってUbuntu起動してインストールしたんですけど
インストール成功後・・・bootメニューにUbuntuが表示されない・・・?????
という現象が起こりました
(あ、この辺は自分で調べてください それくらいはできないとこの先辛いと思います)

以前成功していたこともあって 何が何だかわけがわかりませんでした


ちなみに BiosのSecureBootとかwindowsの高速起動みたいな設定は全部解除してありました
いわゆるググれば出てきそうな対策は全部キッチリしました



これはBootに関する勉強をしなきゃいけないと思ったので、まずは自分がどういうBootをしているのか調べたところ、あのパソコンにはLegacyBootとUEFIというBootがあることがわかりました
Legacyはなんかドライブとかメディアとかを指定してBootする感じ
UEFIは多分そういう設定ファイルみたいなのがあってそこに登録してあるのが表示される感じ(HDD内にEFIパーティションとかいうよくわからないのがあるんですけどそこにあるっぽいです)
で、デュアルブートなので当然一つのHDDに複数のOSがあるわけです
つまりLegacyじゃダメなんですよね
ちなみに確認してみたところ、Ubuntuのインストール自体には成功していて、UEFIに登録できてなかったっぽいんですよね

どうやって登録するの・・・?



調べました はい

簡単に言うと、LiveUSBを起動する時にUEFIで起動すればよかったんですね

うちのパソコン F12連打で表示されるBootメニュー LegacyとUEFI両方表示されてて
自分は安直に
お USBストレージとかいうブートあるやん これでしょ
って起動してたわけです
すると それはLegacyの指定なので、その後行われるインストールもLegacy基準


これからデュアルブートしようとしてる人 おそらくそれなりにググって自分でやる能力のある人だと思いますが、もしこの記事を見たという人は意識しておくといいと思います

Ubuntu LiveUSBはUEFIのブートメニューから起動しましょう

Slay the spire やってみたのでクリア状況と考察

Slay the spireやりました
とっても面白いです
最初は固定の10枚くらいのデッキなんだけど 道中の敵を倒したりするとカードが3ドロップしてその中から1枚手に入るみたいなのを繰り返してどんどん強くなってラスボスを倒すゲームです
1プレイあたり一時間前後でできます
当然運要素もあるんだけど まぁそこはローグライクの醍醐味ということで
出来る限りの最高を毎回試行錯誤しながら楽しみましょう


あんまり日本語の攻略記事とか見当たらない気がしたので とりあえずクリアしたデータを貼っておこうかと
ちなみにゲーム自体は日本語対応しています



えーっと簡単に説明
これは初めてクリアしたアイアンクラッドのビルド
このゲームを買う前に一本動画見たんだけど その時にブロックビルドが強いって言ってたのでブロックを積もうと頑張りました
プレイ時間からも分かる通り 初心者でした。。。
正直覚えてないんですけど、バリケードでブロックがリセットされないようにしてそこからは死ぬ気でブロック積んだ気がします ダメージは基本ボディスラムだけ
そういうビルドにしては余計なカードが多い気もしますね


これは二回目のクリア これもまぁ似たようなビルドですね 結局はバリケードと不動
今見ても無駄が多いと思います



3回目のクリア これはブロックじゃなくてダメージビルドを意識しました
正直 ほんとにクリアできんのかなとか思いながらやりました
道中意識したのは、できるだけ?とエピックを通ることです
とにかくレリックの効果を覚えたかったのもあるし、やっぱりレリックの強いのを持っているかいないかでぜんぜん違うことはわかっていたので数が欲しかった
このビルドは悪魔化がすげぇ強かったんですよ確か
威風堂々とかいうノーマルのカードもなんかめっちゃ強くて
レリックの効果は正直初心者がみてもわからないと思うのであれですけど
この赤い手 ミイラの手ってレリックなんですけどパワーを使うとランダムでコスト0なんですよ
このデッキ発火3枚入ってるんですよ
不動悪魔化金属化発火*3怒り*2でパッシブマシマシにしてやばいダメージは炎の壁で耐えながらヘヴィブレードぶっ放してました
最後ダメージ100超えた気がする とんでもない筋力になったきがするので
とにかくミイラの手と発火がホントに強かった


最後 サイレントでもクリアしました
これはまだ全然アンロックできてない状況ですので 自分もアンロック後にどういうカードが追加されるのか知りません
ちょっと調べた限りではナイフビルド?なるものがあるらしくて、毎ターンナイフが手に入る無限の刃を軸に、おそらく攻撃ごとに毒が入るパッシブを加えて手数で殴るビルドだと思うんですけど・・・
まぁわからないですね なにかキーカードがあるかもしれませんし

で、今回のは正直試行錯誤してるうちに勝ててしまったというもの
攻撃ごとに毒が入るようになる猛毒の仕込み ほしいなぁと思いながら来ませんでしたね
その代わりにこれは有毒ガス+が入ってます 毎ターン的に毒3です OPです
サイレントはどんな敵と戦っても間違いなくダメージを負うので、殆どの敵を避けるようにルートを選びました。?で敵と遭遇しないレリックを手に入れられたのはよかった
今回はレリックで無限の刃が必ず最初に来るようになってるのと、あとは2つめのアイスみたいなレリック あれでコストを持ち越せるようになってます めちゃくちゃ強いです
正直今回必要ないと思ったカードはガラスのナイフ 完全に血迷いました
それ以外は全部使いましたね
予想外かもしれませんがイカサマ+ 結構使えました
特に毎ターンのようにめまいを投げてくるやつにかなり有効でした
このビルド 俊敏性が4になるんですよ そうすると0コスのブロックが防御と同じくらいのブロックになって、防御がめっちゃ防御になるんですよ

ラスボスはドーナツ2体だったんですけど、最初に手前のドーナツを殺してから後ろを殺したところ、ギリギリ間に合いました
前のドーナツは筋力を2Tに一回上げてくるので最速で処理したいので、最初のアーティファクトを毒で消して恐怖で弱体にして最速で殴り殺しました
後ろのドーナツは前が死ぬ頃にはかなりの筋力で35近くのダメージを出してくるんですけどそれは2Tに1回しかなくて しかも間はブロックの詠唱なので毒には関係なし 有毒ガスでどんどん毒スタックが溜まりました

とにかく0コスブロックと有毒ガスが強かった

サイレント 毒ビルドでは毒2倍のカードが必須だったと思うんですけど運悪く引けなかったんですよね(まぁ敵を避けていたので)





というわけでこんな感じで 4回分のクリアデータを載せときます
最初は敵のダメージ全部ブロックしてたら攻撃できねぇしどうしようとか思ってたんですけど
サイレントやってるとそもそもブロックなんてできないからどうやって殺すか考えられるようになりました

初心者さんがこの記事を見てるなら、レリックはHP消費とか呪いとか受けてでもとってみることをおすすめします そのほうが楽しいし普通に強いので
あとはコンセプトを序盤で決めて無駄なカードは拾わないように
最初のストライクと防御は削除できるタイミングで削除するように
意識するといいと思います




早く3体目のキャラ解放してくれ~

2018年2月27日火曜日

GASでDiscord botを作ろうと奮闘した話

・はじめに
一度pythonでDiscordのbotを作成したものの、実行しておくサーバーを持っていなかったため、なんとかしてサーバーレスで作ろうとして、GASについていろいろ調べました。
私自身GASは一回も触ったことがなく、またjavascriptも使ったことがなく、大してDiscordBotの仕組みも理解していない状況です。

作ろうと考えているbotはメッセージにコマンドを入力すると、それに対してbotが応答するというシンプルなもの

・まずはGoogle先生に聞いてみた
ところ・・・
「GAS Discord bot」で🔎しても出てこないんですね。誰も作ってないとは言いませんが、slackばっかり出てきてなんでDiscordにないんだろうかと何度も思いました。

・そこで とりあえずslackbotの作り方を調べてみた
すると分かったことがいくつか
まず、GASには当然ですけど関数を実行するトリガーがいくつかあって
デフォルトで設定できるのが、
何分毎とか何時間ごと、スタイルシートが編集された時 とかですね
あとはdoGet関数とdoPost関数みたいなのがあって 要は作ったGASのコードをアプリとして登録したときにそこにPOSTされたら実行するみたいなのもあるんですね

で、slackで似たような機能を持つbotの作り方のサイト見てたら、
まずslackで入力されたメッセージを外部のサイトへPOSTする(今回はGAS)
GASがPOSTされたメッセージをdoPostで受け取って、なんらかの処理をしてメッセージをslackへPOSTする
っていう流れなんですよね

・Discordではどうなのか
DiscordではWebhookと呼ばれるbot 簡単に言うと外部ツールからメッセージを入力するbotです はテキストチャンネルごとに簡単に作れます
しかし なぜなのか Discordには外部にPOSTするシステムがありません。
slackではoutgoing webhookと呼ばれているらしく、公式の機能として存在しています。

つまり
Discordでのメッセージの入力をGASのトリガーにする方法が存在しない?
可能性があります

Discord.jsとかまともに読んでないので何とも言えないですけど
誰か強い人、うまいやり方がないか教えてください



というわけでこのpythonで作ったbotさんはいまだに自分のゲーム用PCの上で動いています。PCの電源が切れてる間はbotの命はありません。
無料で簡単にpythonbotを実行できるサーバーとかあれば教えてください。
herokuはなんかダメになったらしいしIBMなんとかはクレカの登録が必要とかなんとかで使いにくい。



bloggerのソースコード貼り付けフォーマット作らないと