開発状況 2018 #4
Lumino 8歳になりました。
多分そのくらい。
好きで作ることと惰性で作ること
開発に疲れて数週間音沙汰が無くなったと思いきや、以前より増した謎のモチベーションで GitHub に草を生やし始めます。 こんなことも半年スパンでかれこれ5回目くらいです。そういう人間なんでしょう。
一方の惰性の話。 Lumino は OSS ですが、やってることは多分全然オープンじゃないです。 というのも実際のところ「自分の成果物を他人と共有する」よりも「自分が勉強したことを実際にコードに落とす」ことに傾倒しすぎています。
まぁそのほうが楽しいからね。目標を文書にして開発ガイドラインを整えてリリースパッケージを準備するのは大変な仕事です。 だからだらだらと、勉強して、コード書いて、動いて、次。
勉強目的ならそれでいいし車輪開発も歓迎なんだけど、でもそうじゃないんだよ。そろそろちゃんと使える形でリリースしたい。
というよりまだ開発続けるつもりなの?
v1.0.0 までのロードマップを敷いて、そこにたどり着くまでは続けていきます。
一応、開発のモチベーションをメモしておきます。
やりたいこと
クロスプラットフォーム・マルチプログラミング言語で効率的かつ透過的に使える、デジタルアートなプログラマのための2D/3Dグラフィックスツールキットを作りたい。
あれこれなんかミッションステートメントのお題目でいい気がする。
作り始めた一番最初の動機は、RPGツクールのスクリプトシステム、あれを C++ や C# でも使いたい!でした。すごいよ、あれは。
学ぶことの土台
そこそこの規模のソフトを組むというのはそれだけで学べることがあるわけで、Lumino の開発からは新しい技術を勉強するだけでなく設計の方法など多くのことを学んでいます。
今はそれでゴハン食べてるからそれはそれで Lumino 作って成功だったかなと思います。
Lumino の今後
開発状況をオープンにするには何をすればいいだろう?
- スコープを決める
- どのタイミングまでに何をやるのか、やらないのか(期間は決めないです。そのへん決めても本業しだいで予定通り時間はとれない)
- とにかくまずは使える状態で公開する
- スクリーンショットじゃダメ。動くものが正義。
- 経過をアウトプットする
- 進捗報告だけじゃなくて、そのローカルにため込んでいるメモ兼仕様書を公開するのじゃ。
とか考えつつ・・・
今のコードは v0.4.0 タグを以ってアーカイブします。
最初から完璧なドキュメントは用意できませんが、基本的なものを用意した後、ロードマップに沿ってコードをイチから入れなおします。
書き直すのではなく、コードに山ほど書かれていたりする TODO を潰したりテスト書いたりリファクタリングしながら再構築していきます。(戒め:異常系動作を詰めすぎない。どうしても逃げ道がなければ対策するが、それよりユーザーストーリーの満了を優先)
合間に、共有できそうな技術情報があればアウトプットしていきます。
また、バイナリパッケージは初版から公開していきます。まずは Nuget かな。
ゲームエンジンとしての機能はかなり先の実装になりますが、しばらくは粛々とタスクを消化していきます。