diff --git a/external/MonoGame b/external/MonoGame index 9e50250f..5cebc1e1 160000 --- a/external/MonoGame +++ b/external/MonoGame @@ -1 +1 @@ -Subproject commit 9e50250f1867a97be1d845cb2c30fad3c1805ece +Subproject commit 5cebc1e12a2c57f789f37e863f4edb1c65280bf3 diff --git a/roadmap/images/Roadmap.png b/roadmap/images/Roadmap.png deleted file mode 100644 index f397e65c..00000000 Binary files a/roadmap/images/Roadmap.png and /dev/null differ diff --git a/roadmap/images/roadmap.svg b/roadmap/images/roadmap.svg new file mode 100644 index 00000000..3a5f8dc2 --- /dev/null +++ b/roadmap/images/roadmap.svg @@ -0,0 +1,47 @@ + + MonoGame release roadmap + + + + + + + 3.8.6 + + + + + + + 3.8.7 + + + + + + + 3.8.8 + + + + + + + 4.x + + + + + + + 5.x + + diff --git a/roadmap/index.md b/roadmap/index.md index 01985272..e0aeb2cd 100644 --- a/roadmap/index.md +++ b/roadmap/index.md @@ -1,135 +1,64 @@ --- title: MonoGame Roadmap -description: The forecasted roadmap for MonoGame development/improvement, including lists of bounties in development. +description: The forecasted roadmap for MonoGame development/improvement. _disableToc: true _disableBreadcrumb: true --- -## MonoGame official roadmap +![MonoGame Roadmap](./images/roadmap.svg) -![Roadmap](./images/Roadmap.png) - -MonoGame has been in development for a long time with a stable outward-facing API based on XNA 4.0, which remains largely static. The core development has always been the rapid waters behind this API, providing stable and modern access to the native platforms that MonoGame can run on. - -The current development branch, targeting a release version of `3.8.5` of MonoGame, is expanding platform support and addressing a key subject of contention, the content editor (MGCB), for which an alternative solution is being devised (the Content Project system). - -> [!IMPORTANT] -> All information and dates are subject to change. In other words, if we can get it done faster, we will! - -### [Release 3.8.5](https://github.com/MonoGame/MonoGame/milestone/22) (current development branch) - -The `3.8.5` release seeks to formalize the preview of several preview components for testing in preparation for the `3.9` release, namely: - -* Preview Vulkan (DesktopVK) platform. -* Preview DX 12 (DesktopDX) platform. -* Preview the new Content Project solution. -* Native Platform evolution (dependencies derived from Platforms instead of dependencies). - -> Preview releases are currently available for the `3.8.5` delivery for test. - -### [Release 3.8.4](https://github.com/MonoGame/MonoGame/milestone/23) Live Release - -The `3.8.4` primary focus was a quick turn-around maintenance release, primarily to address some Android platform issues introduced in 3.8.3. This release was the first to receive Preview releases (7 in total) to full road test changes, including: - -* Improvements to AoT delivery. -* Improvements to Android release delivery. -* New testing pipeline using Samples. -* Upgrade of build dependencies and Wine (for Mac / Linux) -* Compressed texture support in Pipeline. - -> See the [Release Log](https://github.com/MonoGame/MonoGame/releases/tag/v3.8.4) for full details. - -### [Release 3.9](https://github.com/MonoGame/MonoGame/milestone/17) - -`3.9` will effectively be the LTS release of the 3.x series for MonoGame, formalizing the XNA API support and platform access. It will also include an update to using a more ruggedized and standardized native implementation that is standard across all platforms, making the underlying native elements for MonoGame easier to maintain. - -* All the native libraries into their own repo, hook it up to the current system. -* Vulcan support. -* DX 12 support. -* Updated GDK integration for Xbox Consoles (only available to registered ID@Xbox developers) -* New Content Project system. - -> [!IMPORTANT] -> Please note that the move to the new native backend will effectively **deprecate the DesktopGL project type**. This will be replaced with the newer **DesktopVK** platform. -> -> The **WindowsDX** platform is also under review to include support for DX12 and the [Microsoft GDK](https://github.com/microsoft/GDK) (Game Development Kit), once the results are published, the Roadmap will be updated to reflect the plans. - -### [Release 4.0](https://github.com/MonoGame/MonoGame/milestone/10) (Provisional) - -Version `4.0` of MonoGame aims to break compatibility with the older XNA Content Pipeline system and introduce a much more manageable and extendable system to meet the more modern needs of game development. - -### [Release 5.0](https://github.com/MonoGame/MonoGame/milestone/15) - -This phase is still very much in the early planning and testing phase, with the ultimate aim to break the older XNA 4.0 API. This will be a very different beast, built from the foundational ideas of XNA / MonoGame. - -### Proposed Release Schedule - -Just to sneak this in here, we are listening when the community says that we need a faster and more direct delivery of the MonoGame Framework. To this end, we are proposing to: - -* Have regular maintenance updates, ideally delivered through NuGet. -* Annual major releases. - -All of this is subject to the will of the community, so if you have an idea or suggestion, make sure to let us know on [Discord](https://discord.gg/monogame). - -## MonoGame bounty schedule +MonoGame continues to evolve as a modern game framework, while maintaining XNA compatibility. Our focus remains stability, platform reach, and developer experience guided by community feedback and transparent development practices. > [!NOTE] -> [Also check out the Bounty tracker for the latest](https://github.com/MonoGame/MonoGame/issues/8120) +> This roadmap reflects our upcoming quarterly milestone releases and the Foundation's long-term priorities -In order to provide more transparency, the following section details all the current Bounties in production, as well as a provisional list of all other bounties under consideration or development. - -> [!IMPORTANT] -> All bounties are subject to the legal requirements set out in the MonoGame Foundation charter. [Please check the `Bounties` page for more information](https://monogame.net/bounties/) - -### Active Bounties - -This is a list of all known bounties currently [being worked on](https://github.com/MonoGame/MonoGame/issues/8120): - -* [Switch the console runtime from BRUTE to NativeAOT](https://github.com/MonoGame/MonoGame/issues/8194) -* [A better 3D onboarding tutorial](https://github.com/MonoGame/MonoGame/issues/8318) -* [MonoGame 2D advanced series - Shaders](https://github.com/MonoGame/MonoGame/issues/8819) -* [MonoGame 2D advanced series - Mobile targeting](https://github.com/MonoGame/MonoGame/issues/8820) -* [MonoGame 2D advanced series - Networking](https://github.com/MonoGame/MonoGame/issues/8821) - -### Bounties in development +--- -* **Advanced onboarding tutorials** +## Roadmap - Working on suggestions for advanced physics integration, complex shaders, animation systems, procedural content generation, optimizations and performance. +### [3.8.6 - Q3 2026](https://github.com/MonoGame/MonoGame/milestone/24) -* **An Endless runner game sample/starter-kit** +This milestone continues our focus on adding new graphics backends, new major systems to improve portability, and further stability to the framework. - A reusable sample / starter-kit for developers to build an endless runner game. +- [Storage API Modernisation](https://github.com/MonoGame/MonoGame/issues/8518) +- [DesktopGL4 Platform](https://github.com/MonoGame/MonoGame/pull/9491) +- Content Builder Improvements +- Stabilising DesktopVK / DesktopDX12 -* **A first-person 3D game sample/starter-kit** +### [3.8.7 - Q4 2026](https://github.com/MonoGame/MonoGame/milestone/26) - A reusable sample / starter-kit for developers to build a first-person style game. +This milestone lays the foundations for future growth, by unifying our shader format and making the framework more accessible to new developers and players. -* **A third-person 3D game sample/starter-kit** +- [New Shader System](https://github.com/MonoGame/MonoGame/issues/9188) +- [Native Web Platform](https://github.com/MonoGame/MonoGame/issues/9515) +- [MonoGame Hub Public Release](https://monogame.net/blog/2026-07-23-monogamehub/) - A reusable sample / starter-kit for developers to build a third-person style game. +### [3.8.8 - Q1 2027](https://github.com/MonoGame/MonoGame/milestone/27) -* **A network starter sample** +In this milestone we plan to improve on old XNA standards and address some long-standing difficulties with the framework. - Building an example framework for building local or networked multiplayer games. +- [New Font System](https://github.com/MonoGame/MonoGame/issues/6324) +- [Native Video Support](https://github.com/MonoGame/MonoGame/issues/7170) +- Add Console Target Support to the MonoGame Hub -* **A graphical/shader starter-kit** +### [4.x - TBD](https://github.com/MonoGame/MonoGame/milestone/10) - A quick introduction to effects and shaders in MonoGame. +The 4.x releases are intended to be the final releases that enforce the original XNA APIs while adding in new modern features and the next iteration of our mobile support. -* **A custom editor sample** +- Compute Shaders +- Command Buffers +- Metal Support +- Vulkan on Android +- Unified Achievement API - A starter solution showing how to build an editor for MonoGame showcasing multiple editor windows, multiple viewports in a single window, custom dialogs, docking windows, rebuilding content and a simple undo/redo framework (which we may have one available for use). +### [5.x - TBD](https://github.com/MonoGame/MonoGame/milestone/15) -* **A GUI integration tutorial** - With so many great GUI systems available for MonoGame, we could do with a tutorial showing how to integrate or build on the best of them, such as IMGUI, NEX and so on. +The jump to 5 will be the start of a major evolution beyond the original XNA API. -* **Texture Compression Content Pipeline** - The current texture compression systems does not work on `arm` based machines such as Apple Silicon Macs. This bounty will upgrade the system to use [Basis Universal](https://github.com/BinomialLLC/basis_universal) which works across all supported Desktop plaforms. +--- -> [!NOTE] -> Have an idea for another bounty / sample or something that can make MonoGame even better, or a guide that you feel the community needs, then let us know on GitHub by raising a [Feature Request](https://github.com/MonoGame/MonoGame/issues/new?assignees=&labels=Feature+Request&projects=&template=02_feature_request.yml) and give us the details. +#### We Need Your Help! {.h2} -## Onward MonoGame! +MonoGame is an open-source project maintained by its community. Great open source projects require high-quality documentation. This is a call for volunteers to continue to help us make the MonoGame documentation truly great. If you can create tutorials, feature guides, code snippets, reference docs, video walkthroughs, or make any improvement to the current documentation, we could use your help! -Thank you to the MonoGame community for your patience and support, we continue, as ever, to try and make MonoGame the best it can be. +Check out the [README on GitHub](https://github.com/MonoGame/MonoGame/blob/develop/README.md) or [talk with us on Discord](https://discord.gg/monogame) to learn how to help! diff --git a/templates/monogame/partials/footer.tmpl.partial b/templates/monogame/partials/footer.tmpl.partial index 5c0f0d95..776b196b 100644 --- a/templates/monogame/partials/footer.tmpl.partial +++ b/templates/monogame/partials/footer.tmpl.partial @@ -12,6 +12,9 @@ + diff --git a/toc.yml b/toc.yml index 32f85b40..bdfb51be 100644 --- a/toc.yml +++ b/toc.yml @@ -7,5 +7,7 @@ items: href: https://monogame.net/community/ - name: Showcase href: https://monogame.net/showcase/ +- name: Roadmap + href: https://monogame.net/roadmap/ - name: About href: https://monogame.net/about/ \ No newline at end of file