第1章 第2話:ボーナスポイントの「罠」
「さあ、ログくん! 転生特典の大盤振る舞いだよ! はい、ボーナスポイント100点!」
エクセルが鼻を膨らませ、空中に虹色のウィンドウをポップアップさせた。そこには『Bonus Points: 100』と輝かしい数字が躍っている。
普通の転生者なら泣いて喜ぶ場面だろう。しかしログの眼光は鋭い。彼はウィンドウの端に表示されているシステムプロパティの微細な記述を見逃さなかった。
「待て。エクセル、この入力フォームの型は何だ?」
「かた? えーっと、かっこいい騎士とか、可愛い魔法使いとか……」
「違う。変数のデータ型だ。整数か、浮動小数点か……まさか、8ビットか?」
嫌な予感を覚えながら、ログはステータス画面を開いた。筋力10、敏捷10、知力10。平均的な初期値が並んでいる。
「いいかい、ログくん。全部筋力に振っちゃえば、生まれた瞬間からドラゴンを素手で引き裂けるよ! 夢があるでしょ?」
「……デバッグって言葉を知ってるか?」
ログはおもむろに「筋力(STR)」のプラスボタンを連打し始めた。11、12、20……50……100。数値がみるみる上昇する。エクセルは「わあ、最強だね!」とはしゃいでいるが、ログの指は止まらない。
120、125……。
数値が『127』に達した瞬間だった。
ログが最後の一押し、128ポイント目を投入した。刹那、ステータスの文字が激しく明滅しバグったようなノイズが走る。
『STR:-128』
「ひぎゃあああああ!? ログくんが、ログくんがしおしおになっちゃったぁ!?」
エクセルが悲鳴を上げた。たった今まで筋骨隆々になりかけていたログの体が、一瞬でガリガリの糸屑のようになり崩れ落ちたのだ。
「はぁ……はぁ……。言った……だろ……。バカ……か……」
「ど、どうして128ポイント入れたらマイナスになっちゃうの!?」
「……『8ビット符号付き整数(signed char)』……だよ……」
ログは地面を這いながら解説を始めた。8ビットという小さな箱では扱える数値の範囲は「-128から127」まで。127に「1」を足すと、一番上のビットを「負の符号」として誤認し数値が最大の負の値にループしてしまう。
「これを『算術オーバーフロー』と言うんだ……。お前、変数をケチって一番小さいデータ型で定義しただろ」
「だ、だって、人間が100以上の筋力を持つなんて思わなかったんだもん! メモリの節約かなって……」
「設計の段階で拡張性を考えない奴があるか! 100ポイント配るなら最低でも32ビットで確保しておけ!」
エクセルが「すぐ元に戻す(Undo)するから!」と魔法を唱え、ログのステータスは「筋力10」に戻った。
「わかった。この100ポイント、俺は一切使わない」
「えっ!? なんで? もったいないよ!」
「この世界は足し算すらまともにできない欠陥品だ。下手に数値をいじれば、どこで計算が狂うかわからない。……それより、他のステータスを確認させろ。……なんだ、この謎の浮動小数点数は」
ログが指差したのは「LUK(運)」の下に隠れるように表示されていた数値だ。
『Luck_Correction_Factor: 0.0000000001』
「これ、何だ」
「あ、それ? 運が良い人のところにたまに隕石が落ちてきたら面白いかなって思って入れた係数だよ! 0が並んでるから滅多に起きないはず……」
「……桁数を間違えてないか? この世界の基本演算、もしかして単精度浮動小数点(float)でやってるのか?」
「ふろーと? なにそれ、美味しいの?」
ログは頭を抱えた。あまりに小さな数値を計算し続けると「丸め誤差」で数値が消えたり、逆に巨大なゴミデータに化けたりする。
「いいか、エクセル。今すぐこのボーナスポイントを、システムの深層にアクセスするための『管理者特権(Admin権限)』に書き換えろ。俺がコードを指示する通りに数式を入力しろ」
「なんか、ログくんが悪役に見えてきたよぉ……」
エクセルが泣きべそをかきながらログの指示通りに空中の数式を書き換えていく。ログの手元に、黒いシンプルな板状のデバイス──『デバッグ用コンソール』が出現した。
「よし。これでこのクソゲーを内側から監視できる」
コンソールを叩き、周囲の環境データを読み取ると、崖の下から這い上がってくる「何か」のステータスがアラートとして赤く点滅した。
『Warning: Slime_Level_1 (Attack Power: ERROR_OVERFLOW)』
「……おい。エクセル。あそこにいるスライム、攻撃力が『ERROR』になってるぞ」
「えっ? あ、ほんとだ。可愛いね!」
「可愛くない! 数値が計算不能(NaN)になってるってことは、触れた瞬間に世界の物理法則がバニッシュする可能性があるんだぞ! 逃げるぞ、今すぐ!」
ログはエクセルの襟首を掴み、全速力で走り出した。背後では、スライムが「ぷるん」と跳ねただけで周囲の空間がガラスのように割れ、座標の彼方へと消滅していた。
「ver 1.0以前の問題だ……。この世界、アルファ版ですらないぞ……!」
【第1章2話・デバッグログ】
▶ 事象:ステータス割り振り時に数値が反転し、負の値になる。
▶ 原因:8ビット符号付き整数の上限値(127)を超えた算術オーバーフロー。
▶ 対策:ログが独自デバッグコンソールを作成。値を操作せず、システム監視に徹する。
【次回予告】
第3話「素数じゃないと即死する呪い」──「一、二、三……。おい、お前! 四歩目を踏むな! 死ぬぞ!」
【約10万字完結済】月・水・土 21時更新。
※初回5話公開。最初の1週間は毎日更新の予定。
※本作はAIを執筆補助に使用しています。




