VEmpire – A technical point of view

Well – this is a game developers view on VEmpire, the first one (more will come), i guess it’s interesting for you if you are a game-dev and have been struggling with the same issues as we did.

From HTML5 to ‘Chassa’ to Native



For us, as we are C++ and C# developers for decades (!), it was, and still is, a real challenge to write this game in JavaScript and HTML5. But on the other side it seams as there is no real alternative to this approach if taking our (weird?) pretensions into account. We wanted no proprietary framework anymore (Unity, Flash, DirectX etc…) because we’re all having this dependencies in our “real” jobs and have made bad experiences with those, especially with Microsoft (Silverlight).

  • For this project we wanted something we can trust on, and the ECMA-262 (JavaScript) standard and HTML5 seems pretty stable in this sense
  • We need one codebase to be able to be deployed to as many plattforms as possible, of course transformed into something “native” if required, e.g “Ejecta” for iOS
  • Development should be fast, no clunky IDE (Visual Studio, Eclipse etc…), Javascript with Komodo Edit and a WebBrowser – it’s amazing fast and incredibly efficient

We don’t wanted to write the “core” game-renderings engine for ourselfs, so we used the well known and well made HTML5 game engine ImpactJS as a basis.
Although Impact is a game engine primarily written for arcade/action games it is still a good starting point if writing your own card-game engine.
This is mainly because Impact uses a good OOP pattern, see here Impacts’ Inheritance, which we’re using extensively.

So, to have a solid basis for VEmpire, we’ve been developing our own “Card-Game-Framework”, called “Chassa”, for over than 2 years now, and we are pretty satisfied with what it looks right now.
Very soon, if the alpha is done, you can check it out right here in the browser.

Not Unity, Why?

No, VEmpire is no Unity game, and no it is not because we don’t like Unity. It’s maybe the best game-engine out there and we really like it. The support, the community, the asset-store (we are still using it), the 2D features (look at this from Jesse) – all is great.
We’ve tried a little with Unity and have had a great start because we’re C# developers for a (very) long time. But on the other side we’ve also made (too much) bad experiences with proprietary development frameworks, which, at the end of the day, Unity is. Furthermore i personally always struggled with the lack of technical transparence when working with Unity.
For me as a software developer for more then 20 years it is too much a graphical development tool with powerful scripting (just) attached to your objects. There is nothing wrong with this, and as i mentioned i really think it is actually the framework to go, if you need a 3d-engine.
Yes, this was the point – should we really use a full-blown 3D-Engine for a 2D Game? Yes Hearthstone and HEX are Unity games even if “just” card games, and yes they look awesome. But we tried to stay realistic, do we have the capacity and resource power to build a game in this quality with Unity? No, at the end our game would probably just look like thousands other “cheap” and poorly made Unity games out there. This (imho) is because it is so easy to make “something” fast in Unity, again this is not the fault of the engine!

Have a nice day, Wolfgang

Author admin
Categories Game Development
Views 1137