Monday, November 26, 2012

To HTML5!

One of the stumbling block I mentioned in my first post was "making development too difficult." After a few weeks of developing an engine in C++, I realized I was falling into the trap again. Why deal with all those native things and irritating library incompatibilities? It was difficult to get inspired to work on something that people would have to jump through a million hoops to end up playing for 5 minutes (in other words: not play ever).

So, we have transformed Vela into an HTML5 WebGL game. This means easy deployment and simple demos. The web is ridiculously conducive to the multi-player aspect of RTS gaming, although the casual nature of web games conflicts with the mentally taxing RTS game -- something we will have to play around with a lot in prototypes.

One thing that has bothered me about dynamically-typed languages like JavaScript (this isn't going to turn into yet another anti-JavaScript rant) is how they scale out to a larger team. I love the flexibility you get from free-form everything, but when you have multiple people working on a project, simple things like changing the name of a method become a royal pain.

To TypeScript!

TypeScript is a rather nifty language that aims to bring a little bit of static typing to the Land of JavaScript. It has great tools for "linking" to "native" JavaScript "libraries." We are taking advantage of the bindings for WebGL. The only downside is my insistence on running on Linux and relying on Makefiles, as TypeScript's current compiler does not appear to have been designed with this in mind at all.

Mono+ASP.NET MVC on Linux

In the interest of static typing, we have chosen C# as the implementation language for the server and ASP.NET MVC as the framework to work with. A close runner up is Scala+Lift. The decision came from pragmatism, as two of us already know C# and ASP.NET MVC versus only one person knowing Scala and thinking Lift looks really cool. The server software is not very interesting at this point, so it might change in the future, depending on how much of a hassle Mono turns out to be.

No comments:

Post a Comment