wyteengine / wyteengine Goto Github PK
View Code? Open in Web Editor NEWa scripting language for in-game event system
License: Other
a scripting language for in-game event system
License: Other
エフェクトがないのはさすがに酷い
現状,始め方がわかりにくいので,開始方法のドキュメントを作る
国際化および地域化のサポートを早急に行いたい。
C# コードにおいては、キーを翻訳済み文字列に変換するメソッドを追加したい。また、Beat Ballで利用していたような言語ファイルを利用したい。しかしながら、スクリプト内のメッセージや、画像として表現されたテキスト(ステータス表示など)のことも考えて、ファイル自体をロケールで振り分けられる仕組みがあるとなお良い。しかし、それを実装するためには既存システムに大きな変更を加えるべきと考えられる。
tilemapに依存しないマップのサポート。
抽象型を用いる。
歩行や攻撃などの思考ルーチンを実装できるAIシステム
Wyte Engineでは,ビヘイビアツリーを採用する.
現在,マネージャーやコントローラーといった,Wyte Engineの機能実現のためのモジュールは,それぞれ独立したビヘイビアとして宣言されている.
しかしながら,この仕様は,各モジュール間のセーフな連携を実現するにはそこそこ都合が悪い.
Novel Scripting API は,現在 EventController
クラスにまとめて定義されているが,将来的に各モジュールに記述を分散させる予定である.
Unity のビヘイビアクラスは,読み込み順があまり保証されない.現行の設計では,全てのAPIが定義される前にイベントが実行されてしまうこともありえるため,予期しないエラーの原因となるだろう.
私は,思い切って WyteModuleBase
という, MonoBehaviour
を継承しないクラスを,モジュールのベースクラスとすることを決意した.
C#,Novel共に,ゲーム時のUIをオフにできたら便利な事もありえる.
ゲームプレイのUIのオンオフを追加する.
+fade out, 0
+gui off
+txtset a, "�画面がスッキリしたよ!", "top_left", 16, 16, left, white
+nod
+txtmod a, "なんだよ!文句あるのかよ!", left, white
+nod
+txtclr a
+gui on
+fadeasync in, 0.9
:チェッ!覚えてろ!
void Start()
{
Wyte.Gui = false;
}
イライラの根源だとおもった
モバイル端末でのイベント発動のUIをもっとわかりやすくする.
トーク可能なときに,ボタンが出現する感じ.
ゲームにありがちなショップ機能の追加.
各マネージャークラスの要領で,IDとショップの紐付けを行い管理するショップマネージャーを追加する.
文字列とショップアセット(後述)のマップを持つ.
ショップの情報を持つオブジェクトアセット.ProductAssetのリストを持つ.
商品の情報を持つアセット.継承可能で,購入時の処理をポリモーフィズムを用いて実装できる(単なるアイテムから,イベントの実行まで幅広く対応できるように)
スプライトのように,画面上に自由にテキストを描画するためのAPIが必要だ.
TextManager という感じの管理クラスを作成し,APIを通してアクセス可能にする.
Novel Scriptでテキスト描画できるようにする
// +txtset <id>, <text>, [location_mode = center], [x = 0], [y = 0],
+txtset hello, "Hello, world!", "middle_center", 0, 0, "center"
// +txtofs <id>, <x>, <y>, [location_mode], [linear_interpolation_time = 0]
+txtofs hello, 16, 16, "top_left", 0.8
// +txtmod <id>, [text], [text_alignment], [color]
+txtmod hello, "Revolution!"
// +txtclr <id>
+txtclr hello
文書化を進めたい.
英語対応どころか,日本語すらドキュメントが未整備.
特定のEntityにバインディングするか,またはシンプルに値を表示できるバーを追加する
// show a boss bar
+bossbarshow
// bind the entity named "dragon"
+bossbarbind dragon
// unbind the entity
+bossbarunbind dragon
// simply set a value
+bossbarsetmax 100
+bossbarsetvalue 10
// hide a boss bar
+bossbarhide
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.