TwineでIFを書いた方法

こんにちはHabr!これは私の最初の投稿であり、TwineでIFゲームを作成した私の経験を共有したいと思います。作業中に気付いたツールの長所と短所、そしてゲーム自体について少し教えてください。



画像



それはすべて、5か月前にIFゲームの作成を依頼されたときに始まりました。



IFゲームは、テキスト情報を使用してプレーヤーとの対話が行われるゲームです。対話には2つのオプションがあります。テキストを入力するか、すでに提案されているオプションから選択します。



例として、ディクテーターゲームが選択されました。実施予定と同様でした。 Dictatorは、Don Priestleyによって開発され、ZX Spectrumコンピューター用にリリースされた政治シミュレーションコンピューターゲームであり、後にさまざまなプラットフォームに移植されました。



バナナの国の支配者である主人公は、力を尽くして権力を握ろうとしています。ゲームプレイはとてもシンプルです。独裁者、つまりプレーヤーは、提案された行動の選択肢の1つを選択する必要があります。任務は、可能な限り国家の長として持ちこたえることです。



ゲームの開発には、Twineを選びました。インターネットでも同様のツールを見つけることができますが、いくつかのオプションを検討した後、Twineに立ち寄ることにしました。彼はインターフェースがもっと好きで、無料でした。



実装について少し



このゲームは政治ゲームと呼ばれます。毎月初めに、政治派閥の1つが質問をし、プレーヤーは状況を改善する可能性のある行動を選択する必要があります。たとえば、土地を売ったり、ヘリコプターを購入したりして、失敗した場合に、この見捨てられた場所から抜け出すことができます。



ゲームの作成は、段落でhtmlを書くことになります。各段落は個別のページであり、さらにスタイルを設定できます。開発者として、ストーリーが始まる段落を選択できます。 2つの段落を追加しました。1つはポイントと月のカウンターを担当する変数用で、もう1つは質問のリスト用です。そして、最初の段落でこれら2つの段落の表示を使用しました。段落間の遷移は、リンクを使用して行われます。次の段落では、ページがどのように表示されるかのマークアップを実装します。



その結果、次のようなツリーが作成



画像



されました。緑色のアイコンでマークされた段落が最初の段落です。段落数を減らすこともできたのですが、なんとかできませんでした。



Twineについて



Twineは、インタラクティブな文学、テキストゲーム、ビジュアル小説を書くためのオープンプラットフォームです。ゲームをhtmlページの形式で公開でき、作成者からのプログラミングに関する深い知識は必要ありません。



オンライン版とソフトウェアのダウンロードの両方で使用できます。



オンラインバージョンの大きな利点は、変更して[再生]ボタンをクリックすると、既に開いている[履歴]タブが再読み込みされることです。デスクトップでは、数十の変更と履歴の起動後、100,500のタブが表示されます。



Twineにはいくつかのエンジンがあり、Twineはそれをゲームフォーマットと呼んでいます。



画像



各ゲームフォーマットには、構文の違いと機能の違いがあります。それぞれにドックがあり、githubでソースコードを見つけることもできます。 SugarCube 2は私にとって最適であるように思われ、便利な構文と優れたデバッグの両方を備えています。



プロジェクトはエクスポートとインポートの両方が可能です。ただし、エディターでファイルを突然変更してからインポートし直したい場合、これらの変更は保存されません。 Twineはゲームの開始時にファイルを再構築し、追加されたものはすべて削除されます。これにより、メタ情報、ファビコン、またはサードパーティのcssファイルとjsファイルを追加する必要がある場合に少し不便が生じます。この場合、JavaScriptを介してそれらを追加する必要があります。アクションは簡単ですが、ヘッドセクションにタグを追加する方がよいでしょう。



Twineのもう1つの問題は、自動完了がないことです。そのため、すべてのマークアップ、プロパティ名は手作業で作成する必要があります。そして、これはすべてのコードエディタに存在するときに!



結果



Twineは、小さなプロジェクトやプロトタイプに適しています。あなたはすぐにIFおもちゃを提出することができます。個人的には、いくつかの欠点を除いて、このツールで十分でした。



テクノロジーのデメリット:



  • デスクトップ版に問題があります
  • 自動完了なし
  • ヘッドセクションで作業するのは便利ではありません、あなたはjsを通してそれをしなければなりません
  • ライブリロードはありません。そのため、開発中は、[再生]ボタンをクリックしてゲームを常に再起動する必要があります。


長所:



  • 無料ツール
  • 明確でシンプル
  • 何か面白いことをする十分な機会があります


誰かが独裁者の役割で自分自身を試してみたい、国を貧困から前例のない高さまで引き上げたい、または逆に、内戦の深淵に突入したいのであればあなたは大歓迎です。建設的な批判をいただければ幸いです。



UPD



Snuux コメントでは、ライブリロードを使用したTwineコンパイラの例を破棄しました。



All Articles