MonoGame

Last updated

MonoGame
Developer(s) MonoGame Team
Initial releaseSeptember 2, 2009;14 years ago (2009-09-02)
Stable release
3.8.1 [1] / July 24, 2022;20 months ago (2022-07-24)
Repository
Written in C#
Platform iOS, MacOS, Android, Linux, Windows Phone 8, Windows Desktop, Windows 10, PlayStation 4, PlayStation 5, PlayStation Vita, Xbox One, Nintendo Switch, tvOS
Type Application framework
License Microsoft Public License [2]
Website www.monogame.net

MonoGame is a free and open source C# framework used by game developers to make games for multiple platforms and other systems. It is also used to make Windows and Windows Phone games run on other systems. It supports iOS, Android, macOS, tvOS, Linux, PlayStation 4, PlayStation 5, PlayStation Vita, Xbox One and Nintendo Switch. [3] [4] It implements the Microsoft XNA 4 application programming interface (API). [5] It has been used for several games, including Bastion, Celeste, Fez and Stardew Valley.

Contents

History

MonoGame is a derivative of XNA Touch (September 2009) started by Jose Antonio Farias [6] and Silver Sprite by Bill Reiss.[ citation needed ] The first official release of MonoGame was version 2.0 with a downloadable version 0.7 that was available from CodePlex. These early versions only supported 2D sprite-based games. The last official 2D-only version was released as 2.5.1 in June 2012.

Since mid-2013, the framework has begun to be extended beyond XNA4 with the addition of new features like RenderTarget3D, [7] support for multiple GameWindows, [8] and a new cross-platform command line content building tool. [9]

Architecture

MonoGame attempts to fully implement the XNA 4 API. [10] It accomplishes this across Microsoft platforms using SharpDX and DirectX. [11] When targeting non-Microsoft platforms, platform specific capabilities are utilized by way of the OpenTK library. When targeting OS X, iOS, and/or Android, the Xamarin platform runtime is necessary. This runtime provides a tuned OpenTK implementation that allows the MonoGame team to focus on the core graphics tuning of the platform.

The graphics capabilities of MonoGame come from either OpenGL, OpenGL ES, or DirectX. Since MonoGame version 3, OpenGL 2 has been the focus for capabilities. The earlier releases of MonoGame (2.5) used OpenGL 1.x for graphics rendering. Utilizing OpenGL 2 allowed for MonoGame to support shaders to make more advanced rendering capabilities in the platform.

Content management and distribution continues to follow the XNA 4 ContentManager model. The MonoGame team has created a new content building capability that can integrate with Microsoft Visual Studio to deliver the same content building capabilities to Windows 8 Desktop that Windows 7 users had used in Microsoft XNA.

Games

GameYearDeveloperPublisher
Apotheon [12] 2015 Alientrap
Axiom Verge [13] [14] 2015Thomas Happ Games LLC
Bastion [15] 2011 Supergiant Games Warner Bros. Interactive Entertainment
Bury Me, My Love 2017The Pixel HuntArte France
Carrion 2020Phobia Game Studio Devolver Digital
Capsized 2013Alientrap
Celeste [16] 2018 Maddy Thorson
Chasm 2018Bit Kid, Inc.
Cobalt Core [17] 2023Rocket Rat GamesBrace Yourself Games
Duck Game [18] 2014Landon Podbielski Adult Swim Games
Dust: An Elysian Tail [19] 2014Humble Hearts
Escape Goat [20] 2011MagicalTimeBean
Fez [21] 2013 Polytron Corporation Trapdoor
Microsoft Studios
Flinthook [ citation needed ]2017 Tribute Games
Infinite Flight [22] 2011Flying Development Studio
Jump King [23] 2019NexileNexile
Ukiyo Publishing
Kynseed [24] 2022PixelCount Studios
Mercenary Kings [ citation needed ]2013 Tribute Games
Owlboy 2016D-Pad Studio
Pyre [25] 2017 Supergiant Games
Salt and Sanctuary [ citation needed ]2016 Ska Studios
Score Rush Extended [26] 2016 Xona Games Reverb Communications
Skulls of the Shogun [27] 2013 17-BIT Microsoft Studios
Solar 2 [28] 2011Jay WattsMurudai
Stardew Valley [29] 2016 ConcernedApe
Super Blood Hockey 2017Loren Lemcke
TowerFall [30] 2013 Maddy Thorson
Transistor [31] 2014 Supergiant Games
Wizorb [32] 2011 Tribute Games

See also

Related Research Articles

<span class="mw-page-title-main">DirectX</span> Collection of multimedia related APIs on Microsoft platforms

Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct", such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, and so forth. The name DirectX was coined as a shorthand term for all of these APIs and soon became the name of the collection. When Microsoft later set out to develop a gaming console, the X was used as the basis of the name Xbox to indicate that the console was based on DirectX technology. The X initial has been carried forward in the naming of APIs designed for the Xbox such as XInput and the Cross-platform Audio Creation Tool (XACT), while the DirectX pattern has been continued for Windows APIs such as Direct2D and DirectWrite.

<span class="mw-page-title-main">Miguel de Icaza</span> Mexican free software developer

Miguel de Icaza is a Mexican programmer, best known for starting the GNOME, Mono, and Xamarin projects.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

A computing platform, digital platform, or software platform is an environment in which software is executed. It may be the hardware or the operating system (OS), a web browser and associated application programming interfaces, or other underlying software, as long as the program code is executed using the services provided by the platform. Computing platforms have different abstraction levels, including a computer architecture, an OS, or runtime libraries. A computing platform is the stage on which computer programs can run.

<span class="mw-page-title-main">Nat Friedman</span> American technology executive and investor

Nathaniel Dourif Friedman is an American technology executive and investor. He was the chief executive officer (CEO) of GitHub and former Chairman of the GNOME Foundation. Friedman is currently a board member at the Arc Institute and an advisor of Midjourney.

<span class="mw-page-title-main">Microsoft XNA</span> Freeware set of tools by Microsoft

Microsoft XNA is a freeware set of tools with a managed runtime environment that Microsoft Gaming developed to facilitate video game development. XNA is based on .NET Framework, with versions that run on Windows and Xbox 360. XNA Game Studio can help develop XNA games. The XNA toolset was announced on March 24, 2004, at the Game Developers Conference in San Jose, California. A first Community Technology Preview of XNA Build was released on March 14, 2006.

Game programming, a subset of game development, is the software development of video games. Game programming requires substantial skill in software engineering and computer programming in a given language, as well as specialization in one or more of the following areas: simulation, computer graphics, artificial intelligence, physics, audio programming, and input. For multiplayer games, knowledge of network programming is required. In some genres, e.g. fighting games, advanced network programming is often demanded, as the netcode and its properties are considered by players and critics to be some of the most important metrics of the game's quality. For massively multiplayer online games (MMOGs), even further knowledge of database programming and advanced networking programming are required. Though often engaged in by professional game programmers, there is a thriving scene of independent developers who lack a relationship with a publishing company.

UNIGINE is a proprietary cross-platform game engine developed by UNIGINE Company used in simulators, virtual reality systems, serious games and visualization. It supports OpenGL 4, Vulkan and DirectX 12.

<span class="mw-page-title-main">Microsoft Silverlight</span> Application framework for writing and running rich Internet applications

Microsoft Silverlight is a discontinued application framework designed for writing and running rich internet applications, similar to Adobe's runtime, Adobe Flash. While early versions of Silverlight focused on streaming media, later versions supported multimedia, graphics, and animation, and gave support to developers for CLI languages and development tools. Silverlight was one of the two application development platforms for Windows Phone, but web pages using Silverlight did not run on the Windows Phone or Windows Mobile versions of Internet Explorer, as there was no Silverlight plugin for Internet Explorer on those platforms.

Comparison of the Java and .NET platforms.

<span class="mw-page-title-main">MonoDevelop</span> Integrated development environment, discontinued for macOS

MonoDevelop was an open-source integrated development environment for Linux, macOS, and Windows. Its primary focus is development of projects that use Mono and .NET Framework. MonoDevelop integrates features similar to those of NetBeans and Microsoft Visual Studio, such as automatic code completion, source control, a graphical user interface (GUI) and Web designer. MonoDevelop integrates a Gtk# GUI designer called Stetic. It supports Boo, C, C++, C#, CIL, D, F#, Java, Oxygene, Vala, JavaScript, TypeScript and Visual Basic.NET. Although there is no word from the developers that it has been discontinued, nonetheless it hasn't been updated in 4 years and is no longer installable on major operating systems, such as Ubuntu 22.04 and above. Its parent Microsoft, seems to have shifted focus to Visual Studio Code and the .NET Framework, which runs on many operating systems, including Linux.

<span class="mw-page-title-main">Moonlight (runtime)</span> Implementation of Microsoft Silverlight for some Unix-based operating systems

Moonlight is a discontinued free and open source implementation for Linux and other Unix-based operating systems of the Microsoft Silverlight application framework, developed and then abandoned by the Mono Project. Like Silverlight, Moonlight was a web application framework which provided capabilities similar to those of Adobe Flash, integrating multimedia, graphics, animations and interactivity into a single runtime environment.

<span class="mw-page-title-main">WebGL</span> JavaScript bindings for OpenGL in web browsers

WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.

<span class="mw-page-title-main">Microsoft XNA Game Studio</span> Integrated development environment

Microsoft XNA Game Studio is a discontinued integrated development environment (IDE) for building video games on the Microsoft XNA platform. Such video games can run on Xbox 360, Microsoft Windows, Windows Phone and the Zune. XNA Game Studio is targeted at hobbyists and experienced programmers, and is primarily used to develop 2D and 3D video games for various Microsoft platforms. XNA games can be published for the Xbox 360 using an XNA Creator's Club membership, that has a yearly fee.

<span class="mw-page-title-main">Xamarin</span> American software company

Xamarin is a Microsoft-owned San Francisco-based software company founded in May 2011 by the engineers that created Mono, Xamarin.Android and Xamarin.iOS, which are cross-platform implementations of the Common Language Infrastructure (CLI) and Common Language Specifications.

<span class="mw-page-title-main">Mono (software)</span> Computer software project

Mono is a free and open-source .NET Framework-compatible software framework. Originally by Ximian, it was later acquired by Novell, and is now being led by Xamarin, a subsidiary of Microsoft and the .NET Foundation. Mono can be run on many software systems.

<span class="mw-page-title-main">Simple and Fast Multimedia Library</span> Graphics and Multimedia Library written in C++

Simple and Fast Multimedia Library (SFML) is a cross-platform software development library designed to provide a simple application programming interface (API) to various multimedia components in computers. It is written in C++ with bindings available for Ada, C, Crystal, D, Euphoria, Go, Java, Julia, .NET, Nim, OCaml, Python, Ruby, and Rust. Experimental mobile ports were made available for Android and iOS with the release of SFML 2.2.

Stage3D is an Adobe Flash Player API for rendering interactive 3D graphics with GPU-acceleration, within Flash games and applications. Flash Player or AIR applications written in ActionScript 3 may use Stage3D to render 3D graphics, and such applications run natively on Windows, Mac OS X, Linux, Apple iOS and Google Android. Stage3D is similar in purpose and design to WebGL.

Universal Windows Platform (UWP) is a computing platform created by Microsoft and introduced in Windows 10. The purpose of this platform is to help develop universal apps that run on Windows 10, Windows 10 Mobile (discontinued), Windows 11, Xbox One, Xbox Series X/S, and HoloLens without the need to be rewritten for each. It supports Windows app development using C++, C#, VB.NET, and XAML. The API is implemented in C++, and supported in C++, VB.NET, C#, F# and JavaScript. Designed as an extension to the Windows Runtime (WinRT) platform introduced in Windows Server 2012 and Windows 8, UWP allows developers to create apps that will potentially run on multiple types of devices.

References

  1. "MonoGame downloads" . Retrieved July 24, 2022.
  2. "FAQ: Licensing – MonoGame". GitHub . Retrieved September 2, 2009.
  3. "Documentation". MonoGame.net. Retrieved August 25, 2017.
  4. "Main Page". MonoGame.net. Retrieved November 25, 2023.
  5. "Windows 8, XNA and MonoGame". MSDN . Microsoft. August 1, 2012. Archived from the original on August 4, 2012. MonoGame is an Open Source implementation of the Microsoft XNA 4 Framework. The goal is to allow XNA developers on Windows & Windows Phone to port their games to the iOS, Android, Mac OS X, Linux with both PlayStation Suite and Windows 8 support currently under development.
  6. "José Antonio Leal de Farias". Facebook.
  7. tomspilman (March 15, 2013). "RenderTarget3D for DirectX". GitHub .
  8. jamesford42 (February 26, 2013). "Multiple GameWindow support for Windows/DirectX". GitHub .{{cite web}}: CS1 maint: numeric names: authors list (link)
  9. "MonoGame Content Builder". Github. Archived from the original on April 29, 2015. Retrieved June 7, 2013.
  10. Vermeir, Nico (April 1, 2013). Windows 8 App Projects - XAML and C# Edition. Apress. ISBN   9781430250661 via Google Books.
  11. Torre, Charles; Spilman, Tom (November 2, 2012). "Monogame at Build 2012". MSDN Channel 9. Microsoft. Archived from the original on July 7, 2013. Retrieved May 11, 2013.
  12. @MonoGameTeam (October 1, 2014). "The official Monogame twitter announces that Apotheon will launch on PS4 using the Monogame engine" (Tweet) via Twitter.
  13. Happ, Thomas (September 14, 2016). "Achievement Unlocked!". Axiom Verge Blog.
  14. Culafi, Alex (March 11, 2015). "Dan Adelman Explains Why Axiom Verge is Not Coming to Wii U - News". Nintendo World Report.
  15. Greg (August 24, 2012). "Bastion's Open Source Branch for MonoGame". Super Giant Games. Archived from the original on June 2, 2013.
  16. Screenshot of Celeste Credits Showing Frameworks Used [ better source needed ]
  17. Driscoll, Ben (May 7, 2023). "Setting up FMOD for a C# game". Medium .
  18. "An Interview with Duck Game Developer Landon Podbielski – GameCritics.com". gamecritics.com. Retrieved March 26, 2021.
  19. @NoogyTweet (March 25, 2017). "According to a twitter response by creator Dean Dodrill, Elysian Tail was originally created in XNA and later ported using MonoGame" (Tweet) via Twitter.
  20. "Steam Community :: Group Announcements :: Escape Goat".
  21. Euden, Ben (May 5, 2013). "Ben Euden on Twitter". Twitter.
  22. Hanselman, Scott (April 26, 2013). "MonoGame and Xamarin make shipping Infinite Flight a reality". Hansel Minutes.
  23. "Jump King tactics platformer and Linux". Linux Game News.
  24. "Kynseed FAQ – PixelCount Studios". March 24, 2019. Archived from the original on March 24, 2019. Retrieved February 26, 2023.
  25. Linneman, John (July 28, 2017). "Pyre on PS4/ PS4 Pro! Beautiful Graphics But What's Up With The Bugs?". YouTube. Digital Foundry . Retrieved July 28, 2017.
  26. "GDC 2017 WRAP UP". Xona Games. March 26, 2017.
  27. "Skulls of the Shogun - Developer Interview - MSPoweruser". May 22, 2012.
  28. Watts. "Solar 2 | Murudai".
  29. Chalk, Andy (December 1, 2021). "Stardew Valley update 'futureproofs the game' with improved modding support". PC Gamer. Retrieved February 12, 2022.
  30. Kollar, Phillip. "Sony gives indie devs the stage to praise PlayStation 4's developer support". Polygon. Vox Media. Retrieved September 12, 2023.
  31. From game credits.
  32. JF (December 15, 2011). "Wizorb coming to Mac and Linux December 19th!". Tribute Games . Archived from the original on September 3, 2012.