Coder Social home page Coder Social logo

wyteengine's Introduction

Wyte Engine

日本語 ・ English

ScreenShot

Wyte Engine is a 2D horizontal-scrolling action-adventure game assets for Unity3D.

Features

  • 2D Platform Jump Action
  • Map Management
  • Audio Management
  • Sprite Management
  • Flag / Item Management
  • Lightweight Camera Controller
  • Save / Load Feature
  • Event Scripting System (Powered by Novel Script)
  • Very powerful scripting API for Novel
  • C#-level Extension API
  • 2D-specialized animation system
  • Pixel-perfect 2D camera
  • Very Easy AI Construction API
  • Full and easy-to-use I18n & L10n support
  • Cross platform virtual input system

To use

WARNING! This project is work in progress!

  • The folder named Assets/Wyte is all components of the Wyte Engine. Copy that folder into your unity projects.
  • Add the following layer settings (case-sensitive.)
    • User Layer 8: Ground
    • User Layer 9: Player
    • User Layer 10: NPC
  • Assets/Demo is the demo project for the Wyte Engine. Please refer it to use.

To get more informations, see the Wiki(Japanese only).

Contributing

No thanks yet. I'll write the contributing guideline ASAP.

LICENSE

Wyte assets are under the MIT License. But I don't permit to use the Demo resources such as music and graphics because they are all rights reserved. See LICENSE.

wyteengine's People

Contributors

ebiselutica avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

bmjoy moongame

wyteengine's Issues

開始方法

現状,始め方がわかりにくいので,開始方法のドキュメントを作る

I18n Support

国際化および地域化のサポートを早急に行いたい。

C# コードにおいては、キーを翻訳済み文字列に変換するメソッドを追加したい。また、Beat Ballで利用していたような言語ファイルを利用したい。しかしながら、スクリプト内のメッセージや、画像として表現されたテキスト(ステータス表示など)のことも考えて、ファイル自体をロケールで振り分けられる仕組みがあるとなお良い。しかし、それを実装するためには既存システムに大きな変更を加えるべきと考えられる。

Text Drawing API

スプライトのように,画面上に自由にテキストを描画するためのAPIが必要だ.

実装

TextManager という感じの管理クラスを作成し,APIを通してアクセス可能にする.

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

Documentation

文書化を進めたい.

英語対応どころか,日本語すらドキュメントが未整備.

Wyte Modules API

現在,マネージャーやコントローラーといった,Wyte Engineの機能実現のためのモジュールは,それぞれ独立したビヘイビアとして宣言されている.

しかしながら,この仕様は,各モジュール間のセーフな連携を実現するにはそこそこ都合が悪い.

Novel Scripting API は,現在 EventController クラスにまとめて定義されているが,将来的に各モジュールに記述を分散させる予定である.

Unity のビヘイビアクラスは,読み込み順があまり保証されない.現行の設計では,全てのAPIが定義される前にイベントが実行されてしまうこともありえるため,予期しないエラーの原因となるだろう.

私は,思い切って WyteModuleBase という, MonoBehaviour を継承しないクラスを,モジュールのベースクラスとすることを決意した.

Shopping API

ゲームにありがちなショップ機能の追加.

ShopManager

各マネージャークラスの要領で,IDとショップの紐付けを行い管理するショップマネージャーを追加する.
文字列とショップアセット(後述)のマップを持つ.

ShopAsset

ショップの情報を持つオブジェクトアセット.ProductAssetのリストを持つ.

ProductAsset

商品の情報を持つアセット.継承可能で,購入時の処理をポリモーフィズムを用いて実装できる(単なるアイテムから,イベントの実行まで幅広く対応できるように)

イベント発動のUI

モバイル端末でのイベント発動のUIをもっとわかりやすくする.

トーク可能なときに,ボタンが出現する感じ.

NPC AI

歩行や攻撃などの思考ルーチンを実装できるAIシステム

Wyte Engineでは,ビヘイビアツリーを採用する.

GUIのオン/オフ

C#,Novel共に,ゲーム時のUIをオフにできたら便利な事もありえる.

ゲームプレイのUIのオンオフを追加する.

Novel

+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
:チェッ!覚えてろ!

C#

void Start()
{
    Wyte.Gui = false;
}

ボス体力表示

特定の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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.