MonoGame — альтернативна реалізація Microsoft XNA з відкритим кодом. Ціль проекту — спростити розробку кросплатформих ігор шляхом максимізації повторного використання коду.
Тип | Application framework |
---|---|
Розробник | MonoGame Team |
Перший випуск | 2 вересня 2009 |
Стабільний випуск | 3.0.1 (6 березня 2013 ) |
Версії | 3.8.1 (24 липня 2022)[2] |
Платформа | iOS, MacOS, PlayStation Mobile, Android, Linux, Ouya, Windows Phone 8, Windows Store, Windows Desktop |
Операційна система | iOS |
Мова програмування | C Sharp[3] |
Ліцензія | Microsoft Public License |
Репозиторій | github.com/MonoGame/MonoGame |
Вебсайт | www.monogame.net |
Логотип MonoGame являє собою стилізований логотип Mono. На ньому зображений мозок, що з'єднаний з трьома мобільними пристроями які підтримуються MonoGame.
Архітектура
MonoGame працює на багатьох платформах: iOS,Android, Windows, Mac OS X, Linux, Windows 8, Windows Phone 8, PlayStation Mobile та консоль OUYA.
MonoGame майже повністю повторює архітектуру класів та просторів імен XNA. Теоретично, для того щоб перенести проект з використанням XNA на MonoGame, достатньо лише змінити бібліотеку що підключється, не вносячи змін до коду. Така кросплатформність досягається шляхом використання відповідних препроцесорних директив. На різних платформах використовуються різні директиви для підключення бібліотек, реалізації методів, або їх частин, необхідних для роботи фреймворку саме на певній платформі. Для контролю того, під яку платформу відбувається компіляція і які саме директиви використовуються можна встановлювати BUILD правила.
Нижче наведений уривок коду з класу GraphicsDevice, де за допомогою препроцесорних директив підключаються графічні бібліотеки для кожної з підтримуваних платформ :
#if OPENGL #if MONOMAC using MonoMac.OpenGL; #elif WINDOWS || LINUX using OpenTK.Graphics.OpenGL; #elif GLES using OpenTK.Graphics.ES20; #endif #elif DIRECTX using SharpDX; using SharpDX.Direct3D; #if WINDOWS_PHONE using SharpDX.Direct3D11;
З метою повної підтримки на Windows 8, MonoGame використовує бібліотеку SharpDX, проект з відкритим кодом, що дає доступ до DirectX з . SharpDX є безкоштовним і розповсюджується під ліцензією MIT. Також використувуються бібліотеки та . OpenTK надає доступ до бібліотек OpenGL та OpenAL. — бібліотека для роботи з мережею. Система управління контентом агалогічна системі XNA 4. Команда MonoGame створила систему побудови контенту яка може бути інтегрованою з Microsoft Visual Studio і надає можливості побудови контенту на Windows 8 аналогічні до тих які користувачі мали на Windows 7 з Microsoft XNA.
Робота в комбінації з іншими рушіями/фреймворками
MonoGame може працювати в комбінації з іншими фреймворками та бібліотеками. Наприклад, як фізичний рушій для гри на MonoGame можна використовувати бібліотеки FarseerPhysics [ 30 травня 2013 у Wayback Machine.] та BEPUphysics [ 2 червня 2013 у Wayback Machine.] для 2D та 3D фізики відповідно. Для створення інтерфейсу користувача — бібліотеку Runimate [ 13 травня 2013 у Wayback Machine.]. Також можна використовувати MonoGame у зв'язці з Windows Forms або WPF. MonoGame використовується у деяких ігрових рушіях, як, наприклад, YNA Engine [ 27 травня 2013 у Wayback Machine.] та DigitalRune [ 10 травня 2013 у Wayback Machine.].
Підтримувані платформи та IDE
Windows | Windows 8 | iOS | Android | Mac OS X | Linux | |
---|---|---|---|---|---|---|
Є інсталятор | Так | Так | Ні | Ні | Ні | Ні |
Пристрій | PC | PC | Mac | Mac або PC | Mac | PC |
IDE | Visual Studio | Visual Studio | MonoDevelop | Visual Studio або MonoDevelop | MonoDevelop | MonoDevelop |
Є приклади | Так | Так | Так | Так | Так | Так |
Підтримка мережі
Для підтримки мережі MonoGame використовує бібліотеку LidGren [ 5 червня 2013 у Wayback Machine.]. Підтримується лише локальна мережа та платформи Windows, Mac, Linux, Android та iOS.
Ефекти та шейдери
Через те, що різні підтримувані платформи використовують різні мови шейдерних програм (GLSL, HLSL та спеціальні шейдери PlayStation Suite), команда MonoGame розробила власну мову для написання шейдерних ефектів — MGFX, яка має наступні властивості:
- Програми шейдерів мають таку ж структуру як і Microsoft FX файли
- Мають текстовий формат для простоти редагування
- Мають компільовний, оптимізований бінарний формат для використання безпосередньо під час роботи програми
- Кросплатформна, підтримує багато шейдерних мов
- Підходить для подальшого розширення та вдосконалення
Для роботи з MGFX команда MonoGame створила утиліту 2MGFX, яка дозволяє компілювати програми MGFX шейдерів. Як і в XNA, в MonoGame є вбудовані шейдерні ефекти, які підтримуються на всіх платформах:
- BasicEffect
- AlphaTestEffect
- DualTextureEffect
- EnvironmentMapEffect
- SkinnedEffect
Згадування в пресі, новинах та деякі факти
MonoGame використовувався при розробці Skulls of The Shogun, гри, що була випущена Microsoft Studios. За допомогою MonoGame гра була портована на Windows Phone 8.
Протягом Xamarin Evolve 2013, Скот Хансельман разом з засновниками Flying Dev Studios обговорює як MonoGame допоміг у портуванні гри Infinite Flight на iOS.
Можливості незалежних розробників для настільної версії Windows дуже великі. Тепер, за допомогою MonoGame, вони можуть розробляти ігри не тільки для настільної версії Windows, а й для багатьох інших платформ.
Зустріч з командою MonoGame на Microsoft Build 2012. Домінік Луї і Том Шпільман дають інтерв'ю про направленість MonoGame на XNA та підтримку ігор для Windows 8 Store. Розповідається про архітектуру MonoGame та те як він використовує DirectX та SharpDX.
MonoGame був використаний у ігровому рушії . За допомогою MonoGame була досягнута підтримка Windows Phone 7.1, Windows Phone 7.8, Windows Phone 8, Windows Desktop (DirectX 11), Windows Store (ARM та x86)
Ігри що використовують MonoGame
Це лише частковий перелік ігор, що використовують MonoGame на одній або декількох платформах.
Гра | Рік | Платформа | Розробник | Видавець |
---|---|---|---|---|
2011 | Windows Store, Windows Phone, iOS | |||
2013 | Windows Store, Windows Phone, Xbox 360 | Microsoft Studios | ||
2012 | Windows Store, iOS, Android | |||
Bastion | 2011 | Windows, Xbox 360, Chrome, iOS, Linux | Supergiant Games | Warner Bros. Interactive Entertainment |
2011 | iOS, Windows Phone | |||
2011 | iOS, Linux, Steam, Mac, Xbox 360, PS Minis | |||
2013 | Xbox 360, Microsoft Windows, Linux, Mac OS X | Microsoft Studios, , |
Історія версій
Поточна версія MonoGame v3.0.1 (станом на 05.14.13). Починаючи з версії 3.0 MonoGame підтримує 3D графіку.
Версія | Дата релізу | Примітки |
---|---|---|
0.0 | 2 вересня, 2009 | Хосе Антоніо Фаріас [ 3 червня 2013 у Wayback Machine.] починає проект XNATouch. |
0.7 [ 8 травня 2013 у Wayback Machine.] | 2 грудня 2009 | Перша версія для скачування . |
2.0 [ 19 травня 2013 у Wayback Machine.] | 27 жовтня 2011 | Перший реліз MonoGame 2.0. |
2.1 [ 13 травня 2013 у Wayback Machine.] | 7 грудня 2011 | Виправлення деяких помилок. |
2.5 [ 28 травня 2013 у Wayback Machine.] | 29 березня 2012 | Виправлення помилок та оптимізація. |
2.5.1 [ 5 травня 2013 у Wayback Machine.] | 18 червня 2012 | Останній реліз версії що підтримує лише 2D. |
3.0 beta [ 19 травня 2013 у Wayback Machine.] | 17 жовтня 2012 | Перший реліз що підтримує 3D графіку. |
3.0 [ 6 травня 2013 у Wayback Machine.] | 21 січня 2013 | Повна підтримка XNA 4 в MonoGame 3.0. |
3.0.1 [ 27 травня 2013 у Wayback Machine.] | 6 березня 2013 | Підтримка Xamarin 2.0. |
3.x | — | Модульні і функціональні тести, конвеєр ресурсів гри, більше платформ та можливостей. |
Зв'язок з Mono
Незважаючи на те, що логотип та назва MonoGame походять від прокту Mono, його розробка повністю незалежна від проекту Mono.
Див. також
- XNA Framework
- SharpDX [ 17 травня 2013 у Wayback Machine.]
- MonoXNA [ 17 травня 2013 у Wayback Machine.]
- ExEn [ 8 травня 2013 у Wayback Machine.]
Джерела
- . Архів оригіналу за 27 травня 2013. Процитовано 14 травня 2013.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - Release 3.8.1 — 2022.
- The monogame Open Source Project on Open Hub: Languages Page — 2006.
- . Архів оригіналу за 17 липня 2011. Процитовано 2 вересня 2009.
- . MSDN. 1 серпня 2012. Архів оригіналу за 9 лютого 2013. Процитовано 14 травня 2013.
MonoGame is a recreation of the XNA Namespace Hierarchy and Class Structure. If you dig into the source code of MonoGame, you will find that platform specific code is encapsulated within a #pragma compiler directive...In order to provide a complete implementation of XNA on Windows 8, MonoGame leverages SharpDX , an open-source project delivering the full DirectX API for managed code (.NET) and Windows 8 (WinRT). SharpDX is an open-source project, free of charge available under the following MIT License.
- . Архів оригіналу за 1 липня 2013. Процитовано 5 червня 2013.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - . Архів оригіналу за 6 серпня 2013. Процитовано 14 травня 2013.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - . Архів оригіналу за 7 травня 2015. Процитовано 14 травня 2013.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - . Архів оригіналу за 9 лютого 2013. Процитовано 14 травня 2013.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - . Архів оригіналу за 7 липня 2013. Процитовано 14 травня 2013.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - http://www.digitalrune.com/Support/Blog/tabid/719/EntryId/177/Sponza-Scene-on-Tablets-Phones[недоступне посилання]
Посилання
- Офіційний вебсайт [ 30 квітня 2013 у Wayback Machine.]
- Сирцевий код [ 13 серпня 2013 у Wayback Machine.]
- Обговорення [ 29 травня 2013 у Wayback Machine.]
- Канал на YouTube [ 1 квітня 2014 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
MonoGame alternativna realizaciya Microsoft XNA z vidkritim kodom Cil proektu sprostiti rozrobku krosplatformih igor shlyahom maksimizaciyi povtornogo vikoristannya kodu MonoGameTipApplication frameworkRozrobnikMonoGame TeamPershij vipusk2 veresnya 2009 14 rokiv tomu 2009 09 02 Stabilnij vipusk3 0 1 6 bereznya 2013 11 rokiv tomu 2013 03 06 Versiyi3 8 1 24 lipnya 2022 2 PlatformaiOS MacOS PlayStation Mobile Android Linux Ouya Windows Phone 8 Windows Store Windows DesktopOperacijna sistemaiOSMova programuvannyaC Sharp 3 LicenziyaMicrosoft Public LicenseRepozitorijgithub com MonoGame MonoGameVebsajtwww monogame net Logotip MonoGame yavlyaye soboyu stilizovanij logotip Mono Na nomu zobrazhenij mozok sho z yednanij z troma mobilnimi pristroyami yaki pidtrimuyutsya MonoGame ArhitekturaMonoGame pracyuye na bagatoh platformah iOS Android Windows Mac OS X Linux Windows 8 Windows Phone 8 PlayStation Mobile ta konsol OUYA MonoGame majzhe povnistyu povtoryuye arhitekturu klasiv ta prostoriv imen XNA Teoretichno dlya togo shob perenesti proekt z vikoristannyam XNA na MonoGame dostatno lishe zminiti biblioteku sho pidklyuchyetsya ne vnosyachi zmin do kodu Taka krosplatformnist dosyagayetsya shlyahom vikoristannya vidpovidnih preprocesornih direktiv Na riznih platformah vikoristovuyutsya rizni direktivi dlya pidklyuchennya bibliotek realizaciyi metodiv abo yih chastin neobhidnih dlya roboti frejmvorku same na pevnij platformi Dlya kontrolyu togo pid yaku platformu vidbuvayetsya kompilyaciya i yaki same direktivi vikoristovuyutsya mozhna vstanovlyuvati BUILD pravila Nizhche navedenij urivok kodu z klasu GraphicsDevice de za dopomogoyu preprocesornih direktiv pidklyuchayutsya grafichni biblioteki dlya kozhnoyi z pidtrimuvanih platform if OPENGL if MONOMAC using MonoMac OpenGL elif WINDOWS LINUX using OpenTK Graphics OpenGL elif GLES using OpenTK Graphics ES20 endif elif DIRECTX using SharpDX using SharpDX Direct3D if WINDOWS PHONE using SharpDX Direct3D11 Z metoyu povnoyi pidtrimki na Windows 8 MonoGame vikoristovuye biblioteku SharpDX proekt z vidkritim kodom sho daye dostup do DirectX z SharpDX ye bezkoshtovnim i rozpovsyudzhuyetsya pid licenziyeyu MIT Takozh vikoristuvuyutsya biblioteki ta OpenTK nadaye dostup do bibliotek OpenGL ta OpenAL biblioteka dlya roboti z merezheyu Sistema upravlinnya kontentom agalogichna sistemi XNA 4 Komanda MonoGame stvorila sistemu pobudovi kontentu yaka mozhe buti integrovanoyu z Microsoft Visual Studio i nadaye mozhlivosti pobudovi kontentu na Windows 8 analogichni do tih yaki koristuvachi mali na Windows 7 z Microsoft XNA Robota v kombinaciyi z inshimi rushiyami frejmvorkamiMonoGame mozhe pracyuvati v kombinaciyi z inshimi frejmvorkami ta bibliotekami Napriklad yak fizichnij rushij dlya gri na MonoGame mozhna vikoristovuvati biblioteki FarseerPhysics 30 travnya 2013 u Wayback Machine ta BEPUphysics 2 chervnya 2013 u Wayback Machine dlya 2D ta 3D fiziki vidpovidno Dlya stvorennya interfejsu koristuvacha biblioteku Runimate 13 travnya 2013 u Wayback Machine Takozh mozhna vikoristovuvati MonoGame u zv yazci z Windows Forms abo WPF MonoGame vikoristovuyetsya u deyakih igrovih rushiyah yak napriklad YNA Engine 27 travnya 2013 u Wayback Machine ta DigitalRune 10 travnya 2013 u Wayback Machine Pidtrimuvani platformi ta IDEWindows Windows 8 iOS Android Mac OS X LinuxYe instalyator Tak Tak Ni Ni Ni NiPristrij PC PC Mac Mac abo PC Mac PCIDE Visual Studio Visual Studio MonoDevelop Visual Studio abo MonoDevelop MonoDevelop MonoDevelopYe prikladi Tak Tak Tak Tak Tak TakPidtrimka merezhiDlya pidtrimki merezhi MonoGame vikoristovuye biblioteku LidGren 5 chervnya 2013 u Wayback Machine Pidtrimuyetsya lishe lokalna merezha ta platformi Windows Mac Linux Android ta iOS Efekti ta shejderiCherez te sho rizni pidtrimuvani platformi vikoristovuyut rizni movi shejdernih program GLSL HLSL ta specialni shejderi PlayStation Suite komanda MonoGame rozrobila vlasnu movu dlya napisannya shejdernih efektiv MGFX yaka maye nastupni vlastivosti Programi shejderiv mayut taku zh strukturu yak i Microsoft FX fajli Mayut tekstovij format dlya prostoti redaguvannya Mayut kompilovnij optimizovanij binarnij format dlya vikoristannya bezposeredno pid chas roboti programi Krosplatformna pidtrimuye bagato shejdernih mov Pidhodit dlya podalshogo rozshirennya ta vdoskonalennya Dlya roboti z MGFX komanda MonoGame stvorila utilitu 2MGFX yaka dozvolyaye kompilyuvati programi MGFX shejderiv Yak i v XNA v MonoGame ye vbudovani shejderni efekti yaki pidtrimuyutsya na vsih platformah BasicEffect AlphaTestEffect DualTextureEffect EnvironmentMapEffect SkinnedEffectZgaduvannya v presi novinah ta deyaki faktiMonoGame vikoristovuvavsya pri rozrobci Skulls of The Shogun gri sho bula vipushena Microsoft Studios Za dopomogoyu MonoGame gra bula portovana na Windows Phone 8 Protyagom Xamarin Evolve 2013 Skot Hanselman razom z zasnovnikami Flying Dev Studios obgovoryuye yak MonoGame dopomig u portuvanni gri Infinite Flight na iOS Mozhlivosti nezalezhnih rozrobnikiv dlya nastilnoyi versiyi Windows duzhe veliki Teper za dopomogoyu MonoGame voni mozhut rozroblyati igri ne tilki dlya nastilnoyi versiyi Windows a j dlya bagatoh inshih platform Zustrich z komandoyu MonoGame na Microsoft Build 2012 Dominik Luyi i Tom Shpilman dayut interv yu pro napravlenist MonoGame na XNA ta pidtrimku igor dlya Windows 8 Store Rozpovidayetsya pro arhitekturu MonoGame ta te yak vin vikoristovuye DirectX ta SharpDX MonoGame buv vikoristanij u igrovomu rushiyi Za dopomogoyu MonoGame bula dosyagnuta pidtrimka Windows Phone 7 1 Windows Phone 7 8 Windows Phone 8 Windows Desktop DirectX 11 Windows Store ARM ta x86 Igri sho vikoristovuyut MonoGameCe lishe chastkovij perelik igor sho vikoristovuyut MonoGame na odnij abo dekilkoh platformah Gra Rik Platforma Rozrobnik Vidavec2011 Windows Store Windows Phone iOS2013 Windows Store Windows Phone Xbox 360 Microsoft Studios2012 Windows Store iOS AndroidBastion 2011 Windows Xbox 360 Chrome iOS Linux Supergiant Games Warner Bros Interactive Entertainment2011 iOS Windows Phone2011 iOS Linux Steam Mac Xbox 360 PS Minis2013 Xbox 360 Microsoft Windows Linux Mac OS X Microsoft Studios Istoriya versijPotochna versiya MonoGame v3 0 1 stanom na 05 14 13 Pochinayuchi z versiyi 3 0 MonoGame pidtrimuye 3D grafiku Versiya Data relizu Primitki0 0 2 veresnya 2009 Hose Antonio Farias 3 chervnya 2013 u Wayback Machine pochinaye proekt XNATouch 0 7 8 travnya 2013 u Wayback Machine 2 grudnya 2009 Persha versiya dlya skachuvannya 2 0 19 travnya 2013 u Wayback Machine 27 zhovtnya 2011 Pershij reliz MonoGame 2 0 2 1 13 travnya 2013 u Wayback Machine 7 grudnya 2011 Vipravlennya deyakih pomilok 2 5 28 travnya 2013 u Wayback Machine 29 bereznya 2012 Vipravlennya pomilok ta optimizaciya 2 5 1 5 travnya 2013 u Wayback Machine 18 chervnya 2012 Ostannij reliz versiyi sho pidtrimuye lishe 2D 3 0 beta 19 travnya 2013 u Wayback Machine 17 zhovtnya 2012 Pershij reliz sho pidtrimuye 3D grafiku 3 0 6 travnya 2013 u Wayback Machine 21 sichnya 2013 Povna pidtrimka XNA 4 v MonoGame 3 0 3 0 1 27 travnya 2013 u Wayback Machine 6 bereznya 2013 Pidtrimka Xamarin 2 0 3 x Modulni i funkcionalni testi konveyer resursiv gri bilshe platform ta mozhlivostej Zv yazok z MonoNezvazhayuchi na te sho logotip ta nazva MonoGame pohodyat vid proktu Mono jogo rozrobka povnistyu nezalezhna vid proektu Mono Div takozhXNA Framework SharpDX 17 travnya 2013 u Wayback Machine MonoXNA 17 travnya 2013 u Wayback Machine ExEn 8 travnya 2013 u Wayback Machine Dzherela Arhiv originalu za 27 travnya 2013 Procitovano 14 travnya 2013 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Release 3 8 1 2022 The monogame Open Source Project on Open Hub Languages Page 2006 d Track Q124688 Arhiv originalu za 17 lipnya 2011 Procitovano 2 veresnya 2009 MSDN 1 serpnya 2012 Arhiv originalu za 9 lyutogo 2013 Procitovano 14 travnya 2013 MonoGame is a recreation of the XNA Namespace Hierarchy and Class Structure If you dig into the source code of MonoGame you will find that platform specific code is encapsulated within a pragma compiler directive In order to provide a complete implementation of XNA on Windows 8 MonoGame leverages SharpDX an open source project delivering the full DirectX API for managed code NET and Windows 8 WinRT SharpDX is an open source project free of charge available under the following MIT License Arhiv originalu za 1 lipnya 2013 Procitovano 5 chervnya 2013 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Arhiv originalu za 6 serpnya 2013 Procitovano 14 travnya 2013 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Arhiv originalu za 7 travnya 2015 Procitovano 14 travnya 2013 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Arhiv originalu za 9 lyutogo 2013 Procitovano 14 travnya 2013 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Arhiv originalu za 7 lipnya 2013 Procitovano 14 travnya 2013 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya http www digitalrune com Support Blog tabid 719 EntryId 177 Sponza Scene on Tablets Phones nedostupne posilannya PosilannyaOficijnij vebsajt 30 kvitnya 2013 u Wayback Machine Sircevij kod 13 serpnya 2013 u Wayback Machine Obgovorennya 29 travnya 2013 u Wayback Machine Kanal na YouTube 1 kvitnya 2014 u Wayback Machine