gamedev
Welp, as seems to be the norm with me, my blog appears to have once again fallen into a state of disrepair. Quick, time to make another long post covering everything that’s happened over the past few months! This time around I think I’ll eschew lists in favor of just letting my mind wander.
At the office, I started working on a hush-hush project. The only thing I can say is that it involves integrating a third-party user-agent into our software, thereby allowing customers the freedom to interact with our network elements and configure network services in a variety of ways (including a few popular ones that we haven’t supported so far).
(Technically, this is my second contribution, the first being to the Worldforge project. But since Google paid me to contribute to it, in my head it doesn’t count.)
I recently discovered that Calibre supports fetching news from different news sources and converting the fetched news to mobi/epub. In addition to this, one can schedule this to happen, say, everyday at 6 am, and also configure Calibre to transfer freshly-downloaded items to your kindle via Amazon’s Whispernet.
So, for the past month or so I’ve been playing around with this idea I have for a game. I need that game to be multi-OS (Windows, Mac, Linux) so that ruled out quite a few existing engines, be possible to work on in Linux (that ruled out Unity), be 3D (that ruled out MonoGame and probably a few 2d-only engines) and not written in Java (which ruled out jMonkey), and either open-source or with sufficient low-level access to the tools and the rendering pipeline (which just about ruled out everything that was left).
Woot! I’ve finally managed to finish something I started, despite getting bored halfway through it.
I’ve been working on an in-browser version of Zatacka for a while now. It started off as a networked multiplayer game involving different rooms which people could join, but once the gameplay was done I got bored. What I faced next was stuff like adding logic for creating new rooms and deleting empty rooms, along with the necessary HTML and CSS to style the pages.
Yeah. I know. So, in no particular order, here’s what’s been happening
I’ve suspended working on my unrealscript plugin for eclipse and open-sourced it. The basic grammar rules for parsing and lexing are in place, but it looks like the unrealscript classes that come with the UDK have more exceptions than rules in them, and I’m tired of working on it. The original plan was to finish it and sell it to indie devs, with a free-for-non-commercial-use license, but I already have a day-job where I do boring stuff every day to pay the bills, don’t really see the point in doing the same thing in my free time I started porting (read:trying really hard to port) the newly-open-sourced Doom 3 engine to NaCl.
Well, I’ve somewhat fleshed out the game-idea I mentioned in my previous post, so now it’s time to start prototyping!
I’ll be taking a break from developing this plugin, either till October 12th (Battlefield 3 beta) or October 31st (Ludum Dare October 2011 Challenge). I’ve been wanting to pick up Unity for a while now, and this challenge seems like a good opportunity to do so. I have one idea for a game I might be able to finish within a month, but the idea’s still pretty vague in my head, so I’m still not decided on whether I’ll participate or not.
I use Visual Studio to compile and debug my Ogre project since the precompiled headers option gives me a significantly faster build (I’m awake that even GCChas support for precompiled headers now, but the first ten search results for the same in Google didn’t look very promising, so I didn’t bother to pursue it further). However, I use Vim almost exclusively for all my development, whether it be at the office or for my side-projects, so I found myself typing a lot of “w"s, “/“s and “dd"s while working on my project in Visual Studio.
Just ported my hard-coded scene to use the .scene file and build the scene from there instead, and it works. Woot!
Made some more progress with Ogre.
While looking through the samples that come with Ogre, I noticed that all of them tend to create scenes in C++ code (mSceneManager.AddSceneNode, AddChild, and so on and so forth). While this might be well and good for the demo, this is no way of creating levels, so I set out to find a decent scene editor for Ogre. Couldn’t find one that’s half decent and doesn’t require you to download the 1.
Well, over the past few weeks I’ve been working on-and-off on migrating Ogre’s Deferred Shading demo to my own application code (well, to be perfectly honest, the whole thing took about two days. The first day was the day I started two weeks ago, and the second day was yesterday. I just tend to get distracted easily, so I explored Unity, Unigene, Cryengine modding, Witcher 2 modding and Google’s NaCl in the other 12 days).
For a detailed and excellent description of what deferred shading is, check out this paper.
(Note that I’ve used the terms “deferred rendering” and “deferred shading” interchangeably in this article. That’s because I think of it as deferred rendering, but wikipedia and some articles call it deferred shading, so the parts written when I was thinking about what I’ve learnt have “deferred rendering”, while the parts where I was actually focusing on what I was writing have “deferred shading”)