MonoGame Feature Wishlist

My current wish is for a full spriteBatch overload that is public that allows one to set the corners of each sprite by vector3 position, the color of each vertice as well and the texture uv, and including the other nicetys scale rotation ect…

The main point being you can then opt to draw actual sprites which includes deformed rectangles such as.

Smiley face

The primary benifit is you get the performance of SpriteBatch with your own sprite with a optimized quad drawing method vs writing your own non optimized version.
For things you may wish to create that add functionality to mono-game.
E.G.
Your own text drawing functions that use SpriteBatch or…
SpriteBatch as a replacement for point sprites ect…
Simulated 3d maps using spritebatch or stiching irregular maps or tiles ect…

In truth we have a rectangle batch class as it stands (not really a spritebatch). Which i have come to realize is actually a limitation.
Of course we can rebuild monogame to add this ourselves.
Its beside the point… which is that i think a fully exposed overload…
belongs in SpriteBatch at this point…

4 Likes

I agree… I would like to see this too done in some efficient manner.

1 Like

I’d like to see a built in blob/tar function in the pipeline tool. Just line the files up one after another, and ad an index with byte offsets at the start. Pretty much what Tar does.

Then add a blob parser to the API that loads the index and can hand over file stream handles for loading.

Conceivably, one could add encryption to the mix. It would have to be pretty trivial to be decoded at runtime, but it would serve as obfuscation. Making it hard to get at the assets unless you really really mean to.

Secondly, a minimum size for resizable windows would be handy.

( I am new to MG, and I apologize profusely if either of these suggestions are already implement or solved already. )

1 Like

Xbox One support.

Also, the ability to move rectangles using float variables ( ͡° ͜ʖ ͡°)

There already is Xbox One support…

I think he means XBOX Live features and ID@XBOX…

https://github.com/Microsoft/xbox-live-api-csharp/

1 Like

Please improve and support with VulkanGL! Is it possible?

If I could vote, I’d vote for the possibility of making HTML5 games with Monogame. I’m not sure if it’s feasible and I’m no expert but has anyone heard of Bridge.NET? It’s a C#-to-JS compiler I found yesterday, within a few minutes I managed to make a little game. http://image.prntscr.com/image/7f9d5ff64e494770ac04242fe7a78a2f.png

Using collections, different files for classes, all of .NET worked well (I’m now even experimenting with Brigde.Pixi - PixiJS bindings). Maybe Monogame could use it, but I don’t really know if that’d be possible.

2 Likes

Web GL or HTML5 support would be awesome.

Why? You can make your own easily enough.

monogame can you work with kinect and windows phone and hololen also oculus rift an steam powered also xbox avatar also Creoqode also PlayStation 3, Wii, and Xbox 360 as a idea suggestion .
does monogames work on hololens, steam powered and oculus rift ? does monogamous work on windows 10 universal app on all devices? xbox 360, xbox one , xbox scorpio, xbox s, windows phone , zune , desktop and laptop. steam powered has a lot indie developers for pc i thought you can add that.
can you make a step to step tutorial also walk throughs on how to download your software on macOS and other operating systems? how it works? how to use it ? xna creators club theres many books on that i thought someone can start writting for monogames or even do video lessons video tutorials for monogames?

I teach high school kids C# with MonoGame and having built-in methods for drawing circles, lines, squares etcetera would be great for them.

1 Like

how would you want that to look like?

Like spritebatch?

eg
ShapeBatch.Begin()
ShapeBatch.DrawCircle(…)
ShapeBatch.End()

or

Shape.DrawCircle() only

Aint this already part of the ‘extended’ lib?

Both of these look good, whichever of them fits the underlying architecture of MonoGame best is the one I would want.

I don’t know, I haven’t used MonoGame.Extended myself. However when using MonoGame with students I think using the original MonoGame and not MonoGame.Extended is what I prefer.

Yes, it is.
spritebatch.Line, Circle, etc…

You should try first, then decide :slight_smile:

Installation is easy enough, I managed to do it myself also ^^

hmm, the monogame extended implementation is certainly interesting and probably works best for your case @eddeland

On the upside it’s integrated with spritebatch, so everything can be batched in one go and you can continue to work with it.

spritebatch.Begin()
spritebatch.Draw(tex, …)
spritebatch.DrawString(…)
spritebatch.DrawCircle(…)
spritebatch.End()

So the implementation is very easy to understand and use.

On the downside it’s not as performant as it could be since it uses spritebatch with a texture read per pixel and some rotation math each frame for each segment of a circle for example, BUT it’s still very fast in the overall context.

The per-frame cost is also constant, no caching is going on.

Overall I think it’s a good implementation, which certainly conforms to the default monogame drawing behavior and therefore I’d say it’s a good fit for almost every case.