Thanks to everyone who attended my session: Web developer by day, Game developer by night at Philly.NET Code Camp 2015. I’m so grateful that so many people would take the time out from important topics in the .NET world and beyond to come have a little fun learning about hobbyist game development. The key message that I hope was well-received is ASP.NET developers are well-suited to put their skills to work building high performance games.
Game development seems like a black art. If you were a career developer (on any platform) you often found the style of program flow to be foreign if you were switching from event driven programming to game programming.
Modern web development frameworks and events are working pretty hard to minimize the boilerplate code you have to write in your game loop. In some cases, it even begins to feel somewhat event driven again. I don’t want to oversell that. Even in the code we wrote during the Code Camp session, we were still thinking about “what do we have to update every frame”.
Part 1 – Introduction
I have longed for the web to be ready for high performance games, including multiplayer games. I believe we are at the point where the technologies you need to build high performance, real time games are here. The exciting thing is we have a lot of choices now.
I believe we can use Microsoft tools and technologies to deliver the games I am speaking of. I am going to show you how ASP.NET and many of its pieces such as SignalR can be a foundation, but what will be more exciting is when we explore the options afforded us by OWIN and scaling technologies like the Windows Azure Service Bus.
Getting started is going to involve learning how to develop with ASP.NET SignalR. You may be hearing a lot about SignalR lately. It certainly can be labeled the new hotness. People are excited about the prospect of real-time applications on the web and breaking the stateless request/response paradigm.
How is that even possible, you may ask? Well, the fact of the matter is there is no magic going on here… no cheating… it’s still the web. It’s just that some very clever techniques developed over the years, plus newer features like WebSockets are coming together to enable this.