Developer(s) | MonoGame Team |
---|---|
Initial release | September 2, 2009 |
Stable release | 3.8.2 [1] / August 16, 2024 |
Repository | |
Written in | C# |
Platform | iOS, iPadOS, macOS, Android, Linux, Windows Phone 8, Windows Desktop, Windows 10, PlayStation 4, PlayStation 5, PlayStation Vita, Xbox One, Xbox Series X/S, Nintendo Switch |
Type | Application framework |
License | Microsoft Public License [2] |
Website | www |
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, iPadOS, Android, macOS, Linux, PlayStation 4, PlayStation 5, PlayStation Vita, Xbox One, Xbox Series X/S 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.
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]
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.
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.
Miguel de Icaza is a Mexican-American programmer, best known for starting the GNOME, Mono, and Xamarin projects.
Wine is a free and open-source compatibility layer to allow application software and computer games developed for Microsoft Windows to run on Unix-like operating systems. Developers can compile Windows applications against WineLib to help port them to Unix-like systems. Wine is predominantly written using black-box testing reverse-engineering, to avoid copyright issues. No code emulation or virtualization occurs. Wine is primarily developed for Linux and macOS.
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 the infrastructure on which software is executed. While the individual components of a computing platform may be obfuscated under layers of abstraction, the summation of the required components comprise the computing platform.
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.
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.
Cairo is an open-source graphics library that provides a vector graphics-based, device-independent API for software developers. It provides primitives for two-dimensional drawing across a number of different backends. Cairo uses hardware acceleration when available.
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.
MonoDevelop is a discontinued 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.
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.
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.
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.
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.
Mono is a free and open-source software framework that aims to run software made for the .NET Framework on Linux and other OSes. Originally by Ximian which was acquired by Novell, it was later developed by Xamarin which was acquired by Microsoft. In August 2024, Microsoft transferred ownership of Mono to WineHQ.
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.
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.
{{cite web}}
: CS1 maint: numeric names: authors list (link){{cite web}}
: CS1 maint: url-status (link)