🎁
2022 年の Siv3D はこうなる
これは Siv3D Advent Calendar 2021 の参加記事です。
2021 年の振り返り
個人的な 2021 年の Siv3D の 5 大トピックは
-
C++20 や 3D 描画に対応したメジャーアップデート v0.6 世代のリリース
- ライブラリコードを C++17/C++20 で全面的に書き直しました
- 従来の 2D グラフィックスと使い方が似ている API で 3D 描画機能を実現しました
-
Linux 版が「experimental」から「正式機能」に格上げ
- Windows, macOS 版と比較してほぼ 100% の機能互換を達成しました
- ビルド手順が v0.4 世代よりも格段に簡単になりました
-
Web 版が「非公式」から「experimental」に格上げ
- 3D 描画など v0.6 の最新機能を含む大半の機能・コードの互換を達成しました
- Web で動く Siv3D アプリがいくつか公開されました
-
v0.4 世代と比べて内容を大幅に拡大した Siv3D リファレンス を執筆
- チュートリアルが全 22 章から全 42 章に増えました
-
OpenSiv3D 実装会から生まれた機能が多数マージ
- Web 版、GeoJSON, 2D 形状の当たり判定、HTTP クライアント、JSON クラス、Linux 版 IME, Siv3D くんドット絵、Siv3D くん .obj モデルをはじめとする多数の重要機能がユーザの貢献により実装されました
でした。この 1 年間の進歩については、とくに次の方々に感謝します。
- Siv3D のリポジトリにコミットしてくれた皆様
- Siv3D の GitHub Sponsors の皆様
- Siv3D で作品やプログラムを作って世の中に発表してくれた皆様
- OpenSiv3D Challenge に参加してくれた皆様
- Siv3D に関する技術記事をブログや Qiita, Zenn に書いてくれた皆様
- Siv3D に Issue を投げてくれた皆様
- Siv3D への要望や不具合を Twitter や掲示板で報告してくれた皆様
- OpenSiv3D 実装会に参加してくれた皆様
- サークルや部活などのコミュニティで Siv3D を普及・教育してくれた皆様
- Siv3D Slack で他のユーザへの質問に回答してくれた皆様
2022 年の展望
年末と言うことで、来年 2022 年に向けた展望、特に実現したいと思っていることを書いていきます。すべてが実現するかはわかりませんが、興味をもってくれる方や、協力してくれる方が増えれば、きっと実現できると思います。
- Web 版の強化
- Web 版のインストールや利用をより簡単に
- Web 版のビルドや動作の安定性向上
- Web 版に関する公式リファレンスの整備
- Web GPU による、より高速・高性能なグラフィックス表現
- Web 版のファイルサイズ圧縮
- macOS 版の強化
- M1 Mac (Apple Silicon) への対応
- Metal 対応
- Linux 版の強化
- GLES 対応
- Chromebook での利用ハードルを下げる
- グラフィックス
- マルチレンダーターゲット対応
- Compute Shader 対応
- 深度バッファへのアクセス
- 平行投影のカメラ
- Deferred Rendering シェーダの標準搭載
- シャドウマップシェーダの標準搭載
- ポストエフェクトシェーダの標準搭載
- より高度なライティング
- より高度なカメラ操作
- アニメーションする 3D モデルのサポート
- glTF サポート
- MMD サポート
- 天空や地形、植物、水面描画機能の強化
- ゲームで使えるエフェクトを集めたライブラリ
- テキストレンダリング
- 縦書き描画機能の復活
- ユーザの OS 言語に応じた標準フォント選択
- Variable font のサポート
- GUI
- 配色ライブラリ
- SimpleGUI の種類追加
- 自動レイアウト機能のある標準 GUI
- カスタムデザインの GUI
- 棒グラフ、円グラフ、線グラフの描画
- 3D 幾何
- 3D の交差判定の充実
- 3D 物理演算のサポート
- オーディオ
- 3D オーディオ
- 動的な再生音声レンダリング
- 入力デバイス
- ゲームパッドの種類に応じたマッピングの提供
- マルチタッチへの対応
- Kinect v1 / v2 対応
- Azure Kinect 対応
- Joy-Con のより高度なサポート
- ファイルシステム
- ファイルアーカイブ
- ネットワーク・通信
- Photon 連携によるマルチプレイヤーゲーム作成
- UDP 通信対応
- OSC 対応
- 画像・動画
- 画像ロードの高速化
- DDS 対応
- JPEG2000 対応
- JPEG XL 対応
- より高性能な物体検出
- 音声付きの動画再生
- 設定ファイル
- XML ファイルの書き出し
- アルゴリズムとデータ構造
- 経路探索
- 空間分割
- スクリプト
- スクリプト対応の API をさらに増やす
- 他ツールとの連係
- Effekseer との連係
- Sprite Studio との連係
- ImGui 連係
- Discord との連係
- 機械学習フレームワークとの連係
- 現実の地図・地形データとの連係
- ドキュメンテーション
- 全ヘッダにドキュメント(コメント)記載
- API リファレンスの強化
- 規模の大きいゲーム開発サンプルの強化
- サンプルの追加
- リファレンスの英語翻訳拡大
- C++20 / C++23
- Modules の導入
- より多くの
constexpr
関数
- ツール
- コードを書かずに簡単なアプリケーションを作れるツール
- Siv3D / C++ コードを自動生成して出力するツール
- コミュニティ・イベント
- Siv3D へのコミットをより簡単に
- ユーザ発の機能の取り込み(数式描画、グラフ描画等)
- オンラインでの実装会の継続
- OpenSiv3D Challenge 2022
- ドキュメント執筆会
- Game Jam やハッカソン、コンテストの開催
リクエストは Twitter や Issues でいつでも受け付けています。
2022 年も Siv3D をよろしくお願いいたします。
Discussion