This article was written in collaboration between myself, Daniel Ward, Finlay Brooker, Jimi Westerholm, and Igors Bogdanovs for an assignment. This is merely the hosting grounds!
All code examples are for C# with MonoGame. A .zip file is provided at the end of this article with a complete demonstration. The examples given in this article require a basic understanding of C#.
How do Typical Development Paradigms Fit?
When it comes to game development, it can be a bit harder for somebody who primarily focuses on application development to fully transfer their knowledge. With the inclusion of repeating logic centering around game loops, it may not come first nature to know how to write code that isn't so hopelessly bug-prone.
Consider a platformer. We implement a character that responds to user input. Push the jump button and she should jump...but remember that we need to handle only a single jump or we could spam the jump button and jump forever!
To deal with this, you could have a flag as an If statement that is unset when the player lands. But then we want to add more actions such as ducking and walking, and each time something gets added, we end up with total...