One Whale Trip

Back-to-front platformer game with Canvas2D and WebGL renderer

Canvas/WebGL: Play online now

This is a HTML5 port of our PyWeek 15 entry (also on The original game has been written in Python using PyGame, I've written an OpenGL ES renderer for the game to work well on mobile devices.

This game is a straight port from Python to JavaScript, using Canvas2D and the Audio API instead of PyGame. Instead of the OpenGL ES 2.0 renderer, WebGL is used (the APIs mostly overlap, so porting was easy).

Just with the original game, there's an option of using non-GL or GL rendering (some installations might not have support for OpenGL ES / WebGL). In this regard, it shows how to split rendering of a game into multiple backends, so that it can be used on WebGL-enabled browsers/devices as well as fallback to Canvas2D when needed.

The WebGL version has additional post-processing effects such as "underwater" effects and blurring.

Code and Downloads


Making Of


The code is licensed under the terms of the BSD license.

The visual artwork in is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported license. (C) 2012 barbara nedeved

Thomas Perl · 2015-12-22