MonoGame


Source link: https://github.com/mono/MonoGame

MonoGame

One framework for creating powerful cross-platform games. The spiritual successor to XNA with 1000's of titles shipped across desktop, mobile, and console platforms. MonoGame is a fully managed .NET open source game framework without any black boxes. Create, develop and distribute your games your way.

Build Status

Our build server builds, tests, and packages the latest MonoGame changes. The table below shows the current build status for the develop branch.

Name Status
Build Windows, Web, and Android
Build Mac, iOS, and Linux
Generate Documentation
Windows Tests
Package NuGet
Package Mac and Linux
Package Windows

Supported Platforms

We support a growing list of platforms across the desktop, mobile, and console space. If there is a platform we don't support, please make a request or come help us add it.

  • Desktop PCs
    • Windows 10 Store Apps (UWP)
    • Windows Win32 (OpenGL & DirectX)
    • Linux (OpenGL)
    • Mac OS X (OpenGL)
  • Mobile/Tablet Devices
    • Android (OpenGL)
    • iPhone/iPad (OpenGL)
    • Windows Phone 10 (UWP)
  • Consoles (for registered developers)
    • PlayStation 4
    • PlayStation Vita
    • Xbox One (both UWP and XDK)
    • Nintendo Switch
  • Other
    • tvOS (OpenGL)

Support and Contributions

If you think you have found a bug or have a feature request, use our issue tracker. Before opening a new issue, please search to see if your problem has already been reported. Try to be as detailed as possible in your issue reports.

If you need help using MonoGame or have other questions we suggest you post on our community forums. Please do not use the GitHub issue tracker for personal support requests.

If you are interested in contributing fixes or features to MonoGame, please read our contributors guide first.

Source Code

The full source code is available here from GitHub:

  • Clone the source: git clone https://github.com/MonoGame/MonoGame.git
  • Setup the submodules: git submodule update --init
  • Run Protobuild.exe to generate project files and solutions.
    • If on Linux or Mac, run it with mono: mono Protobuild.exe
  • You can generate solutions for platforms that are not buildable from the current OS with:
    • Windows: .\Protobuild.exe --generate $PLATFORM
    • Linux or Mac: mono Protobuild.exe --generate $PLATFORM
  • Open the solution for your target platform to build the game framework.
  • Open the solution for your development platform for building the pipeline and content tools.

For the prerequisites for building from source please look at the Requirements file.

A high level breakdown of the components of the framework:

Helpful Links

License

The MonoGame project is under the Microsoft Public License except for a few portions of the code. See the LICENSE.txt file for more details. Third-party libraries used by MonoGame are under their own licenses. Please refer to those libraries for details on the license they use.

Resources

Updated and revised version of flavienlaurent's DiscrollView.

A library to bridge Spock Framework and Robolectric.

PermissionHelper used to simplify Runtime Permission Structure.

  • Easy to use
  • Works on Pre-Marshmallow (No need to check for build version condition)
  • Get Callback on exactly place where you asked for permission.
  • Get Grant callback whenever all the permission you mentioned are granted else Deny callback
  • Get callback when permission is auto denied by system (When user selects, Don't ask again).

Mr. Alfonz is here to help you build your Android app, make the development process easier and avoid boilerplate code.

Alfonz is a multi purpose library split into small modules (something like Android Support Library). Some of them depend on other modules or 3rd party libraries (RxJava, Retrofit, OkHttp), but in general I try to keep Alfonz simple and independent from other libs as much as possible.

A library for android which can help you to find heavy methods in your code when your app blocked, base on BlockCanary.

UltraViewPager is an extension for ViewPager to provide multiple features in a single ViewPager.

Topics


2D Engines   3D Engines   9-Patch   Action Bars   Activities   ADB   Advertisements   Analytics   Animations   ANR   AOP   API   APK   APT   Architecture   Audio   Autocomplete   Background Processing   Backward Compatibility   Badges   Bar Codes   Benchmarking   Bitmaps   Bluetooth   Blur Effects   Bread Crumbs   BRMS   Browser Extensions   Build Systems   Bundles   Buttons   Caching   Camera   Canvas   Cards   Carousels   Changelog   Checkboxes   Cloud Storages   Color Analysis   Color Pickers   Colors   Comet/Push   Compass Sensors   Conferences   Content Providers   Continuous Integration   Crash Reports   Credit Cards   Credits   CSV   Curl/Flip   Data Binding   Data Generators   Data Structures   Database   Database Browsers   Date &   Debugging   Decompilers   Deep Links   Dependency Injections   Design   Design Patterns   Dex   Dialogs   Distributed Computing   Distribution Platforms   Download Managers   Drawables   Emoji   Emulators   EPUB   Equalizers &   Event Buses   Exception Handling   Face Recognition   Feedback &   File System   File/Directory   Fingerprint   Floating Action   Fonts   Forms   Fragments   FRP   FSM   Functional Programming   Gamepads   Games   Geocaching   Gestures   GIF   Glow Pad   Gradle Plugins   Graphics   Grid Views   Highlighting   HTML   HTTP Mocking   Icons   IDE   IDE Plugins   Image Croppers   Image Loaders   Image Pickers   Image Processing   Image Views   Instrumentation   Intents   Job Schedulers   JSON   Keyboard   Kotlin   Layouts   Library Demos   List View   List Views   Localization   Location   Lock Patterns   Logcat   Logging   Mails   Maps   Markdown   Mathematics   Maven Plugins   MBaaS   Media   Menus   Messaging   MIME   Mobile Web   Native Image   Navigation   NDK   Networking   NFC   NoSQL   Number Pickers   OAuth   Object Mocking   OCR Engines   OpenGL   ORM   Other Pickers   Parallax List   Parcelables   Particle Systems   Password Inputs   PDF   Permissions   Physics Engines   Platforms   Plugin Frameworks   Preferences   Progress Indicators   ProGuard   Properties   Protocol Buffer   Pull To   Purchases   Push/Pull   QR Codes   Quick Return   Radio Buttons   Range Bars   Ratings   Recycler Views   Resources   REST   Ripple Effects   RSS   Screenshots   Scripting   Scroll Views   SDK   Search Inputs   Security   Sensors   Services   Showcase Views   Signatures   Sliding Panels   Snackbars   SOAP   Social Networks   Spannable   Spinners   Splash Screens   SSH   Static Analysis   Status Bars   Styling   SVG   System   Tags   Task Managers   TDD &   Template Engines   Testing   Testing Tools   Text Formatting   Text Views   Text Watchers   Text-to   Toasts   Toolkits For   Tools   Tooltips   Trainings   TV   Twitter   Updaters   USB   User Stories   Utils   Validation   Video   View Adapters   View Pagers   Views   Watch Face   Wearable Data   Wearables   Weather   Web Tools   Web Views   WebRTC   WebSockets   Wheel Widgets   Wi-Fi   Widgets   Windows   Wizards   XML   XMPP   YAML   ZIP Codes