We may earn an affiliate commission when you visit our partners.
Course image
Kyle Schaub

Are you ready to embark on an exciting journey into the world of game development? Good news - the path is wide open, and you're invited to join us. In this course, we'll dive into the basics of creating games with MonoGame, a game framework that has a rich indie development heritage. You'll be in great company, as countless successful titles, including Stardew Valley, Celeste, Fez, Axiom Verge, and Bastion, have been built using this software, each with millions of sales on Steam.We'll be using C#, a widely used programming language in the industry, to bring our game ideas to life. With this powerful combination of a solid game engine and a well-documented language, you'll have all the tools you need to transform your imagination into stunning games.

Read more

Are you ready to embark on an exciting journey into the world of game development? Good news - the path is wide open, and you're invited to join us. In this course, we'll dive into the basics of creating games with MonoGame, a game framework that has a rich indie development heritage. You'll be in great company, as countless successful titles, including Stardew Valley, Celeste, Fez, Axiom Verge, and Bastion, have been built using this software, each with millions of sales on Steam.We'll be using C#, a widely used programming language in the industry, to bring our game ideas to life. With this powerful combination of a solid game engine and a well-documented language, you'll have all the tools you need to transform your imagination into stunning games.

Now, let's talk about what makes this course special. It's all about hands-on, project-based learning. We'll apply the programming and game development fundamentals we discuss to create our very own MonoGame projects. No need to worry if you've never written a line of code before - this course is designed for beginners and seasoned developers alike. We've got content that will benefit everyone.After an introduction to set the stage, we'll dive into three sections on C# programming and three sections on MonoGame development. By alternating between programming and game development, we'll have you up and running, creating games in no time.Throughout the course, we'll build three games from scratch using MonoGame. We'll start with an exciting Shooting Gallery game where you'll aim and click on targets that pop up on the screen. Next up, we'll launch into a Spaceship game where you'll navigate through space, dodging incoming asteroids using the arrow keys. And to wrap it all up, we'll take on the challenge of creating a top-down action RPG. In this game, you'll control a player who explores a dynamic world, fights enemies, and shoots projectiles.With each new game we develop, we'll build on the skills acquired in the previous one, ensuring a solid foundation in game development. By the end, you'll have a clear understanding of all the essential components needed to create your own games, including playable characters, input controls, image rendering, collision detection, projectile shooting, enemy mechanics, player scoring, health tracking, animations, timers, and even a camera system.

To master these aspects of game development, we'll need a strong grasp of various C# concepts. That's where our programming sections come in. We'll cover a wide range of topics, such as variables and data types, conditional statements, classes and inheritance, methods, loops, switch statements, and data structures.While we'll be exploring these concepts in the context of C#, the core fundamentals exist across many programming languages, so the knowledge gained here will serve you well beyond this course. And don't worry, if you're already familiar with programming, we've got you covered with a handy "syntax review" lecture. It'll walk you through the specific usage of these concepts in C#, allowing you to quickly catch up and apply your existing skills to this context.

By actively coding along with the lectures, the information will stick with you as we progress through the material. Plus, you'll have the completed projects right on your computer, ready for reference whenever you need a reminder or a source of inspiration. Armed with a solid understanding of C# and MonoGame, there will be no limits to what you can create. So, are you ready to turn your game ideas into reality? Join us on this inspiring adventure, and let's build some incredible games together.

Enroll now

What's inside

Syllabus

Gain a better understanding of what C# and MonoGame are, as well as get all the software installed that we'll need for the first few sections
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses C#, a widely used language, alongside MonoGame, a framework known for powering successful indie games like Stardew Valley and Celeste
Alternates between C# programming lessons and MonoGame development, allowing learners to immediately apply new programming concepts to game creation
Covers fundamental C# concepts like variables, data types, conditional statements, and classes, which are transferable to other programming languages
Involves building three complete games from scratch, including a shooting gallery, a spaceship game, and a top-down action RPG, providing hands-on experience
Includes a 'syntax review' lecture for those already familiar with programming, allowing them to quickly adapt their existing skills to C# and MonoGame
Requires learners to install software, which may require administrator privileges on their computer and may not be possible on all devices

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Hands-on c# and monogame game development

According to learners, this course provides a solid foundation in C# and MonoGame through effective project-based learning. Students appreciate the hands-on approach, building three complete games which helps solidify concepts. It is often highlighted as excellent for beginners with programming or game development. While the course covers essential C# fundamentals and MonoGame basics like drawing, input, and collision, some reviewers note that the pace can feel fast, particularly in later sections like the RPG project. A few users also mention potential setup or versioning issues that might require minor troubleshooting.
Covers essential C# and MonoGame.
"The course covers all the essential C# concepts you need for game development in a practical context."
"Provides a solid introduction to the MonoGame framework, covering important topics like drawing, input, and collision detection."
"I learned about variables, loops, classes, and then applied it to game concepts like sprites, timers, and movement."
Accessible introduction to coding/game dev.
"As a complete beginner to both C# and game development, I found this course incredibly easy to follow and understand."
"This is a great course for anyone starting out with C# and game development. It doesn't assume you know anything beforehand."
"Perfect for beginners! The way concepts are explained is very clear, and you build confidence quickly."
Building games helps solidify skills.
"Building the games from scratch really made the concepts stick, the hands-on coding and projects are the strongest part of the course for me."
"I loved the hands-on approach, completing three full games from a blank slate was very motivating and showed the practical application."
"The projects are excellent for applying what you learn immediately. Creating actual playable games is the best way to learn."
May require troubleshooting initial setup.
"Had a little trouble with the initial setup steps; required searching online for solutions to get everything running correctly."
"Some parts of the code or required libraries seemed slightly outdated, needing minor adjustments for the current MonoGame version."
"Needed to adjust project settings based on my specific operating system and the version of MonoGame I installed."
Pace increases, later projects challenging.
"The final RPG project felt like a big jump in difficulty compared to the first two games."
"The pace of the course picked up significantly after the first game, sometimes feeling a bit rushed."
"While good overall, I wish there were more detailed explanations or exercises for the more complex sections later on."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn Game Development with C# Programming and MonoGame! with these activities:
Review C# Fundamentals
Solidify your understanding of C# fundamentals before diving into game development. This will make learning MonoGame concepts easier.
Show steps
  • Review C# syntax and data types.
  • Practice writing simple C# programs.
  • Familiarize yourself with object-oriented programming concepts.
Review 'C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development'
Deepen your understanding of C# with a comprehensive guide. This book provides a solid foundation for the programming aspects of the course.
Show steps
  • Read the introductory chapters on C# and .NET Core.
  • Focus on chapters covering data types, control flow, and object-oriented programming.
  • Refer to the book when encountering unfamiliar C# syntax or concepts.
Create a Simple Console Game
Apply your C# knowledge by building a simple console-based game. This will reinforce your understanding of programming concepts in a game development context.
Show steps
  • Design a simple game concept (e.g., number guessing game, text adventure).
  • Implement the game logic using C# console input and output.
  • Test and debug your game thoroughly.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice C# Coding Challenges
Sharpen your C# skills by solving coding challenges on platforms like HackerRank or LeetCode. This will improve your problem-solving abilities and coding fluency.
Show steps
  • Choose a coding challenge platform.
  • Solve C# challenges related to data structures, algorithms, and object-oriented programming.
  • Review your solutions and learn from others.
Document Your Game Development Journey
Create a blog or journal to document your progress and learnings throughout the course. This will help you reflect on your experiences and solidify your understanding.
Show steps
  • Create a blog or journal (online or offline).
  • Regularly document your progress, challenges, and solutions.
  • Share your learnings with others (optional).
Explore Advanced MonoGame Tutorials
Expand your MonoGame knowledge by following advanced tutorials on topics like shaders, networking, or AI. This will help you create more complex and engaging games.
Show steps
  • Identify areas of MonoGame you want to explore further.
  • Find and follow advanced tutorials on those topics.
  • Implement the concepts learned in your own projects.
Contribute to a MonoGame Project
Contribute to an open-source MonoGame project on GitHub. This will give you valuable experience working with a real-world codebase and collaborating with other developers.
Show steps
  • Find an open-source MonoGame project on GitHub.
  • Identify a bug or feature you can contribute to.
  • Submit a pull request with your changes.

Career center

Learners who complete Learn Game Development with C# Programming and MonoGame! will develop knowledge and skills that may be useful to these careers:
MonoGame Developer
MonoGame developers specialize in using the MonoGame framework to create games across various platforms. This course helps build a foundation. It dives into the details of MonoGame development. The course includes hands-on projects where learners will build a shooting gallery game, a spaceship game, and an action role playing game. This experience may prepare you to become a MonoGame developer.
Game Programmer
A game programmer is responsible for writing the code that brings a game to life. This course helps build a foundation, especially with its focus on C#, a widely used language in the game industry. The course dives into MonoGame, allowing you to apply game development principles to create your own projects. The projects involve building a shooting gallery, spaceship game, and a role playing game. These projects will give you experience with playable characters, input controls, image rendering, collision detection, projectile shooting, enemy mechanics, player scoring, health tracking, animations, timers, and a camera system. The course's coverage of variables, conditional statements, classes, and data structures may also prepare you for success as a game programmer.
Indie Game Developer
The indie game developer career path involves creating and publishing games independently. This course can be a great first step, providing the essentials to help you achieve this goal, especially since it focuses on MonoGame, a framework with a rich indie development heritage. The course's project-based approach, where you build three games from scratch, may prepare you to develop your own unique games. The course also covers key aspects like creating playable characters, implementing input controls, rendering images, detecting collisions, handling projectile shooting, designing enemy mechanics, managing player scoring, tracking health, incorporating animations, utilizing timers, and implementing camera systems. This comprehensive knowledge may allow you to create complete games as an indie game developer.
C# Developer
A C# developer specializes in using the C# programming language to build a variety of software applications. This course is very useful because it focuses heavily on C#. The course covers variables, data types, conditional statements, and data structures. It also explains classes, inheritance, methods, and loops. The hands-on projects in the course may give you opportunities to apply your knowledge of C# to solve real-world problems. If you are wanting to become a C# developer, this course can help build a strong foundation.
Gameplay Programmer
Gameplay programmers specialize in implementing the interactive elements of a game. This course may be useful, focusing on C# and the MonoGame framework. The course emphasizes hands-on experience, with projects covering a wide range of gameplay mechanics, such as player controls, enemy AI, and collision detection. The course may provide a good foundation for a career as a gameplay programmer.
Game Designer
A game designer conceptualizes and designs the mechanics and rules of a video game. Though this role is more design-focused than development-focused, this course may provide a good understanding of the technical aspects of game creation. This course uses C# and MonoGame as the primary tools. By building games using the MonoGame framework, the course may give you valuable insights into what is possible from a technical standpoint, which can inform your design decisions. The course focuses on creating playable characters, implementing input controls, rendering images, and detecting collisions. All of these lessons may provide a strong foundation for you to become a successful game designer.
Mobile Game Developer
Mobile game developers create games specifically for mobile devices. This course may be useful assuming that you want to use MonoGame. The course focuses on C# and MonoGame, two technologies that can be used to create mobile games. The course may also give you hands-on experience building games from scratch, which can be directly applicable to mobile game development.
Technical Artist
A technical artist bridges the gap between art and programming in game development. This course may enhance your foundational knowledge. The course focuses on C# programming and how to implement art assets within the MonoGame engine. Having a solid understanding of both the artistic and technical aspects of game development may be valuable as a technical artist.
Virtual Reality Developer
Virtual reality developers create immersive experiences using virtual reality technology. This course may be useful as a starting point. The course focuses on fundamental game development concepts using C# and the MonoGame framework. Learning these basics may give you insight into the creation of interactive 3D environments, which can be applied to virtual reality development.
Tools Programmer
Tools programmers develop software that helps game developers create content more efficiently. Understanding game development workflows and the challenges faced by artists and designers may be valuable. This course may be useful, teaching you how to work with a game engine (MonoGame) and how to create interactive experiences using C#. This knowledge may inform the design and development of useful tools for fellow game developers.
Augmented Reality Developer
Augmented reality developers create applications that overlay digital content onto the real world. This course may be useful. The course focuses on C# and MonoGame, providing a good foundation in game development. The skills learned from the course, such as creating interactive elements and handling user input, can be adapted to augmented reality development.
Game Engine Developer
Game engine developers work on the underlying technology that powers video games. While this course focuses on using a specific game framework (MonoGame), it may provide insights into the workings of a game engine. Understanding how MonoGame handles rendering, input, and other core functionalities may be valuable if you want to develop your own game engine or contribute to an existing one.
Software Developer
Software developers create applications for computers. This course may be useful, as it covers C#, a very popular programming language. The course teaches variables and data types, conditional statements, classes and inheritance, methods, loops, and data structures. These concepts are fundamental to all kinds of software development. Completing hands-on projects may provide a great way to apply your skills in C#.
Software Engineer
Software engineers design, develop, and test software applications. This course may be useful, given that it teaches C#, which is a general-purpose programming language used in many software engineering roles. You can also gain experience with software design principles through hands-on game development projects.
Quality Assurance Tester
Quality assurance testers ensure the quality of software by identifying and reporting bugs. Although this course is not directly related to quality assurance, it may provide a deeper understanding of the game development process. This knowledge may help you become a more effective tester, as you'll have a better understanding of how the game is built and how different systems interact.

Featured in The Course Notes

This course is mentioned in our blog, The Course Notes. Read one article that features Learn Game Development with C# Programming and MonoGame!:

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn Game Development with C# Programming and MonoGame!.
Provides a comprehensive guide to C# and .NET Core. It covers the fundamentals of the language as well as advanced topics. It useful reference for understanding the C# concepts used in the course and for cross-platform development.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser