Archive for the 'coding' Category

Web Experiment: SID 6581 Visualizer

Saturday, March 4th, 2017

I grew up listening to the music from my Commodore 64. As time goes by I still find those tunes interesting and I always wonder how did the musicians accomplish those sounds with such a limited hardware.
Last week I did this web experiment that visualizes the state changes in the chip synthetizer during the playback of any SID song.

(more…)

WebGLStudio is Out! first public release

Wednesday, August 19th, 2015

After three years of hard work I decided to release WebGLStudio last week, my 3D Online editor. There are still many things to improve and fix but I felt I would never reach a version that I feel is complete so instead of waiting I prefeer to publish it to get feedback and some help.

webglstudio

So far the reception has been awesome, lots of people have shown interest and right now the project in github has more than 1200 stars!
Now I have to do tutorial videos, feature videos, development documents describing the API and adding some features people has been asking me… lots of work to do!

Feel free to check the website and tryed for yourself.

SillyServer.js another lib for my github

Wednesday, April 22nd, 2015

Sometime ago when I started playing with WebSockets I created a tiny server in nodejs that would bounce back all the packets received to all the connected users. I kept improving it and today I decided it would be nice to refactor,document and share it. I have upload it to github.

It comes with some handy functionalities like rooms, data storage, REST API to retrieve info about rooms, and with its own client library so you don’t need to memorize the API. I wouldnt recommend to use it on production, mostly because it is easy to hack, but it is handy to connect users in a website between them.

It is the one I use in my sharedcanvas web application.

QIDV: Talk abouT our game for the GGJ2015

Thursday, March 12th, 2015

Some weeks ago I was invited to give a talk at the QIDV (a local informal event for game developers) with my friend Miguel about the game we did for the Global Gamejam 2015.
The talk is in spanish and the audio is not very good (and my diction doesnt help). It gives more insights about our working process besides the info I alwady wrote in this post.

Deus Ex: Human Revolution – Graphics Study

Wednesday, March 11th, 2015

Today I stumbled uppon this great post from Adrian Courrèges where he explains in detail all the steps in rendering one single frame in Deux Ex: Human Revolution, very informative with progress images.

GlobalGameJam 2015: We won at our local jam!

Monday, January 26th, 2015

This past weekend I assembled some friends again to participate in the Global GameJam 2015. I’ve participated since 2011 with more or less luck.

At the end we made a party-game up to 5 players in local, totally based in the theme of the Jam: “What do we do now”.

 

If you want to play it click here, but you will need to have a gamepad and several other players.

If you want to read the Post-mortem keep reading.

(more…)

Githubing all day long

Thursday, November 13th, 2014

Lately I’ve been cleaning up some old projects that had lot of potential but I never had time to share appropiately to the community.

The first one is called Rendeer.js, it is my own 3D graphics engine for the web. It uses WebGL through my own low-level library litegl.js and it is meant to be easy to use and very dynamic. Right now I’ve been using it for the 3D game of the Barcelona World Race and I’m very happy with the results. Here is one screenshot:

Barcelona World Race 2015

Another interesting project I uploaded was Collada.js, a Collada format parser that can work inside a webworker. It can extract meshes, skinning, animation and scene info.

I also have been improving a lot my old libraries like litegl.js (my low-level wrapper of WebGL which makes working with WebGL very easy), litescene.js (my not so easy 3D Graphics engine meant to be used with my own editor) and litegraph.js (my visual programming system), all of them are becoming very mature and ready for production. And I want to finish documenting litegui.js

Canvas2DtoWebGL

Friday, September 26th, 2014

Sometimes working with WebGL I miss having the freedom to use regular Canvas2D calls, the only solution in most cases is to create a secondary Canvas and upload it to the GPU in every frame, something that could be costly when the viewport is very big. For those situations I have created a library that adds most of the Canvas2D functions to a WebGL context, even some that where a little bit tricky to emulate (lineWidth…).

The performance is more or less the same as using the regular Canvas, the quality though is a little bit worse, but it opens the door to combine some of my existing libraries with WebGL capabilities.

Check it out in github

Web experiment: Drone physics

Thursday, September 25th, 2014

For a long time I wanted to try some 3D physics on the web. For that purpose there are two libraries around, Cannon.js which is written in JS from scratch, and Ammo.js which is a port of Bullet made using emscripten. I’ve been playing around with both of them, the performance of cannon could be improved (too much garbage generated in memory) and the interface of ammo is horrible (as all emscripten ports).

Drone

Play around with this demo, the controls are very hard and it is easy to start spinning uncontrollably, but Im pleased with the movement.

#MHD2014

Wednesday, June 18th, 2014

This year for the Music Hack Day I wanted to do some visualization using WebGL. Some of my friends were doing a hack using a Maschine from Native Instruments so I decided to get the Midi messages (using the Web MIDI API) and visualize them somehow. This is the video of the presentation.

You can try the visualization here but without a MIDI keyboard sending events is quite boring.