2022-12-25
Techこんばんわ。本記事は言語実装のカレンダー | Advent Calendar 2022 - Qiitaの24日目の記事です。
Shiikaは私が作っているRuby風の文法をもつ静的型付け言語です。静的言語はだいたい性能を重視した設計になっていることが多くて、動的言語は書きやすさを重視した設計が多いのですが、「静的だけど書きやすさ重視の設計」にすることで、静的なエラーチェックと書きやすさを両立したいと考えています。「Rubyっぽい手触りの静的言語」を目指しています。
2022年の主な進捗
- パターンマッチ
- enumに対し、
match x when Some(y) ... とかでパターンマッチできるようになりました。これがないと始まらないよね。
- Module
- RubyのModule(Rustでいうとtraitみたいな)を実装しました。実現方法はSwiftのwitness tableというやつを参考にしました。
2022-12-07
GameNintendo Switchで『TUNIC』をプレイした。
Steamのウィッシュリストに入れてたんだけど、座椅子でゲームしすぎると腰を壊すことがわかったのでSwitch版にした。Switchは椅子に座らないといけない位置に設置してあるので大丈夫(携帯モード?それは…)
TUNICとは
小キツネが主人公のアクションゲーム。巷ではソウルライク、ゼルダライクと言われてるようだけど両作ともプレイしたことがないのでそのへんはなんとも。最序盤は剣すら持ってなくて、敵は強いしどうなることかと思ったけど、徐々に操作にも慣れてきてなんとかBエンドまでクリアできた。(実はAエンドはクリアしてないのは内緒)
2022-11-06
DiaryShiika
なんかいろいろやった。主なのはこのへんかな。
で、v0.7.1をリリースした。11月は非互換を入れて、次のリリースはv0.8.0にする予定。
2022-11-05
Gameそのうちやりたいなと思ってたVampire Survivorsをプレイした。面白かった。これは今年のベストゲームだなあ。一週間ちょいで実績全埋めするペースでやってたら腰痛になりかけたし、目を閉じると経験値アイテムの残像が見える始末。
スクリーンショットを見ればわかるようにインフレするアクションゲームなんだけど、単に敵と弾をたくさん出せば面白いかというとそうじゃないんだよね。敵が弱すぎると単なる作業になっちゃうし、強すぎても楽しくない。クリアできるかできないか、というギリギリのラインでないといけない。
Vampire Survivorsの場合はこのへんの調整がよくできてて、その秘密の一つは「ユーザに難易度調整を任せる」という仕組みだ。各ステージはHyper/Hurry/Mirrorみたいな強化モードがあって、通常モードでは簡単すぎる場合の対策になっている。また1回のプレイでは最大12種類の武器・アイテムを入手できるが、これも「序盤に強いもの」と「終盤に強いもの」があり、後者を揃えようとすると自然と前半はぎりぎりの戦いになる…みたいな。
環境について
M1 MacBookProでプレイした。ときどきGC中みたいな固まり方をすることがあるけど、まあまあストレスなく遊べた。
2022-10-04
Diary月報を再開する。
面倒になってきたという理由でやめてみたのだけど、一月ごとに進捗をまとめる作業がないと「進んでる感」を感じられなくてよくない、ということがわかってきた。
あとは締切のない趣味開発だとしても大まかな計画があったほうが、「今月末には○○ができているはず」という期待ができてよい。
Shiika
型推論
2022-08-29
GameEvolveがめっちゃ面白いのに放置ゲーwikiにページがなかったので簡単な攻略を書く。
最序盤
Evolveという名前にふさわしく、DNAとRNAから始まる。操作は、クッキークリッカーみたいなものと思えばだいたい分かるだろう。2022年現在は日本語未対応なので、英和辞典を引きながら頑張ろう。
しばらくするとDNAやRNAを自動生成するボタンが出てくる。ただしこれらは無限に増えるわけではなく、上限が決まっている。表示が「RNA 125/500 20.09/s」となっていたら、RNAは1秒に20.09だけ増えるが、500でストップするということ。
2022-07-23
Miscメルカリで荷物発送用のバーコードを表示するとき、毎回「ご依頼主電話番号2を指定してください」と出て、電話番号を手動で入力させられるのが気になっていた。
今日、ようやく気づいたんだけど、メルカリって電話番号を入力する箇所が2箇所あるんだわ。
- マイページ
- 個人情報設定
- 発送元・お届け先住所
- 編集ボタン(えんぴつアイコン)をタップ
- 住所をタップ
- 一番下に電話番号を入れる欄がある!!
ここに電話番号を入れると認証番号の入力画面になる。少し待つと確認用のsmsが届くので、書いてある番号を入力すると「発送元住所の電話番号」が登録できる。
これでもう聞かれないはず…と思ったが、今日発送したときはまだ聞かれた。 購入時点ではまだ変更してなかったからかな?次からは大丈夫だと期待したい。
2022-05-27
TechI got this error while compiling Shiika.
Compiling llvm-sys v120.2.4
error: No suitable version of LLVM was found system-wide or pointed
to by LLVM_SYS_120_PREFIX.
llvm-sys checks the version in its build.rs. On my current environment, LLVM_SYS_120_PREFIX is:
2022-05-27
Gameついに発売日が2022年9月9日に決定したSplatoon3。5年ぶりの新作ということで、期待が高まりますよね。
そこで気になるのが、「自分のお気に入りブキはスプラ3でも使えるのか?」というところ。Splatoon2では実に129種ものブキが登場しましたが、3ではどうなるのでしょうか?
公式曰く…
過去に登場したメインウェポンの基本形となるブキは、シューターに限らず、すべて発売当日から登場するぞ。
2022-05-26
GameClash Royaleのクラン対戦で出てくる「強奪バトル」について。2022年現在は稀にしか登場しないが、いちおう攻略を考えてみた。
最重要ポイント
これ。
タワーの代わりに置いてある「金庫」は敵を攻撃してくれないので、スケルトンやコウモリ一体だけでも残ると無限に体力を削られてしまうし、ミリ残りのペッカが無限に殴り続けたりする。通常ルールとはだいぶ勝手が違うので注意。