@TTG. Switch to XULRunner as HTML backend?

edited August 2009 in Game Support
First off, a fair warning: this topic is not everybody. Be prepared to not understand everything. If you want to know: ask. If you don't: there are plenty of other topics for random chatter.

I was just remembering some of the problems with the launcher that surfaced in e2. Most of them are gone now... but all in all it's not an ideal situation: the games depend on the browser installed, so if there is an unexpected browser version installed (as was the case with the Win7RC1 browser during the e1 release) or Microsoft makes radical changes to IE, the games could easily break again.

There's one very simple solution: Including your own browser engine. Of course I don't know how and how much the copy protection interacts with the browser backend, so if Securom is incapable of working with anything but IE, it's not an option.

But other than that I can see few problems and a lot of benefits.
1. Much less work for the poor fella who has to write the launcher since he only has to target one browser.
2. Less risk of Microsoft breaking the launcher.
3. Many more useful features like stable video/audio playback without dependencies that could be useful for the launcher.

The only drawbacks I can think of are
1. Won't automatically pick up system proxy settings
2. Footprint increase (about 7MB compressed, but not otherwise optimized)

The thing I've worked with in the past is Mozilla's XULRunner. It has a fairly liberal license if you don't touch their trademarks (not really important here). An embedded Webkit version would work just as well, but I'm not familiar with that.

Other ideas about problems / benefits / usable engines?

Comments

  • JakeJake Telltale Alumni
    edited August 2009
    At some point we'd like to switch the launcher to something more integrated and less dependant on the user's install -- maybe an integrated WebKit library built into some of the other libraries we use in the engine, for instance -- but it hasn't happened yet. We haven't got a concrete schedule, but over time we of course like to improve all of our tools so I'm sure something will happen to the launcher to clean it up. There's nothing firm to talk about at the moment, though. Fortunately the launcher currently works as expected for the large large majority of our users, but yes, we're aware that we could be doing far cooler stuff with it if we had a more integrated solution. Thanks for noticing :)
  • edited August 2009
    No pressure, Jake: it was just something I was wondering about because of the issues that we saw during launch.

    And I figured thinking about it now could save a lot of work in the long run.
  • edited August 2009
    Jake wrote: »
    maybe an integrated WebKit library built into some of the other libraries we use in the engine

    That could have other benefits as well... imagine rendering to texture and using it to display 2D interface elements. Or the rest of the game logic... Javascript instead of Lua?
  • DjNDBDjNDB Moderator
    edited August 2009
    I had the same thought in this thread, while facing a strange bug that had to do with the Internet Explorer Version.
    I am glad to hear that this dependency is considered to be removed at some point. That might make the Linux gamers happier as well.
  • edited August 2009
    I don't think they ever considered removing the MSIE rendering engine, just the frontend but whatever serves as an excuse to get rid of an MSIE dependency is fine with me ;)
  • JakeJake Telltale Alumni
    edited August 2009
    That could have other benefits as well... imagine rendering to texture and using it to display 2D interface elements. Or the rest of the game logic... Javascript instead of Lua?

    I don't think LUA's going to go away, and for many good reasons. I'd love to render a webpage to an in-game texture, though. That would be very neat :)
  • edited August 2009
    Jake wrote: »
    I don't think LUA's going to go away, and for many good reasons.
    Oh common, it's just Javascript that's made to look like BASIC ;)
  • DjNDBDjNDB Moderator
    edited August 2009
    I don't think they ever considered removing the MSIE rendering engine, just the frontend but whatever serves as an excuse to get rid of an MSIE dependency is fine with me ;)

    I thought WebKit would have replaced it in the scenario mentioned by Jake above, or am i mistaken?
  • edited August 2009
    DjNDB wrote: »
    I thought WebKit would have replaced it in the scenario mentioned by Jake above, or am i mistaken?

    I meant Microsoft didn't plan on removing the Internet Explorer rendering engine from the European version at any time. But sure, even if they did, an engine included with the Telltale games would cover it. And yes, the Linux crowd would be happier too, since they're essentially using XULRunner right now and the pages created by Telltale target Internet Explorer, which is why the launcher doesn't work under Wine.
  • DjNDBDjNDB Moderator
    edited August 2009
    I meant Microsoft didn't plan on removing the Internet Explorer rendering engine from the European version at any time.

    Ah, now i see. I missed that you were referring to the linked post.
  • edited August 2009
    I can't speak on behalf of all Linux users, but personally I'd rather have it skip the launch screen altogether. Just let me start it first time with --serial=XXXXX-... and from then on just launch. Or use something like QtWebKit, at least in C++ it's mindnumbingly simple to create a basic browser - they even included one in the Qt toolkit demo apps...
  • edited August 2009
    DjNDB wrote: »
    That might make the Linux gamers happier as well.

    And the mac users (though I'm a linux user, but the mac users have the same problems).
  • edited August 2009
    Kjella wrote: »
    I can't speak on behalf of all Linux users, but personally I'd rather have it skip the launch screen altogether. Just let me start it first time with --serial=XXXXX-... and from then on just launch. Or use something like QtWebKit, at least in C++ it's mindnumbingly simple to create a basic browser - they even included one in the Qt toolkit demo apps...
    No easier or more difficult than in any other language... as long as you mean "use another browser engine in my program". Actually creating a browser is still a butt load of work.

    The thing that I'm wondering about with WebKit is how stable the communication interfaces are. XULRunner has XPCOM (or if you want to go the traditional way, pipes and sockets). Is there anything built like that into WebKit itself, or do they leave it to forks to implement communication?
This discussion has been closed.