光のスイボ
「……結局、引き込まれてしまいました」
他人に髪を洗われるなんてことは何年ぶりのことでしょうか。
「ぽふぃ~♪」
「まあ、こういうのも悪くありませんね」
エイヤの態度は全くもって気に入りませんが。
「素直じゃないねぇ、お養母さま」
鬱陶しいです。
「そういえばエイヤ、貴女の実のご両親はどうなさっているのですか?」
髪を乾かせながら尋ねます。
「あ~、何か御用商会に雇われて、贅沢三昧しているみたいですよ。この前なんて、羊皮紙で手紙を送ってきましたし、謎の家紋入りの封蝋印なんか押しちゃって」
わたくしでさえ、重要度の低い用途には綿布紙しか使わないというのに。浮かれている姿が目に浮かぶようです。
『公爵令嬢の母ですわぁ~おほほほほ』
『公爵令嬢の父であるぞ、ほっほっほっ』
王族の縁者である以上、外部から経済的に付け入られる隙を作ってはなりません。
御用商会――レッドフォード=レイクロフト商会は、実際には政治的中立を誓えるだけの実力を持った国際商業組織です。その歴史は由緒正しく、古代文明の時代から続いているとも、古代王家の末裔とも言われ、眉唾ながら当主自身も「一二八世」を名乗っているとか。ある意味、その権威は現王家をも凌いでおり、彼らにエイヤの両親を保護させるのは考え得る中で最善手ではありますが――。
「……子が子なら親も親ですね」
保護を依頼された商会も、さぞかし困っていることでしょう。
「え~そうかなぁ~」
と、エイヤは照れくさそうに頭を掻きます。
「褒めてません。スイちゃん、悪い影響を受けてはいけませんよ」
「ぽふぃ!」
スイは頷いて、わたくしの周囲をすいすいと泳ぎ回りました。
しかし、彼女の両親があの商会にいるとなれば、花を持たせておいた方が良いでしょう――。
「せっかくですので、ご両親に至急扱いで、これらの物品を発注してもらえますか。ご挨拶もまだでしたから、ぜひ納品にいらしてくださいと」
リストを見て、エイヤは怪訝な表情を浮かべました。
「……新しい趣味でも始めるんです?」
「鹿除けの部品です」
「これが?」
「屋外に常設しても問題ないよう、黒錆加工かブリキのように表面加工されていると良いですね。任せましたよ」
「はぁい」
エイヤは、手紙をしたためるために去って行きました。あの商会ならすぐに届けてくれることでしょう。
音の問題はそれで良いとして、音だけではやはり鹿避けには心許ありません。別の手段も併せて講じるのが望ましいでしょう。
「スイちゃん」
「ぽふぃ?」
「ピケちゃんが目撃した過去の景色――映像って見られるものなのでしょうか」
「ぽふぃ!」
スイが、ピケのステータスウィンドウを開きます。そして、口腕を器用に使って、ステータスウィンドウを操作して見せます。
「アピエッタちゃんが、金だらいを落とした場面をお願いします」
「ぽふぃ♪」
金だらいが落ちます。
パゴーン! ガランゴロン
岩の上に落ちた金だらいは、大音を立てて、草むらへと転がっていきます。
『ピェ!?』
鹿達は驚いて、逃げ惑います。
ドドドド……
しかし、すぐに足を止めて振り返り、こちらの様子を伺っています。
『侵入者! 侵入者!』
番兵の叫び声の直後、王宮のあちこちに明かりが灯るのを見て、初めて鹿は慌てふためきました。
そして、最終的に鹿を追い払ったのは、爆音や銃声と共に発せられた閃光でした。
「光です」
「ぽふぃ?」
「見てください。音を聞いた鹿は、少し逃げた後で立ち止まって耳を立てますが、逃げるのは視覚的な刺激を受けてからなのです」
「ぽふぃ!」
「アピィちゃんが、鹿を追い払った場面も見せてください」
「ぽふぃ♪」
小さな身体をふるふると震わせながら、必死に威嚇しているアピィの姿が映り込みます。
『はぁぴ!!!!』
『アピィちゃん?』
『は~ぴ!!! はぁぴ!!!!』
なぜ暗闇の中にアピィの姿が見えるのでしょうか。それは、作業小屋には発光石の照明があるからです。
その照明に照らされたアピィは、傘を膨らませ、口腕を精一杯振り上げています。鹿には何か赤い物がチラチラと揺らめいて見えたことでしょう。
「やはりこれも光です」
「ぽふぽふ」
となれば。
「スイちゃん、ラクシアのような子をもう一匹テイムできませんか」
「ぽ~ふ……」
スイは考え込みます。
ラクシアはスイの周辺では珍しい存在なのかもしれません。あるいは口説くのが難しいのか。確かに、美人は口説くのが難しいとよく言いますからね。
「ならば、小さくても色々な色に光るスイボを何匹かとか」
「ぽ~ふ……ぽふぃ!」
スイは幻空間に潜ると、四匹のスイボを連れて帰ってきました。釣り鐘状の身体は、お父様が羽織ったマントのようにひらひらとしていて、口腕らしきものが見当たりません。そして何よりも、泳ぎ回らず、机の上にちょこんと張り付くように鎮座していました。
「きゅ?」
「きゅ?」
「きゅう」
「きゅう?」
わたくしの顔をみて、四匹は揃って身体を傾けます。よく見てみれば、皆、顔もよく似ていました。
「もしかして、仲良し兄弟姉妹なのですか?」
「ぽふぃ♪」
積極的に泳ぎ回らないスイボ故に、一緒に過ごすこと望むなら、兄弟姉妹はずっと一緒なのかもしれません。その仲を引き裂かないのも、スイの配慮なのでしょう。
「気が利いていますね。けれど、四匹を同時にテイムできるのですか?」
「ぽふぃ♪」
「お初にお目に掛かります。スイをテイムしているスタッカです。わたくしたちのスローライフ仲間になっていただけませんか?」
「ぽふぽふぃぽ?」
スイの翻訳で、四匹はお互いに顔を見合わせた後、同時に頷きました。
「きゅっ!」
「では、スイちゃん、お願いします」
スイはいつものように、一匹ずつ額に口腕を乗せてテイムして行きます。
「皆様、これからよろしくお願いいたします」
「ぽふぽふぃ」
スイが翻訳すると、四匹は口を揃えて返事します。
「きゅっ!」
「では早速、ステータスを拝見」
――クラス:スマートライト
スマートライト……古代語で賢い照明を意味する言葉です。
「あなた達はどのような事ができるのですか?」
「ぽふぃ?」
「きゅっ!」
四匹は発光石を食べると、七色に色を変えながら光りました。なるほど、この子達は光の色を変えられるのです。
「スキル〝C#〟スマートライトを赤色に点灯」
``` csharp
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSwibo();
builder.Services.AddSkillDiscoveryMetadataGenerator();
var app = builder.Build();
app.ExposeSkillDiscoveryMetadata("csharp.スマートライトを赤色に点灯");
app.MapPost("/", async (ISwiboContext context, CancellationToken cancellationToken) =>
{
var swibos = context.Swibos.OfType<SwiboSmartLight>().ToList();
await Task.WhenAll(
swibos.Select(x => x.SetColorAsync("255:0:0", cancellationToken))
);
await Task.WhenAll(
swibos.Select(x => x.TurnOnAsync(cancellationToken))
);
return Results.Ok();
});
app.Run();
```
「きゅっ!」
彼らは赤色に光ります。
「スキル〝C#〟スマートライトを緑色に点灯」
``` csharp
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSwibo();
builder.Services.AddSkillDiscoveryMetadataGenerator();
var app = builder.Build();
app.ExposeSkillDiscoveryMetadata("csharp.スマートライトを緑色に点灯");
app.MapPost("/", async (ISwiboContext context, CancellationToken cancellationToken) =>
{
var swibos = context.Swibos.OfType<SwiboSmartLight>().ToList();
await Task.WhenAll(
swibos.Select(x => x.SetColorAsync("0:255:0", cancellationToken))
);
await Task.WhenAll(
swibos.Select(x => x.TurnOnAsync(cancellationToken))
);
return Results.Ok();
});
app.Run();
```
「きゅっ!」
彼らは緑色に光ります。
「スキル〝C#〟スマートライトを青色に点灯」
``` csharp
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSwibo();
builder.Services.AddSkillDiscoveryMetadataGenerator();
var app = builder.Build();
app.ExposeSkillDiscoveryMetadata("csharp.スマートライトを青色に点灯");
app.MapPost("/", async (ISwiboContext context, CancellationToken cancellationToken) =>
{
var swibos = context.Swibos.OfType<SwiboSmartLight>().ToList();
await Task.WhenAll(
swibos.Select(x => x.SetColorAsync("0:0:255", cancellationToken))
);
await Task.WhenAll(
swibos.Select(x => x.TurnOnAsync(cancellationToken))
);
return Results.Ok();
});
app.Run();
```
「きゅっ!」
彼らは青色に光ります。
「スキル〝C#〟スマートライトを白色に点灯」
``` csharp
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSwibo();
builder.Services.AddSkillDiscoveryMetadataGenerator();
var app = builder.Build();
app.ExposeSkillDiscoveryMetadata("csharp.スマートライトを白色に点灯");
app.MapPost("/", async (ISwiboContext context, CancellationToken cancellationToken) =>
{
var swibos = context.Swibos.OfType<SwiboSmartLight>().ToList();
await Task.WhenAll(
swibos.Select(x => x.SetColorAsync("255:255:255", cancellationToken))
);
await Task.WhenAll(
swibos.Select(x => x.TurnOnAsync(cancellationToken))
);
return Results.Ok();
});
app.Run();
```
「きゅっ!」
彼らは白色に光ります。
「素晴らしいです」
「きゅ?」
四匹の声が重なります。可愛いですね。
わたくしは幻素水晶を皆に与えました。
「きゅ♪」
「ぽふぃ♪」
歴史書によると、古代文明のパーティーでは、現代のような地味なろうそくの光ではなく、華やかに色とりどりの光が用いられていたとされています。そうしたパーティーに参加する人のことを「パリピ」と呼んだとか。
「名前は、パーティーのように華やかだから、左からパリーネ、パリオ、パリエッタ、パリティア、四匹合わせてパリちゃんチームでいかがでしょう?」
「ぽふぃ?」
「きゅっ♪」
「ぽふぃ♪」
スイが命名すると、四匹のステータスウィンドウの名前欄が書き換わりました。
これで、音と光の両面から鹿を追い払う目処が立ちました。
翌日、わたくしが発注した物品も無事届き、あとは再挑戦するのみです。
ちなみに、納品にやってきたエイヤの両親は、その華美で珍奇な身なりを番兵達に怪しまれ、王宮への立ち入りが許可されませんでした。




