日記(54)

<前 次>

ふにゃ1とドラゴンクエスト10

ふにゃ1(開発状況)

実装はコミットできるほど進んでないけど、方針立て。
そもそもRenderTargetBitmap使うべきじゃなかった疑惑が出てきたので、背景描画の方法を根本的に変える必要があるかもしれません。
でもこれがうまくいけば、ゲーム本体のほうも速度・メモリ共に高速化できる可能性がありそうです。

ドラゴンクエスト10(ミフミン)

デスマシーン

  • 破壊機神ブレイカーの称号を得た!

勝ちました。物理魔法混成サポ編成で。
自分:ハンマー盗賊(ブレス耐性54%、転び耐性90%、幻惑耐性80%、他適当)
サポ1:ブーメラン賢者(ブレス100、転び100、他適当)
サポ2:ブーメラン旅芸人(ブレス100、転び100、他適当)
サポ3:両手杖竜術士(ブレス55、転び100、他適当)

うん…なんというか…盗賊はやめとけ!
硬くてもハンマーのプレートインパクトで守備下げれば通るでしょと思ってたけど割とすぐ戻るし、盗賊の豊富なスタン技もことごとく効かないし、盗んでも鉄鉱石しか出ないし、ダメージ欲張ろうとツメに持ち替えたらブレス耐性下がって燃やされるし、自分が世界樹の葉使えば蘇生4枚だと思ったら自分が真っ先に死ぬし、竜術士がダメージ6000とか出してる横で自分は22とかだし!
盗賊唯一の利点と言えそうなテンション轟奪拳も、使いどころ考えず乱発したせいで、敵のテンション上がったタイミングで使えなかったし!
多分ですけど、物理完全に捨て去って超強いサポ3人雇って、自分は天地雷鳴士でカカロンかクシャラミだけ呼んで床でも舐めてたほうが安定してたと思います。

…ん?よく見たら半分ぐらいは私がアホだっただけでは?

他の写真は以下から。
写真置き場「2025/07/22」

ふにゃ1とドラゴンクエスト10

ふにゃ1(リリース)

準備中とか言ってから一週間経ってしまいましたが、公開しました。

で、安定性向上を謳っていましたが、リリース用ファイルで最終チェックをしていたところ、問題が再発しました。
一応、発生しにくくなって以前よりましになったのは間違いないので、リリースに踏み切った次第です。
ヘルプのバグのページにも、今回のバグについて追記しています。

なお、本当はふりーむにも投稿する予定でしたが、わかりやすくバグが残ってしまっているため、いったん見送りました。
ふりーむ用に作っていた画面写真は、ダウンロードページ内に置いておきました。

まあそんなわけで、今回の2.4.1は最終版にはならず、このバグを解消した次期バージョンこそが、今度の今度こそ最終バージョンになる予定です。

ふにゃ1(開発状況)

今回の再発で、バグの本体をつかんだので、改めて課題を立てました。

62は、マップの再描画が行われるたびにマップサイズに比例したメモリが確保されて解放されないというもの。
マップ最大サイズでぐりぐりやっていると一瞬で数GBメモリ使用量が増えます。
マウス操作での再描画は本来マウス周辺だけだからマップサイズによらず少ないメモリしか使わないと思っていたのですが、そうではなかったようです。
無駄な確保を減らすか、使用後すぐに開放するか、そのどっちかの対応になりそうです。

63は、それ自体はエラーとは別件です。
シフト移動をすると、さっきの部分再描画用のマップ画像とは別の画像を生成してしまい、マウス操作とすれ違いが発生していたようです。
まあ要するに、同じキャンバスに描くべきだったところ、毎回別のキャンバスを用意してしまい、見当はずれな場所に描いてしまったということです。

ドラゴンクエスト10(全員)

仮装メイク術・ウェディ仮装メイク術・ウェディ仮装メイク術・ウェディ
7月21日(海の日)は「ウェディの日」! (2025/7/14)|目覚めし冒険者の広場
タダで姿変えられるということで、体験してきました。
色やたたずまいでわかる人はわかると思いますが、左から順に、ァォィョッュ、しろいコキン、ミフミンです。

ドラゴンクエスト10(ァォィョッュ)

セラフィ

  • クエスト「砂漠の渇きを癒す者/怨霊の正体」をクリアした!
  • クエスト「砂漠の渇きを癒す者/魔物たちの挽歌」をクリアした!

アラハギーロのクエスト、最後までクリアしました!
やっぱりやったことないクエストでした!

(クエスト内容ネタバレあり)

シカブ
怨霊の正体のほうは、ボス戦になりそうでならない感じ。
おつかい終わったらボスちら見せ。
ヒョッヒョマンここに出るんだ。

ゴリウスの怨霊&魔道士キルギル
最後のクエストではちゃんとバトル。
ヒョッヒョマンことキルギルも、怨霊だけにその場を任せて後ろでふんぞり返ってないで、ちゃんと前線に出て戦ってくれました。

魔道士キルギルのザオリク
ゴリウスの怨霊が倒れたらザオリクしてくれたけど、優しさじゃなくて、手駒再利用してるだけなんだろうなァ。

ゴリウスはこの後成仏したけど、キルギルは死んだとも生きてるともつかないもやっとした退場(物理)しちゃったなァ。
再登場あるのかなァ…。

他の写真は以下から。
写真置き場「2025/07/21」

ドラゴンクエスト10(ァォィョッュ)

ローヌ樹林帯最南端

  • クエスト「砂漠の渇きを癒す者/凍える人々」をクリアした!

途中まで進めてほったらかしだったクエストクリアしました。
他のキャラでとっくにやってたと思ってムービーよそ見しながら見てたけど、微妙に見おぼえないぞ…?
適当に流すんじゃなくちょっとしっかり取り組むか。

アンパンマン日替わり紹介botとBomber丸WorldとTgwsMark

アンパンマン日替わり紹介bot

月別トップ(2025年)を更新しました。
6月と7月が更新ですね。
まあこんな風に、ぼちぼち不定期に気まぐれなタイミングで更新していきます。

Bomber丸World

もはや何の需要もないと思いますが、昔作ろうとしたゲームの昔作ってた開発室の残骸を移行してきました。

TgwsMark

前回のプルリクでAIから指摘されていたことで、問題は自分でも認識していたんですが、あの時は課題と無関係なんでいったん無視しました。
で、マージ後のこのタイミングで、改めて課題として切り出した次第です。
コードの修正案もAIから出てるみたいですが、Amazon Qの出す修正案は直接的過ぎて将来のこと考えてないし、そもそも文法ミスもあったりするので、基本的に採用しない方針です。
本命のコードブロック機能を開発しやすくするために先にコードを整理していきたいんですよね。

アンパンマンDBとドラゴンクエスト10とTgwsMark

アンパンマンDB(記事更新)

来週の放送情報。
1700回記念ですね。
なんかエモにエモを重ねた感じ。

来週のサブタイトルに出てくる「ポエムさん」追加しました。

ドラゴンクエスト10(ァォィョッュ)

ドワチャッカの謎の飛行物体
UFO写真撮った!

TgwsMark

昨日言ってたやつ、さっそくIssue立てておきました。

で、その実装の前に、以前立ててた課題のほうを終わらせておきました。

ドラゴンクエスト10とアンパンマンDBとTgwsMark

ドラゴンクエスト10(全員)

Tカバーな水着&サニーボード
夏イベント『炎夏の海を駆け抜けろ!2』開催!  (2025/7/14 更新)|目覚めし冒険者の広場
夏イベント全員分やりました!
レース系の期間限定イベントはあまり積極的にはやっていないのですが、海のイベントは基本的に行くので、今回は行く方向で。
とりあえず全員2分10秒台は出せて、サニーボード手に入りました。

2025夏家具(ペンギンのぬいぐるみ / たゆたうクラゲの柱 / アイスクリームランプ)
家具も買いました。
でっかいペンギンかわいいね。

他の写真は以下から。水着は染色次第で化けるね。
写真置き場「2025/07/17」

アンパンマンDB(システム)

キャラ数検索の件、リリースしました。

TgwsMark

最近から、細かい技術の話を日記に書くようにしたのですが、それに使っているTgwsMark、コードブロック機能がないんですよね。
だから自前でpreタグとかcodeタグとか書いてたんですが、そういうタグは認識しないので、段落記法と衝突してしまいます。
だから、コードブロック機能も作っちゃうべきかなーとか思っています。
あと、柔軟性を高める仕組みなんかも作れたら作りたい。

ドラゴンクエスト10とアンパンマンDBとSQL

ドラゴンクエスト10(しろいコキン)

バウギス

  • クエスト「竜と契約せし者」をクリアした!

しろいコキンも魔法使いと魔法戦士のレベル上げて竜術士になりました!
さすがに3回目なんでムービーはスキップしたんですが、見てなくてもクイズに正解さえすればいいんですね。

アンパンマンDB(システム)

キャラ数検索、まだテストコード上でしか確認できていませんが、修正しました。
画面上で何パターンか確認してからアップしようと思います。

SQL

上記の問題の原因、SQLの条件句における型の不一致が原因でした。

((SELECT COUNT(*) FROM list_anime_chara1 WHERE list_anime_chara1.page_id = page_anime.page_id) + (SELECT COUNT(*) FROM list_anime_chara2 WHERE list_anime_chara2.page_id = page_anime.page_id) + (SELECT COUNT(*) FROM list_anime_chara3 WHERE list_anime_chara3.page_id = page_anime.page_id))=:p

こんなSQLを条件に入れていたのですが、この右辺の:pにPHPの整数を入れても、SQLiteの内部的な整数型とは一致せず、常時不一致扱いとなっていたのです。
左辺が単純な項だったら型が自動変換されて大丈夫だったんですが、サブクエリとかの複雑な式だと無理だったようです。
というわけで、以下のようなキャストを明示的に入れて、型を合わせるようにしました。

((SELECT COUNT(*) FROM list_anime_chara1 WHERE list_anime_chara1.page_id = page_anime.page_id) + (SELECT COUNT(*) FROM list_anime_chara2 WHERE list_anime_chara2.page_id = page_anime.page_id) + (SELECT COUNT(*) FROM list_anime_chara3 WHERE list_anime_chara3.page_id = page_anime.page_id))=CAST(:p AS INT)

<前 次>