So, what is going on?
The Swapper was originally a game developed using Game Maker. I have to agree that GM is a great tool for rapid prototyping and especially for learning basic programming concepts but it does have certain problems when it comes to more ambitious projects. First and the foremost it is terribly slow. In The Swapper I could get a steady 30 fps on a 2 Ghz dual core cpu but that meant making compromises all the time. Some of these were pretty ridiculous like not having more than 100 fog sprites per map because it was so slow to check which of them needed to be drawn on the screen or updated.
Secondly, as the game grew it became apparent that Game Maker isn’t very well suited for managing big projects. For example, as there is no proper auto-completion a great deal of time is spent trying to remember or figure out how a function (called scripts in GM) or an object does work.
Add to that the fact that the application itself and the development is basically restricted to Windows-environment and you’ve got a pretty good picture of all the reasons that lead me do the decision:
The Swapper is nowadays developed using C# and cross-platform libraries. That means redoing many things but it also means that the game is going to be superior in many ways to what it could’ve ever been when made on Game Maker. Or perhaps it’s better to say that running the same game made on GM would’ve basically needed a Crysis capable computer.
What bothers me is the fact that the development is again focused on engine stuff instead of the actual game. However there are still way too many good consequences from the decision that make me believe it was right.