New generation of @insomniacgames tools as webapp

This year at the Sony GameTechConference (GTC11) I spoke about the next-generation of Insomniac Engine and Tools development. One of the biggest changes we shared was our move to develop our new suite of  tools as a web application.
 
Rather than continuing to fight against or completely ignore the internet and the expectation of connectivity, we have decided to fully embrace it instead. We figure this whole web thing probably isn't a fad. ;)
 
Things to note:
(1) Our tools run completely inside a browser. In particular, we're focued on Chrome support. As we're developing internal tools, we don't need to worry about broad support for old browsers (or any other browser at all, really.)
(2) The 3D window is a plugin that uses our own engine. Actually, it's really just a generic plugin that allows us to insert *any* windowed application into the browser. In internet terms that's a major security issue. In terms of internal tools, it's a non-problem and extremely useful to have full access to the local client.
(3) We use a mix of Javascript, HTML and Flash for the UI. Just like everyone else, we've been having the Flash versus HTML5 debate internally for a while. :)
(4) The back-end of the tools (e.g. asset data, level construction, undo/redo, etc.) are all controlled via a REST(-like) interface. Everything is done via this interface. The UI is completely decoupled from the back-end, which has made UI development a simpler, faster and more straightforward process for us. It also allows us to do things like write perl scripts which create or edit existing scenes or anything else we like.
 
Like all things, it's a work in-progress. And we have learned a whole lot of hard lessons from the process! 
 
Some screenshots of the tools running in a browser window:
 
 
 
 
Also, for those interested in more of the back-end details, last August Chris Edwards (Sr Engine Programmer) gave an internal talk on the design of the server (lunaserver). Quite a few of the details have changed over the last 6 months, but the essential design remains the same so far.
 
 
We're really excited about the direction and future possibilities! 
 
I hope you've found this little taste of what we've been cooking up in the Insomniac Core Team Kitchen interesting. 
 
Mike.
  • Matt Campbell

    I realize this is a very old post, but I was curious to know how things were going on the webapp as a tools front end. I’ve been wanting to do this for a while and stumbled across this post. However, it looks like NPAPI is being phased out but currently, that’s the only way I can see to integrate with a browser the way I want to integrate. (e.g. full desktop GL backend for starters) NACL looks promising but is pretty restrictive. With NPAPI I can just send a window handle to my engine and go to town.. doesn’t seem to be the case with NACL.

    Any thoughts?

  • http://blog.leidegren.se/ John Leidegren

    This is ingenious. The ability to extend the editor is essentially the same as being able to write a bit of HTML and JavaScript. Assuming that the APIs that sit on the back of this can be pulled together to accomplish what you need. I’d love to hear more about this tech.