no canvas

Collision of two worlds

Console versus Web

Rémi Papillié / @wsmind

Agenda

Console and Web convergence

Web & console legacy

Content creation pipelines

Improvement ideas

Who am I?

Wait! Who's this guy?

Ubisoft (Paris)

Engine developer

Just Dance 2014

Casual on console!

Spare time

Demoparties

JS Pride

CRTeCK

Game jams

Kawaii Must Die

Don't play with me

You said collision?

Consoles are connected

Not only multiplayer gameplay

Leaderboards, achievements (e.g XBLA)

Analytics

Social!

XB1 attempt at always connected

Gaming on the Web

Flash games

Facebook games

HTML5 ports of big engines (e.g Unreal, Unigine)

PS4 in browser!

Model by Volumic @ Sketchfab

So, Web and console are now the same industry?

No.

But why?

Web legacy

Everything Open Source

In line with Internet base principles

Not free, not used

Service-oriented

Easy deployment

Hosting is cheap

F5 updates your software

Continuous integration/deployment

=> Lots of tests

Release early, profit later (maybe)

Hard to be profitable from the start

Usually start small, then grow

Increased need for visible, immediate value

Side effect: encouraged accessibility and ergonomy

Developer-centric

Most of web tools are code-based (html, css, js, etc.)

Realm of designer-coders

Few artists, in proportion

Console legacy

Traditionally closed

Nothing open source

Open source is forbidden

Expensive (e.g some devkits cost $20,000)

Certification process

One-shot releases

Burn and forget (> 50% console market)

But you can update! Yeah, well...

Not all platforms (Wii)

Still heavy and expensive process

Side effect: bad code at end of production

One-shot marketing

You only got one try!

Sales

Production-centric

Developers only support production

Few of them compared to artists (~10%)

Most tools usable by artists (no code required)

Data-driven engines

Legacy changes the way we make games

How are games made?

Console pipeline

Console production pipeline

HTML5 pipelines

Cross-compile

Natural path for existing techs

Suited for cross-platform

Some shortcomings though (e.g threading)

Write JS

Web ecosystem (tools)

Javascript faster to write than C++

Editor availability

Reuse cool idioms

Maybe we could share some tips

Improvement ideas

Process example:
engine delivery

Currently: automated build, but manual testing

Max release frequency: twice a day (closer to deadlines)

Could benefit from automated testing

Better reliability, possible faster releases

JS engines

Need tools to allow artist-driven production (Flash anyone?)

Some techs have them

Interesting problem: communication with DCC tools

Adobe Generator (Photoshop CC) is a start

Takeaway

We're all making games, but in different ways

Sharing knowledge between technologies is valuable

Put the artists in charge!

Thanks

Questions?

And some more particles!

Bonus slides

Cross-compile C++ to js

(code! finally!)

#if defined(ANDROID) || defined(EMSCRIPTEN)
    GL_CHECK(glClearDepthf(depth));
#else
    GL_CHECK(glClearDepth(depth));
#endif
#ifdef EMSCRIPTEN
    emscripten_set_main_loop(em_main_loop, 0, 0);
#else
    while (glfwGetWindowParam(GLFW_OPENED))
    {
        application->update();
        glfwSwapBuffers();
    }
#endif

Other improvement ideas

Tool usability not uniform

Improve iteration times

Simple things: use URIs for everything