yhara.jp

Recent Posts

Minecraftの全進捗RTAを見た

2023-10-24
Game

これ。マイクラの動画久々に見たけど楽しかった。

MinecraftのRTAというと「エンダードラゴンを倒すまで」という、いわゆるエンドラRTAが有名だけど、これはMinecraft Java Edition(PC版)の「Advancements」を2時間半でコンプリートする動画。ワールドはランダム、バグ利用禁止。

バージョンは最新版ではなく1.16だが、それ以降だと7時間とか半日とかかかっちゃって競技として大変すぎるようだ。

RTA用のmodを入れてるっぽくて、画面上部に未達成項目の一覧が出ている。反映まで少しラグはあるけど、これのおかげで状況がかなり分かりやすくなっていた。

(more...)

asyncを使わずに並行処理をやる方法はないのか

2023-09-13
Tech

メモです。

なぜasyncな関数と普通の関数は互換性がないのか

(more...)

Shiika開発日記: LLVM 12から16に上げた

2023-08-15
Tech

ShiikaはずっとLLVM 12というわりと古いバージョンを使っていたのだけど、さすがにそろそろ上げるか〜ということで16に上げた。

一番でかい変更は、LLVM 15からOpaque pointer typeがデフォルトになったこと。つまりi8*%Object*みたいな「◯◯へのポインタ」型が、pointee typeがなくなって全部ただのptrになった。

これによってコード生成がシンプルになる…のはそうなのだが、変なLLVM IRを吐いてしまったときにclangでチェックされずに実行時にSEGVすることになるので、どうも不安な気持ちだ。ともあれとりあえず既存のテストが通る状態にはできたのでマージした。



Luck be a landlord ("幸運の大家様")をプレイした

2022-12-31
Game

SteamのLuck be a landlordというゲームをプレイした。邦題は「幸運の大家様」。

スロットをプレイして家賃を稼ぐゲームなんだけど、アイテムをゲットすることでスロットの中身を書き換えられるので、うまいこと強いデッキになるよう構築していく…という感じ。

最初は適当にやるしかないんだけど、やってるうちにアイテム同士のシナジー関係がわかってくると俄然楽しくなってくる。例えば宝石を集めるデッキとか、動物を集めるデッキとか、トランプを集めるデッキとか。

とはいえスロットの出目は4x5=20マスしかないので、アイテムを取りすぎてもいけない。たとえば「鍵」はいろんな宝箱を開けられる強いアイテムだが、総数が20を超えていると毎回引けるとは限らないわけだ。一度取得したアイテムは簡単には手放せないが、それでも手段がないわけではないので、チャンスがあれば弱いアイテムを捨ててデッキを圧縮していこう。

(more...)

Shiika進捗(2022年)

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というやつを参考にしました。
(more...)

TUNICをプレイした

2022-12-07
Game

Nintendo Switchで『TUNIC』をプレイした。

Steamのウィッシュリストに入れてたんだけど、座椅子でゲームしすぎると腰を壊すことがわかったのでSwitch版にした。Switchは椅子に座らないといけない位置に設置してあるので大丈夫(携帯モード?それは…)

TUNICとは

小キツネが主人公のアクションゲーム。巷ではソウルライク、ゼルダライクと言われてるようだけど両作ともプレイしたことがないのでそのへんはなんとも。最序盤は剣すら持ってなくて、敵は強いしどうなることかと思ったけど、徐々に操作にも慣れてきてなんとかBエンドまでクリアできた。(実はAエンドはクリアしてないのは内緒)

(more...)


Vampire Survivorsをプレイした

2022-11-05
Game

そのうちやりたいなと思ってたVampire Survivorsをプレイした。面白かった。これは今年のベストゲームだなあ。一週間ちょいで実績全埋めするペースでやってたら腰痛になりかけたし、目を閉じると経験値アイテムの残像が見える始末。

スクリーンショットを見ればわかるようにインフレするアクションゲームなんだけど、単に敵と弾をたくさん出せば面白いかというとそうじゃないんだよね。敵が弱すぎると単なる作業になっちゃうし、強すぎても楽しくない。クリアできるかできないか、というギリギリのラインでないといけない。

Vampire Survivorsの場合はこのへんの調整がよくできてて、その秘密の一つは「ユーザに難易度調整を任せる」という仕組みだ。各ステージはHyper/Hurry/Mirrorみたいな強化モードがあって、通常モードでは簡単すぎる場合の対策になっている。また1回のプレイでは最大12種類の武器・アイテムを入手できるが、これも「序盤に強いもの」と「終盤に強いもの」があり、後者を揃えようとすると自然と前半はぎりぎりの戦いになる…みたいな。

環境について

M1 MacBookProでプレイした。ときどきGC中みたいな固まり方をすることがあるけど、まあまあストレスなく遊べた。

(more...)

2022年9月

2022-10-04
Diary

月報を再開する。

面倒になってきたという理由でやめてみたのだけど、一月ごとに進捗をまとめる作業がないと「進んでる感」を感じられなくてよくない、ということがわかってきた。

あとは締切のない趣味開発だとしても大まかな計画があったほうが、「今月末には○○ができているはず」という期待ができてよい。

Shiika

型推論

(more...)

Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author