I am going to go off my usual theme of technical talk and talk a bit about my personal life today.. I finished my A Levels last year and after that as i was working with a good company and was planning to learn a lot of stuff at home by myself i planned to take a break from normal studies..

In this one year, i have worked on a 3d game for multiple mobile platforms (more about this in a month its in last stages of development right now).. the mobile game alone has been a great learning experience as i encountered a lot of issues and solved them by myself like setting up a tool chain for the artist and then making the game run efficiently on device, etc.. other than this i started experimenting with directx 10 and webgl (i know im late on both, but i was just starting my career before this so i never had the time)..

The point of this post being,that now, after the year is over, everyone seems to push me to join a university and get a degree as if that piece of paper is a free pass to heaven.. everyone around me has this strange thought of a degree having the utmost importance in life..

I for one am absolutely against this ideology, i consider degree to be a mere piece of paper affirming your claim that you have some skill.. and if you have another method to affirm this claim (a finished game, some other projects) than a degree is useless and is a complete waste of time.. i am not going to fall under societies pressure and waste 4 very crucial years of my life.. and i am happy to see that atleast someone agrees with my point of view:


After ages i finally muster up the strength to write a new post for this blog. Dont think i didnt have anything to write about, over all these months almost every other day i had something on my mind that i thought of blogging, but the busy routine limits me from sitting down and actually writing about it. But i regularly tweet, so if u are interested in reading my tweets follow me here.

Now, as i have been working from home for the past 2 years i wanted to share my experience with you guys. So here are the pros and cons if you are considering working from home:


  • You are basically your own boss. Work whenever you like, rest whenever you like do what you want and how you want just get the work done in your own style at the end of the day.
  • Setup things as you like; loud music or no music setup your environment as you like. (Unlucky for me i live in a flat so i couldnt do this 😦 )


  • Family chores. You start to work, and then someone asks you to do this, do that and your entire concentration wavers. This has been the hardest for me to cope with, specially because im the all rounder handyman of the house from repairing electric appliances to fixing door knobs its all on me.
  • Stress. With office, you go to the office for 6-8 hours and when you come back home, you have nothing to think about. You just have to chill out and relax. With the office in your home, the stress lingers on all day, when the pressure is high im not even able to sleep so just keep working day and night.
  • The factors above cause you to be less productive and results in making it very hard for you to finish your work in time.

My advice is, if you live alone then you can work from home, if you are married or live with your parents setup your own office times during which no one is allowed in your room. But for this to work you still need  to be driven by the work itself, because otherwise you would waste most of your time playing games :P.

For my new 3d game i need to use a software for modeling, texturing and lightmapping.. as max does all 3 very well and i had a basic know how of how do it i decided to use it for my game.. but as the engine that we use,  Edge Lib , only supports  3ds and ms3d and both didnt fit my needs i decided to use my own file format and use maxscript to export it..

Now studio max has a very different system for saving texture coordinates which ill have to say is very logical too.. Instead of having a 1-1 relationship between vertices and uvs like opengl has, studio max has indices for uvs too.. and a 1-1 relationship between faces.. this allows you to use different texture coordinates for the same vertex and hence there are no problems and allows you to smoothly texture curvy surfaces too.. many people have chosen different methods to tackle this problem, but i did this..

I create an array of unsigned shorts and use the vertex number as array index, and store the uv coordinate in them.. if there is a vertex which already has a uv in it, i create a new vertex at the end of this vertex array and assign it with this different uv coordinate.. this increases the size of the vertex array, but allows you to have multiple texture coordinates for the same vertex.. so at the end of the vertex array there are repeated vertices, but the uv array can also have the same number of elements hence allowing a 1-1 relationship..


In my last post i was talking about porting box2d to symbian.. a few days into the port we stumbled upon some bugs in the game which i had to fix, and after that we locked on an idea for our next project but it was 3d,  so porting box 2d would be useless for us.. but in the few days that i worked on the port, i realized you dont need to do anything to box2d if you are developing for a s60 phone with fp2 or greater as these phones have the OpenC  extension from nokia pre-included in them..  so you just include the OpenC extensions and only a couple of lines of code need editing other than that box2d works fine.. the fixed floats in box2d didnt work that well for me, but if you are serious about developing a 2d physics title, work a bit on it and youll have a very fast physics engine at your disposal..

Things have been going really slow as i have been waiting for the graphics of my game to come these days.. I have been working on a BrickBreaker title which is finally going to be released soon after seeing a lot of trouble in way with finding a graphics guy and my papers n all but its finally gonna come out in a couple of weeks for s60 and windows mobile.. specifically targetting the tilt features of the n95 and htc touch diamond.. but its gonna work on all s60 and wm phones..

These days ive started work on our next title which is a very nice physics title for iphone and n95.. Its just at its design stages but im gonna get this one out in a much better fasion than my last title hopefully.. these days im porting the brilliant box2d engine to symbian.. to test things out i ported it to windows mobile, and tried it on my htc touch diamond.. but the 528 mhz processor of the diamond lacks a vector math processor, so as expected the physics runs REALLY slow as it has a lot of floating math involved.. as for symbian, ive recently begun work on the port and it seems like a long way to go, as n95 is a s60 fp1 phone and nokia integrated the stl code from fp2 onwards :/.. i have to port all calls to stdio, math.h, cmath.h etc to some custom functions to handle them.. ill keep you updated about it on my blog hopefully.. cheers..

I know this post is totally off from my usual theme of personal stuff and 2d game dev but recently i have become very curious about PCG and have started doing a bit of research on it.. i consider it to be the one field where if enough research is done we can decrease development cost a lot and have amazing environments with infinite detail.. Currently im just learning the basic, l-systems, fractal maths and genetic algorithm to incorporate them it will definetly take a long time to reap some cool visuals but for now i can suggest you check out what chris at introversion is doing to see the power of PCG..

Hey folks.. i just got free of my alevels papers and thats it.. now im quitting studies and and oficially becoming a full time professional game programmer.. to tell you the truth im scared how ill survive without a degree but im sure  if God is with me ill survive.. Now to get back to my brick breaker, ill keep you posted about my experience throughout my development..

Hey, even though i am busy with studies now adays but still i work a little now and then on some things.. Firstly i found Haafs 2d game engine.. a very nice opensource 2d game engine that is very nice to work with.. it incorporates directx so its completely hardware based and utilizes the power very well.. one more thing that i found related to this is the mercior animator.. check this video out of it in action:

its really cool, and i have managed to port the loader class to EdgeLib engine what i am working with nowadays, but still i dont see it viable for mobile phones as you need to to use some kind of 3d rendering technique (or maybe a work around using affine texture mapping to 2d coords?) but still either way it is going to be slow for mobile phones..

anyways another person i would like to tell you guys about is Ian Dallas hes a student at USC but some of his works are really mind blowing.. like The Unfinished Swan and he is also one of the designers of The Misadventures Of P.B Winterson.. both these games have a very genious and unique gameplay, that left me speechless.. i seriously need help from these guys for my next game.. neways now back to boring and useless chemistry i go :(..

Hello, if anyone is reading this you must be wondering hey this guy is stupid.. well i didnt know but i am stupid to not have an updated blog because it turns out that freelance indie developers like me should have a blog according to this article.. well even though i am thinking of commiting to this blog and publicizing and updating this regularly but as the title says my enemy has returned.. my A2 papers are starting from 20th may so i will have to study hard for them.. but my plans for future have changed dramatically as i am planning to drop further studies and go fulltime as a game developer.. i already have a job and ill keep you posted on what i do there and especially what i do in my free time.. one more thing looking at the current situation of my country (pakistan) the next time we meet maybe i am in a lesser india or greater afghanistan or maybe even the 51st state of the united states.. let us hope what ever the country it is that we all are safe..

Well for the past few months the conditions i have been working have been amazing..ly bad .. it started first with 7 hours of load shedding (power outage) each day.. and i was like wth how am i supposed to work like this.. i had recently bought back then a gaming pc that cost me over a $1000 which means 60,000 rupees.. its amazing with a dual core 2.4 ghz , hd 3850 graphics card, 2 gb ram, 300gb hard drive.. but due to the excessive load shedding i could have no work done.. so i had to throw it away and get my brothers broken single core 1.7 ghz laptop repaired, which doesnt have battery btw so i had to get a ups to run it cost me 16,000 rupees to get that.. after spending that much money and going through that much crap just to get some work done.. it turns out now they dont like the 7 hours of loadshedding so they just upgraded it to 9 hours (kudos pakistani power stations).. neways so to survive now under such conditions i had to get another battery to help me run the freakin laptop and the fans in the house and my wifi, modem and stuff for as long as i wanted to.. cost me another 10,000 rupees.. i mean i thank God dont have a massive problem because i am earning good money which is like my pocket money and can spend on what ever i like, but what about the poor.. how are they going to survive when the temperature tops 40 degrees and there is not even a fan to cool them off..

Twack my tweets