Bookmark and Share

Svårighetsgrad
Svårighetsgrad
Betyg (6 röster)
BetygBetygBetygBetygBetyg
 

XNA - Nya plattformar

Inledning

Microsoft har tyvärr lagt XNA på hyllan under tiden Windows 8 & Windows 8 Phone har lanserats. Om XNA någonsin tas upp igen av Microsoft är det ingen som vet. Senaste versionen av XNA är version 4.0 och fungerar utmärkt med Visual Studio 2010.

Drömmen om att utveckla till alla plattformar i ett språk har delvis krossats. När XNA var "på toppen" så kunde man utveckla till PC, Xbox360, Windows Phone 7 och Zune. Med Windows 8 och Windows Phone 8 har man kastat ut XNA.

Vi skall i den här artikeln titta på möjliga alternativ samt hur du kan fortsätta använda XNA.

Varför XNA?

XNA är perfekt för enklare spel eller för utvecklare i mindre grupper. Detta betyder också att XNA är bra för t.ex. elever. Det flyttar fokus mer från ramverkskunnande till att verkligen producera något.

XNA förenklar och underlättar kommunikation med underliggande ramverk t.ex. OpenGL eller DirectX. XNA var främst en "wrapper" för DirectX API, alltså ett tillrättalagt sätt att använda DirectX API på.

En stor praktisk fördel var att du kunde utveckla till fler plattformar samtidigt.

Hur tänkte Microsoft?

Ja det är en bra fråga. Vi kommer här att spekulera fritt.

När det gällde Windows 8 RT och Windows Phone 8 så var det tydligt att Microsoft fått påtryckningar om att släppa ramverk som låg närmre hårdvaran. Vi pratar alltså om programspråket C++ samt åtkomst till API'er i hårdvaran på lägre nivåer (DirectX API). Varför? Jo för att få mer kontroll och att kunna pressa ut mer av hårdvaran något som .NET och XNA kanske inte uppfyllde.

Men kan man inte köra XNA på en Windows Phone 8? Jo det kan man faktiskt. Problemet är bara att du måste utveckla en Windows Phone 7 App. Windows Phone 8 kan köra äldre appar men problemet är indelningen i Marketplace'n. Alltså var hittas min App om jag gör en XNA App?

Kör man Windows 8 så kan man utveckla en App som kör för "Desktop" och samtidigt använda XNA. Men du kan inte utveckla en Metro-App och samtidigt använda XNA för det tillåts inte i Windows Store. Metro-appar skall fungera både på Windows 8 och Windows 8 RT och XNA stöds inte på RT.

Hur blir det med Xbox One? Fortfarande oklart tyvärr. Det verkar som om Microsoft ännu inte tagit ett beslut om att tillåta .NET på Xbox One. Hur utvecklingen skall gå till är ännu lite oklart. Samtidigt så värnar Microsoft om mindre utvecklare och indie-utvecklare i ett uttalande. Kanske finns här en öppning till XNA 5.0, vem vet?

Alternativen

De två främsta alternativen heter SharpDX samt MonoGame. Båda är open-source.

Vi börjar med SharpDX. Detta är ett bra alternativ om du vill hålla dig till Microsoft-plattformar. SharpDX påstår sig stödja ALLA Windows-plattformar inklusive Windows 8 Metro och Windows Phone 8. Andra projekt använder SharpDX flitigt inklusive MonoGame faktiskt! Tyvärr så är SharpDX inte alltid så likt XNA vilket betyder att du måste anpassa dig en del till detta ramverk. Detta gör att nästa alternativ blir lite mer intressant...

MonoGame siktar på att implementera XNA som open-source. Du skall slippa skriva om kod utan bara behöva kompilera om gamla XNA-projekt. MonoGame laddas snabbt ned och installeras. Det fungerar bra med Visual Studio 2012 och du får en mängd projekt att välja på. (Installationen var tyvärr lite buggig när vi testade, en del sökvägar i projekten som skapas blev fel...)

bild

En liten konstig detalj är att MonoGame för PC använder OpenGL (via SDL) och inte DirectX via SharpDX. Det kan tyckas en smula märkligt.

MonoGame siktar betydligt bredare och erbjuder stöd för de flesta plattformar t.ex. Windows 8 Metro, Windows Phone 8, iOS, Android, Mac OS X, Linux, OUYA samt Playstation Mobile.

Tyvärr så känns inte MonoGame helt färdigt än. Detta beror främst på avsaknaden av "Content Pipeline" i Visual Studio. Texturer, ljud, modeller etc. processas via "Content Pipeline" i XNA till andra format. Detta blir upp till dig att konvertera data till rätt format om du t.ex. kodar på ett nytt projekt. Vilket leder till behovet att installera XNA 4.0 på datorn...

Unity 3D

Vill man lämna XNA för en stund men ändå skriva lite C# i en kreativ miljö så kan man testa Unity3D. Stöd för 2D-spel har tillkommit ganska nyligen. Tidigare har fokus helt varit på 3D-spel. Det finns mycket bra läromedel samt många bra spel gjorda redan i denna spelmotor. Du får stöd för 10+ plattformar, bl.a. Windows 8, Windows 8 Phone, iOS, Android, Xbox, PS3, WiiU, m.fl.

Det blir mer fokus på estetisk verksamhet och kanske mindre på programmering men alldeles säkert riktigt skoj!

Installera XNA 4.0

UPPDATERING: Xna Game studio Refresh fixar XNA på både Visual Studio 2012 och 2013 utan att behöva installera Visual Studio 2010 Express. Ladda endast hem rätt version och följ instruktionerna!

Inget mer behöver göras för att få in XNA!

XNA i Visual Studio 2015

I skrivande stund behövs lite handpåläggning för att aktivera XNA i Visual Studio 2015.

1. Ladda hem senaste versionen av XNA Refresh.

2. Packa upp alla filerna.

3. Följ instruktionerna i Readme och installera allt UTOM "vsix"-filen.

4. Ladda hem "XNA Game Studio 4.0.vsix.zip" nedan.

5. Packa upp filen "XNA Game Studio 4.0.vsix.zip" till valfritt ställe (endast 1 fil).

6. Kör "vsix"-filen. Eventuellt välj vilken version av Visual Studio du vill installera till.

KLART!

Kommentarer

1 inlägg