ブログ

Blog

AlmightJSはプログラミング不要!ノベルゲームを簡単作成!

AlmightJSはプログラミング不要!ノベルゲームを簡単作成!

プログラミングレスなゲーム制作ツール

どうも。フロントエンドエンジニアの杉原睦弘です。
今回は、アドベンチャー・ノベルゲームを作成することに特化したプログラミングレスなゲーム制作ツールを紹介しようと思います。
仕事で使うもよし、趣味で使うもよし。
知っていれば、いつかは役に立つ日がくるかもしれません。

AlmightJSとは

http://almight.jp/

AlmightJSとは、ノンプログラマでもアドベンチャーゲームが作成できることを謳ったフレームワークです。
ノンプログラマ向けのアドベンチャーゲーム制作ツールは、「吉里吉里」や「NScripter」など色々とありますが、その殆どがPCソフト向けにビルドすることが前提となっています。
AlmightJSは、HTML, CSS, JavaScriptで作成するため、WEB上で公開することは勿論、ハイブリッドアプリとしてスマートフォン・Windows・Mac等の色々な環境向けにビルドすることが可能です。

シナリオファイルとは

AlmightJSでは、吉里吉里と同じようにシナリオファイルと呼ばれるものを記述して、アドベンチャーゲームでの表示を制御します。
ノベルゲーム上に表示するシナリオ(本文)に、タグと呼ばれる命令コマンドを記述することで、プログラミングを行わずにゲームが作れるという理屈です。

AlmightJSのシナリオファイルの記法は、吉里吉里の記法をベースにしています。
吉里吉里を使用したことがあれば学習コストは殆どありません。

シナリオファイルは、ksという拡張子(例:first.ks)のテキストファイルで、このksファイルに独自のタグを記述することで文字、音声、画像、の表示・再生を指定します。
具体的には、以下のような書き方になります。

// 背景とキャラクタをフェードインさせる
[show_bg file="background.png"]
[show_c file="chara.png"]
[action time=1000]
// キャラのセリフ
キャラ1「黒色背景からキャラがフェードインしてくるよ!」
[c]
// BGMを再生
[play_bgm file="bgm.mp3"]
// キャラのセリフ
キャラ2「BGMが流れるよ!」
[c]

[show_bg] や [play_bgm] 等のタグで、画像や音声を読み込んでいます。
[c] というタグがある箇所は、そこで文字の表示を止めて、クリック待ち状態にするタグです。
「シナリオファイル」というだけあって、ベースにあるのはシナリオの文章で、その文章にタグを追記していくことで挙動を肉付けしていくイメージです。
タグではない箇所は、シナリオ本文として解釈されます。

WEB上でAlmightJSを使う時の懸念点

アプリとしてビルドせずに、WEB上で公開する場合は、ブラウザによっては意図しない挙動になる可能性があります。
AlmightJSはWebKitエンジンのブラウザ(Google Chrome, Safari)を推奨しています。
Internet Explorer, FireFox などのブラウザでは正常にプレイできない可能性があります。

また、スマートフォンのブラウザでプレイする場合は、スマートフォンのブラウザの仕様上、音声ファイルを同時に再生しようとすると、AlmightJSはエラーで停止してしまいます。
BGMが流しつつ、キャラがセリフを喋ったり効果音を鳴らしたりすると、エラーで止まってしまいます。
スマートフォンでプレイしようと思うと、アプリにビルドするのが確実です。

WEB上で遊べるAlmightJS製のゲーム

AlmightJSの仕様や懸念点よりも、実際の動作を見た方が楽しいと思いますので、WEB上で公開されているAlmightJS製のゲームを紹介しておこうと思います。

本記事では3つ紹介しますが、きっと探せばもっと出てくるのではないかと思います。

※推奨ブラウザ Google Chrome, Safari

株式会社ギミック「ギミックアドベンチャー」

株式会社ギミック「ギミックアドベンチャー」

企業サイトのトップページがアドベンチャーゲームという珍しい使い方です。
仕事でAlmightJSを使うならこういう形が多いかもしれませんね。

長州藩乙女ゲーム「攘夷テロリズム」

長州藩乙女ゲーム「攘夷テロリズム」 ゲームへの直接リンク

このゲームは、AlmightJSが公開されてからあまり間をおかずに公開されていた覚えがあります。
「新しいツールなのに、こんなに早く対応できちゃうのか~」と驚きました。

全年齢対象の乙女ゲーム「星降る夜のスクリーン」

全年齢対象の乙女ゲーム「星降る夜のスクリーン」 ゲームへの直接リンク

WEB上のサンプルとしてAlmightJSのゲームが公開されていますが、製品版は現在販売されていないようです。

プラグインとして拡張機能が作れる

プログラミング不要とはいいつつ、やりたいことが増えてくると、カスタマイズしたくなるものです。
AlmightJSでは拡張機能をプラグインとして読み込めるようになっています。

AlmightJSには、セーブロード、環境設定、等の機能が標準機能として提供されています。
これは、almight.config.jsにて、setting.htmlなどのHTMLファイルを読み込むことで機能しています。

「AlmightJSのUIを変えたいんだよなぁ~」ということであれば、独自にHTMLファイルを作成して、almight.config.jsで読み込むことで実現可能です。
セーブロード画面の他にも、JavaScriptでエフェクト(雪を降らせたり、光を拡散させる、等)を作成するということもできます。

// Almightプラグイン(almight.config.js)
plugin: [
'blue-ui.html', // ナビゲーションバーや各種UI部品を追加(青テーマ)
'history.html', // メッセージ履歴機能を追加
'save.html',    // セーブ画面を追加
'load.html',    // ロード画面を追加
'setting.html', // 環境設定画面を追加
'title.html',   // タイトル画面を追加
'cgmode.html',  // CGモードを追加
'sidebar.html', // サイドバー機能を追加
'original.html' // ← NEW ここにオリジナルのHTMLファイルを追加する
],

AlmightJSのpluginフォルダ内にtemplate.htmlという雛形となるファイルが格納されています。
新規でプラグインを作りたいときには、template.htmlをコピーして作成することとなります。
AlmightJSはjQueryが使われているので、jQueryを触ったことがある人ならプラグイン作成は難しくないのではないかと思います。

ライセンス

これから使いたい、と思った方にとって、規約の部分が気になるところでしょう。
AlmightJSは株式会社エイシスより配布されており、利用規約にはAlmightの使用、複製、頒布を有償・無償問わずに利用できる旨が記載されています。

以下に引用します。

第2条 本ソフトウェアの利用許諾
1. 当社は、利用者に対し、(i)本ソフトウェアを使用、複製すること、および(ii)複製した本ソフトウェアを第三者に有償および無償を問わず頒布することを許諾するものとする。
2. 利用者は、当社の事前の書面による承諾を得なければ、本ソフトウェアを改変すること、及び改変した本ソフトウェアを第三者に頒布し、または当該改変後の本ソフトウェアのソースコードを第三者に公開してはならないものとする。
3. 利用者が、本ソフトウェアについて、雑誌や書籍等に掲載する場合は、当社に事前の許諾を得なければならないものとする。

引用元: http://almight.jp/download/license-ja/

最後に

AlmightJSを使ってWEBで公開する場合は、PC向けにすると割り切り、推奨ブラウザも指定しておく、というのがベターな選択だと思います。
WEB上のゲームをスマートフォンでプレイするというのは、音声の同時再生ができないの仕様があるため、諦めるのが賢明でしょう。

また、AlmightJSはノンプログラミングでゲームが作れることが前提としていますが、凝ったことをしようとすると、結局はプログラミングが必要になります。

これはAlmightJSに限ったことではありませんが、カスタマイズをしてみるとフレームワークの仕様上難しい、なんてことがよくあります。

ですので、AlmightJSだからどうしても実現できない、ということもきっとあると思います。
まず、実現したいことがAlmightJSで出来るのかどうか、事前に調べておく方が賢明です。

ではでは

  • SNS
  • 投稿日
  • カテゴリー

    BTM Useful