Sign in to follow this  
Yushatak

A Technical Question

Recommended Posts

Yushatak    13

When the Steam version came out, I'd assumed it would be a desktop version of the Chrome version, i.e., one of Google's "Desktop Web App" things. Judging by the bugs being different for each version much of the time, etc., I imagine it may not be.

I was wondering, as a fellow coder, how IS this set up? I imagine it's not a totally different codebase, so how does it work?

Thanks for indulging my curiosity. LOVE this game. :3

Share this post


Link to post
Share on other sites

The game is written in C++ I assume and then wrapped in the Native Client wrapper for Chrome or the Steam Wrapper for distribution on Steam. The same code base can be used as they're both written in C++.

Share this post


Link to post
Share on other sites
Kevin    969

Most of the engine code is the same across the two platforms. There's a layer of platform specific stuff (graphics, input harvesting, system-level calls, etc) that is only compiled into the appropriate version. Our graphics stack is... odd in that it's written all in OpenGL ES (for portability), but then translated to directx on windows by a library called Angle. Chrome also uses this library, internally. Before the last update, the windows version was just using plain-old opengl, but we found that a lot of people have graphics cards with really bad driver support for opengl. Intel makes some really dodgy graphics cards.

The game code is written in Lua, and is the same across the platforms. There's a little bit of specificity to make the front menus look a little different, and the demo code is only active on Chrome.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this