創造のための C++ フレームワーク Siv3D¶
Siv3D(シブスリーディー)は、音や画像、AI を使ったゲームやアプリを、モダンな C++ コードで楽しく簡単に開発できるオープンソースのフレームワークです。豊富なサンプルコードとチュートリアルが用意され、オンラインのユーザコミュニティで気軽に質問や相談ができます。
Siv3D をダウンロードする¶
* Web 版は有志による非公式の拡張機能で、設定がやや複雑なため Siv3D 中級者以上向けです。
-
動作環境
Windows / macOS / Ubuntu / Web
-
ライセンス
MIT ライセンス
-
開発言語
C++20 / HLSL / GLSL
-
バージョン
0.6.15(2024-07-04) / 0.8.0(開発中)
コミュニティ¶
日付 | イベント | 対象者 |
---|---|---|
2025-01-25 | Siv3D 勉強会 in 東京電機大学 2025 | 東京電機大学の学生・教職員 |
2024-12-15 | Siv3D 勉強会 in 京都 2024 | だれでも |
2024-12-14 | Siv3D 実装会 in 京都 2024 | だれでも |
2024-12-01~25 | Siv3D Advent Calendar 2024 | オンライン・だれでも |
2024-12-01 | Siv3D 実装会 in 熊本 2024 | だれでも |
過去のイベント Siv3D Discord サーバーに参加する
C++ によるゲーム・アプリ開発を効率化¶
2D/3D グラフィックス描画、音声再生、入力処理、物理演算、画像処理、AI、ネットワーク通信など、実用的なソフトウェアの開発に必要なクラスや関数が豊富に提供されます。
Unity や Unreal Engine などの商用ゲームエンジンと異なり、独自のエディタやスクリプトを用いず、純粋な C++ コードだけでゲームやアプリケーションを完成させられます。
C++ のスキルを活かしたいプログラマーや、C++ での開発を学びたい人にとって、Siv3D は有力な選択肢です。
# include <Siv3D.hpp>
void Main()
{
// 背景色を水色に設定する
Scene::SetBackground(ColorF{ 0.8, 0.9, 1.0 });
// 絵文字からテクスチャを作成する
const Texture texture{ U"🐥"_emoji };
// テクスチャを描く位置
Vec2 pos{ 400, 300 };
// メインループ
while (System::Update())
{
// もし左クリックされたら
if (MouseL.down())
{
// 描く位置を現時点でのマウスカーソルの位置に変更する
pos = Cursor::Pos();
}
// テクスチャを描く
texture.drawAt(pos);
}
}
Siv3D の用途¶
1. 最新の C++ の学習(クリックで詳細)
Siv3D の作者は、日本最大のゲーム開発者カンファレンス CEDEC で最新 C++ の活用に関する講演を行うなど、最先端の C++ の普及活動に取り組んでいます。Siv3D の API とサンプルも最新の C++ 規格を活用して書かれているため、Siv3D を使うことで現代的な C++ の書き方が身に付きます。作品開発と C++ の学習を同時に進めましょう。
2. フリーゲーム・商用ゲームの開発(クリックで詳細)
Siv3D を使って本格的なゲームを開発し、Steam などのゲーム配信プラットフォームでリリースすることができます。Siv3D で作られたゲームの例をいくつか紹介します。
3. プログラミングコンテストにおける情報可視化・GUI(クリックで詳細)
C++ で問題を解く際に、Siv3D を使って情報の可視化や GUI を作成することで、問題解決の効率を向上させることができます。全国高等専門学校プログラミングコンテスト(高専プロコン)第 34 回大会(2023 年)の競技部門では、優勝、準優勝、3 位、特別賞を、Siv3D を活用したチームが独占しました。また、第 33 回大会、第 29 大会の優勝チームも Siv3D を使いました。直近の大会では出場校の 3 分の 1 以上が Siv3D を使っています。
4. 研究のためのソフトウェア開発(クリックで詳細)
Siv3D を使って実験用のアプリを作ったり、シミュレーションの結果をアニメーションで表現したりすることができます。Siv3D は、研究者が自分のアイデアを形にするための強力なツールとして活用されています。大学生や研究者による Siv3D の利用事例を紹介します。
5. オープンソース活動への参加(クリックで詳細)
プログラミングの経験や実装力を生かして、Siv3D 本体の開発やバグの報告、サンプルコードの作成、記事執筆など、Siv3D での開発体験を向上するためのオープンソース活動に参加できます。これまで中学生を含む 60 人以上が、Siv3D 本体にソースコードをコミットしています。
6. Web ブラウザ向けの作品配信(クリックで詳細)
有志ユーザによって提供されている Web 版(OpenSiv3D for Web )を使うことで、Siv3D で作った C++ アプリを、ブラウザ上で動く Web アプリに移植できます。スマホやタブレットをターゲットにして、たくさんの人に作品を届けることができます。Siv3D 製の Web アプリの例を紹介します。
ゲーム「選挙で勝とう 2024」を作成しました!
— E869120 (@e869120) October 24, 2024
舞台は日本の衆議院選挙。ある党の党首のつもりになって、12 日間の選挙を戦う全く新しいゲームです。ぜひ遊んでみてください!!!
URL: https://t.co/tnIySuWA4A pic.twitter.com/ZcNHVy61ex
大学の講義で教えるために、浮動小数点数 (float 型) の仕組みを学べるアプリを Siv3D で作りました。https://t.co/BNSwkqAHzt
— Ryo Suzuki (@Reputeless) June 29, 2022
(PC でのアクセス推奨) #Siv3D #OpenSiv3D pic.twitter.com/OAmZfo5R9D
Siv3D を採用する理由¶
-
1. オープンソースで安心
Siv3D は オープンソース です。誰でも内部のコードを調べたり、改造したりできます。サードパーティ・ライブラリを含め、商用利用を妨げる条件はありません。開発したゲームやアプリケーションの収益は 100% 開発者が獲得できます。
-
2. すぐに始められる
Windows 向けの Siv3D SDK インストーラはわずか 120 MB, インストールは数クリックで完了し、すぐに Visual Studio のメニューに表示されます。開発に必要な情報が公式のチュートリアルにそろっていて、書籍や入門記事を探す必要はありません。
-
3. 非常に短いコード
描画や入出力を実現するための便利な関数とクラスが豊富に揃っていて、1 つの .cpp ファイルで簡単なアプリケーションが完成します。ソースコードを GitHub や GitHub Gist で瞬時にシェアして、世界中の Siv3D ユーザと技術を交換しましょう。
-
4. 小さな学習、大きな力
Siv3D は 2,200 ファイルのソースコードと 90 のサードパーティ・ソフトウェアからなる大規模エンジンです。そのパワフルな機能を、一貫した Siv3D の API を覚えるだけで自在に扱えます。学習コストを最小限に抑え、作品開発に集中できます。
-
5. 親切なコミュニティ
Siv3D で困ったことがあれば、Discord の オンラインコミュニティ が助けになります。学校への 無料訪問勉強会 も行っています。オープンソース開発に興味のある学生には、Siv3D を練習場とするサポートプログラムを提供しています。
-
6. Web ブラウザで動く
Siv3D で作った C++ プログラムをほぼそのままで、ブラウザ上で動く Web アプリに移植できます。スマホやタブレットをターゲットにすることで、よりたくさんの人に作品を届けることができます。
Siv3D で作られたゲームの例¶
Mutable 50 | sashi | マクスウェルのパズルな悪魔 | muratsubo Games |
---|---|
For the GHOSTs | サークル 原産国 | One week, My room | サークル 常夜灯 |
---|---|
法人協賛¶
過去のイベント¶
バンダイナムコスタジオ杯 Siv3D ゲームジャム | 結果発表ページ
個人スポンサー¶
Gold Sponsor¶
Silver Sponsor¶
- sknjpn
- 野菜ジュース
Bronze Sponsor¶
アゲハマ, Fuyutsubaki, 😊, 🐝, jacking75, Chris Ohk, qppon, ysaito, おおやま, ShivAlley, lamuda, 🌻, fal_rnd, As Project, IZUNA, 柏崎でぃすこ, nasatame, sashi