Blog ictbram interactive pixels pusher Thu, 27 Aug 2020 12:00:56 +0000 en-US hourly 1 Blog ictbram 32 32 Happy new year!! Mon, 31 Dec 2018 16:00:17 +0000

Happy new year and the best wishes for 2019!

To celebrate this new year I have created digital fireworks that is viewable in VR.  I wanted to create something like this for a little while, but this year I got the idea, in time, in my head and finished it before december even began.

The graphics and animation are made with the free and open source software blender, version 2.79.
It is rendered at 2048×4096 for each eye with cycles at the default sample setting of 128. The output was frames like the one below, but a little bigger,
4096×4096 pixels. The maximum supported for the oculus go headset I read.

The little piece of background music is created with, the free for desktop software, sunvox. When I was thinking about the music I wanted to have an electronic style sound, the default start setup with a few tweaks was perfect for this. The tiny fragment is composed in E Lydian mode, for a cheerful atmosphere.

For the Blender part I watched and used parts of the following tutorials:

Follow path:  
Panoramic background:
Fireworks: ,  ,
Stereo 360:,

The stars background was created with a  free plugin, Procedural Nebula, without the Nebula 🙂  

The video editing was solely done in Blender, the fireworks and explosion sounds are all coming from humble bundles (recent game development and unity bundles)

After rendering the stereo 360 video file, the spatial media injector from google was used to insert the spherical spatial info and encode it as stereoscopic 3D.

2018 was a pretty good year for me, following lots of tutorials, playing and thinkering with Blender and the Godot game engine.

Both free software packages are already in a really pleasant state to work with, but 2019 will bring enormous enhancements to both that will improve them even more.

For supporting the development of blender 2.8 I bought the little rocket usb stick of course.

I’m really looking forward to using the new EEVEE renderer in the upcoming blender that will reduce render times vastly, but can still produce really nice 3D images and video. The grease pencil 2D animation is another feature I’m also absolutely looking forward to. Creating 2D animation in a 3D environment I’m comfortable working in, opens a lot of possibilities. After being an Adobe Flash guy for a long time, this will become my new tool for creating 2D animation I think. For the new year in 2017 I’ve already made a small animation with it, testing the grease pencil included in Blender 2.77, with shape tweens, which was already pretty cool and the newer version, included in blender  2.8, promises to be even better. Shape tweens will again be included I heard.

Here’s the small testing thing I made for new year 2017 with the grease pencil that was included in blender back then, I only published it on facebook until now: was my first experiment with grease pencil. I started working on a pretty complex zentangle animation after that. I did not yet finish it, due to other priorities, nevertheless, I did really like the grease pencil animation toolset and workflow.

I got myself a blender Cloud subscription. For supporting blender, but as well to have access to the collection of courses and materials on there. The scripting for artists course was the thing that convinced me in the end to do so. Great course, I knew already everything is accessible with python in Blender, but here I learned in practice how to program animation that you can save or alter by hand later on, in the blend files, awesome.

Meanwhile Blender 2.8 has gotten in to beta stage and will be released in 2019.

The release of Godot 3.1 is taking a bit longer then I was thinking in my previous blog post, but it’s getting close as well. They are almost in beta stage. Version 3 is already fun to work with, but the optional typing in gdscript code and OpenGL ES 2.0 rendering to have publishing power to older devices will bring even more joy since I have a few older devices laying around and love good code completion.

I’ve become a patreon with a small contribution to this project because it’s so nice and keeps getting better with this support. Any extra support for this great project would be a good thing, so if you would like to help yourself for creating games with godot or just want to support everyone else creating cool games with this marvelous piece of free software, please consider donating, you can have your name in the credits, a company logo on their website.

The documentation and quantity of good tutorials for Godot is rising. I supported the kickstarter of Ben & Yann for creating a course which turned out wonderful and I recommend if you want to start learning Godot.

So far I did not publish games with version 3 of Godot, but I did create a few prototypes and made some tools with it. Including something to compose images, a tool to connect to https behind a login, writing config files. I’m a fan already. Finally a good, no to hard, cross-platform, development tool for creating all kinds of interactive multimedia apps quickly, where the sources fit well in a version control system, so that it’s no problem switching machines constantly, like I always have to do, to get something done

** Update 31/01/2019

A glitch entered my online version at the very last moment. One ball, that explodes into particles, had still a wrong, white material. That one was an exception to the rest of my exploding ball meshes, the others have a black material, it was the result of trying a few things with the used tutorials. I finished the animation before december started almost completely, but I wanted to do something extra in the end. Due to circumstances this had to be done really quickly towards new year’s eve and I thought of alternating a frame with the stars and a frame with 2019 on it, to have a better ending, very rapidly, quickfix. Sadly I chose a frame with that white ball on it. I only noticed it on new year’s day and tried to fix it with the youtube video editor by cutting some frames. You can do this with normal video in the online editor that’s still in beta, but cutting frames dit not work with a 360 VR video. It got an error: “There was a problem in processing your video. As a result your recent edits were not saved” so I left it for a while, but this is such a glitch, it ruins the whole thing, so I fixed it in the past few days, that the animation shows like it should and changed the video in my blogpost today. Changing the video results of course in losing the enormous 144 views, they are not on the new video. I’m keeping the old one online, as a reminder, always prepare and review 100% of the project at ease before publishing, if the circumstances permit.

Musical notes helper app with godot Sun, 04 Feb 2018 12:41:11 +0000

For a few years I’ve been learning how to play or compose music, just a bit on the side, a bit of theory, a bit of piano lessons.
In the summer of 2017 I’ve started the music theory for electronic music course.
I really enjoyed taking the course, made by a good instructor. Lots of mechanics and concepts in music am I beginning to get thanks to his lessons.
Creating music, composing or playing requires a lot of logic and reasoning.
To assist me with this, I wanted an helper app so I have created one.

The first two big chapters in the music theory for electronic music course were all about major and minor scales, the chords, inversions. The app was designed during these classes.
In the third and final chapter however, he starts with more special things like modes, pentatonic scales, chromatic mediants, exotic scales.
For these kind of, interesting, things my application was not yet usuable, so I put in an extra feature, the possibility to put in a “custom” scale, so you can also configure, most of, these kinds of things to assist you with.

In 2017 I’ve also started, at a really slow pace, to learn the marvelous, free and open source Godot game engine and decided to combine both domains into a project, which resulted in this musical notes helper app.

godotengine logo

The app is exported as a windows, linux, mac, android and html5 app. Sadly, the html5 version does not work in safari, so the app is currently not usable on apple devices (iPhones and iPads)
It was created with Godot 2.1. Version 3.0 of the Godot engine is just released which includes webassembly support, may have better exporting for these devices, but requires some code modifications and all. 3.1 is around the corner. It may be possible I create a new version with the new engine if the html5 export works on those devices.
I’ve also not yet succeeded to publish to the microsoft store as I did with my previous game, 3d-pong. I’m going to try to publish this project there as well.

The html5 export does work on the Xbox One’s browser, Edge. For easier access I’ve put a link to the html5 export on My plan is to link all things I’m going to publish around music over there.

Timer android app Mon, 10 Jul 2017 08:50:44 +0000 It’s been a while since I posted something on my blog.
I’ve been busy learning a new great, free tool, Godot Engine, a game engine with lots of features for animation, scripting, .. , plays along with Blender really nice, can publish to all platforms, including html5. I love it already, but did not yet finish something using it. This will change in the comming year I hope. To create more good documentation and tutorials I supported the kickstarter of Nathan Lovato by the way, for version 3, that is comming up, which packs lots of goodness (3D stuff, the switch statement supported in the scripting , …)
The tool and language is already really good and it’s getting better, it’s still not as evolved as the flash platform which I’m very familiar with, but Godot may become superior to me hence it is free and open source software.

A year and a half ago I discovered meditation. One evening it was not going really good, I was a bit in a bad mental condition and thinking how I could fix this. I typed the word “meditation” in youtube which brought me to this video:

an American with Russian roots, who explains very well how to meditate, possible pitfalls and what benefits you get by meditating. Since that day I’ve been meditating 20 minutes every day, I am convinced about what he says and experience the benefits. My plan is to keep doing this every day, no matter what.

One of the things you need to meditate, like he explains, is a timer. I have android phones. The system always has a timer included next to the clock, but there’s mostly something that is not ideal. The time the phone vibrates to short, vibration OR alarm sound. I checked some free apps, but same story. First I was thinking about using Godot Engine for building a timer myself, but apparently you have to compile Godot yourself to get a phone to vibrate, for now. Mobile phone vibration is something I’ve already got done in a flash game, Micro Star Fighter so I decided to just use flash with the Starling framework and Feathers components, which are still moving forward. The development went pretty quick, it’s a very simple app, but during testing I noticed the alarm was going off 20, 30 seconds to even a minute over time. This was caused by the app being pushed to the background apparently. I googled it and found a solution:
An, open source, native extension for flash, works on iOS and Android, that can send and receive special notifications. This does the trick, when the sent, timed notification is received again, the app is being pushed to the foreground or something and my code, that checks the timing on an Enterframe, is executed.
Important, this works good when the phone is not being used, when you meditate for example, but when the phone is used heavily, the timer is running in the background, the app can get killed and does not restart.

The special notifications can be sent and received with a device reboot in between. That works, but the app does not start automatically with that notification, only when you push the notification.
I was hoping it would start the app and have made it ready, so it can resume the countdown on schedule. This works, but you need to start the application again yourself after the reboot. That’s alright enough, for now 🙂 , I guess.
Several tests on a few devices proved to me that it works properly, so my simple Timer application is finished.
It’s in the google play store for free.

Because the app asks for a lot of permissions and I love using open source software, like Blender and Godot, I’ve made it open source on github
A lot of the asked permissions, I use, to enable (almost all optional through settings) vibration, notifications, keeping the screen from sleeping, but I actually did not need or ask network permissions, I was planning not to do this, but it is something ADT adds when compiling Adobe Air with a captive runtime.

Greetings, I’m back off to learning Godot.

3d-pong dot com Sat, 01 Oct 2016 08:52:53 +0000 For me, 2015 was a transition year from flash technology to html5. Adobe Flash is a great tool, but I explored other possibilities as a publishing plaform. WebGL support in the major browsers, good sound playback, gamepad support, the possibility of saving settings in localstorage made me choose javascript.

I don’t really like to program javascript, actionscript 3 is way better I think, but javascript is a language I know a bit and can use to create things for the web. I have some professional experience as a webdeveloper using jQuery.

About 15 years ago the 3d pong game, I believe published in Macromedia Shockwave back then, was a game I thought of something really cool. That version of the game is still online in the Adobe Flash format,

The idea of the game is great, but I think there is a huge missing feature, you need to be able to play this game split screen, so I decided to create my own version of that game with split screen included.

Unreal Engine was a tool I was considering to do that in, great platform and free until you make lots of money with your game, html5 publishing available. I made some first steps into unreal, but in the first months of 2016 I was working as a webdeveloper and was focussing more on web technology then learning a game engine.

I stumbled upon babylonjs and the crosswalk project.
Babylonjs gives a rather good performance with webgl, it had enough features to create that kinda game and it supported all of the gamepads I tested it with, in various webbrowers.
The engine is originated from a team working for Microsoft. Gamepads connected with Microsoft Edge work, that browser can be accessed on Xbox One machines, thus enabling Xbox One as a publishing platform for me, very nice.
Gamepads connected with other major browsers (Google Chrome, Mozilla firefox) on pc or android also work with the engine.
The Crosswalk project from intel can build a cordova app for android with the chromium webview, which supports WebGL and gamepads.
At first, I compiled it myself, but after a while, because of constant configuration changes needed, I used the intel xdk editor to build the app.
This works good for mobile, unfortunately, xdk does not provide the necessary configuration options to publish for android tv. Very disapointing because the television is a medium the game is actually intended for.
For this reason I also provide the apk installer files, that can be used to sideload the game on various android tv boxes.

Being a javascript game, it is rather demanding on hardware. You can play it on recent computers, android tv boxes like the Nvidia Shield, in the Xbox One browser, but the performance can be not good enough on older hardware.
It is something you’ll need to test yourself. The game is online at and in the google playstore

For promoting the game I made a video which demonstrates mainly gameplay and shows the key feature of playing split screen.

I hope the game will be much played and is entertaining for lots of people and their friends. There is some documentation provided on in English, but the menu’s in the game are provided in multiple world languages:
English, Chinese (traditional), German, French, Spanish and Russian.

** Update 16/10/2015

The android version is now also installable on android tv boxes. I’ve managed to open the apk file made by intel and repackage it with Apktool.  In the manifest xml file I’ve added a few use-feature lines:
<uses-feature android:name=”android.hardware.gamepad” android:required=”false”/>
<uses-feature android:name=”” android:required=”false” />
<uses-feature android:name=”android.hardware.touchscreen” android:required=”false” />

and an extra activity :
<activity android:name=”com.ictbram.threeDeePong.MainActivity” android:label=”@string/app_name” android:configChanges=”keyboard|keyboardHidden|navigation” android:theme=”@android:style/Theme.Black.NoTitleBar”> <intent-filter> <action android:name=”android.intent.action.MAIN” /> <category android:name=”android.intent.category.LEANBACK_LAUNCHER” /> </intent-filter> </activity>

I also found and used the APK2TV tool to add in a 320×180 banner displayed on the android tv home screen.

After adding the banner, once more a repackage with Apktool and a zipalign on that apk file before it was accepted again in the android play store. That arm apk install file is also updated on the about website, the x86 not yet because I don’t have a device at hand to test it on.

From now on, 3d-pong is also published in the Microsoft Store for windows 10 devices.

Zentangle Fri, 04 Mar 2016 15:58:42 +0000 My mom has discovered zentangle a while ago. That is drawing repetitive patterns on little cards and making compositions. It’s fairly new, but a lot people enjoy doing this apparently. Lots of wonderful work is being made and it has a meditatively effect while doing this. It ‘s something my mom loves to do these days. With some help from my father to set up a wordpress system, she started her own blog,, where she writes about zentangle.
One time she asked me, my brother and father to create a little zentangle drawing for her, with help from a book with lots of tangles (patterns) to choose from and step by step instructions to draw that specific tangle. I enjoyed the drawing tangles experience and understand the effect, that it is meditatively.

Normally, drawing zentangles, is done on little pieces of paper, but since I am a digital guy, who likes animation and has a wacom drawing tablet at hand, I tried a little experiment with drawing tangles on that and make an animation with it in Flash.
I have chosen 3 really simple patterns, made an easy composition on a frame and did a slightly different redraw on the next frame.
There are just a few frames and I put some code on it, to move frames on mouse move after click or touch move. The swf output from flash was converted to javascript with Google Swiffy so it can be used on mobile devices. A bit of animation is seen while swiping the drawing.
The result is on


It’s just a simple experiment I did at the end of a few days, one frame a day. While doing this, I felt the good effect for clearing your mind again.
Zentangle is something you can do, to meditate and do something artistic as well I’ll remember.

** Update 03/04/2016

From now on I’m going to post my zentangle animation experiments at I’ve tried creating gif files, also javascript and WebGL, that gives much better results on most devices.


Single player Wiezen game Sat, 12 Sep 2015 10:14:17 +0000 The most important project in my free time, “Wiezen bij Bram” is a multiplayer game. It relies on a socket server and users with active internet connections. There is a web version with simple computer players and an android version. Recently I combined the code I’ve written in the past 3 years for this into a new application, a single player version. I named it “Wiezen ICTBram” and it’s released on the google play store.
Combining the code and replacing the socket server was actually not that hard. I just used simple as3 events instead of messages being pushed around by the socketserver. It went smooth. That was what I was hoping for. I like writing Actionscript 3 with my beloved code editor FDT so this was pretty fun for me. The previous computerplayers were playing by the rules of the Belgian card game “Wiezen”, but they just chose random cards. This code still exists in the game when you choose gemakkelijk (easy) as moeilijkheid (difficulty) when starting. In this version I’ve added extra logic to make the computerplayers smarter and to make the game more interesting. This happens when you start the game with difficulty normal. That is the default setting.
I hope the game is downloaded, played and enjoyed by many.

My first 3D print Thu, 13 Aug 2015 11:50:07 +0000 My first 3d print turned ok yesterday. It’s a bottle opener you can hang on your keychain. In the past, I always had a cigarette lighter in my pocket I could use for opening bottles, but since I no longer smoke, that was no longer the case and I wanted to build something to fix that problem.
It has ictbram letters printed on it to show I designed it.


I’ve used blender 3D to design the model and got it printed at in Antwerp. The cost was 17.5 euro in total, 10 euro for setting up and 75 cent per gram for printing.
Preparing the model in Blender was not that hard. I looked at some info online for 3D printing with blender: and
On the first link they say to check for manifolds with shift-ctrl-alt m in edit mode and on the second link they say to do a boolean operation for connecting 2 objects.
I checked for manfolds, corrected a thing, converted the text to a mesh, joined the text ictbram and the object with a boolean modifier.
I contacted 3dprintfactory. They instructed me to bring the model in .STL format. That’s simple with blender, just choose to export to that format.
Apparently it’s best the object is completely flat on the bottom, that makes sense, but I didn’t know that. My model got a thickness difference if it lays on the side that’s best for the print. For supporting the model when printing, a bridge is also printed to correct that difference. That bridge is the same material, it can be removed, but removing that always leaves traces.

In the evening I opened a few coke bottles, but regrettable, the material is not hard enough. Opening the bottles has left some marks on my opener as you can see. Oh well, It was my first try at 3d printing and I learned some things.


At 3dprintfactory I got 2 software tips for correcting and checking 3D models for printing:
Meshlab and netfabb 

** Update 01/09/2015

A few days after printing I noticed it’s possible to do stainless steal 3d prints with shapeways and they gave free shipping in august.

ictbram keychain bottle opener

I’ve made it a bit smaller, flat on the bottom and the result is good. It still works great and stainless steal is a nice material for this.

If you want it, you can order it here. This is a personal experiment. I do not have a business and can not accept payments. The price of the item is only for shapeways, but I still would like people buying it because it has my brandname on it 🙂
Only buy if you have money to spare, 31.74 euro + shipping is a bit expensive for a bottle opener I think.

Or print it yourself:
You can download the .blend file for Blender and the .stl file I sent to shapeways. The dimensions I choose were :

5.266 cm 4.796 cm 0.684 cm

Smaller dimensions won’t give a functional model anymore.

Wiezen android app Sat, 09 May 2015 08:42:27 +0000 The android app “wiezen bij Bram”  I made was recently released on the google play store. It is now possible to play the card game wiezen with other people on also on android. It is a game that has to be played with 4. You need to arrange a meeting with 3 other players.
A few years ago I’ve made a webversion of the game in flash.

The app is also made in flash with adobe air  and the Starling game engine. It is compatible with the webversion where it is possible to add computer players. They play by the rules, but just choose random cards. You can test or learn the game with the computer players, but you should play against real players.

The game uses the server software and library, union wich is installed on a raspberry pi at my home. The language of the game is Dutch.
There are some screenshots on

I’ve also made a little promotion video with friends and family playing the game:


The video is created with the great free software package blender. This software is mainly for making 3D movies and images, but has a nice build in video editor as well.

The little star animation and credits were too made with blender.

Css3 banner Sun, 07 Dec 2014 17:59:51 +0000 A few weeks ago I tried to convert a banner I’ve made in flash to css3.

The flash banner is situated here on the front page :

Swfobject is used to only show it when flash is available. When not, an image is shown. I like it that way. There is also an html5 slideshow on the page that works well on mobile. So on mobile, there is not to much animation going on, just the slideshow, the flash is not shown and the 2 static images instead are scaled with css.

I’ve been reading a bit about css3 animations, that there is a performance benefit over javascript, that it uses the gpu and I thought of giving it a try.

In the past I’ve made pure javascript banners for testing and the performance on mobile was to bad.

The result and workflow in css3 are nice. An image, a bit of html, and a few lines of special css for animating.

The result is here:

Modernizr is used to detect if cssanimations are available.

For restarting and keeping the animations synchronised I used jQuery that removes and adds the animation css again.

$(‘#kamionneke’).removeClass(‘kamionnekeAni’).animate({‘nothing’:null}, 1, function () {$(this).addClass(‘kamionnekeAni’);});

In a test environment I saw the banner was not functioning really usable on that page. The html5 slideshow even started to stutter on chrome / desktop, the rotation animation did not work on a test mobile phone, performance was not that good, maybe a bit better then javascript, but not outstanding.

So the flash banner will just remain, but I like the workflow and new possibility for bringing animation to the web. So I’m posting this as a reference for maybe a future thing.


My own lightsaber Mon, 10 Nov 2014 17:05:41 +0000 A few weeks ago I saw this tutorial on blendernation about creating a lightsaber in blender and mixing it with video:

First, I followed the tutorial with his footage. It was a good tutorial and not that hard. Being a starwars fan and blender enthusiast I could not resist of doing this with my own video. It’s just a few seconds, but hey, I’ve got my own lightsaber to show for now 🙂