0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Ankiアドオン】 Ankiのアドオンが1200ダウンロードを突破しました!

Last updated at Posted at 2025-05-19

AnkiFarmTycoonLogo.png

こんにちは。今回は私が個人で開発したAnkiアドオン「Anki Farm Tycoon」が、1200ダウンロードを突破しました!

Ankiのアドオン開発についての記事はあまりないので、せっかくなので、書いてみることにしました!

📦 Anki Farm Tycoonとは?

AnkiFarmTycoonDemo.gif

「Anki Farm Tycoon」は、世界中で利用されているフラッシュカードアプリ「Anki」の拡張機能として開発した牧場経営ゲーム型アドオンです。

ユーザーは小さな牧場の経営者となり、Ankiのカードに正解することで動物を育て、資源(ミルクや卵など)を得て収益化。それを使って土地を広げたり、従業員を雇ったりしながら、大きな牧場を目指します。

つまり、学習すればするほど牧場が成長する!
学習の成果がゲーム内に反映されるので、継続のモチベーションがグッと高まります。

🎮 アドオンページ:AnkiWebで公開中
💻 ソースコード:GitHubリポジトリ


🎯 開発の背景

Ankiは語学学習をはじめ、さまざまな知識の定着に最適なツールです。しかし、長期間使っているとどうしても「飽き」や「単調さ」を感じることも。

そんなときふと思ったのが、

「学習そのものをもっと楽しくできないか?」
「“義務感”ではなく“楽しさ”で学習が続く仕組みを作りたい!」

ということでした。
そこで、ゲーミフィケーションを取り入れた学習体験を実現すべく、「Anki Farm Tycoon」を開発しました。


🔧 使用技術と工夫したポイント

AnkiアドオンはPythonとQt(PyQt)ベースで開発することが推奨されています。そのため、本アドオンも以下の技術で構成されています。

  • 言語: Python
  • UI: PyQt5(Ankiが提供するアドオン環境に対応)
  • データ保存: AnkiのデータベースとJSONによる補助管理

UIはAnkiのレイアウトに自然に溶け込むよう意識しながらも、「ゲームっぽさ」を感じられるようカスタマイズしました。


📊 ダウンロード数とユーザーの声

現在、ダウンロード数は1200を突破しました!
特に海外の英語学習者を中心に好評をいただいており、GitHubのIssueやAnkiWebのレビューを通じて多くのフィードバックを頂戴しています。

ユーザーからは以下のような声も届いています:

“This add-on made reviewing fun again!”
“It’s amazing how such a simple idea makes a big difference.”


🛠️ 少しだけ技術的な話

「Anki Farm Tycoon」は大きく以下のようなモジュール構成になっています。

  • constants.py
    各動物の成長率(growth_rate)、生産確率(production_chance)、販売価格などの定数を管理。

  • models/

    • AnimalFieldEmployee クラス群:
      • Animal@dataclass で定義され、成長度(maturity)や生産タイミングをプロパティで保持。
      • Field はマップ上のセルを表し、動物オブジェクトの配置・解放を担当。
      • Employee は自動売買ロジックを実装し、売上に対して一定比率で給与を差し引く機能を提供。
  • gui/

    • PyQt5ベースのウィンドウ・ウィジェットを定義。
  • utils/

    • JSON の永続化:ユーザー設定やゲーム進捗を ~/AnkiFarmTycoon/config.json に保存・読込。
    • AnkiコレクションAPIラッパー:回答イベントをフックし、カードの正誤判定でゲーム内イベントを発火。

動作概要

  1. カードに正解するたび、models.Animal.grow() が呼ばれ、定数 GROWTH_RATE に従って成熟度を加算。
  2. 一定成熟度(50%以上)で models.Field.sell_animal() により収益化。
  3. utils.Timer を使った定期チェックで、生産確率に応じてアイテム(卵・ミルクなど)を生成。
  4. GUI上では PyQt のアニメーションを組み合わせ、成長エフェクトやショップ画面のレベルアップ演出を実現。

詳しいクラス設計やメソッドの挙動はGitHubリポジトリをご覧ください:
https://github.com/omuomuMG/Anki-Farm-Tycoon


🚀 今後の展望

今後も以下のようなアップデートを予定しています:

  • UIの改善(よりポップで可視化重視のデザインへ)
  • 動物や建物の種類の追加
  • 実績システムの導入(例:連続学習ボーナス)

また、ユーザーの声を第一に考え、**「継続できる学習体験」**をさらに追求していく予定です。


👋 最後に

学習を「楽しい体験」に変えたい。
そんな思いで開発した「Anki Farm Tycoon」ですが、思った以上に多くの方に使っていただけて本当に嬉しいです。

Ankiユーザーの皆さん、ぜひ一度試してみてください。
学習がゲームに、ゲームが習慣に変わるかもしれません!

Anki Farm Tycoonをダウンロードする
GitHubリポジトリ⭐️


ご質問・改善提案などあればお気軽にGitHubでIssueやPRをお寄せください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?