Playing with canvas and webgl

I finally got around to playing with the HTML 5 canvas element and attempted to build a quick game to compare the process to my past experiences of Adobe Flash.

I was quite surprised with how much I was able to do using only canvas, WebGl, the gamma JS library and some example code. I was able to create:

  • Platforms
  • A controllable entity that the ‘camera’ follows
  • Enemy objects with collision detection
  • Dynamic Lighting
  • Multiple Levels
  • Basic Textures
  • Entities from COLLADA files

Although I was amazed that I could do these things the process wasn’t easy, it was a lot of work to do many of the things that I would take for granted in flash.

Fortunately there seems to be an explosion of libraries and game engines built using these standards that will make the process much easier and if you do want to create a game using canvas I would recommend not trying to reinvent the wheel and sticking to one of these. Although with there being so many of these engines popping up it’s quite hard to tell which ones will gain the most popularity.

While there might be some catching up to do for canvas/WebGL games the quality is increasing at an incredible rate while free libraries and game engines lower the entry level to creating them. While flash might be the weapon of choice for web based game developers now I feel Adobe will have to do something special to keep up.

The game is very basic and was just an attempt to see what was possible, still if you want to play it you can find it here and you’ll need the latest chrome/firefox/safari.

Thoughts on Agent Based Models and Institutional Systems

Over the past few months I have developed an interest in agent-based modelling using tools such as Netlogo, RePast or Swarm. These tools combined with increases in processing power make it incredible easy to get started and soon sucked me in.

Agent-based models are computation models that are used to make predictions about the interactions of agents in a system and how these interactions may affect the system on a whole. Quite often the systems being modelled are ones where simple small interactions on a low level have a huge effect on the overall system at a higher level such as how greenhouse gasses blocking infrared light might have an effect on global temperature (have a play on the model by Lisa Schultz here!)

After playing with these models I got me wondering about the possibilities of modelling the interactions of agents within educational institutions and how we could use these techniques to explain the emergence of behaviour but at the same time I have worried about how we would validate these models without ‘hard data’.

Here at the University of Bolton we have recently switched VLE to Moodle and it appeared to me that what could seem like a simple process of ‘changing the VLE’ was actually made up of very complex communications and interactions between the staff based here. Using this as a starting point I got together with a colleague and started to create a model that explained how we thought the communications within the University might look and how these communications could be disrupted or improved using technology.

At 2011 Cal Conference in Manchester my colleague Mark Johnson presented the model as a way of explaining how we thought technological interventions could be used to change communications and how this might have an effect on the how the institutions works on a whole.

The model showed the different types of communications between certain groups of people and how these communications could change when they people were placed in different social situations or when technological interventions were made.

Agent Based Model Netlogo
Screenshot of Netlogo’s Patch while the model is running

I thought the response from the audience was great, who did not worry about the validity of the model itself but seemed to find the visual representation of how we thought technical intervention may change communication useful. The reaction of the audience at the session made me realise that a powerful aspect of agent-based modelling might simply be the ability to demonstrate what your view on a problem is.