New series: A look at my favourite games
So in the shower this morning I decided I felt like ranting about some of my favourite video games. So in the next little while, I will be posting about some of my favourite games! (surprise!), and why I think they’re better than anything you play. They will range from the Amiga era to current generation games and are in no particular order.
That time I worked in tech support…
So I was browsing some old folders on my hard drive and I found these pictures of when I was doing tech support for an internet service provider.
- My project for keeping sanity
- Tech support piracy
Towards a Unified System for Digital Film Production
So I’ve finally presented my research at that conference it was accepted at; the International Conference on Entertainment Computing 2011, Vancouver. I didn’t get boo’d off of the stage so I’d say it was a success. The research is based on my thesis, which is an analysis aid for film editing.
Conference paper accepted!
So the conference paper I submitted a while ago has been accepted and will be published. I will be presenting my research in Vancouver this year, which will be fun. Now to finish off my silly thesis…
Steampunk Coffee Cup Art
So I got back into sketching on my coffee cups (found another place that uses the plain white cups in Halifax). So here’s one I did during a class. There’s more on the sides but I didn’t take pictures of those yet. This is a character for a game design I’m working on right now.
Processing Tips Page
I have started writing some short guides to doing fun things using the language Processing (processing.org). You can view them here
Game Engine Level Editor
So I took a look at the game engine I wrote last year and I decided to make a level editor for it. So far you can specify a map size and paint tiles and walls on it. There will be a way to add nodes as well for different things in the levels soon as well. Also, I wrote a new, fancy GUI system for the engine too for menus. In addition to this, I fixed the lag issue the engine had; apparently the default 3D renderer doesn’t use OpenGL, so I changed it and now I get 60 frames per second. New tilesets can be added to the editor by just dragging them onto the window.
Here’s a screenshot:
Update: June 6, 2011
I have added new features: Floor-walls (these are walls that make the floor look thicker) and collision boundaries. I’ve also added an algorithm for optimizing the collision boundaries. It will join together adjacent boundaries to make collision testing faster.
First conference paper
So a few weeks ago I submitted my very first conference paper. It was 12 pages long and about the system I’m developing (still in progress). We’re expecting the paper to get rejected I think since not all the features are implemented yet and we haven’t done a user study on it.
Restricted Boltzmann Machines
So for a computational neuroscience project, I’ve been working at implementing a type of neural network called a restricted Boltzmann machine (RBM). It’s a type of unsupervised learning consisting of a visible and hidden layer with no inter-layer connections.
So I’ve modified some Matlab code to allow the network to learn handwritten digits from the MNIST handwriting database. It’s pretty nifty and can reconstruct noisy images based on what it’s learned by itself (no labels involved).
Here’s a screenshot of a run using 100 digits from the database. The network has 300 hidden nodes. The images have 20% noise before reconstuction.
SweetHome3D
So at one point while working on a program for my thesis I was using a free, open-source floorplan suite called SweetHome 3D. I have to say it is pretty impressive for what it is; the stock files include a floorplan editor, a decent library of objects to place, and a built-in raytracer to render your houses. If you have a use for something like that or just want to play around with home design, give it a shot.
What I was doing with it however, was modifying the source code to add in new features and embed it into another program. At first glance the code seemed very well designed and used plenty of design patterns. It keeps in line with the MVC paradigm, but this ended up being somewhat annoying for adding features. It turns out you have to modify a HUGE number of files just to add a basic features and make it accessible in the menu. I’ll note here that the plug-in system is MUCH simpler to use, however it is very limiting in what you can do with it.
It’s been months since I’ve worked with the API so I can’t remember the exact number of tiny changes I had to make to which files, but it took me a long time to track them all down. In the end though, I wrote a tool that lets you place a red dot anywhere in the floorplan. Yes that seems pretty lame, but I wanted to see how much work it would be to add something useful and how I would do that.
Embedding this software into another Java program wasn’t that bad actually. Since Java’s API is fairly awesome once you get used to it (awesome in the sense that you can actually have a clue what people are doing in open-sourced code), I managed to mount the floorplan scene on a GUI widget and plug that into my program. This makes it much fancier than having to open files using the SH3D suite as an external program.
If anyone else is trying to do this type of thing I can probably make some suggestions based on the notes I kept, but I’ll only help you if you’ve bothered to check out the API yourself first.








