土屋つかさの技術ブログは今か無しか

土屋つかさが主にプログラミングについて語るブログです。

司エンジン

メッセージ指向ゲーム開発言語「司エンジン」v2.3b4リリース

.■v2.3b4リリース ・Collisionableにアフィン変換系プロパティ追加 ・Collisionableに衝突判定有効フラグ/アフィン変換反映フラグを追加 v2.3b4リリース ・b3の落ち葉拾いです。今回の改修で、CollisionableはほぼDXRuby::Spriteのラッパーになりました。こ…

メッセージ指向ゲーム開発言語「司エンジン」v2.3b3リリース

・Layoutableにabsolute_x/yプロパティを追加(それに伴い内部ロジックの更新) ・Clickableコントロールでマスク画像を相対パスで指定できるようにした ・Collisionable生成時にshapeオプションを必須にした ・WindowをWindowサイズからshape形状を生成する…

メッセージ指向ゲーム開発言語「司エンジン」v2.3b2リリース

・_BREAK_で脱出ループ回数を指定できるようにした ・Collisionableモジュール/CollisionableLayoutコントロール追加 v2.3b2リリース ・超技術書典で一人ライブコーディング(待ち時間中に即興でゲーム作ってただけ)中に幾つか機能が足りない事に気付き追加…

メッセージ指向ゲーム開発言語「司エンジン」v2.3b1リリース

.■v2.3b1リリースhttps://github.com/t-tutiya/tsukasa/releases/tag/v2.3b1・_MOVE_コマンドのインターフェイスを変更 ・イージングをベタ指定からeasingオプションに変更 ・遷移対象のコントロールをパス指定するcontrolオプションを追加 ・補間方法を指定…

rubyゲーム開発にユニットテスト/テスティングフレームワークを導入する(6)【CI/AppVeyor編】

長々とやってきました「rubyゲーム開発にユニットテスト/テスティングフレームワークを導入する」シリーズもひとまず今回で一区切りになります(なぜならそろそろ作業を区切って同人誌の原稿執筆に入らないといけないからだ!)。今回はCIの導入です。 CI…

無料2Dゲームフレームワーク「司エンジン」v2.2正式リリース!

無料のゲームフレームフレーワーク「司エンジン」v2.2が正式リリースしました。以下からダウンロードできます。・v2.2スターターキット http://someiyoshino.main.jp/file/tsukasa/tsukasa_engine_starter_kit_v2_2.zip こちらには司エンジンのコード一式の…

rubyゲーム開発にユニットテスト/テスティングフレームワークを導入する(5)【RSpec導入編】

前回(http://d.hatena.ne.jp/t_tutiya/20170209/1486646849)まではユニットテストのフレームワークとして、Rubyに標準添付されているMinitestを使用していました。Minitestは実装がコンパクトで、最小限の知識があればテストが実行出来て便利なのですが、…

rubyゲーム開発にユニットテスト/テスティングフレームワークを導入する(4)【モックの自動化(テストダブル)編】

前回(http://d.hatena.ne.jp/t_tutiya/20170205/1486285294)、キー入力を管理するオブジェクト(正確にはモジュール)をエミュレートするモックオブジェクトを作成し、それを差し替えることで、実際にキー入力を行わなくても、同等のテストが可能であるこ…

メッセージ指向ゲーム開発言語「司エンジン」v2.2b11リリース

・Input#_INPUT_API_を追加 ・Inputテストコードの追加 ・Windowクラスの継承元をClickableLayoutからControlに変更し、Clickableをincludeする形式にした。 ・ClickableでLayoutableをincludeするようにした(考慮漏れ) ・リファクタリング ・ドキュメント…

rubyゲーム開発にユニットテスト/テスティングフレームワークを導入する(3)【I/Oモックの作成編】

技術書典2に合わせて、以前書いたゲーム開発にユニットテストを導入する手法についてまとめた本を作るつもりでいます。追加として「I/Oモックの作成」「CIサービスへの登録」までできればいいなあと思っています(CIサービスまでは間に合わないかも…

メッセージ指向ゲーム開発言語「司エンジン」v2.2b10リリース

・Layoutable#width/heightプロパティ廃止(DrawableLayoutには存続) ・Imageの初期値をwidth/heightを1に変更(b8以前に戻した) ・Image#_DRAW_の第1引数をコントロールへの相対パスに変更 ・_TO_IMAGE_に作成するImageのサイズ指定を必須とした v2.2b1…

メッセージ指向ゲーム開発言語「司エンジン」v2.2b9リリース

・_END_FRAME_コマンドの名称を_HALT_に変更 ・Control#child_indexプロパティ廃止。 ・Layoutable#offset_x/yプロパティ廃止 ・Window#mouse_offset_x/yプロパティ追加(これに伴いmouse_x/mouse_yの内部実装を更新) ・TextPage#_INSERT_CHAR_IMAGE_コマン…

メッセージ指向ゲーム開発言語「司エンジン」v2.2b8リリース

・Layoutable/Drawableをクラスからモジュールに変更 ・Clickableモジュールを新設し、ClickableLayoutはそれを呼びだすようにした ・float_x/yプロパティ及びLayoutable#check_floatメソッドを廃止 ・align_x/yプロパティ及びLayoutable#check_alignメソッ…

メッセージ指向ゲーム開発言語「司エンジン」v2.2b7リリース

・TKSParserの変換結果の行数が変わらないように調整 ・ClickableLayout#collision_shapeをshapeに改名 ・ClickableLayout#shapeをwidht/hegihtと管理を分離した ・_INPUT_MOUSE_ユーザー定義コマンド廃止 ・Window#inactive_pauseプロパティ追加 ・(内部処…

v2.2b6リリース

・標準スクリプト群をplugin_scriptフォルダに移動し、defaultフォルダを廃止 ・Char/TextPageコントロールはtext_layer_script経由で読み込む形式に変更 ・Image#_TEXT_コマンドのtextオプションを_ARGUMENT_に変更 ・DrawableLayout#_TEXT_コマンドのtext…

v2.2b4リリース

・インターフェイスの変更 ・_CHAR_IMAGE_の引数をpathから_ARGUMENT_に変更 ・TileMap#_MAP_STATUS_のブロック引数を_ARGUMENT_からstatusに変更 ・_TEXT_WINDOW_のフラグを管理する専用のDataコントロールを用意 ・各種ポリシーの更新 ・プラグインフォル…

v2.2b3リリース

・内部処理:カスタムコントロールのメソッド定義インターフェイスを変更 ・rakeでtestタスクをデフォルトにしていたのを廃止 ・_NEXT_/_BREAK_にコマンドブロックを付与できる仕様を廃止(ドキュメント更新要) ・_SEND_で設定したプロパティの値をブロック…

v2.2b2リリース

・_RETURN_時に_RETURN_以降のコマンドも実行されていたバグを修正 ・_MOVE_の遷移結果が整数に強制的に変換されていたバグを修正 ・_SCOPE_コマンド廃止 ・ガベージコレクション操作関連ユーザー定義コマンド(_GC_GARBAGE_COLLECT_/_GC_ENABLE_/_GC_DISABL…

v2.2b1

・rakeでのテストに対応 ・Control#_LOAD_NATIVE_コマンド廃止 ・Inputでのパッド番号を第一引数ではなくpad_codeプロパティで決定する方式に変更 ・Input#x/yプロパティ追加 ・それに伴い_PAD_ARROW_ユーザー定義コマンド廃止 ・Window.caption/bgcolor/ico…

メッセージ指向ゲーム開発言語「司エンジン」v2.1をリリースしました

・Ruby Game Developing Advent Calendar 2016(http://www.adventar.org/calendars/1647)の22日目です。15日目はあおいたくさんの「DXRuby アクションゲームフレームワーク」でした(でした!)。 v2.1リリース v2.1リリース(github) https://github…

v2.1b6リリース

更新履歴 ・ClickableLayoutの各種判定を汎用_CHECK_での判定に変更 ・それに伴いClickableLayout#_CHECK_MOUSE_をユーザー定義コマンド化した ・(内部処理)_RETURN_の付与ブロックが実行される際にyieldスタックにゴミがスタックされ続けるバグを修正 v2.…

ゲームプログラミングの新手法「コード注入式ステートマシン」の可能性を探る(意図的な煽りタイトル)

Ruby Game Developing Advent Calendar 2016(http://www.adventar.org/calendars/1647)の16日目です。15日目はあおいたくさんの「なにか」でした(なにか!)。 懲りずにオリジナルのメッセージ指向ゲーム開発言語「司エンジン」の紹介 ・……が、当初予…

v2.1b5リリース

https://github.com/t-tutiya/tsukasa/releases/tag/v2.1b5 ・Inputコントロールを作成。 ・それにともないCHECK_INPUTをユーザー定義関数化 ・インラインデータ記法を一時削除(パーサーには残っている) ・requireの依存関係を整理 ・_PUTS_の仕様を更新 …

v2.1b4リリース

更新内容 ・tsukasa.rbの名称をWindow.rbに変更 ・起動時の依存関係を更新 ・bootstrap_script.rb削除 ・config.rb削除 ・ppを司エンジンの必須ライブラリから外した ・ファイルインクルードを統合するTsukasa.rbを作成 ・環境変数_MOUSE_OFFSET_X_/_MOUSE_O…

オリジナルのメッセージ指向ゲーム開発言語「司エンジン」でジャンプアクションゲームを作ってみる

・「ゲームエンジン・ライブラリ・ツールの開発 Advent Calendar 2016(http://qiita.com/advent-calendar/2016/gameengine)」の2日目です。1日目はNumAniCloudさんによる「コレクションの列挙中に安全にコレクションを更新するノウハウ」でした。 はじめ…

司エンジンのユニットテスト環境を構築する(1)

友達のスーパーエンジニアと飲んでいる時、「サンデーrubyプログラマである土屋が作っている司エンジンの次のステップアップとしてなにをすると良いか」と聞いたら「テストコードを書きなさい」と返事が来ました。はい。 というわけで、今後ちょっとずつテス…

v2.1b3リリース

更新内容 ・Control#_SERIALIZE_追加 ・default_script.rbに_SYSTEM_SAVE_/_SYSTEM_LOAD_/_LOCAL_SAVE_/_LOCAL_LOAD_/_QUICK_SAVE_/_QUICK_LOAD_追加 ・Window#_SAVE_/_LOAD_コマンド廃止 ・Control#_QUICK_SAVE_/_QUICK_LOAD_廃止 ・Window#mouse_x/mouse_y…

v2.1b2リリース

更新内容 ・_GET_の各要素の取得先コントロール名と格納名を指定できるようにした ・_INCLUDE_コマンドの簡易記法を廃止 ・_TEXT_コマンドの簡易記法を廃止 ・_CHECK_INPUT_で第1引数でパッド番号を指定出来る様にした ・これにともないsystem変数_PAD_NUMB…

v2.1b1リリース

・デジゲー博で頒布する本のverは2.0.1でFIXしたので、また仕様を弄っていくフェイズが始まります。 ・v2.1のテーマはtsukasaの言語仕様を確定することです。実装を作り込んで行く過程で、ぼんやりと「tsukasaはこういう言語仕様なのではないか」というのが…

司エンジンv2.0.1b2/3リリース

.■v2.0.1b3リリース ・デグレ対応 ・サンプル更新。tks形式のサンプルを極力廃した ・サンプルのファイル名を、ガイドブックの説明順に合わせて更新 補足 ・解説本のサンプルコードの順番を入れ替えたり、説明の都合上tksファイルをrbファイルに変えたりしま…