SlideShare a Scribd company logo
1 of 21
Cross platform
mobile gaming with
MonoGame
In 10 minutes!
• What is MonoGame?
• What can it do?
• How?
• Some examples!
@runegri NDC 2013 @runegri
Me
• Rune Andreas Grimstad
• Work at Capgemini, Trondheim
• Focus on .Net
• Programming since I was 8 years
old
• Love computer games!
@runegri NDC 2013 @runegri
MonoGame is
open source, cross-platform,
XNA
With MonoGame
you can
Write 2D-games
or 3D-games
that runs anywhere
MonoGame runs
everywhere
Windows, Mac, Linux
iOS, Android, Windows Phone,
WinRT
Raspberry Pi, Playstation
Vita
Getting started
... starting is easy
You need Visual Studio
• You need Visual Studio to compile
content
• The WP7 SDK or XNA Game Studio 4
• Xamarin.iOS and Xamarin.Android
• Win8 and the WP8 and WinRT SDKs
@runegri NDC 2013 @runegri
And some knowledge
• Based on XNA so there are many
tutorials
• Many frameworks for various game
types
• You will need to know some maths
– Vectors
– Matrices
@runegri NDC 2013 @runegri
Using MonoGame
The shortest how-to ever
The game loop
• Initialize – start here
• LoadContent – runs once
• Main game loop – runs forever
– Update, game logic, AI, handle input
– Draw, graphics here
• UnloadContent – if you need it
@runegri NDC 2013 @runegri
Some tips
• Focus on one platform first
– Then re-use the code after it is done
• Use abstractions for services
– Gps
– Accelerometer
– Camera
– Xamarin.Mobile can help
@runegri NDC 2013 @runegri
Some tips
• Think performance
– Try to re-use objects instead of
creating new ones
– Avoid reflection!
– Avoid LINQ
– Cache and pre-calculate what you can
• Don’t forget you good coding
practices
@runegri NDC 2013 @runegri
The final challenge
Finishing the game!
Some examples
What MonoGame can do
Bastion
@runegri NDC 2013 @runegri
• XNA on Xbox, MonoGame on Mac and
Linux
Fez
@runegri NDC 2013 @runegri
• XNA on Xbox, MonoGame on Windows
Skulls of the Shogun
@runegri NDC 2013 @runegri
• XNA on Xbox, MonoGame on Win8/RT,
WP8
Want to know more?
• Just ask!
– @runegri on twitter
– rag@rag.no
• I’m here for the rest of the
conference
@runegri NDC 2013 @runegri
Some resources
• The MonoGame website:
– monogame.net
• MonoGame sources:
– github.com/mono/MonoGame/
• XNA tutorials
– Just google for them :-)
@runegri NDC 2013 @runegri
Thanks to
• Fonts from Font Squirrel
– www.fontsquirrel.com
• Images from stock.xchng
– sxc.hu/
• MonoGame logo
– Monogame.net
• Screenshots from the games
– supergiantgames.com
– fezgame.com
– skullsoftheshogun.com
@runegri NDC 2013 @runegri

More Related Content

Similar to NDC2013 - Cross platform gaming with MonoGame

Being a game developer with the skills you have
Being a game developer with the skills you haveBeing a game developer with the skills you have
Being a game developer with the skills you haveJohan Lindfors
 
Making A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkMaking A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkGorm Lai
 
Glimworm 21-11-2013
Glimworm 21-11-2013Glimworm 21-11-2013
Glimworm 21-11-2013relayr
 
Microservices, the lean way - Bruno Bossola - Codemotion Amsterdam 2016
Microservices, the lean way - Bruno Bossola - Codemotion Amsterdam 2016Microservices, the lean way - Bruno Bossola - Codemotion Amsterdam 2016
Microservices, the lean way - Bruno Bossola - Codemotion Amsterdam 2016Codemotion
 
Microservices, the lean way
Microservices, the lean wayMicroservices, the lean way
Microservices, the lean wayBruno Bossola
 
Full stack development
Full stack developmentFull stack development
Full stack developmentArnav Gupta
 
SignalR & WP8 Community day 2013
SignalR & WP8 Community day 2013SignalR & WP8 Community day 2013
SignalR & WP8 Community day 2013Nico Vermeir
 
Improving Cross Desktop Standard by Cedric BAIL (GNOME Asia Summit 2013)
Improving Cross Desktop Standard by Cedric BAIL (GNOME Asia Summit 2013)Improving Cross Desktop Standard by Cedric BAIL (GNOME Asia Summit 2013)
Improving Cross Desktop Standard by Cedric BAIL (GNOME Asia Summit 2013)Daniel Juyung Seo
 
Unity: What does it take to port a browser title to mobiles
Unity: What does it take to port a browser title to mobilesUnity: What does it take to port a browser title to mobiles
Unity: What does it take to port a browser title to mobilesDevGAMM Conference
 
Linux Alternative Softwares
Linux Alternative SoftwaresLinux Alternative Softwares
Linux Alternative SoftwaresRanjith Siji
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19oradoe
 
Glimworm 21 11-13 (1)
Glimworm 21 11-13 (1)Glimworm 21 11-13 (1)
Glimworm 21 11-13 (1)Paul Hopton
 
Castle Game Engine and the joy of making and using a custom game engine
Castle Game Engine and the joy  of making and using a custom game engineCastle Game Engine and the joy  of making and using a custom game engine
Castle Game Engine and the joy of making and using a custom game engineMichalis Kamburelis
 
Deploying Specter Desktop - Mechanism, not Policy
Deploying Specter Desktop - Mechanism, not PolicyDeploying Specter Desktop - Mechanism, not Policy
Deploying Specter Desktop - Mechanism, not Policyk9ert
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...gamifi.cc
 
Drupal 3D - Intro to Using Web 3D with Drupal
Drupal 3D - Intro to Using Web 3D with DrupalDrupal 3D - Intro to Using Web 3D with Drupal
Drupal 3D - Intro to Using Web 3D with DrupalBrian Hay
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Ron Munitz
 
Hacking with ARM devices on Linux
Hacking with ARM devices on Linux Hacking with ARM devices on Linux
Hacking with ARM devices on Linux Netwalker lab kapper
 

Similar to NDC2013 - Cross platform gaming with MonoGame (20)

Being a game developer with the skills you have
Being a game developer with the skills you haveBeing a game developer with the skills you have
Being a game developer with the skills you have
 
Droid con
Droid conDroid con
Droid con
 
Making A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkMaking A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You Think
 
Glimworm 21-11-2013
Glimworm 21-11-2013Glimworm 21-11-2013
Glimworm 21-11-2013
 
Microservices, the lean way - Bruno Bossola - Codemotion Amsterdam 2016
Microservices, the lean way - Bruno Bossola - Codemotion Amsterdam 2016Microservices, the lean way - Bruno Bossola - Codemotion Amsterdam 2016
Microservices, the lean way - Bruno Bossola - Codemotion Amsterdam 2016
 
Microservices, the lean way
Microservices, the lean wayMicroservices, the lean way
Microservices, the lean way
 
Game Development in VR
Game Development in VR Game Development in VR
Game Development in VR
 
Full stack development
Full stack developmentFull stack development
Full stack development
 
SignalR & WP8 Community day 2013
SignalR & WP8 Community day 2013SignalR & WP8 Community day 2013
SignalR & WP8 Community day 2013
 
Improving Cross Desktop Standard by Cedric BAIL (GNOME Asia Summit 2013)
Improving Cross Desktop Standard by Cedric BAIL (GNOME Asia Summit 2013)Improving Cross Desktop Standard by Cedric BAIL (GNOME Asia Summit 2013)
Improving Cross Desktop Standard by Cedric BAIL (GNOME Asia Summit 2013)
 
Unity: What does it take to port a browser title to mobiles
Unity: What does it take to port a browser title to mobilesUnity: What does it take to port a browser title to mobiles
Unity: What does it take to port a browser title to mobiles
 
Linux Alternative Softwares
Linux Alternative SoftwaresLinux Alternative Softwares
Linux Alternative Softwares
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19
 
Glimworm 21 11-13 (1)
Glimworm 21 11-13 (1)Glimworm 21 11-13 (1)
Glimworm 21 11-13 (1)
 
Castle Game Engine and the joy of making and using a custom game engine
Castle Game Engine and the joy  of making and using a custom game engineCastle Game Engine and the joy  of making and using a custom game engine
Castle Game Engine and the joy of making and using a custom game engine
 
Deploying Specter Desktop - Mechanism, not Policy
Deploying Specter Desktop - Mechanism, not PolicyDeploying Specter Desktop - Mechanism, not Policy
Deploying Specter Desktop - Mechanism, not Policy
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
 
Drupal 3D - Intro to Using Web 3D with Drupal
Drupal 3D - Intro to Using Web 3D with DrupalDrupal 3D - Intro to Using Web 3D with Drupal
Drupal 3D - Intro to Using Web 3D with Drupal
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)
 
Hacking with ARM devices on Linux
Hacking with ARM devices on Linux Hacking with ARM devices on Linux
Hacking with ARM devices on Linux
 

Recently uploaded

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 

Recently uploaded (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

NDC2013 - Cross platform gaming with MonoGame

  • 2. In 10 minutes! • What is MonoGame? • What can it do? • How? • Some examples! @runegri NDC 2013 @runegri
  • 3. Me • Rune Andreas Grimstad • Work at Capgemini, Trondheim • Focus on .Net • Programming since I was 8 years old • Love computer games! @runegri NDC 2013 @runegri
  • 4. MonoGame is open source, cross-platform, XNA
  • 5. With MonoGame you can Write 2D-games or 3D-games that runs anywhere
  • 6. MonoGame runs everywhere Windows, Mac, Linux iOS, Android, Windows Phone, WinRT Raspberry Pi, Playstation Vita
  • 8. You need Visual Studio • You need Visual Studio to compile content • The WP7 SDK or XNA Game Studio 4 • Xamarin.iOS and Xamarin.Android • Win8 and the WP8 and WinRT SDKs @runegri NDC 2013 @runegri
  • 9. And some knowledge • Based on XNA so there are many tutorials • Many frameworks for various game types • You will need to know some maths – Vectors – Matrices @runegri NDC 2013 @runegri
  • 11. The game loop • Initialize – start here • LoadContent – runs once • Main game loop – runs forever – Update, game logic, AI, handle input – Draw, graphics here • UnloadContent – if you need it @runegri NDC 2013 @runegri
  • 12. Some tips • Focus on one platform first – Then re-use the code after it is done • Use abstractions for services – Gps – Accelerometer – Camera – Xamarin.Mobile can help @runegri NDC 2013 @runegri
  • 13. Some tips • Think performance – Try to re-use objects instead of creating new ones – Avoid reflection! – Avoid LINQ – Cache and pre-calculate what you can • Don’t forget you good coding practices @runegri NDC 2013 @runegri
  • 16. Bastion @runegri NDC 2013 @runegri • XNA on Xbox, MonoGame on Mac and Linux
  • 17. Fez @runegri NDC 2013 @runegri • XNA on Xbox, MonoGame on Windows
  • 18. Skulls of the Shogun @runegri NDC 2013 @runegri • XNA on Xbox, MonoGame on Win8/RT, WP8
  • 19. Want to know more? • Just ask! – @runegri on twitter – rag@rag.no • I’m here for the rest of the conference @runegri NDC 2013 @runegri
  • 20. Some resources • The MonoGame website: – monogame.net • MonoGame sources: – github.com/mono/MonoGame/ • XNA tutorials – Just google for them :-) @runegri NDC 2013 @runegri
  • 21. Thanks to • Fonts from Font Squirrel – www.fontsquirrel.com • Images from stock.xchng – sxc.hu/ • MonoGame logo – Monogame.net • Screenshots from the games – supergiantgames.com – fezgame.com – skullsoftheshogun.com @runegri NDC 2013 @runegri