Skip to content

Siv3D: C++ Library for Creative Coding

Siv3D is a modern C++ framework for writing C++ programs for visualization and interaction in 2D/3D games, media art, visualizers, simulators, etc. in very short, fun, and easy code. Siv3D is released under the MIT license. As of August 2021, the SDK has been downloaded approximately 10,000 times in the past year. Siv3D applications run on Windows, macOS, Linux, and the Web.

Getting Started (Download)

SDK のインストール方法や最新のチュートリアル、サンプルを解説しています。

Features

Siv3D を導入することで、次のような操作を組み合わせたアプリケーションを非常に短いコードで記述できます。

  • 図形や画像、テキスト、動画、3Dモデルなど、グラフィックスの描画 (Direct3D 11 / OpenGL 4.1 / WebGL 2.0)
  • マウスやキーボード、Webカメラ、マイク、ゲームパッドなど、ヒューマンインタフェースデバイス (HID) の使用
  • ウィンドウ処理、ファイルシステム、ネットワーク
  • 画像処理や音声処理
  • 物理演算や経路探索、幾何などの計算
  • データ構造やアルゴリズム

Siv3D は標準的な C++ で書かれていますが、ユーザはほとんどのプログラムを、Siv3D が提供する便利な型や関数を使って記述します。そのため、描画やインタラクションのための DSL (domain-specific language) としての性格が強いです。例えると Java にとっての Processing です。

# include <Siv3D.hpp>

void Main()
{
    Scene::SetBackground(ColorF{ 0.8, 0.9, 1.0 });
    const Texture food{ U"🍿"_emoji };
    const Texture chick{ U"🐥"_emoji };

    while (System::Update())
    {
        Circle{ Scene::Center(), 100 }.draw();
        food.drawAt(Scene::Center());
        chick.drawAt(Cursor::Pos());
    }
}

Unity のようなゲームエンジンとの一番の違いは、Siv3D はビジュアルツールを持たず、すべてコードで完結するということです(Siv3D で独自のビジュアルツールを組むことはできます)。

Siv3D is the Best

⚡ 非常に短いコード

Siv3D のコードは最短で 2 行です。様々なインタラクションを実現する便利な機能が揃っているため、アプリケーションのほとんどは 1 つの .cpp ファイルだけで完成します。思いついたアイデアや成果物のソースコードを、GitHub Gist などのコード共有サイトを使って手軽に保存・シェアできるため、世界中の Siv3D ユーザと技術を学び合うことができます。

🛸 最新の C++ を学べる

Siv3D のサンプルコードとライブラリ API は、すべて最新の C++20 を活用して書かれています。Siv3D を使っているだけで、モダンな C++ の書き方やテクニックを自然と身につけることができます。Siv3D の作者は、日本最大のゲーム開発カンファレンス CEDEC で最新 C++ の活用に関する講演をしたり、C++ の情報ポータルを作成したりするなど、最先端の C++ の普及に努めています。

🏬 豊富な機能を Siv3D API に統合

画像処理、音楽再生、物理演算、テキストファイル読み込み、シリアル通信・・・。たくさんの処理のために、ライブラリを探し回り、ドキュメントを読んで使い方を調べ、API の要求に従ってデータ形式を変換するコードをひたすら書く必要はもうありません。Siv3D は 2,200 ファイルのソースコードと 90 のサードパーティ・ソフトウェアが実現する、可視化やインタラクションの様々な機能を、一貫した API で提供します。Siv3D のルールを覚えるだけで、ありとあらゆる機能が思いのままです。

⛰️ オープンソース

Siv3D は MIT ライセンスのもと GitHub 上でホスティングされています。内部のコードが気になったらいつでも調べることができ、改造することもできます。サードパーティ・ライブラリを含め商用利用を妨げる条件はありません。Siv3D で開発した Windows, macOS, Linux, Web 向けのゲームやアプリケーションを販売して得た収益は 100% 開発者が獲得できます。Siv3D のビジョンに共感し、より優れた開発体験を心待ちにしている方は Siv3D の個人スポンサーとして Siv3D プロジェクトを応援してください。

🐦 軽量・迅速

Windows 版の OpenSiv3D SDK のインストーラのサイズは 200 MB 未満です。秒でダウンロードが終わり、インストールはわずかなクリックで自動的に終わります。Visual Studio を起動すると、メニューには Siv3D プロジェクトを作成するアイテムが追加済みです。あっという間に、楽しい C++ プログラミングの世界への入り口があなたのパソコンにセットアップされます。アンインストールしたいときは、通常のアプリケーションと同様に OS の設定からワンクリックです。

💗 親切なユーザコミュニティ

Siv3D を使って困ったことがあったら、Siv3D ユーザコミュニティ Slack で質問しましょう。匿名で質問したい場合は BBS も利用できます。毎月オンラインで開催される Siv3D 実装会では、Siv3D の熱心なユーザ達や Siv3D の作者と、Discord 上で雑談や技術的な相談をすることができます。Twitter では定期的に #Siv3D, #OpenSiv3D ハッシュタグを巡回しています。ユーザコミュニティが、作品の宣伝やシェアに協力してくれるでしょう。OSS (オープンソースソフトウェア) 開発に貢献したい学生に対して、Siv3D を練習場にしてサポートするプログラムも毎年実施しています。

🌐 Web ブラウザ上で動く(試験的)

現在試験的に提供される Web 版 (OpenSiv3D for Web) を使うと、Siv3D で作った C++ アプリケーションを、WebGL2 をサポートするモダンな Web ブラウザ上で実行可能なプログラムに変換できます。スマホやタブレットから、多くの人があたなの作品を体験できます。

💗 Siv3D Sponsors

Sponsor tier
🌳 Gold Sponsor
🌴 Silver Sponsor sknjpn, MEATANDMEAT
🌷 Bronze Sponsor アゲハマ, anonymous 😀, minachun, Fuyutsubaki, anonymous 😊, anonymous 🐝, anonymous 🐠, 野菜ジュース, MawkishWaffle, jacking75, Chris Ohk, IZUNA, qppon, k-sunako, ysaito, totono, おおやま, tumf