Richard Hackett, Studio Technical Director
This is not a sales pitch
User experience = super important
Writing good tools is really hard work
Documentation
Dashboard
Browser layout engine
Ability to style and customise
Dynamic runtime interface building
JavaScript 2D rendering API
2D rendering area
Sprite rendering
Vector drawing
JavaScript OpenGLES API
Hardware accelerated 3D
Browser Compatibility
![]() |
![]() |
![]() |
![]() |
![]() |
|
| Canvas 2D | |||||
| WebGL 3D | |||||
| Plug-in | |||||
| NaCl |
Tools as a web app
Developer tools © Insomniac Games, Inc.
Embedded Web UI
Steam Client © Valve Corporation
http://blitztech/searchexample
import blitztech
from werkzeug.routing import Map, Rule
from blitztech.webinterface import HttpResponse, UrlMapperApp, template
from blitztech import search
def register():
blitztech.webinterface.register_application(
'searchexample',
UrlMapperApp(Map([Rule('/', endpoint=search_example)]))
)
def search_example(request):
search_results = search.search_database("status:checkedout")
return HttpResponse(template.expand("database/search.html",
objects = search_results))
{% extends "file/base.html" %}
{% block content %}
<section class="grid">
<h5 class="rounded block alt_2">Checked Out Objects</h5>
<ul class="grid_list">
{% for object in objects %}
<li>
<a href="/database/{{object.get_unique_id()}}/">
<img src="/database/thumbnail/{{object.get_unique_id()}}/"
class="rounded thumb" />
<span class="caption">{{object.get_name()}}</span>
</a>
</li>
{% endfor %}
</ul>
</section>
{% endblock %}
WSGI utilities
Template expansion
Dynamic stylesheets
UI style library
Graphing library
JS module loader
DOM traversal
Simplifies AJAX requests
Event handling
MVC
General utility library
Extends basic JS
but you might want to
Don't hack for too long
Value of specialised devs
A little design goes a long way
Don't reinvent
Reduce QA and dev effort
Review implementation, usability
Easy data interchange
[
{
"Name": "The Moomins and the Great Flood",
"Published": 1945,
"Author": "Tove Jansson"
},
{
"Name": "Comet in Moominland",
"Published": 1946,
"Author": "Tove Jansson"
},
{
"Name": "Finn Family Moomintroll",
"Published": 1948,
"Author": "Tove Jansson"
}
]
Be careful at scale
Rapid prototyping
Better UI
Richard Hackett
rhackett BlitzGamesStudios.com
Tom Gaulton @ Blitz Games
CSS slideshow - reveal.js
WebGL 3D - three.js
SVG icons/rendering - raphael.js
Graphing - flot