A Gentle Intro To Game Development Using C# and MonoGame
What you'll learn
- Create 2D Winform games in C#
- Create 2D games using MonoGame
- Create a Graphics program which simulates an "Etch-A-Sketch" drawing program
- Create Graphics applications which incorporate drag and drop events
- Create a simple object animation then use it as the basis for a car race game
- Create a slot machine game
- Create a falling objects games ... where you move an object around with the keyboard and catch objects falling from the sky for points
- Create a Space shooter game
- Create several 2d Game Applications which incorporate flicker free animation and allow the user to use the keyboard and mouse to control movement.
- Create A Cannon Shooting Game
- Create a Vertical Scroller Game
Requirements
- You should have a beginner level understanding of C# . Basic concepts like loops, if statements, methods, arrays and some simple object oriented concepts
- Our focus will be working with Visual Studio Express or Community Edition on Windows machines .
- Not sure you have enough background to take the course ? Then I would recommend taking my first course "C# Programming for Beginners:Practical Applications Approach" before attempting this course
Description
Video games are on our computers, our consoles and our phones! Lots of people play them and every year more people are making them. If you have ever played a computer game and thought, “I wonder how they do that?” or, better yet, “I want to make something like that,” then this course will get you started. Game development is what got many developers into programming. But how many of us actually ever learned how to create games? Creating games can be challenging, but it doesn’t have to be that way! MonoGame is a cross platform gaming framework based on Microsoft’s XNA framework that’s extremely easy to learn. Best of all, games you build with MonoGame will run on iOS, Android, Mac OS X, tvOS, Windows, Linux, PlayStation 4, and more—write once, play anywhere.
There’s no shortage of options when it comes to game development environments. From full-featured engines like Unity to comprehensive and complex multimedia APIs like DirectX, it can be hard to know where to start. MonoGame is a set of tools, with a level of complexity falling somewhere between a game engine and a grittier API like DirectX. It provides an easy-to-use content pipeline, and all the functionality required to create lightweight games that run on a wide variety of platforms. Best of all, MonoGame apps are written in pure C#, and you can distribute them quickly via the Microsoft Store or other similar distribution platforms.
Our focus will be working with Visual Studio on Windows machines .
This course assumes that you’ve done a little bit of programming in C# but all the material starts at the most basic level. That means that anyone should be able to join in and work their way through the material. That’s the good news.
The bad news is that programming is hard work, especially at first. If you truly want to learn how to program, you’ll need to write programs yourself and struggle through some rough spots before some topics really click for you. Just as you can’t learn how to ride a bicycle by reading about it – you have to actually do it, probably with some spills along the way – you can’t learn to program just by reading about it or watching a video. If you were hoping to watch and learn how to program without doing any programming yourself, it’s not going to happen... But having said that don't feel you are alone, I will be available daily for extra help should you need it.
This course is project-based, so you will not just be learning dry programming concepts, but applying them immediately to real games as you go. All the project files will be included, as well as additional references and resources
Here's how I will help you to succeed:
o Each lecture starts with a list of objectives/speaking notes
o Every example covered in the lecture is available for download in the resources section … including the objectives/speaking notes
o Almost every lecture has a set of Practice problems with full solutions provided
o My style of writing and teaching follows the KISS principle : Keep It Super Simple. I try to stay away from fancy computer terminology and try to teach like am speaking to a brand new user with little to no previous knowledge on the subject matter.... and I am always available for help … replying most times within a day.
... So are you ready to start making your first games ? Lets get started !
Who this course is for:
- Anyone young or old who wants to start creating their own games from scratch. Using C# and MonoGame you get a full coded experience. If you prefer to control all the bits of your game and not rely on things being done for you, it's a better fit.
Instructor
Hi, my name is Charlie Chiarelli. I'll be your teacher for this course. I will spend as much time as necessary to help you do the best you can. But, for you to succeed you must be willing to work .
I am a retired High school Computer Science and Mathematics Teacher from Canada. I taught for 35 years, I have a BMath degree from the University of Waterloo.
I was a frequent speaker at educational conferences (ECOO) and seminars . Most recently my talks focused on E-Learning and the future of education (Flipping the Classroom).
I was the school webmaster and served on a number of school board committee , recently advising my school board (Hamilton Wentworth Catholic District School Board) on its online learning direction. I was also the contest coordinator for the Annual Programming Contest for the past 15 years.
For the last 7 years before I retired I was in the unique position of teaching most of my computer science classes entirely online using the D2L LMS. Because of low enrollment and lack of qualified computer science teachers I became the "board" teacher. So my virtual class was made up of students from various schools in the region.
I am not a brilliant software engineer trying to teach programming. I am a high school computer science teacher that has taught teenagers for over 35 years. So I think my perspective and sensibilities are quite different than the typical Udemy instructor. I feel this gives me a greater appreciation for what beginners need to learn and how it should be presented.
The next big blue-collar job category is already here—and it’s programming. What if we regarded code not as a high-stakes, sexy affair, but the equivalent of skilled work at a manufacturing plant? I believe we should spend less time urging kids to do expensive four-year computer-science degrees and instead introduce more code at the vocational level in high school and community colleges. Mid career people can learn coding online at sites like Udemy. I put forth the belief that we should focus less on the wunderkinds and more on the average individual.
I hope you agree and find my courses rewarding.