NScripterによるオルタナティブエモーションノベル制作講座

はじめに

オルタナティブ・エモーション・ノベル(AEN)とは、ケロQ様が提唱したゲームシステム「オルタナティブ・エモーション・システム(AES)」を採用したゲームで、「終ノ空」「二重影」などが代表的な例です。
本ページでは、それをNScripterで再現しようという試みを紹介します。

NScripterの使い方については、ネット上に詳しい情報が載っています。このページは、その応用例とします。

AENの作り方

AENは、文字通りノベルゲームのシステムです。アドベンチャーゲームなどと違うところは、登場人物の台詞は画面下の文字窓に、主人公の心情は画面いっぱいに、それぞれ表示する点です。
純愛ものにも向いていますが、陰鬱物の作品が多いです。

defineブロックで「globalon」と指定し、次のラベルを導入してください。

*s_aes
if %200 = 1 setwindow 28,316,22,5,26,26,0,2,20,1,1,#6666aa,20,300,619,459
if %200 = 2 setwindow 8,16,23,16,26,26,0,2,20,1,1,#999999,0,0,639,479
return
 

変数200が1の時はメッセージウインドウに、2の時は画面いっぱいに表示します。
これを応用すると、

*define
globalon
;ここにエフェクト等指定してください
rmenu
savenumber 9
game
 
*start
select "はじめから",*hajime,"つづきから",*load
 
*load
systemcall load
 
*s_aes
if %200 = 1 setwindow 28,316,22,5,26,26,0,2,20,1,1,#6666aa,20,300,619,459
if %200 = 2 setwindow 8,16,23,16,26,26,0,2,20,1,1,#999999,0,0,639,479
return
 
*hajime
mov %200,1
gosub *s_aes
朔也「俺の体はボロボロだ!」\
朔也「いずれお前もそうなる…」\
 
mov %200,2
gosub *s_aes
そんな・・・俺の体が・・・ボロボロにに・・・・・・。
 
mov %200,1
gosub *s_aes
一真「嘘だ・・・@嘘だそんな事!!」\
 
goto *start
 
 

このようになります。

現在、「リライタブル」や「ゼロワン」の発売に向け、ストーリー上に出てくる難解な言葉や重要であろう言葉などに解説をくわえるという「フレーズインストラクション・システム」も研究中。