Between thought and specification

私が主催するSteel Wheels Project関連の情報や、ソフト開発に関する記録、覚書です。

アナザーエデン

私がモバイルアプリで一番気に入っているのは、アナザーエデンです。モバイルのゲームの中ではダントツに面白いです。

現在、ガチャの不正実装疑惑でグダグダになっている様ですが、明日(10/04)から正常状態に戻るらしい。今後もサービス継続、開発継続していただければ嬉しいです。

ドキュメント管理

githubを使用している事もあり、各アプリ、フレームワークに添付するドキュメントのフォーマットには、markdownを使用しています。

APIの説明など、定型的な章立てを使うドキュメントが多いです。この様な文書をフリーフォーマットのテキストで管理するのは管理が困難だと気づき始めました。Domain Specific Formatを定義して、入力テキストがそれに沿っているか確認しつつ、markdown文書を生成するツールが必要だと考えます。

ツールの要求仕様をまとめました。

  • 入力
    1. テキストの入力フォーマット(DSF: domain specific format)の定義
    2. 上記フォーマットをmarkdownフォーマットに変換するルールの定義
    3. 入力テキストファイル (複数指定可)
  • 出力
    1. markdownフォーマットのテキストファイル

DSFとルールの提議方法がキモですね。

AmberDesigner (仮)

本プロジェクトの最終ゴールは、21世紀のHyperCardの開発です。 AmberPlayerはいわばHyperCard Liteの位置付けで、AmberPlayerに入力するスクリプトGUIアプリケーションにて生成するのがAmberDesignerと呼ばれるソフトになります。

AmberDesignerは未だ実装されていないソフトです。まだまだAmberPlayerの開発に注力していきます。

Xcode10でmac OS Bundleが作れない

Xcode10でバンドルを生成する時に、"Always Embed Swift Standard Libary" をYESにすると、

    Build input file can not be found ...

というエラーが出てしまいます。ログを見ていると、CopySwiftLibsコマンドが内部で呼び出す、builtin-swiftStdLibToolコマンドの--scan-executableオプションの引数に、存在しない実行ファイルを指定しています。

そもそもの原因は、Xcode 10でビルドシステムが刷新されたからの様です。対応方法については、Quiita: コンソールアプリケーションでのカスタムフレームワークの使用方法にまとめました。

AmberPlayerの紹介

AmberPlayerなるソフトを開発中です。AmberPlayerは、Amberプログラミング言語で書かれたプログラムを実行するためのソフトウェアです。macOSもしくはiOSで動作します。ソースコードは、GitHubで公開中です。

Amberプログラミング言語は、PCもしくはモバイルデバイスGUIを、容易に実装するための言語です。 MVCのビューを、NewtonScriptのフレームに似た記法で記述します。コントロールJavaScriptで記述します。

Amberプログラムのスクリーンショットを以下に挙げます:

 

プログラムの起動画面です。

f:id:steel-wheels-project:20180922022955p:plain

シンプルなボタンを表示するAmberScriptは以下になります。

 

main_box: Box {
        exit_button: Button {
            title: string "Quit",
            pressed: void event %{
              console.log("Hello, World !!\n") ;
            %}
        }
    }

 

上記スクリプトの実行結果です。

f:id:steel-wheels-project:20180922022854j:plain

The software in my life

私が愛した、というか衝撃を受けたソフトウェアを挙げてみました:

  • Maciontosh operating system: Macintosh システムソフト、もっと言えばファインダー。MS-DOSしか見たことがない私には衝撃のソフトウェアでした
  • HyperCard: Macintosh用の超有名ソフト。プログラミングに関する知識があまり無くても、アイデアさえあれば、優れたソフトウェアが作れる可能性があるということを世に知らしめたソフトだと思います。あまり使わなかった事を公開してます。だって動作が重くて...
  • Google Earth: これも衝撃を受けました。世界中の情報に自分がアクセスできる事を実感(思い込み?)させるソフトでした。PCの前にいながらにして世界中を旅できる時代の到来をあ感じさせました。

特に、HyperCardは、私がSteel Wheels Projectを始めたきっかけになっています。

Steel Wheels Project関連情報

プロジェクトの関連リンクを以下に挙げます:

AppStoreに挙げたソフトもいくつかありますが、人気も出なかったですし、現在メンテナンスもしてないので、ここでは取り上げません...