Japanese English
downloadreferenceshowcase
BETA-7をリリースしました (19/11/28)
BETA-6をリリースしました (19/10/12)
BETA-5をリリースしました (19/8/13)
BETA-4をリリースしました (19/7/15)
リファレンスのレイアウトを変更し読みやすくしました(19/6/22)
BETA-3をリリースしました (19/6/2)
Qiita.comに「"ティラノスクリプト"のラベル・ジャンプ操作をStateGoで省力化する」を投稿しました(19/5/26)
Qiita.comに「StateGoの"ティラノスクリプト"サンプル動作と変更事例」を投稿しました(19/5/14)
Qiita.comに「汎用ビジュアルプログラミングツール開発のバックグランド」を投稿しました(19/5/6)
BETA-2をリリースしました (19/5/5)
JavaScriptサンプルをリニューアルしました。 (19/4/20)
BETA-1をリリースしました (19/4/16)
Javascriptサンプル"15パズル"をShowcaseに追加 (19/4/13)

What is StateGo?


StataGoは【処理フローの設計】と【プログラム実装】の両方を行うビジュアルプログラミングツールです。

以下のような手順にて利用します。

1.ステートと呼ぶ処理と分岐だけのノードを作成し、矢印で接続して処理フローを構成する。
2.各ステートのデータテーブルにデータまたはプログラムを記入し処理の詳細を実装する。
3.最後に、変換テンプレートで実コードを生成する。

設計においては、コメント入力・情報マスク・サムネル入力・資料リンク、かつ簡単なユーザインターフェースで作成パフォーマンスと可読性・利便性を強力にサポートします。

実装においては、様々なプログラム言語への対応・プログラム入力補助・カスタマイズ可能なテンプレートを使用した変換機能・変換結果の同時確認機能・外部エディタでのオープン機能等々・・・これらにて、ソースコードの正確性・安全性・生産性を向上させます。

つまり、StateGoは処理フロー設計と実装の両方を兼ね、多プログラム言語対応でカスタム化可能なビジュアルプログラミングツールです。

以下、要点ごとの説明となります。

プロの要求に応える理想のビジュアルプログラミングツール

これまでのビジュアルプログラミングは教育用途の初級ツール、あるいは、利用範囲や言語を限定したものでした。 そのため、様々な要求があるプロフェッショナルな現場で利用するには程遠いものでした。
本ツールはそのプロフェッショナルな現場で利用でき、そして、そのビジュアル化の恩恵によりプロジェクトの様々な問題を解決できる汎用かつ万能のビジュアルプログラミングツールです。

多くの言語に対応可能

本ツールは特定のプログラム言語用ではありません。 例えば、 今もっとも需要の多いJavascript, カジュアルゲームで使われるC#、ノベルゲームエンジンで使われるTyranoscript、厳密なコーディングを必要とするC++、さらには最も原始的はアセンブラ等々・・・
本ツールは理論的にどの言語でも利用が可能です。

混在可能

本ツールは従来のプログラミングと合わせての利用が可能です。 例えば・・・
・全体の遷移を本ツールで作成した後、個々の処理を従来のプログラミングで実装。
・難易度の高い部分を本ツールで作成し、個々の処理を従来のプログラミングで実装。
・パターン的な繰り返しが多い部分で本ツールを利用。
これまでのビジュアルプログラミングに見られた原始的なループ処理をわざわざビジュアルツールで実装する必要はありません。ソースコードで実装した方がよいものはそうするべきです。
必要な所でビジュアル化し、そうでないところは従来通りのプログラミングを行う。それぞれの長所を取り入れた使い方をするためのツールです。
プログラマの持つスキルや資源を無駄にすることはありません。

直感的に操作できるGUI

ワンボタンのマウスのみで基本操作ができるようにしてあり、作業を邪魔しません。
ヘルプ閲覧、コメントと参照リンク入力でプログラミングを補助します。

エクセルシート出力

本ツールのデータはエクセルシートに記録されます。
エクセルシートを使い、各ステート(状態)のデータを一覧することが出来ます。 データ検索・比較・抽出等々のエクセルが持つ機能を使用してプログラムの精度を上げることが可能です。

ライブ編集機能

ステートをクリックすると、変換後のソースコードを確認することが出来ます。 テンプレート、マクロとデータを変更しながら、どのようなソースコードが出力されるのか、変換を待つことなく、常時確認が可能です。 出力プログラムの品質を確保します。

柔軟なデータ配置

本ツールは、プログラムの状態(ステート)を一つのノードとして表します。 ステートが保持するデータを自由に設計することが出来ます。
例えば・・・
・数値やテキストを書く
・プログラムコードを書く
・条件式を書く
等々。
目的に合わせた設計を自由にすることが出来ます。

ドキュメントオリエンテッド

長年の夢であったドキュメントと実装の一致を可能にすることが出来ます。 上位行程で本ツールを使いドキュメントを作成し、その後、下位行程にて実装を行う。 要求変更時はドキュメントから修正されるため、プロジェクトの最後までプロダクトとドキュメントの一致が可能です。

生産性・品質・保守性向上

ビジュアル化の恩恵は、チーム全体で享受することが出来ます。 本ツールのエディタは、プロジェクトメンバのスキルにばらつきがある事に考慮して簡単に操作できるようになっています。 そのため、遷移の変更、単純なコピー、値の修正等の簡単な処理を別の担当者に依頼することが出来ます。 ビジュアル化されたフローは多くの仲間からのレビューを可能にし、問題の早期発見につながります。 ドキュメントオリエンテッドのため、保守時に修正箇所の早期発見を可能にします。

無料

本ツールは無料で使用することが出来ます。

DOWNLOAD

Environment

Windows 7/8/10
Excel Office 365 (recommend)

BETA-7 version 0.62.11315

2019/11/28
log:
■ 新規作成フォームの改良 ■

新規作成時のフォームを見直し、使いやすくしました。
■ スタートキットの改良 ■

スタートキット用のファイルをツールの生成ファイルと同じものにしました。
生成ファイルからクローンして作成されます。
■ 目的別のステート作成機能追加 ■

ステートの目的に合わせたステートを作成できるようにしました。
目的別のステートには、左上に目的を示すマークが添付されます。
■ Gosub機能追加 ■

サブルーチンを呼び出すGosub機能が追加されました。
■ ループ機能追加 ■

ループ機能が追加されました。ループは、サブルーチンを呼び出します。
■ スタートキットのリニューアル ■

スタートキットをリニューアルしました。
各言語のステートキットは、Gosub、ループ、分岐がサンプルとして実装されています。
現在、以下のスタートキットを用意してあります。

- Angular Typescript
- Bash
- C
- C++
- C#
- Unity C#
- Excel VBA
- Javascript
- Tyranoscript
- Visual Vask
- Win batch

※ 旧スタートキットもこれまで通り利用可能です。
■ その他 ■

調整
バグ修正

Download BETA-7 Non-installer-type

BETA-6 version 0.61.9335

2019/10/12
log:
■ セーブデータフォーマットと内部データ構造の変更 ■

セーブデータを見直しPSGGファイルにテキスト形式で保存するように変更し、かつ、変換効率を上げるため内部データの変更を行いました。

具体的にはエクセルファイルが必須ファイルでなくなり、psggファイルに全データがセーブされます。

これまでの互換性を保持するためエクセルファイルでの入出力をオプションとして提供します。

この変更による利点は以下の通りです。

1. テキスト形式でのセーブファイルにより、GIT等での差分確認が可能に。


2. コンバート時間の大幅短縮
➡ステート数が300を超える変換が10倍のスピードアップで約2秒に

3. 最小構成からExcelファイルを削除
➡Excelファイルはオプションとなったため、最小構成がPSGGファイルと出力ソース2つとなりファイル管理の利便性が改善

4. ビットマップに関するバグ改修
➡サムネイルのコピーが可能になりました。


■ 新セーブデータフォーマットへのコンバータ提供 ■

これまでのデータ(Excelファイル)を新セーブデータフォーマットに変換するため、コンバータを用意しました。
コンバータはオープンの対象ファイルが以前のフォーマット時に自動で起動します。


■ ステート用途の利便性向上 ■

ステートの用途は、ステート・組込み・コメントの3つあります。これまでは、ステート作成後にステートエディタ内で用途を変更してきました。

今回の変更では用途別にステートを作成するように変更しました。
作成後の変更はコンテキストメニューより変更するものとしました。


■ テンプレートの表示改善 ■

テンプレートの用途別にフィルター表示を実装しました。

フィルターによりテンプレート情報の最適化を行います。

テンプレート表示パネルにて、クリックするたびにソース→フィルターテンプレート→全テンプレートと変化します。

近々予定しているサブルーチンやループ処理の情報絞り込み表示への利用を計画しています。


■ アイテムリストのエクスポート・インポートの実装 ■

新規のアイテムやアイテムの情報(ヘルプ・入力方法)を別のStateGoへ簡単に反映させる仕組みを提供します。

アイテムリスト編集ウインドウにインポート・エクスポートボタンを用意しました。


■ バグ修正 ■

- 検索時にハングする現象を解消

- e.t.c


■ その他 ■

- アイテム編集時の最適表示を復活

- ウインドウのタイトルバーに表示中グループのコメント表示

- 選択項目時に逆順ボタン追加

Download BETA-6 Non-installer-type

BETA-5a version 0.55.15644

2019/8/14
log:
2019/8/13 BETA-5
■ スタートダイアログ関連 ■
新規ファイル作成時の簡略化とファイルを検索する際の便利機能を用意しました。
1) 新規作成の際にコピーするファイル helpweb.htmlを廃止しました。
参照する際はスタートキット内のhelpweb.htmlを直接開くように変更しました。

2) スタートダイアログに拡張機能を追加しました。

ダイアログ左下の"広げる"を押すとダイアログが拡張され、新機能が利用できます。

3) ファイル名入力検索
ファイル名を入力するとヒストリから検索します。ヒストリパスの前後からも検索されます。
➡1文字から検索するので便利です。

4) ファイルドロップ&オープン
StateGo関連ファイル(*.psgg,*.xlsx, 生成ソース)をドロップして開きます。
➡生成ファイルから開きたいときに便利です

5) 新規ステートマシン作成の際に、簡易パス入力が選択できるようになりました。

定型の指定方法を提供します。
➡初めての方にも簡単に利用できるようにしました。

■ フォーカス関連 ■
グループから出る・検索したステートを探す等々で、対象をフォーカスする機能を強化しました。

1) ツリービューからステートをクリックして、該当ステートをフォーカス。


2) グループから出た際に、そのグループをフォーカス状態に。

3) グループ外のステートに対して、フォーカス。

4) ステート選択ダイアログに、“指定ステートへフォーカス”を追加。

5) 検索ダイアログの結果をクリックすると、該当ステートをフォーカス。

■ その他 ■
1) ステートの流出部分のマウス反応域を拡大。

2) ステートのコンテキストメニューに“ソース開く”追加。

3) 編集パネルに説明表示。

4) 色調整。

5) マクロに$statemachine$を追加。

6) 変換結果にStateGoファイルへのパスを記録。

■ バグ修正 ■
1) コピーの際、グループ内のコメントが消える等の問題を解消しました。
➡申し訳ありませんでした


2019/8/13 BETA-5A
※コメントが入力できない仕様バグがあったための緊急リリース


Download BETA-5a Non-installer-type

BETA-4 version 0.54.1225

2019/7/15
log:
・マウスホイール操作でステート編集パネルのイメージ拡大縮小可能に
・ツール内各所からクエスチョンマーク()をクリックするとリファレンスの該当場所をブラウザで開く
・組込ノードとコメントノードの色変更
・グループノードがコピーできない問題を解決
・StateGoファイルオープン時、既に同名のファイルが開かれている場合は、そのウインドウへフォーカスするように修正
・アイテム編集時に外部エディタの利用が可能に
外部エディタによる自動補完機能等を使うことができます

Download BETA-4 Non-installer-type

BETA-3 version 0.53.793

2019/6/2
log:
・分岐編集時用の入力補助機能を追加
分岐編集時のIF/ELSE IF/ELSEの扱いを簡単にしました。
自動でIF/ELSE IF/ELSEのどれを入力できるのかが限定されるので、文法間違いを抑制できます。
(参考動画)

・フォントサイズ変更時にハングするケースがあったのを修正
・ティラノスクリプトのスターターキットを改良

Download BETA-3 Non-installer-type

BETA-2 version 0.52.682

2019/5/5
log:
・起動時にハングするケースがあったのを修正
・英語選択状態が記憶されていなかった件を修正
・Windows update後にレイアウトが乱れる現象を解消

Download BETA-2 Non-installer-type

BETA-1 version 0.51.1337

2019/4/16
log:
・コピーアンドペーストを実装
これまでのコピーとエキスポート&インポートは廃止しました。
・バグ修正

Download BETA-1 Non-installer-type

PRE-BETA-14 version 0.23.1204

2019/2/24
log:
日本語表示を増やす
該当ステートのソース場所へエディタの行指定を使用してジャンプする機能追加
上記機能についてVisual Studio時の特別対応(エディタ指定ダイアログに該当オプション追加)
StateGoファイル検索機能追加
シリアル機能停止
スタート時の履歴表示を改修
コメント欄の高さを非固定に
コメントとコンテンツのフォント指定機能追加
バグ修正

Download PRE-BETA-14 Non-installer-type

PRE-BETA-13 version 0.22.1266

2019/1/27
log:
コントロールキー+クリックにてフォーカス・ステートの追加対応
メッセージ修正
非インストーラの実行ファイル提供開始

Download PRE-BETA-13 Non-installer-type

PRE-BETA-12b version 0.21.12861

2019/1/15,2019/1/20,2019/1/22
log:
ある条件下でグループ化ができない現象を解消。
""basestate""のコンテンツ非表示オプション追加。
分岐時にコメント入力を追加。
分岐表示欄をコメントを優先表示へ変更。
分岐表示欄にコメントの非表示オプション追加。
テキストエディットボックスのクリアボタン変更。
テンプレート用ディレクティブ"<<<?"に文字列の比較を追加。
項目hogeの値が""の時にCodeを有効化
<<<?hoge==""
   Code
>>>
pre-beta-12のバグ修正 (2019.1.20)
pre-beta-12aのバグ修正 (2019.1.22)

Download PRE-BETA-12b

PRE-BETA-11a version 0.20.2681

2019/1/7
log:
-シリアル登録にて広告を消す機能追加
注)プリベータ用シリアルが提供されています。
How to register pre-beta serial code.
- 入力項目編集機能追加
項目名・ヘルプテキスト・入力方法・入力時表示方法の追加・編集が可能に (説明)
- ツール名をSYN-G-GENからStateGoに変更
アプリ名・アイコン・スプラッシュを変更
- basestate強化
* basestate使用時、ステート名の先頭に"<ベースステート名>"を追加
* 上記の表示省略"<>"をオプションで提供
* バグ修正
- gosubstate強化
* gosubstate使用時、ブロック内に"gosub:ステート名"を表示し、矢印でリンク編集可能に
* バグ修正
- ライン色の設定デフォルトを変更
行先がBACKTOの場合、灰色表示
- 値入力時のダイアログ位置調整
- サムネイルが削除できなバグを修正
- ハング解消
- pre-beta-11のハング解消

Download PRE-BETA-11a


SAMPLES

Unity Tutorial  Unity Menu Sample  Unity Game Sample  Unity Simple Animation Sample  Angular Typescript Sample  Javascript Sample  Java Sample  Delphi Object Pascal Sample  Python sample  PHP Sample  Windows batch Sample  C Sample  Bash Sample  Tyranoscript Sample  Excel VBA Sample  Visual Basic Sample  C++ Sample  Swift Sample