/* versão em português */
What do you need to organize a workshop?

Well, last August we had one at UBC, and this is what this post is about.
The main idea was to use it as a conclusion activity to our summer tasks. It also would be a good opportunity to give something back to the community since we have received so much from them.

Mike Pan and I did a general call to Blender users of the west coast of North America (ok, Vancouver and Seattle). The meeting was intended to be a friendly talk about Blender, Blender Game Engine, and the project itself.


09:30 – 10:00 Reception
10:00 – 10:30 Discovering Blender: An Introduction to Blender
10:30 – 11:00 Blender as a visualization tool for Fisheries Center
11:00 – 12:30 Lab: Your first game
12:30 – 01:00 Lunch
01:00 – 03:00 Lab: Materials and lighting in games
03:00 – 04:30 Lab: Physics, Python and Shaders
04:30 – 05:00 Basic optimization for realtime application
05:00 – 05:30 Closing

More then twenty people showed up. If you take a look at the schedule you can see that we tried to use the whole time. However, as the most import thing is the people being together, we had a few breaks to intended socialization.

Discovering Blender: An Introduction to Blender

This rainy day started with a Big Buck Bunny screening. If you are really new to Blender, or came to this site for misterious reasons (and believe me it happens all the time) you may be unfamiliar with that. This is a short 3D animation movie, completed by seven artists and developers in Amsterdam. Their main goal was to promove Blender 3D, and improve it against real daily-production demands.

Big Buck Bunny

To complement it, we screened a home-made compilation of videos showcasing what Blender Game Engine is capable of. To keep the focus in our schedule, we tried to emphasize not only games but specially others interactive applications.

If you want a list of the content, here it goes:
Boom Demo(Endi), Club Silo(Luma Labs), DukDuk!(Glenn Melenhorst), Yo Frankie! (Apricot team), Rube Goldberg Device(Christopher Plush), Recycle Game (Diego Rangel), Architectural Walkthrough (Cícero Moraes). Beside the demos Mike share in his website, and my old Urban Walkthrough.

We tried to show the wide range Blender offers. It is not only a powerful tool for movies and games. It is handy for any kind of computer visualization (specially interactive ones).

Mike Pan

Blender as a visualization tool for Fisheries Center

This project started in 2007 as result of a partnership between the Fisheries Center of University of British Columbia and the Masters of Digital Media Program. Its main goal is to provide high-end technologie and scientific data.

The Fisheries Center is responsible for the development of EcoSim. This is a software that allow you to predict and simulate the amount of biomass in ocean environments. The interaction with EcoSim is designed to receive fisheries policies as input in order to stimate the marine population in this new specific scenario.

The EcoSim is a tool made to support decision-makers (usually politicians) in one of the most important economic fields of Canada. It can be easily handled to change the season of the catch of Salmon, for example, and in no time flat display the consequences.

To accomplish it task, it is desirable to make the data more accessible for non-technicians. Therefore Blender has been used to produce real-time visualization of how the ocean would looks like. Saying this in other words: we have a virtual ocean that correspond to a specific bay, and the species’ population proportionally changes according to the data from EcoSim.

The EcoSim (or EcoPath) runs as a daemon and data server connected with Blender through a .NET layer/client. Blender uses Python scripts to receive the data and provide the visualization.

I swear it’s that simple 😀

So on, we took the time to show the files, scripts and explain how does everything work together. After some questions and another explanation about our workflow, we played the simulation direct from Blender. We made a video showing a kind of making-off (to helps us in case something went wrong :p) and we screened it as well.

In the advanced topics we covered:

GLSL shaders for fishes animation (with a performance up to 10X superior than traditional bone-drive skelepton animations). [1].[2]

AI: some artificial intelligende in Python (boundary, flock behavior, predatorial). [1].[2].[3]

UI: Creation of a graphic user interface (menus) and general user interaction. [1].[2]

Lab: Materials and lighting in games and Lab: Physics, Python and Shaders

For this section we decided to dirty our hands 🙂 This practical activity was intended to show physic interaction in the Game Engine, and to explain general settings.

It’s funny that the workshop happened just one day after the official release of Blender 2.47. We couldn’t help but guilty downloading more than 20 times the software from the servers. We had now the better Blender had to offer us (up to that time).

If you wanna check the base file we used in this lab, take it here: Bowling.blend

This is a very simple bowling game. We took the time to tweak it, setting, changing, customizing …
It was very fun.

In the end we had a quick session regarding script programming for Blender Game Engine.

Basic optimization for realtime application

Finally, after our day-long warm up 🙂 we got in our final point in this workshop.

We talked about some basic technics in game design. Showing slides and relating them to the project we talked about:

– display list: performance boosting in modern graphic cards.
– textures power of 2: square textures sized as following: 128, 256, 512, 1024, 2048, …
– low-poly modelling: reducing and optmizing the number of polygons of the object meshes
– baking – using textures to simulate shadows and details
– debugging and bottlenecks: how to identify and solve problems with Blender Game Engine


It’s needless to say that we were all tired and realized. We had a blast that Sunday, and the presence and energy that everone brought made of it a remarkable day.

Working with Blender is already something good. Getting know that there are people around you that follows the same way is even better.

I hope that we have more and more meetings like that happening. It doesn’t matter if happens in Canada, Brazil or Netherlands. As long as I can be around I will be happy 🙂

Offcourse organizing this kind of event is not a piece of cake. However I hope you can find some help and stimulus here 😉

Best regards,

(A big thanks to UBC for this opportunity and for supporting and hosting the workshop)

Related links:


2 Thoughts on “Blender Workshop @UBC – step-by-step

  1. Saul Pazos-Knoop on February 11, 2009 at 5:54 pm said:

    Hi there:

    I have seen your web site about the conference at UBC , Vancouver, BC.
    I am interesting in Blender to draw process in my field of research, Chemical Engineering.

    Are you going to have another event? Where can I get the Blender software?

    Thank you very much,


  2. Hi Saul.

    It’s perfectly possible to use Blender for that matter. Indeed they are some nice plugins to import molecules models in Blender from popular formats (ok, about “popular” here I’m guessing 🙂

    You could check this:


    And the PDB import:


    In the last Blender Conference, there happened a talk on “Using Blender for molecular animation and scientific representation” by Monica Zoppe.

    You can try to google her name to find a way to contact her.

    The Blender is an open software (i.e. free) and can be downloaded from http://www.blender.org/

    We may organize another workshop at UBC. We are not sure when though. If we have further informations about that, I will write you.

    And finally, if you wanna check out a scientific documentary (100% made with Blender) we recently finished at UBC, the video is here: http://vimeo.com/3026069

    As you are in “science” you may like it 🙂

    Good Lucky,

Leave a Reply to Saul Pazos-Knoop Cancel reply

Your email address will not be published. Required fields are marked *

Post Navigation