【学びの咀嚼】ふとDLsiteのランキング作品の売上が見たくなった【分析】
※注意書き
「学びの咀嚼」シリーズは道徳的な観点抜きで純粋に学びを咀嚼するので、非道徳な文章で執筆する可能性があります。
ご了承の上でお読みください。
フォロワー以上限定無料
無料プランに入るとモチベーションを支援できます
無料
クリエイター支援サイト Ci-en
フォローするにはユーザー登録が必要です。
いらにか 2023/06/02 21:33
※注意書き
「学びの咀嚼」シリーズは道徳的な観点抜きで純粋に学びを咀嚼するので、非道徳な文章で執筆する可能性があります。
ご了承の上でお読みください。
無料プランに入るとモチベーションを支援できます
無料
いらにか 2023/05/29 00:22
どうも、いらにかです。
「学びの咀嚼」シリーズは道徳的な観点抜きで純粋に学びを咀嚼するので、非道徳な文章で執筆する可能性があります。
ご了承の上でお読みください。
無料プランに入るとモチベーションを支援できます
無料
いらにか 2023/04/02 11:00
どうもいらにかです。
Mesもβテスト準備のためにバグ洗い出しなど色々進めています。
そんな最中でした。
https://twitter.com/alumiloid/status/1642074031330557952?s=20
すごく面白いアイデアです。
いずれは、ティラノスクリプトへの変換など構想はありましたが、Mesで分岐管理がいい感じにできたら面白そうです。
元ネタのアイデアではMermaidという作図記述言語をMesの派生として生み出すみたいな発想ですが、すごく着眼点がいいです。
というのもMesの思想として、記述言語が目的にそぐわない場合は「内部のデータ構造だけ再利用して、記述言語を再設計する」ことを初めから意識しています。
(Unix哲学的に言うと、捨てる準備をしておけみたいな)
ただ、色々と考えていくうちに「Mesの構造をぶっ壊さずにいい感じに実装できるんじゃないか?」という気がしてきました。
Mesの設計思想として、「脚本(書きやすさ)と台本(読みやすさ)の分離」があるため、脚本記述には複雑性を持ち込ませずに台本側でビジュアライズ(要は図の生成)できたら理想形だと思います。
Mesには非推奨ですが「拡張フィールド」というデコレーターが存在しています。
このデコレーターは「好きなデータを突っ込んでいい」という無秩序があるため、すごく便利なんですが同時にバグの危険性と仕様の複雑化が懸念される諸刃の剣です。
まぁ、今回はこいつを使えば既存の仕様を破壊せずに分岐管理を実装できるかも知れません。
知れませんでは確証が持てないので、とりあえず実装してみます。
分岐管理において必要なのは、「AからBへいく」という情報です。
例えばAというシーンにおいて、分岐からBとCに行くとき、
A-->B
A-->C
のような情報があれば表現できます。
ただ、これだともう少しリッチな表現ができるよう「どういう場合にAからBへいく」みたいな情報も持たせたいですよね。
Mermaidの場合はこんな感じの記述になります。
A-->|Bを選ぶ|B
A-->|Cを選ぶ|C
一般的なゲームエンジンやスクリプトでは、ラベル(場所)とgoto(jump)で記述されます。
ラベルも拡張フィールドで定義してもいいかもしれませんが、Mesにはセクション(==)というシーンの区切りみたいな機能があります。
今回はセクション名をラベルの代わり使うことにします。
(要は上記のABCの代わりにセクション名で関係を定義します)
セクションを明記するとこんな感じ。
== Aルート
ここはAルートです
== Bルート
ここはBルートです。
== Cルート
ここはCルートです。
これに、選択肢の内容とジャンプ先の情報があれば作れるはずです。
ちなみに、選択肢が無く、矯正ジャンプの場合もあるので選択肢の内容は記述しない場合もあり得ますね。
というわけで、30分くらい考えてみました。
?の中に設定値としてchoose:<value>,
とjump:<セクション名>,
を設定する感じにしました。
(試験的な実装なので、カンマは末尾でも必ず必須にしています)
とりあえず、サンプルテキストも書いてみました。
== 共通ルート
ここは共通ルートだぜ。
どこにジャンプする?
? choose:Aを選ぶ, jump:ルートA,
? choose:Bを選ぶ, jump:ルートB,
? choose:Cを選ぶ, jump:ルートC,
== ルートA
ここはルートAです
?jump:共通エンド,
== ルートB
ここはルートBです。
ルートBはCとAルートの選択があります。
? choose:Aを選ぶ, jump:ルートA,
? choose:Cを選ぶ, jump:ルートC,
== ルートC
ここはルートCです。
? jump:共通エンド,
== 共通エンド
ここは共通エンドです。
で、これをMermaidで分岐を作図するとこんな感じになるはずです。
graph TD;
共通ルート-->|Aを選ぶ|ルートA;
共通ルート-->|Bを選ぶ|ルートB;
共通ルート-->|Cを選ぶ|ルートC;
ルートA-->共通エンド;
ルートB-->|Aを選ぶ|ルートA;
ルートB-->|Cを選ぶ|ルートC;
ルートC-->共通エンド;
※共通ルートとルートAのように語順の統一がされてないのはMermaidで使える文字をテストするためなのであまり気にしないでください。
Mesで解析
→拡張フィールドを解析してグラフ用のデータ構造に変換
→それをMermaid形式に書き起こす(PlantUMLとか他の記述言語でもいい)
こんな感じの処理を実装すれば実現できそうです。
というわけで、MesのテキストからMermaidテキストに変換する機能を実装してsmweに試験実装しておきました。
一番下のサンプルテキストから「分岐図のサンプル」を選ぶと上記のサンプルテキストに切り替わり、詳細>デバッグ情報>分岐グラフ用のMermaid からMermaidに変換されたテストが見れます。
あとはMermaidの作図ライブラリとか入れれば、smweのアプリ内でもビジュアライズ(可視化)できますね。
ただ重くなりそうなので、グラフ表示の実装はスキップします(いつかやるかも)。
ちなみに、生成されたMermaidテキストをmmdcコマンドでpngに出力したのがこれです。
Mesでの記述仕様や実装したコードはまだまだ改良の余地があるので、これから検証と検討を重ねて合理化を詰めていきます。
とりあえず、Mesを使う人に「こういうことも出来そうだよ」と提示できたのは良かったなと思います。
Mesのポテンシャルはまだまだあるので、これからも伸ばしていきたいですね。
MermaidはGithubのMarkdownに組み込まれたりして活用場面が広くなりましたが、個人的にはPlantUMLで事足りているので、話題になった時に少し触ったくらいの知識でした。
ただ、今回の実装にあたって一番ハマったのが直接使えない文字があることです。
【Markdown】Mermaid.jsで使えない?文字
これらの文字は文字参照するしかないみたいで、結構手間がかかります。
文字参照
今回の実装では、なにも手を加えていないので使えない文字はそのまま出力されます。
(それをMermaidにくわせてもエラーになるだけ)
PlantUMLはダブルクオートで囲ってしまえばどうにかなるので、このあたりの文化の違いに一番時間を溶かしました。
ここにあります。
https://github.com/tokakuya/Mes/blob/main/Mes.Extension/GameBookExtention.cs
勢いで書いたので汚いですが、今回書いたソースコードです。
命名が微妙だったり、一部は汚いです。
どうせ後からリファクタするのでいいんですが。
Mesテキストをパースすると、Mes.core.Mesという構造化されたデータになります。
そのMes.core.Mesの拡張メソッドとして、Mermaidへの変換処理が実装されています。
なのでmes.ExportMermaid()のように呼び出せて便利です。
別の記述言語へのExport実装も簡単にできると思います。
いらにか 2023/04/01 08:45
どうも、いらにかです。
お陰様でみちくさびゅあーも4周年を迎えました!!
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉
ばっくやーど漫画もコミックウォーカーで連載が始まったりと色んなことがありましたね。
というか、桃鳥さんのマンガパワーがぐんぐん伸びてて更に磨きがかかっている気がします。
いったいどこまでいっちゃうんだ~~~(爆)
さてさて。
みちくさびゅあー感謝祭は4/1~4/9の期間で開催されます。
この期間中にばっくやーど漫画の好きな話数などをシェアしてみてはいかがでしょうか?
※後述しますが三代目びゅあーが公開されます!
※二代目と三代目、どちらを使ってシェアしてもOKです。
二代目→https://movue.iranika.info/#/
三代目→https://momoco.iranika.info/#/
以下、アナウンスになります。
※前祝いで告知した内容と同じです。
道草恋歌
https://michikusa-renka.glideapp.io/
お陰様で、道草恋歌も投稿数が300以上となり、そろそろ歌留多くらい作れそうな勢いです😊
さて。
みちくさびゅあー感謝祭では、ばっくやーど漫画を引用元とする歌会を開催します。
形式は短歌でも俳句でも何でもOKです。とにかく自由。
投稿は4/1~4/9の期間です。
注意点として、投稿部門は「ばっくやーど数コマ部門」に設定して、投稿してください。
また可能であれば、解説欄にその話数を記載するか、みちくさびゅあーのシェア用URLを貼り付けてもらえると助かります。
(必須ではありませんが解釈の一助になるのであると助かります)
※シェア用URLは各話の下の青いTwitterボタンから取得できます。
※以下は300話の場合のシェア用URL。このURLの末尾の数字を話数に書き直してもOKです。
https://movue.iranika.info/index.html#/?page=300
歌会に投稿された中から、いらにかの独断と偏見で選出した歌を4月末までに発表する予定です。
皆様のご参加をお待ちしております。
二代目みちくさびゅあー(開発コード:movue)は開発を凍結し、2023年内でサポートを終了することになりました。
代わりに三代目みちくさびゅあー(開発コード:momoco)がみちくさびゅあーを襲名します。
https://momoco.iranika.info/#/
三代目は二代目にあった幾つかの機能が削除されています。
※1は今後追加実装されるか別アプリになるかもしれません。
※2はタイムラインと競合するので吸収合併されました。
その代わりに、三代目では設定ページからヘッダー画像が変更できるようになっています。
正直、これが欲しかった。
みなさんも好きなヘッダー画像を設定してみてください。
※あと地味にしおり(ブックマーク)の位置が右上になって見栄えが良くなっています。
一応、各世代のみちくさびゅあーにはテーマがありました。
初代は『超シンプルで単なるビュアー』
太古のHPを彷彿とさせるようなシンプルなデザイン。
HTMLとJavascriptのほとんどを手書きで実装。
エゴの塊で、余計なものは極力排除しました。
二代目は初代の反動から、テーマは『多機能なビュアー』
実際にユーザの声から実装された機能が幾つかあったのも思い出深いです。
(マイページの購入作品管理がそのひとつ)
三代目は『Re:make』
コミックウォーカーでばっくやーど漫画の連載が始まり、2022年はみちくさびゅあーの役割みたいなものを見つめ直す年になりました。
二代目が多機能になって、FireBaseなど外部リソースに依存していたこともあり、もう一度シンプルなビュアーに立ち戻りたくて三代目を作り始めました。
(この頃、私がVue3に移行していたのでVue2で書かれていた二代目をもう書きたくなかったという心境もあります)
その最中で、二代目の最新6ヶ月分のソースコードを消失するという事件をやらかして、わりと本気で凹んでしまい、びゅあー関連の開発から目を背けたりしていました。
(事象を簡単に説明すると、Githubへソースをプッシュし忘れていた&GoogleDriveのバックアップ同期が停止していた&開発環境移行時のファイル移動で何故かsrcディレクトリだけ消失したというコンボ。完全に自分の過失なので凹みました)
もう一年が経過するので公開しますが、結構本気でみちくさびゅあーの今後について考えたりしていました。
下記はその資料です。
現状、みちくさ電話も開発をストップしていて「誰か変わりに作ってくれ…」と他力本願になっています。
(数年後のいらにかが作ってくれ……)
あと、みちくさびゅあーのコミュニティ運営化計画(願望)も全然進められていないのでダメダメです。
※2024年までは趣味のリソースをMesに注ぎ込みたくて、道草屋関連のモチベーションが以前よりも低下している現状があります。器用じゃないので主管プロジェクトはマルチ稼働ムリ……
[【Mesって何?】公式HPを公開しました【そう聞かれたらURLを投げつけろ】]
(https://ci-en.net/creator/10765/article/832837)
ちなみに、みちくさびゅあーの開発はUNIX哲学の一つと数えられる名著の
https://cruel.org/freeware/cathedral.htmlから学んだ哲学をモットーに開発してきました。
1. よいソフトはすべて、開発者の個人的な悩み解決から始まる。
ここからみちくさびゅあーが始まりました。
最初期はいらにか個人のための単なるWebアプリでした。
2. 何を書けばいいかわかってるのがよいプログラマ。なにを書き直せば(そして使い回せば)いいかわかってるのが、すごいプログラマ。
3. 捨てることをあらかじめ予定しておけ。どうせいやでも捨てることになるんだから
二代目はフレームワークやPaaSを活用したり、シングルトンな状態管理コードを再利用するようにしました。そもそも何かあれば一から作り直すことを想定して手間を掛けすぎないように意識しました。
4. まともな行動をとってれば、おもしろい問題のほうからこっちを見つけだしてくれる。
原題はまともな行動をとってれば問題のほうからやってくる的な意味です。
正しく行動しようとすれば、課題のほうが勝手にやってきてくれるみたいな。
これに近い話で、記憶に残ってる話があります。
ばっくやーど漫画は大きく表示できたほうが読みやすいので、ある時期まで横のサイズを95%くらいに設定していました。
スマホやFullHDのPCなら読みやすくて問題がなかったんですが、なんと4Kのでかいデスプレイだと「横に合わせるで縦幅が小さくなってむしろ読みづらい」という事象が起こりました。
5. あるソフトに興味をなくしたら、最後の仕事としてそれを有能な後継者に引き渡すこと。
これが全然できていない。
びゅあーはある程度の課題を解決していて、ソフトウェアとして成熟してきているからこそ、拡張に興味のある後継者とか居ない気がします。
とはいえ、コミックウォーカーがある現状を見据えると、みちくさびゅあーを後継者に引き継ぐ必要性はないのかもしれないとか思い始めています。
いらにかが滅びてもしばらくは稼働してくれるように構築しているので、無理に後継者を見つける必要ないかも。
(とは言え、検索くんのDB更新とかサボってるのが色々とあるのです。この件については後述の方法で解決します)
書いてて内容がなんか後ろ暗い感じになっちゃってますが、要はプライベートなリソースの兼ね合いとかでモチベーションが低下してるって話ですね。
こればかりは個人的なポリシー「やりたいと思った時に好きなだけやる」を貫いてるからこそ、モチベーションに波があるのは仕方ないです。
義務だと思うと疲れちゃうので。
みちくさびゅあー(三代目)はVue3でQuasarというフレームワークを使って書いてますが、もし開発に興味がある人が居たらDMとかCi-enのメッセージとかください。
(みちくさびゅあーの技術というクイック参加用教材もあるので、Webアプリ開発に興味があるよって段階の人も相談に乗れます)
表題のとおりです。
誰でも編集できるスプレッドシートを用意しました。
https://docs.google.com/spreadsheets/d/1S5CjnqjOH4_gPZzEIoJ0gb2G27bnjpWlx_jgseUHMOk/edit?usp=sharing
以前から「ここの検索ワードにこれ追加したかったんだよね」みたいなものもあれば追記しちゃって構いません。
ちなみに、第297話「脱皮」以後のC,D,E列は手つかずです
(F列移行は記入の必要はありません)
この手の手作業が個人的に苦痛で、4行くらい更新したらストレスで発狂して手が止まります。
ホントは自動化したいですが、こういう曖昧なデータ系は自動化するとメンテナンスがめんどくさいのです。
検索くんは便利だけど、使ってる人いるのか怪しい。
僕自身がもうあまり使ってないので。
そこで色々と考えた結果、年に一回だけびゅあー感謝祭で誰にでも編集する機会を設けたらいいのではと思ったので今年からそうします。
(一応、アプリに即反映されるようなデータシートではありません)
今後は、いらにかも一般ユーザと同じ立ち位置でデータのメンテナンスをします。
(要は欲しくなったときだけデータ更新します。基本ノータッチです。)
もし通年で編集権限が欲しい人がいたら連絡ください。
みちくさびゅあーはアクセスユーザ数が安定期に入っているようで、ここ一年くらいは横ばいな感じです。
今の率直な感想としては、これから急成長するようなアプリではないと認識しています。
新規を増やす役目もあまり感じていないので、ここからはゆっくりと成熟期に入って行くでしょう。
来年は5周年なので何かお祝いがしたいですね。
せっかくエイプリルフール期間を挟んでるので。
道草恋歌は月例賞の更新がストップしているので、どうしようかなと考えてます。
ゆっっったりと各歌人がマイペースに向き合って欲しいので、今ぐらいのペース感がちょうどいいというか、現状の雰囲気を僕はさほど問題視していません。
月例賞も起爆剤的な取り組みとして試験的に始めたものなので、しばらく休刊しても良いと思っています。
ただ、新人さんが増えたので歌会はちょこちょこ開いて行きたいなとは思います。
月例賞が始まる前のペースくらいが現状はちょうどいいのかもしれません。
というわけで、みちくさびゅあー感謝祭の始まりです。
いらにか 2023/03/30 19:53
どうも、いらにかです。
表題の通りMesの公式HPを公開しました。
「Mesって何?」と聞かれた時は公式HPのURLをぶん投げてください。
そのために作ったと言っても過言ではありません。
この公式HPは、Mesの入り口として機能するように今後も整備していきます。
■公開したときのツイート
https://twitter.com/happy_packet/status/1641329846134648832?s=20
https://twitter.com/happy_packet/status/1641340033608339456?s=20
大きなアップデート等がありましたら、またTwitterやCi-enでアナウンスします。
雨想筍(しもふりたけのこ)さん、左右田蓬華(そうだほうか)さんのサークル『箱庭*ふぉとじぇにっく(R-18含む)』にお願いして、Mesのサンプルテキストとして幾つかシナリオをご提供頂きました。
(それをいらにかがMes形式に変換してサンプルテキストとして使っています)
いらにかのCi-enはR-15なので、ゆなのちゃんの作品がR-18であることを読者にお伝えした上で、各自の自己責任で作品ページはご覧になってください。
(R-18)【リアル尺】後輩OLの餅月さんにお持ち帰りされた日のおはなし【スローセックス】
YoutubeのほうはR-18じゃないので、誰でも見れるね!
https://www.youtube.com/watch?v=sEWCYn6Sf6A&t=16s
箱ふぉとさんはMesの初期から色々とお世話になっていたので、こうしてMes関連で宣伝みたいなことができて、ひと安心しています。
私事ですが、Mesプロジェクトは『Projcet Nika』という私個人のSOGs(継続可能なオタ活目標)の一環として活動しています。
『Projcet Nika』では私の好きなクリエーターさんが不本意な形で活動休止にならないように、自分に何ができるのか問題意識を持って考え続けています。
(この辺がSDGsっぽいですよね)
まだMesには宣伝効果を期待できませんが、『Project Nika』の下位プロジェクトであるMesがようやく形になり始めて、クリエイターさんやサークルさんを支援できそうな可能性が現実味を帯び始めてきたことに少しばかり安堵しました。
ですが、これからが本当の試練なので、気を引き締めて引き続き頑張りたいと思います。
公式HPで使っているシンプルなMes用のWebエディターは、こんな感じでCi-enにも埋め込めます。地味に便利です。
(まぁだから何なんだって話なんですが)
あくまで、Mesをお試しするためのシンプルなエディターなので、機能拡張をどこまでやるかとか未定です。特に開発中のMesToolsとの差別化とかは考えないといけないので。
少なくともPlay ground(遊び場)的な役割は果たしてくれれば満足です。
Mesはクローズドβテストの開催を予定していて、今はその準備のためにスライドを作ったり、Discordサーバーを用意したりしています。
本当は「勝手に調べていい感じにMesを理解して使ってくれ」と投げ捨てて、この辺の作業をサボってプログラミングに集中したいです(本音)
でも、ドキュメンテーションや環境整備って、意外とUXに直結するのでサボれません。つらたん。
ただ、変更への柔軟性を保つためにMesではドキュメントの品質は詳細を詰めない程度のゆるい管理をしています。なので高品質なドキュメントは出てきません。
期待しないでください。
ちなみにクローズドβテストの開始目標は5月上旬です。
たぶんテスター募集のタイミング(4月中にやりたい)で、Youtubeとかやるかもしれません。
その前に改めてTwitterやCi-enでアナウンスします。
この春から夏にかけてがMesの正念場だと思っています。
まだまだ先の話ですが、Mesの仕様管理の体制をどうるか色々と考えています。
現在は開発中のコードをそのままリリースしてOKにしていますが、いずれは安定版を出したほうがいいよねという意見があります。
今のところの最善案は、Devチャネルの最新仕様を翌年の数字(2023年なら2024)として常にアップデートしながら、年を越したタイミングで2024の仕様を凍結して安定版として保守、以後は2025をDevチャネルとしして……を繰り返す方針です。
安定版は一年間のサポート(つまり2024は2024年内しか保守されない仕組み)になります。
これならと古い仕様のサポート期間が少なくて済みます(開発側の負担軽減)
あと二次ソフトウェアを有償化するにしても、月額課金制ではなく、年額で買い切りを用意したいと思っています。
(月額サブスクは滅びろ派なので)
最新のやつ使い続けたいなら年1で新作買ってね方式のほうが、良心的だと思うのでそうしたいと考えています。1,000円くらいで。
あまりビジネス的な要素は強く考えていなくて、ぶっちゃけすべてを無償で提供するのもやぶさかではありません。フリーソフトウェア思想も好きなので。
ただ、近年の『ソフトウェアが無償で使えて当たり前』みたいな風潮を許したくもないという自己矛盾に苦しんでいます。
広告による収益で無償化を維持するのも検討していますが、DLsite以外はあまり信頼していないので自分のソフトウェアにAD系の広告は入れたくありません。
(このあたりはマルウェア感染などセキュリティ的な価値観なので賛否はあります)
まぁ、まだまだ先の話ですがMesの言語仕様のバージョン管理がいずれ必要になってくると思うので色々と考えてますという話でした。
Mesはまだまだ課題が多いので、悩みはつきません。