Skip to content

Commit 900e474

Browse files
Merge pull request #30 from MonoGame/feature/roadmap
Roadmap draft
2 parents 3013c0a + 7fac5c7 commit 900e474

File tree

5 files changed

+146
-1
lines changed

5 files changed

+146
-1
lines changed

articles/images/Roadmap.png

83.5 KB
Loading

articles/roadmap.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
---
2+
title: MonoGame Roadmap
3+
description: The forecasted roadmap for MonoGame development/improvement, including lists of bounties in development.
4+
---
5+
6+
## MonoGame official roadmap
7+
8+
![Roadmap](./images/Roadmap.png)
9+
10+
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.
11+
12+
The current development branch which is targeting a release version of `3.8.2` of MonoGame is due for release imminently with the main pending item being the improvement of Mac/Linux editor support.
13+
14+
> [!IMPORTANT]
15+
> All information and dates are subject to change. In other words, if we can get it done faster, we will!
16+
17+
### [Release 3.8.2](https://github.com/MonoGame/MonoGame/milestone/20) (current development branch)
18+
19+
The `3.8.2` is currently in a stabilization phase and its development has been accelerated since the formation of the [MonoGame Foundation](https://monogame.net/about/). The primary focus is testing and rationalizing the last 2 years of development and improving the Mac/Linux support:
20+
21+
* Update to the .NET 8 Runtime.
22+
* Improved testing and code coverage.
23+
* Update to the XML API documentation, ensuring all of the API is covered. (A Massive task!)
24+
* Improved documentation and migration of original XNA documentation.
25+
* Updated Mac/Linux support.
26+
* Stabilized content pipeline dependencies (moving to open source and linked libraries)
27+
28+
#### Deprecation notices
29+
30+
The **Windows UWP** platform is being retired as this is not a desired publishing platform with Microsoft. It will be replaced with an updated **DesktopDX** platform that will support current Microsoft deployments in a future release.
31+
32+
There is a lot of other work going on behind the scenes including **MANY** of the PR's and community submissions to improve the over all framework. Stay tuned.
33+
34+
### [Release 3.8.3](https://github.com/MonoGame/MonoGame/milestone/21) (Provisional fast track maintenance release)
35+
36+
The primary focus for this release will be to further ratify any outstanding community contributions and reported issues. Additionally, anything that was left out of 3.8.2 in order to get that release out quicker.
37+
38+
> [!NOTE]
39+
> `3.8.3` will also start the [revised release schedule](#proposed-release-schedule) (subject to community approval and time from the Foundation) aiming to get more regular maintenance releases out with bug fixes.
40+
41+
### [Release 3.9](https://github.com/MonoGame/MonoGame/milestone/17)
42+
43+
`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.
44+
45+
* All the native libraries into their own repo, hook it up to the current system.
46+
* Vulcan support.
47+
* DX 12 support.
48+
* Updated GDK integration for Xbox Consoles (only available to registered ID@Xbox developers)
49+
50+
> [!IMPORTANT]
51+
> Please note that the move to the new native backend will effectively **deprecate the DesktopGL project type**, this will be replaced with the newer **DesktopVulkan** platform.
52+
>
53+
> 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 ar epublished the Roadmap will be updated to reflect the plans.
54+
55+
### [Release 4.0](https://github.com/MonoGame/MonoGame/milestone/10) (Provisional)
56+
57+
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.
58+
59+
* New Importer / Processor / Reader / Writer setup.
60+
One of the main issues with the current setup is that it is one file in, many files out, but it should be many files in many files out, making the current setup is very clunky.
61+
* Replace `.mgcb` files and `mgcb-editor` with a new C# content `project'esk` thingy, a sample from 5 years ago, works well as an [example of what is planned](https://gist.github.com/harry-cpp/76f62c79d96dec9de13f3923fc329784).
62+
* Content compilation will no longer be tied to the building of the project.
63+
For debugging purposes, a content server will listen for when the game itself request content and build it on the fly.
64+
When dotnet publish is called on the main game the content project will build all the content only for the current target.
65+
66+
### [Release 5.0](https://github.com/MonoGame/MonoGame/milestone/15)
67+
68+
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 up on the foundational ideas of XNA / MonoGame.
69+
70+
### Proposed Release Schedule
71+
72+
Just to sneak this in here, we are listening when the community says that we need faster and more direct delivery of the MonoGame Framework, to this end we are proposing to:
73+
74+
* Have regular maintenance updates, ideally delivered through NuGet.
75+
* Annual major releases.
76+
77+
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)
78+
79+
## MonoGame bounty schedule
80+
81+
> [!NOTE]
82+
> [Also check out the Bounty tracker for the latest](https://github.com/MonoGame/MonoGame/issues/8120)
83+
84+
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.
85+
86+
> [!IMPORTANT]
87+
> 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/)
88+
89+
### Active Bounties
90+
91+
This is a list of all known bounties currently [being worked on](https://github.com/MonoGame/MonoGame/issues/8120):
92+
93+
* [A shared base for public and console repos](https://github.com/MonoGame/MonoGame/issues/8242)
94+
* [Switch the console runtime from BRUTE to NativeAOT](https://github.com/MonoGame/MonoGame/issues/8194)
95+
* [Implement the Direct3D 12 / GDK/GDKX backend](https://github.com/MonoGame/MonoGame/issues/8195)
96+
* [A better 2D onboarding tutorial](https://github.com/MonoGame/MonoGame/issues/8317)
97+
* [A better 3D onboarding tutorial](https://github.com/MonoGame/MonoGame/issues/8318)
98+
99+
### Bounties in development
100+
101+
* **Advanced onboarding tutorials**
102+
103+
Working on suggestions for advanced physics integration, complex shaders, animation systems, procedural content generation, optimizations and performance.
104+
105+
* **An Endless runner game sample/starter-kit**
106+
107+
A reusable sample / starter-kit for developers to build an endless runner game.
108+
109+
* **A first-person 3D game sample/starter-kit**
110+
111+
A reusable sample / starter-kit for developers to build a first person style game.
112+
113+
* **A third-person 3D game sample/starter-kit**
114+
115+
A reusable sample / starter-kit for developers to build a third person style game.
116+
117+
* **A network starter sample**
118+
119+
Building an example framework for building local or networked multi-player games.
120+
121+
* **A graphical/shader starter-kit**
122+
123+
A quick introduction to effects and shaders in MonoGame.
124+
125+
* **Upgrade of the [Ship Game](https://github.com/MonoGame/MonoGame.Samples/blob/3.8.1/ShipGame/README.md) sample. (to be more shiny)**
126+
127+
A bounty to make the Ship Game sample into a more modern showcase sample.
128+
129+
* **A custom editor sample**
130+
131+
A starter solution showing how to build an editor for MonoGame showcasing multiple editor windows, multiple viewports (in a single window), custom diaglogs, docking windows?, rebuilding content and a simple undo/redo framework (which we may have one available for use).
132+
133+
* **A GUI integration tutorial**
134+
With so many great GUI systems available for MonoGame, we could do with a tutorial showing how to integrate or build on teh best of them, such as IMGUI, NEX and so on.
135+
136+
> [!NOTE]
137+
> 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.
138+
139+
## Onward MonoGame!
140+
141+
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.

articles/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
- name: Introduction
22
href: index.md
3+
- name: Roadmap
4+
href: roadmap.md
35
- name: What's New
46
href: whats_new.md
57
- name: Getting Started

external/MonoGame

Submodule MonoGame updated 81 files

toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
- name: Documentation
22
href: /
3+
- name: Roadmap
4+
href: articles/roadmap.md
35
- name: Community
46
href: https://monogame.net/community/
57
- name: Showcase

0 commit comments

Comments
 (0)