🎁

2022 年の Siv3D はこうなる

2021/12/25に公開

これは 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