2025年4月25日金曜日

これでボクがいなくなってもボクっぽいツイートは生き続けるでしょう

これでボクがいなくなってもボクっぽいツイートは生き続けるでしょう

便利な時代になったもんだ

アカウント

現在は1日1回ツイートするようにしています

仕組み

ローカルの M2 Mac で動かしています
開発当初は Fine-Tuning方式 (LoRA) にしようかなと思ったのですが面倒なのと精度も微妙なのでやめました
たぶん ollama が動作すればいいのでスペックはそこまで必要ではないかもしれません

概要

仕組みは非常に簡単で過去の自分のツイートを LLM にコンテキストとして与えてそれを元に新しいツイートを生成してもらっているだけです

前処理も含めて流れの全体は以下です

  1. ツイートのアーカイブ (tweets.js) からランダムに500件抽出
  2. 500 件のうち 20 件をランダムに抽出し LLM のコンテキストとして与える
  3. ツイートを生成してもらう
  4. ツイートする

というかなり簡単な流れになっています

LLM モデル

特に理由はないですが日本語に対応していて可能な限り軽量な LLM を採用しています

これを ollama で起動して API をコールしてツイートを生成しています

  • ollama run openhermes

ツイートを抽出するスクリプト

さすがに全ツイートを食わせるのは無理なので先に何件か抽出します
とりあえず今は500件抽出しています
ここの抽出条件をもっと自分っぽいツイートだけに絞ったら文章も良くなるのかもしれないです

ここで生成されたツイートを LLM に食わせます

import json
import random

with open(
    "/path/to/twitter_archive/tweets.js",
    "r",
    encoding="utf-8",
) as f:
    raw = f.read()
    # 最初の JavaScript 部分を除去
    json_data = json.loads(raw.replace("window.YTD.tweets.part0 = ", ""))
    # "http://" または "https://" を含まないツイートだけに絞る
    filtered_tweets = [
        t["tweet"]["full_text"]
        for t in json_data
        if "http://" not in t["tweet"]["full_text"]
        and "https://" not in t["tweet"]["full_text"]
    ]
    tweets = random.sample(filtered_tweets, min(500, len(filtered_tweets)))

with open("tweets_500.json", "w", encoding="utf-8") as f:
    json.dump(tweets, f, ensure_ascii=False, indent=2)

LLM によるツイート生成

先ほど作成したツイートファイルを展開しプロンプトを作成します

ここのプロンプトを変えるだけで生成されるツイートが大きく変わります (これが世に言う「プロンプト最適化」)

以下が現状使っているプロンプトですが Openhermes だと「URL 含めないで」と言っても平気で含めてくるので別途正規表現で削除する処理を追加しています

Twitter の API は v2 でないとダメなのでご注意ください

import json
import os
import random
import re

import requests
import tweepy

# 過去ツイートの読み込み
with open("tweets_500.json", "r", encoding="utf-8") as f:
    past_tweets = json.load(f)

# プロンプト作成
# openhermes の場合は可能な限り質問を具体的にしないと自然な文章にならない
# chatgpt はだいぶ自然なツイートを作成してくれるから本当は OpenAI API を使いたい
examples = "\n".join(random.sample(past_tweets, 20))
prompt = f"""以下は過去のツイートです:

----ここから過去のツイート----
{examples}
----ここまで過去のツイート----

これらの文体や話題を参考にして、あなたらしい新しいツイートを1つ生成してください。
日本語でかつ文章の意味がわかるような自然なツイートにしてください。
ツイートに「https://」から始まるようなURLは絶対に含めないでください。
ツイートの長さは50文字以内にしてください。
ツイートを作成した理由などは説明しないください、ツイートのみ生成してください。
"""

# Ollama API にリクエストを送信
# stream: false にしないと一文字ずつ処理しないといけないので false にする
response = requests.post(
    "http://localhost:11434/api/generate",
    json={"model": "openhermes", "prompt": prompt, "stream": False},
)

# 出力を整える
tweet = response.json().get("response", "(ツイート生成失敗)").strip()
# URL が含まれる場合があるのでここで削除、ドメインが追加されたら随時対応
tweet = re.sub(r"(https?://\S+|pic\.twitter\.com/\S+|t\.co/\S+)", "", tweet).strip()
print("自動生成されたツイート:")
print(tweet)

# Twitter (X) にツイート投稿
# 各種キーとトークン(環境変数などから取得するのが安全)
# OAuth 2.0 User Context 用クレデンシャル(環境変数から取得)
bearer_token = os.getenv("TWITTER_BEARER_TOKEN")
consumer_key = os.getenv("TWITTER_CONSUMER_KEY")
consumer_secret = os.getenv("TWITTER_CONSUMER_SECRET")
access_token = os.getenv("TWITTER_ACCESS_TOKEN")
access_token_secret = os.getenv("TWITTER_ACCESS_SECRET")

if all(
    [bearer_token, consumer_key, consumer_secret, access_token, access_token_secret]
):
    client = tweepy.Client(
        bearer_token=bearer_token,
        consumer_key=consumer_key,
        consumer_secret=consumer_secret,
        access_token=access_token,
        access_token_secret=access_token_secret,
    )
    try:
        response = client.create_tweet(text=tweet)
        print("ツイートを投稿しました")
        print(f"ツイートURL: https://twitter.com/user/status/{response.data['id']}")
    except Exception as e:
        print(f"ツイート投稿に失敗しました: {e}")
else:
    print("Twitter API キーが設定されていません。環境変数を確認してください。")

定期実行

Mac なので launchctl で行っています

生成されるツイートについて

詳細はアカウントを直接見てください
結果としては50点くらいです

課題

以下で改善点を上げます

文章が自然ではない

  • モデルが悪いかも
    • 日本語特化なモデル (Elyza や LLM-jp など) に変更すると良くなるかも
    • 試した中で一番自然だったのは OpenAI API だったので本当はそれがベスト
  • プロンプトが悪いかも
    • URL はいらないと命令しても URL が含まれたりする
    • 説明はいらないと命令しても説明が含まれたりする
    • プロンプトを構造的にして質問したほうがいいのかもしれない
  • そもそもコンテキストとして渡しているツイート自体が自然な文章ではないのが原因の可能性はある
    • つぶやきは文章ではない
    • そこから意図や感情を読み取るのは LLM でも難しいのかも
    • 渡すツイート情報を変更するのはあり
    • そもそもツイートを渡すのではなく「こういうツイートをして」とかにしたほうがいいのかも
    • そうなると自分がどういうツイートをしているのかを分析する必要があるが
  • コンテキストとして渡すツイートの精査をする
    • ランダムではなく「それっぽい」ツイートだけを抽出するようにする
    • その抽出作業自体を LLM に任せればいいのかも

なぞのURLとハッシュタグを含んでしまう

  • URL は正規表現で別途対応
  • ハッシュタグは含まないように命令したほうがいいのかも

リファクタリング

  • しません

定期実行が止まったらわからない

  • 通知機能をつけてもいいかも
  • あとはローカル実行ではなく適当なクラウドサーバに移行してもいいかも
  • Twitter の API が v2 から v3 になったり非互換になったりトークンが期限切れになった止まる

変なツイートしないか心配

  • Fワード系
  • 個人情報系
  • 急に誰かにメンションするとか

その他思うこと

LLM について思うことをつらつら書いていきます
ちなみに過去に思ったことはこちらです

Fine-tuning やら RAG やら MCP やらあるが正直オーバーエンジニアリングな気はする

  • LLM 自体がかなり賢くなっている
  • トークンの制限さえなくなれば「プロンプト最適化」が一強になるはず

AI を使うために AI を使う開発をするのは今後必然になる気がするが本末転倒な気がしなくもない

  • 例えば dspy や LangChain、MCP Server といったツールを使って LLM を操作する技術は今後必須になってくる
  • しかし結構大変なイメージ
  • 特に Fine-tuning や RAG や MCP は作るのも大変 (それすら AI 先生に助けてもらえるが)
  • やりたいことは AI のための開発ではなくあくまでもプロダクトの開発
  • そしてせっかく作ったものが必ずしも開発の役に立つ、手助けしてくれるレベルになるとは限らない

完全に AI のみで済むような世界観は実はまだまだ先の未来なのかもしれない

  • とは言え開発に LLM がないという状況は今後考えにくい
  • LLM はあくまでも「お手伝いロボット」で生成してくれたコードなどは結局自分たちでテスト、検証しなければならない
  • 本当はそこまで全部やってほしい
  • 極論「新機能でこういう機能がほしいから実装しておいて」とか「既存のコードでここにバグがあるから直しておいて」と言えば全部勝手にやってくるのが最高だがその未来は遠そう
    • Agent など実現するためのツールは揃っているがそれらを使って実現するスキルが自分には足りない
    • 結局「生成してもらう」->「コピペ」->「テスト」のループを繰り返すのが一番効率がいいのかもしれない

エージェントについて

  • 本当にいるのだろうかと思っている
  • もちろん自分の分身レベルでエージェントが勝手に動いてくれるならほしい
  • でもそこまでのエージェントを作るのはかなりの労力と技術がいると思っている
  • 現状のエージェントはいわゆる「作業の自動化」でそれは別にエージェントを使わなくても問題ない
  • これまで通りやっていた自動化を LLM を使って実現すればいいだけの話になる
  • つまりエージェントレベルではいらない (それをエージェントと呼ぶのであれば話は別だが)
  • 強化学習でいうところのエージェント+LLM の世界観
  • エージェントには意思があると思う

最後に

AI 先生は中身がブラックボックスすぎて何をしているのかわからなさすぎて怖いです
だがそれがいい

2025年4月12日土曜日

ほりほりドリルプレイメモ

ほりほりドリルプレイメモ

一応やったのでメモ
すべてアンロックはしてないです

価格

  • 376円 (steam版)

環境

  • Steam 1743554648
  • macOS 15.4

プレイ時間

  • 42時間

進捗

  • ステージ1クリア
  • ステージ2 遺跡Lv6までクリア
  • アイテム関連は全部開放 (しているはず)
    • アクセサリー、はにわ、加護の器、トーテム
  • ドリル改造
    • 基本全部MAX、採掘力は +1558

好きなビルド

ばくはとかいしん
かいしんはどんどん進みたい場合に使いばくはは鉱石集めのときに便利です
木箱と鉱石爆破をつけておけば袋がパンパンになって掘れないときでも木箱 or 鉱石を見つけて一個掘ればどんどん爆破して次に進めるので帰らずに鉱石集めができます

動画はこちら

一回目クリア時

13時間かかりました

2回目以降

3回目からは数分でクリアできるようになりました

操作に関して

  • 全部 WASD で操作できるのがいい
  • 現在のマイセットが表示されるといい

ステージ1

  • 会心ライトが強いというか便利
    • かなり探索しやすくなる
    • たいまつをバンバン置いてくれるので鉱石や宝箱に最短で移動できる
    • 後半、強化や好きなドリルを作れるようになったらいらないかもだけどそれまでは重宝しそう
    • 全体的に「会心」ビルドは強い印象
  • 爆発ビルドも結構やばい
    • 動画参照
  • 300-400くらい掘り進まないと制作でぴったりボーナスをもらうのは難しい
    • 序盤は3つ鉱石を使えればOKくらいの感覚
    • ペリドットが採掘できるあたりからぴったりができるようになる
  • 2つ目のドリルについて
    • 1つ目でがんがん掘ることを考えて2つ目はスピード重視で移動/帰還用にするなど
    • 2つ目は幸運重視で鉱石大量ゲット系など
  • 強化は装備数を増やすのを優先したほうが良さそう
    • 特に3,5個は早めに取りたい、ドリル1つ目を早々に3つ目まで拡張できるとかなり効率よくなる
  • 効率よく掘る方法
    • とりあえず次のエリアまで一直線に下に掘る
    • その後左右に別れてブランチマイニング的な感じで掘っていく
    • 帰還するときも楽になる
  • ドリルは極力捨てない方がいい
    • 後半でドリル強化というドリル同士を合成できる機能が追加されるのでそこで使うため
  • 鉱石も極力売らないほうがいい
    • 後半はドリル生成ばかりするので結構なくなる
    • 特に便利な形の鉱石はよく使う (三角L字、正方形、棒など)
  • 歯車強化が全部終わればステージ1は終了
  • 歯車稼ぎ
    • 999 に速攻で到達できるなら到達 -> 地面再生成を繰り返すだけ
  • 鉱石稼ぎ
    • (これも早く掘れるようになってからのほうが楽だが) 好きな階層に直行してそこで採掘し再度地面再作成するだけ

ステージ2

  • はにわとお金があるので爆発系は避けたほうがいい
    • 爆発ブロックも壊さないようにしないといけないのでたいまつ系が必須
    • ドリルが速すぎて壊さないように注意が必要
  • はにわとトーテムはドリルのバフ的な位置づけ
  • のろいはあまり気にしなくてもいいかも
    • ドリルが強ければ

ステージ2クリア後

  • アクセサリー加護の器あたりまで開放できらばほぼ全部のコンテンツを開放したことになる
  • 会心ライト+へんかのトーテムが強い
    • 遺跡Lvが上がっても結構サクサクほれるようになる
  • 貫通のトーテムが強い
    • れんさも強い
    • 鉱石の木で紫の鉱石をささげると貫通の効果がアップする
    • 紫の鉱石は遺跡の400-500に生息するので遺跡Lv1で集めるといい
  • 鉱石集め
    • 爆破がたぶん一番簡単
    • 参考動画は以下

やり込み要素

  • RTA
  • 遺跡LVMAX
  • 歯車育成MAX
  • はにわ育成MAX
  • アクセサリー収集
  • トーテム収集
  • 鉱石の木のささげるLvMAX
  • 好きなドリル作成

最後に

楽しかったです

2025年3月12日水曜日

DysonV8 Slim Fluffy レビュー

DysonV8 Slim Fluffy レビュー

DysonV6からの買い替えをしたのでレビュー

価格

  • 新品 29,800円

購入時期

  • 2025/02/01

ゴミ捨ての方法がかなり変わった

  • ストッカーを上に持ち上げて下から捨てるタイプになった
  • 楽だがとにかくほこりが飛び散るのが面倒
    • なので自分は大きめの袋を用意して掃除機のストッカー部分を覆うくらいにしてから捨てるようにしている
    • 捨てた後は軽く水で霧吹きするとなお飛び散らない
    • 袋はある程度ほこりが溜まったら交換
  • 気楽にゴミを捨てられるようにはなったが逆に捨てすぎてストッカーを上げる部分がぶっ壊れないか不安

ノズルヘッドが小さい

  • 隙間の掃除もできるようになった
  • が下に滑り込ませすぎるとヘッドが上がってしまい奥まで掃除できない
  • また Slim のノズルヘッドはホイールが付いている箇所が 4 箇所ありまっすぐ掃除する分にはやりやすいが横に曲がったりするのがやりにくい
  • またホイールの転がりが悪くなるのが早くなる気がするのでシリコンスプレーとかはこまめに刺すことになるかも

静音

  • V6 に比べて静音になった
  • キーンって感じからブオーンって感じになった
  • 音を気にするならいいかも

やや重い

  • 本体部分はやや重くなっている
  • Slim タイプであればモータヘッドからパイプ部分に関してはかなり小さいのでその分軽い

付属品も改良されていた

  • 毛付きブラシが良くなっていた、ほこりがブラシに付いてもすぐに取れるようになった印象
  • ブラシ自体の素材も変わったっぽい

メンテナンスする部分はあまり変わってなさそう

  • 頻繁にストッカーのゴミを排出していればフィルタに関しては前よりも変えなくてもいいかも
  • モーターブラシの部分はたぶん同じくらいの感覚で掃除することになりそう
  • バッテリはまだ新品だから不明、一応容量は 2400mha なのでやや上がっている

吸引力

  • 気持ち強くなっている気はする
  • MAX モードは相当強くなっている
  • フィルタの手入れ状態にもよる気はするのでフィルタの手入れは重要

ボタン

  • Dyson は昔からパワーオンのボタンがタクトスイッチ式で押している状態じゃないと動かない
  • V8 の場合そのボタンが V6 に比べ重くなっており少し力を入れないとボタンが押せない
  • ゆえに長時間掃除機をかけていると指が疲れる

最後に

全体的に見ると V6 のほうがいいような気もしています
dyson の型落ちはだいぶ前のバージョンでも全然やれる気がします
その割にすごい安いのがいいです

2025年3月9日日曜日

iPad mini 6 レビュー

iPad mini 6 レビュー

mini2 からの乗り換え

価格

  • 中古 43980円

購入時期

  • 2025/03/07

バッテリー残量

  • 82%
  • さすがにハズレでした

日本語入力でキーボードを分割しないとフリック入力できない

  • 分割すればできるが分割すると英字入力時も分割されてしまう (英字の場合は分割してほしくない)
  • ちなみに分割する方法はキーボードを表示して右下のキーボードマークを長押し -> 分割でできる

Dock 邪魔

  • 下からスワイプしたときにホーム画面に行かずに Dock だけ表示してしまうことがある
  • これはコツでカバーするしかなくて下からスワイプするときに一瞬ではなく少し長めにスワイプして止めるとAppスイッチャーになる
  • もしくは4本指上スワイプでAppスイッチャーになる

TouchID を押して画面のロックも解除したい

  • デフォルトだと TouchID に指を置いただけでは画面は真っ暗で解除できない
  • 先に画面をタップするかボタンを押してから TouchID をしないとロック解除できないので不満
  • FaceID はない

自動ロック

  • デフォルト2分で短い場合は15分などにする

充電はType-c

  • 自分はまだライトニング端末があるのでケーブル2本持ちが不便 (iPhone14 と Airpods)
  • M1 Macbook と接続するのはすごい簡単、M1 のバッテリーケーブルが使えるので

バッテリーの交換難易度

  • 少し高めな印象
  • ディスプレイさえ外せばなんとかなるかも
  • 外部に依頼すると1万円を超えてくる (けど安全)

最後に

さすがに mini2 はもう限界でした
mini は今までビューワーでしか使ってなかったのでサイドカーとかも試してみたい

2025年3月8日土曜日

M1 Macbook Air レビュー

M1 Macbook Air レビュー

買ってだいぶ経つが一応
10年頑張った MacBook Air late 2014 からのアップデートなので全体的には満足

購入時期

  • 2024/09/07

価格

  • 中古 71000円

スペック

  • M1 Macbook Air
    • CPU8コア
    • GPU7コア
    • メモリ8GB
    • ディスク256GB
    • USキーボード

英字キーボード縛りにすると新品の本家かフリマじゃないとなかなか手に入らないので辛い

  • 中古市場だとほぼJISキー配列しかない
  • ただ新品だと M1 はもう買えないし M3, M4 は高い
  • なのでフリマ系で探した

TouchID 便利

  • タッチするだけでロック解除できる
  • しかもガッツリ触らなくても一瞬サラっと指を置くだけで解除できるのですごい (本当に認証できているのか不安になるくらい

性能もそこそこ

  • M2 pro mac mini の半分くらいだが開発するには十分
  • LSP の起動や各種アップデートなどはだいぶ速くなった

ファンレス

  • かなり静か
  • ただ計算処理するとかなり熱がこもる印象
  • 重い計算処理をする場合には熱を逃がすような手段が必要かも (扇風機、ヒートシンクなど)

やっぱり作業するにはラップトップが便利

  • M2 pro mac mini はかなり重い処理 (機械学習のモデル動かすときや、Xcode ビルド) のときには使うが日常使いではほぼ使わなくなった
  • M2 は毎日マイニングを頑張っている

天板がよく汚れる

  • 自分の環境が悪いだけかもですが付属の充電ケーブルを M1 Macbook Air を閉じて天板の上に置いて保管しておくとなぜか天板がすごく汚れてしまう
  • なのでケーブルと本体は必ず離して保管するようにしている

前のマシン補足

  • 購入時期 2014/12/21
  • MacBook Air 13インチ
  • 1.7GHzデュアルコアIntel Core i7(Turbo Boost使用時最大3.3GHz)
  • 8GB 1,600MHz LPDDR3 SDRAM
  • 256GBフラッシュストレージ(PCIeベース)
  • バックライトキーボード (US) + 製品マニュアル(日本語)

2025年3月3日月曜日

kasaca キックボードの前輪がハンドルで制御できないときの対処方法

kasaca キックボードの前輪がハンドルで制御できないときの対処方法

概要

ハンドル部分のネジが緩んでしまいハンドルを回しても前輪が一緒に回らないときの対処方法を紹介します

ハンドルのネジ部分を締め直す

前輪タイヤとハンドルを逆方向に回すことで締めることができます

前輪タイヤとハンドルが90度にならないことがありますがこれはあとから調整できるのでとにかくしっかり締めましょう
タイヤを右手でハンドルを左手で持って逆方向に回せば締まっている感じがわかると思います

ハンドルの角度を調整する

六角レンチでハンドルを固定している部分を緩めます

するとハンドルの角度が調整できるのでタイヤとハンドルが垂直になるように調整します
垂直になったら再度六角を締めれば OK です

その他メンテ

  • 各六角ボルトの部分はしっかり締めておく
  • ブレーキがしっかりかかるようにブレーキ部分の三角コーンみたいなネジをしっかり締めておく
  • タイヤの回りが悪い場合には軽くシリコンスプレーをかけてあげる

最後に

小学生くらいがガッツリ遊びまくるとあっという間に各種ボルトが緩むのでしっかりメンテしましょう

2025年1月18日土曜日

Backpack Hero プレイメモ

Backpack Hero プレイメモ

過去に Slay the Spire をやりましたが同じようなゲームがあったのでやってみました

ゲーム概要/目的

  • クエストをクリアして街を発展させる
  • クエストおよびアイテム収集のコンプ
  • 一応ラスボスがいる

価格

  • 1380円

プレイ時間

  • 約69時間

好きなアイテム/レリック

  • サンゴ
    • これで0コストの武器を生成しまくって殴りまくるゲーム

ラストステージにいくには

  • すべてのキャラの開放
  • すべてのキャラのチュートリアルクエスト消化
  • すべてのキャラで3層までを2回クリア

でビーコンが設置できるようになるのでそのあとパースで潜れば OK
ビーコン設置後にコンスタンスに話かけないと親父が3層にいることがわからないので話しかけること

4層はラスボスしかないので倒すとエンディングが始まる
エンディング後はゲームを一度ダウンさせて再度スタートすると自動でオーデリアに帰っていてかあちゃんとの会話になる
更に必要なキャラに話すと各キャラのハードモードクエストが開放される

余っているスパークがあればマシューに渡せばアイテムと交換してくれる

エンディング画面ではゲームを終了させるしかなさそう

クリアクエスト数/発見アイテム数

  • クリアクエスト数 -> 43
  • 発見アイテム数 -> 836/903

難しかったクエスト

  • トート
    • ほぼすべてのクエストが難しい
  • ポシェット
    • ガラスの一族 (仲間を死なずに進めるのが難しい

強いなと思ったビルド

基本的には0コストビルドは全部強かったです

パース: バランス

とくかくバランスが強いなと思った印象です
ブロックも上げつつ武器もそれなりにかつ全体にまんべんなくダメージを与えられるビルドが安定して強かったです

マチェーテ+ 木の葉のカタールでリセットしつつ叩くビルド

砥石+0コスト武器で強化して叩くビルド

春の宝珠で強い武器コストを0にして攻撃するビルド

こんな感じで宝石と防具をバランスよく置くだけでもそこそこ戦える

トート: 斧+ペレットコンボ

正直これはチートレベル

横に広げて斧を並べて使い切ったらペレットで回数をリセットすることで無限に殴れるビルド
アイテにトゲさえなければ絶対勝てます

以下は実際にプレイしている動画です

トート: 廃棄メイスビルド

簡単にビルドできるのがいい点です
とにかく0コストの彫刻を集めまくっていっぱいになったら投げて廃棄しそのあとでメイスで叩くだけです
エナジーがあるだけいいのでエナジーが増えるレリックがあると更に良い

サッチェル: 0コスト+魅了

サッチェル自体かなり強いので正直0コストビルド以外でもいけるかなとは思います
特に0コストのナイフ or ハンマービルドはトートの無限ループレベルで強いです
口笛で適当に魅了をばらまいてから叩けばいつの間にか敵全員がこちら側にいます

ハンマーは置きまくるだけでも強い

サッチェルのナイフは別ポケットにあるナイフ数に応じてダメージが上がるのでポケットも意識すると強い

ポシェット: バランス

パース同様バランスが強い印象です (というかこれしかない

ブロック寄せ
加速もあり200以上になるケースもある

CR-8: バランス

チャージを何回も往復させてたくさんアイテムを通るようにすればだいたい強くなる

防御グリッドやレーザーガンのようにチャージを可能な限り走らせてから最後に当てると簡単に強くなる

キャラクタ強い順

  1. サッチェル
    • 魅了とかいうチートスキル持ち
  2. CR-8
    • 全自動パース
  3. ポシェット
    • パース+仲間あり
  4. パース
    • これがベース
  5. トート
    • 彫刻自体が難しい、正直無限ループコンボじゃないとクリアできないレベル

裏技

ご利用は計画的に

  • ほしいアイテムを入手する
    • 宝箱や敵の直前でセーブしいらないアイテムだったらタイトルに戻ってやり直す
  • 研究のリセマラ
    • パースの一番はじめのダンジョンでレアアイテムをじいさんからもらってほしいアイテムだったら即死んで研究の材料にする
    • なかなか出ないことがあるので普通にクリアするほうがいいかも