Siv3D: A C++ Framework for Creative Coding¶

Siv3D is an open-source framework for creating games, media art, and other applications easily and enjoyably with modern C++. It comes with extensive sample code and tutorials, and an online user community where you can easily ask questions and seek advice.
Download Siv3D¶
* The Web version is a community-driven, unofficial extension. It requires a more complex setup and is recommended for intermediate or advanced Siv3D users.
-
Platform Support
Windows / macOS / Ubuntu / Web
-
License
MIT License
-
Development Languages
C++20 / HLSL / GLSL
-
Version
0.6.16 (2025-04-07) / 0.8.0 (in development)
Community¶
Date | Event | Audience |
---|---|---|
2025-06-21 | Siv3D Implementation Meetup in Osaka 2025 | Everyone |
2024-12-15 | Siv3D Study Session in Kyoto 2024 | Everyone |
2024-12-14 | Siv3D Implementation Meetup in Kyoto 2024 | Everyone |
2024-12-01~25 | Siv3D Advent Calendar 2024 | Online・Everyone |
Past Events Join Siv3D Discord Server
Streamlining Game and Application Development with C++¶
Siv3D provides a rich set of classes and functions for 2D/3D graphics, audio, input handling, physics, image processing, AI, networking, and all the essentials for developing practical software.
Unlike commercial game engines such as Unity and Unreal Engine, Siv3D doesn't require proprietary editors or scripts, allowing you to complete games and applications using pure C++ code only.
For programmers who want to leverage their C++ skills or those who want to learn C++ development, Siv3D is a compelling choice.
# include <Siv3D.hpp>
void Main()
{
// Set background color to light blue
Scene::SetBackground(ColorF{ 0.8, 0.9, 1.0 });
// Create texture from emoji
const Texture texture{ U"🐥"_emoji };
// Position to draw the texture
Vec2 pos{ 400, 300 };
// Main loop
while (System::Update())
{
// If left mouse button is clicked
if (MouseL.down())
{
// Change drawing position to current mouse cursor position
pos = Cursor::Pos();
}
// Draw the texture
texture.drawAt(pos);
}
}
Applications of Siv3D¶
1. Learning Modern C++ (Click for details)
The creator of Siv3D is engaged in activities to promote cutting-edge C++, including giving lectures on modern C++ utilization at CEDEC, Japan's largest game developer conference. Siv3D's API and samples are also written utilizing the latest C++ standards, so using Siv3D helps you learn modern C++ coding practices. Advance your project development and C++ learning simultaneously.
2. Indie and Commercial Game Development (Click for details)
You can develop full-fledged games using Siv3D and release them on game distribution platforms like Steam. Here are some examples of games created with Siv3D.
3. Information Visualization and GUI in Programming Contests (Click for details)
When solving problems in C++, you can use Siv3D to create information visualization and GUI to improve problem-solving efficiency. At the 34th National Institute of Technology Programming Contest (Kosen Programming Contest) in 2023, teams using Siv3D monopolized the 1st, 2nd, 3rd places, and special award in the competition division. The winning teams of the 33rd and 29th contests also used Siv3D. In recent contests, more than one-third of participating schools use Siv3D.
4. Software Development for Research (Click for details)
You can use Siv3D to create experimental applications or express simulation results as animations. Siv3D serves as a powerful tool for researchers to bring their ideas to life. Here are examples of Siv3D usage by university students and researchers.
5. Contributing to Open Source (Click for details)
You can leverage your programming experience and implementation skills to participate in open source activities that improve the Siv3D development experience, such as developing the Siv3D engine itself, reporting bugs, creating sample code, and writing articles. So far, more than 60 people, including middle school students, have committed source code to the Siv3D engine.
6. Web Browser Distribution (Click for details)
Using the Web version provided by volunteer users (OpenSiv3D for Web ), you can port C++ applications created with Siv3D to Web applications that run in browsers with minimal changes. By targeting smartphones and tablets, you can deliver your work to more people. Here are examples of Siv3D-made Web applications.
ゲーム「選挙で勝とう 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
Reasons to Choose Siv3D¶
-
1. Open Source and Trustworthy
Siv3D is open source . Anyone can examine or modify the internal code. Including third-party libraries, there are no conditions that prevent commercial use. Developers can retain 100% of the revenue from games and applications they develop.
-
2. Quick to Get Started
The Siv3D SDK installer for Windows is only 120 MB. Installation is completed with just a few clicks and appears in the Visual Studio menu. All information needed for development is available in the official tutorials, eliminating the need to search for books or introductory articles.
-
3. Concise Code
Abundant convenient functions and classes for rendering and input/output are provided, allowing you to complete simple applications in a single .cpp file. Share your source code instantly on GitHub or GitHub Gist to exchange techniques with Siv3D users worldwide.
-
4. Low Learning Curve, High Power
Siv3D is a large-scale engine consisting of 2,200 source files and 90 third-party software packages. You can freely handle its powerful features by learning only the consistent Siv3D API. Learning costs are minimized, allowing you to focus on project development.
-
5. Friendly & Helpful Community
If you encounter difficulties with Siv3D, the online community on Discord will help. We also conduct free school visit study sessions. For students interested in open source development, we provide support programs using Siv3D as a practice ground.
-
6. Runs in Web Browsers
C++ programs created with Siv3D can be ported to Web applications running in browsers with almost no changes. By targeting smartphones and tablets, you can deliver your work to more people.
Examples of Games Made with Siv3D¶
Mutable 50 | sashi | Maxwell's Puzzling Demon | muratsubo Games |
---|---|
For the GHOSTs | Circle Gensankoku | One week, My room | Circle Jōyatō |
---|---|
Corporate Sponsors¶
Past Events¶
Bandai Namco Studios Cup Siv3D Game Jam | Results Page
Individual Sponsors¶
Gold Sponsor¶
Silver Sponsor¶
Bronze Sponsor¶
アゲハマ, Fuyutsubaki, 😊, 🐝, jacking75, Chris Ohk, ysaito, おおやま, ShivAlley, lamuda, fal_rnd, As Project, IZUNA, nasatame, sashi, 🌶️, 💯, PlumRice
Corporate Sponsorship Information Become an Individual Sponsor of Siv3D