If you follow my work (aka my anual blog update ūüėČ ) you know I’m a great enthusiastic of anything slightly resembling sci-fi, geek, gadget things. And sometimes I’m lucky enough to team up with amazing people¬†in order to put those toys to some good use.

In this video I¬†showcase the¬†Planovision¬†system¬†–¬†a ‘3D Table’ compound of a¬†head-tracking device, a 3D projector, and 3D glasses.¬†I’m currently working towards integrating the Planovision with an authoring tool in order to build real demos, and help the project to kick-off.

After the initial integration with Blender¬†via¬†the Blender Game Engine (after all we don’t want just to see the 3d models, but to interact with them), today I got¬†the system to work with BlenderVR to help the integration with different inputs (head-tracker, 3d mouse, leap motion, …). I’m helping the development of BlenderVR since last October, and we only¬†recently released its¬†1.0 version. BlenderVR is a well behaved guinea pig I must say.

The Planovision has being developed under the guidance of professor Luiz Velho, director or Visgraf/IMPA in Rio de Janeiro, Brazil.

BlenderVR is an virtual-reality open source framework built on top of the Blender Game Engine. BlenderVR was created and is developed by LIMSI/CNRI in Orsay, France and is aimed at Oculus, CAVE, Video Walls among other VR display types.


If you want to learn more about the Blender Game Engine, don’t forget to check the book¬†Game Development with¬†Blender, written by Mike Pan and yours truly.

I guess this is one of those times when the line between work and play gets really blurry. I hope it keeps this way for a long time ūüėČ


The book in a nutshell:

  • Pages:¬†448
  • Figures:¬†317
  • Files:¬†100
  • Release Date: June 20th, 2013
  • Publisher: Cengage Learning

Where to buy the book?

Where can I get the sample files?

Some people reported problems in finding the companion files. The official link is www.cengageptr.com/downloads, but if you want a direct links you can go here.

How to get a copy for evaluation?

  • If you are considering to adopt this material in a classroom, request a copy directly with Cengage.
  • If you want a preview of the chapter one, download it here. (or use the “Look Inside” option in Amazon.com)

What does the book cover?

The book is organized in the following chapters:

  1. Blender in a Nutshell
  2. First Game
  3. Logic Bricks
  4. Animation
  5. Graphics
  6. Physics
  7. Python Scripting
  8. Workflow and Optimization
  9. Publishing and Beyond
  10. Case Studies

We start covering the basics of Blender for new comers followed by a simple game project from start to end. That should give the reader the perspective of the components of the Blender game engine important for making your own projects.

The following chapters  are self-contained, each one with its own approach. Most of them have tutorials and short projects focused on the presented tools. Finally, chapter 10 gives the reader a perspective of real usage of the Blender game engine presenting 10 projects from different artists around the world explained by the authors themselves.

What version of Blender does this book cover?

The book covers Blender 2.66a fully.

Will there be an ebook?

Yes. So far online for Kindle (and in the USA), but other options and regions should be available shortly. For the Kindle version get it here.

About the authors:

Mike Pan is a CG generalist who started using Blender 10 years ago, before it was open sourced. Mike’s interest in Blender includes everything from special effects to compositing, and from real-time graphics to scripting. He has given talks at the Blender Conference in Amsterdam, hosted workshops at the View Conference in Turin and Blender Workshop in Vancouver, and conducted a three-day Blender course in Kerala, India. Mike is currently the lead programmer for a two-year project at Harvard Medical School to develop a biomolecular visualization software using Blender. Before that, he worked at the University of British Columbia with Dalai on a marine ecosystem visualization project. Mike lives in the always-raining Vancouver, Canada. You can find him at mikepan.com.

Dalai Felinto, who is currently living in Vancouver, Canada, was born in sunny Rio de Janeiro, Brazil. He has been using Blender since beginning his undergraduate studies in Architecture and Urban Planning in 2003. His participation in the Blender Community includes papers, workshops, and talks presented at events such as BlenderPRO in Brazil, Che Blender in Argentina, Blender Conference in Amsterdam, View Conference in Turin, BlenderVen in Venezuela, and Blender Workshop in Canada. He has contributed patches and code to Blender since version 2.47. Dalai uses Blender and the game engine in his work as a science communicator at the University of British Columbia, Canada. However, his day job doesn’t stop him from doing freelance Blender projects around the world. His latest works have been for Italy, England, and the Netherlands. Dalai’s dream career move is to land a job in the movie industry, working at Pixar. Follow his adventures at dalaifelinto.com.



Bonus Question: How did this book help the game engine?

One of the reasons it took us almost three years to complete this project was to make sure it would cover all the game engine latest developments.

We were alarmed that some areas of the BGE (Blender Game Engine) could/should use a revamp. I’m one of the BGE developers, so we made the decision of taking the book writing and some needed development side-by-side. That includes a lot of changes in the UI, the¬†support for unicode and ttf fonts, and the¬†removal of texface properties in favour of per-material settings, and¬†lots of bug fixes.

It wasn’t an easy call because we knew the book delay could harm the book sales. However my first concern was into making sure we were proud of the engine we were talking about. And even though we both make a living out of working with Blender and the game engine, we knew there were room for some pressing improvements.

We finally settled on the 2.66a. And before handing all the manuscript to the publisher, in the author review phase we made sure things were updated. From there on people can follow the release notes of new Blender and it will be fine.

The book companion files (over a hundred) also helped to test the BGE itself. Just to illustrate it, we were short in time prior to 2.66 release and couldn’t dedicate time to test the official release (somehow to finish a book takes time (: )). We then worked closely with other developers to have 2.66a stable as far as the animation, uv materials, and multiplatform support goes. The result? between 2.66 and 2.66a alone we had 15 bugs fixed by the bge developers (some by myself directly, and others by fellow programmers). And all the book files are working in 2.66a as they were originally conceived in all major platforms (Linux, Mac and Windows).

We hope you enjoy the book!

Feel free to drop us a line with any feedback or commentaries you may have.

Sometimes I have this coding itch, that doesn’t let me do anything until I’m done with developing an idea. I actually thought that I wouldn’t bother implementing the mockups I did earlier today. But in my way home I realized the implementation was actually trivial. With no further delays, the next screen is not a mockup, but a real screenshot from a patched Blender:

You are right Momo, groovy!

The complete patch is in the Blender Tracker, but the essence of the code is:

//given xco, yco and percentage
int barsize = 60;
// draw in black first
glColor3ub(0, 0, 0);
    glVertex2f(xco + 1 + barsize, yco + 10);
    glVertex2f(xco + (1 - percentage) * barsize - 1, yco + 10);
    glVertex2f(xco + 1 + (1 - percentage) * barsize - 1, yco - 1);
    glVertex2f(xco + barsize, yco - 1);

Any comments and feedbacks are still appreciated.
Time to sleep ūüėČ

I’m reading a very interesting book on data visualization for science. (Visual Strategies by Felice C. Frankel & Angela H. Depace). The book was highlighted in last month’s Nature magazine, and is indeed highly recommended for scientists or science communicators like myself ;).

Today Mitchell asked me to look at a patch he was reviewing and adding his own changes. The patch by Angus Hollands re-organize the interface for debugging. Well, I couldn’t help giving a try at representing the numbers in a more direct way. I don’t how hard would be to implement those ideas, here are mockups only for the sake of my creative exercise. Thoughts?

Original proposal by Angus Hollands (agoose77) with changes from Mitchell Stokes (Moguri)

Why not visualize the percentage?

A more radical approach

Do you know Momo? He is a cute little monkey traumatized from being a second character in the Yo Frankie game project. Now what if you could carry Momo with you wherever you go? Your dream is closing to come true!

(wth are you writing about? — if I had an editor for my blog she would probably write that down)

Alex Ku is working in the Google Summer of Code 2012 to bring porting the Blender Game Engine to the Android platform. His work is¬†progressing¬†smoothly and there are already some visible-shareable results. Today he announced the first Blenderplayer.apk release, so I couldn’t help but testing it.

So it works, is that all? well, not really. There are still bugs and non-supported features. But skinning-armature, mouse click, glsl shaders (partially), physics they all work.

This sample file is part of the examples that go with the book I’m finishing up writing with Mike Pan. We are already on author review stage, so I should be able to talk more about it soon. Since I’m ‘giving the file away’ anyways I may as well explain it ūüôā This file showcase the use of dynamic parenting and bone parenting in BGE. It’s a good technique for character customization (as you can see with the hats).

Kudos for Alex Ku’s work and all the other developers that are helping this project,

From time to time I go to re-visit some projects I keep track of. This week I resumed working in a BGE (Blender Game Engine) project and decided to test if the file would work online. How so? Burster is a webplugin for the BGE that allows you to embed (and even secure) your .blend files in a website.

Burster got some really good upgrades lately, and not it works as a plugin is expected to (it tells the user a new version is online, suggest it to update, …). So what you see next is a screencapture of the Nereus Program¬†(the project I’m working on, aka my day job) website.

BGE embed in a webpage, cool


Where you see this Baltic Visualization box, it’s a BGE application running. Cool, right? Before someone ask if this is all realtime let me explain. This is a fancy videoplayer made in the BGE to play videos (also made with Blender, but not necessarily). It’s all about point-click, animate, sync videos, … Next you can see the same file running in the BGE with Physics debug on.

Physics Visualization on

In order to have this going I had to:

  • pack all the textures in the file
  • open all the external scripts (originally in //scripts/) in the Blender Text Editor
  • remove all the ‘from . import’ from my scripts (the modules were calling each other)
  • fix all the python module controllers:
import bpy
for obj in bpy.data.objects:
  for cont in obj.game.controllers:
    if cont.type == 'PYTHON' and¬†cont.mode == 'MODULE':
      cont.module = cont.module.replace('script.', '')


Note: not all modules/python functions are supported. Read the  are Security page in the Burster plugin site.

And I did all my tests locally. Mainly because I had to hardcode the address of the videos in my harddrive. I believe it may be (or it will at some point) possible to load videos from the server. I’m yet to find the right solution for this.

For questions on Burster please refer to their website ūüėČ


Welcome, I’m your Oracle. What would you like to know?

Those promising first lines announce what is to come. A virtual avatar who will walk you through a journey of knowledge and discovery.

This was our first take, a prototype if you will, in creating ways to communicate global data on the ocean possible futures and the scientific models underneath the predictions. As part of the NF-UBC Nereus Program.

If you wanna learn more about the science underneath the project, and the whereabouts, go check the official press-release:


Read More →