Skip to content

OptimusPi/MonoGame.Extended

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MonoGame.Extended Logo

MonoGame.Extended

It makes MonoGame more awesome.

Join the chat at https://gitter.im/craftworkgames/MonoGame.Extended

MonoGame.Extended is an open source extension library for MonoGame. A collection of classes and extensions to make it easier to make games with MonoGame.

Patreon Supporters

We need your support! For the past 3 years we've had support from the Microsoft BizSpark program to fund our web and build servers. On the 9th October 2016 that's going to come to an end and we'll be forced to shutdown the build server without funding. We don't need a lot, just a few supporters would really help.

What happens to MonoGame.Extended if we don't get the funding? Never fear. The project won't die. The code will always be safely open sourced on github. However, the build server we run in the cloud is used to build and host the pre-release NuGet packages that some people rely on. If we can't run the build server in the cloud, it will make a few things like that a little more difficult.

image

Version 0.5 is available on NuGet

MonoGame.Extended v0.5 has been published as a NuGet package and can be installed now. Please read the install guide to setup the Pipeline tool.

Install-Package MonoGame.Extended

This release is compatible with MonoGame 3.5!

Note: If you're still using MonoGame 3.4 you must upgrade to 3.5 for everything to work.

Forums

Our forum is part of the MonoGame community. Please ask any questions or post about problems or bugs that you have found there. Let us know if you're making a game with MonoGame.Extended!

Development status

MonoGame.Extended has a growing community of contributors adding to the project all the time. We also have Nuget packages of published releases and of course you can build from source to get the latest and greatest.

Please keep in mind that the project is still evolving. Some breaking API changes are likely to occur as we progress.

Usage

MonoGame.Extended is a portable class library that sits on top of MonoGame. It's designed to work on all supported platforms using a single portable DLL. At runtime, the portable library will call into the platform specific MonoGame DLL referenced in your project. If you do use it on another platform please let us know!

Documentation

We've got several feature demos in this repository and we're building up the wiki. You can also pop into the forums, check out my blog, ask a question on gamedev stack overflow or use our live chat.

How to install

See the How to install MonoGame.Extended guide. Here's the TL;DR version:

The library is distributed as a NuGet package. Add a reference to your project using the following command:

Install-Package MonoGame.Extended

The package comes with 2 DLLs:

  • MonoGame.Extended.dll
  • MonoGame.Extedded.Content.Pipeline.dll

The MonoGame.Extended.Content.Pipeline.dll needs to be referenced by the Pipeline tool. To reference the DLL in the Pipeline tool you'll need to edit your Content.mgcb file.

Roadmap / Features

Animations

  • Tweening**
  • Sprite Sheets
  • Game Component**

Content

  • Texture Atlases
  • Bitmap Fonts
  • Tiled Maps

Collision Detection

  • Bounding Shapes
  • Intersection and overlap testing

Input Management

  • Event based input (input listeners)
  • Gesture detection (taps, panning, flinging and pinch zooming)
  • Button Mapping (W=Up, A=Left, Space=Jump, etc)
  • Game components**

Graphics and Scenes

  • Sprites
  • Scene Graphs
  • Camera
  • Simple shape rendering
  • Screen Management

GUI System

  • Controls
    • Label**
    • Button (Text or Image)**
    • Toggle Button (Checkbox)**
    • Progress Bar
    • Text Box**
    • Image
    • Slider
  • Layout
    • Canvas
    • Stack Panel
    • Wrap Panel
    • Dock Panel
    • Grid
  • Dialog
  • Window
  • Skinning**
  • Events**
  • Drag and Drop

Particle System

  • Emitters
  • Modifiers (age, drag, gravity, rotation, velocity, vortex)
  • Profiles (box, circle, line, point, ring, spray)
  • Sprite Batch Renderer
  • Game Component**

Math and Utilities

  • Timers
  • Virtual Screens (viewport adapters)
  • Bounding Shapes
  • Collections
  • FPS Counter
  • Random Numbers

Platforms

  • Windows
  • Linux
  • Mac
  • Android^^
  • iOS^^

** Work in progress

^^ Not officially tested but should work

Contributing

If you would like to contribute start with one of the following:

  • Please post your thoughts on our forum.
  • Join the discussion on one of the issues. We often use github issues to discuss new features as well.
  • Talk about it on your blog or twitter.
  • and of course, you can fork the project.

Design goals

  • The primary goal is to make it easier to make games.
  • Choose the features you like and the rest stays out of your way.
  • A clean and consistent API familiar to MonoGame developers.
  • It's not a game engine, but extends the framework.
  • Follows C# coding guidelines.

License

MonoGame.Extended is released under the The MIT License (MIT).

Special Thanks

About

Classes and extensions to make MonoGame more awesome

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.8%
  • Other 0.2%