Game Development Community

dev|Pro Game Development Curriculum

Reflection, Part 3

by Craig Fortune · 06/09/2010 (4:36 pm) · 3 comments

Previous entries:
Reflection, Part 1
Reflection, Part 2

Wow, nearly 2 weeks has passed since my last update already! As promised a while back I had a few topics I was going to cover in this series, this time I’m going to cover some little tools I’ve written recently.

However, before that (and sort of vaguely on the same topic as my last post) I’ve had a week or so of properly poor service from companies that really got me thinking “wtf? I totally wouldn’t have done that if I was in their position!”

If you’re just after the meat of this post, skip on down below! If you like reading stories of random bits of people’s lives, read on ☺

Well, YOU broke it!

It started on Saturday 29th, I go to turn my MacBook on in the morning (well, I go to open it, I barely ever shut it down) and I get no display on my screen. I unplug and replug external monitors/powerleads/battery and so on. No dice. Upon putting the battery back in and turning it on again I hear the start up noise. What the…? Grabbing my iPad I check to see if I could remote into my MacBook. Score! Seems just the graphics and nothing else is kaput. I have everything backed up literally to the hour on an external drive anyway (Lacie Rugged btw, which I HIGHLY recommend, especially if you travel about on motorbikes like I do and want something, well, rugged.)

This is how I used my MacBook for a short while… I effectively invented a small touch screen MacBook with my iPad ☺ I used my keyboard too btw.

img256.imageshack.us/img256/434/i6z.jpg

Quick check on the net confirms that the graphics in my particular model have a known failure rate above the norm. Booked an appointment at the Apple store in the nearby city for later that day and off I go. After explaining the whole situation to the “genius” at the genius bar he runs some tests and confirms a graphics fault. He got halfway through telling me what a graphics card does before realising I had pre diagnosed the exact issue and had remoted into the MacBook and maybe, just maybe, might know what a graphics card does already ☺

Thursday comes and off I go to pickup my fixed MacBook at no cost. Winner! nVidia pick up the bill. I test it briefly in store and the graphics are fine. I go home and boot it up and I have no network card and no sound! Now here comes the fun bit…

Friday evening I go back to the store (takes a while to get there door to door using public transport – can’t currently drive due to knackering my hand in an accident back in March) and I’m told by an abrupt, rude and amazingly unhelpful staff member that they can’t help me (despite it being THEIR fault) unless I book an appointment. They have none that day and I’m SOL. I inform him in an undeservingly polite manner that I think that’s complete BS and surely cannot be company policy.

Sunday rolls on and I have an appointment booked. LET BATTLE COMMENCE! Straight into the genius bar and I explain the issue and voice just how PO’d I am. The guy is hugely apologetic, agrees that I was totally right in what I should have expected in terms of a resolution on the Friday and asks who the staff member was. I point him out in the store (I didn’t care to be too coy at this point) and the manager is bought down. More apologies, a line of “you’ve seen us at our worse” and a technician is put to work on stripping my MacBook apart INSTANTLY. This is more like it ☺

I come back later to pick up my MacBook and they have found the issue and fixed it. Great. Funny thing I notice? The manager is now on the tills and the “bad” staff member is nowhere to be seen… Coincidence? Maybe. Early end to the day/back of the shop counting stock? More likely!

I still, as of writing this, can’t imagine what was going through that staff member’s head when he thought it was a reasonable course of action to send me away and refuse to deal with me despite the store breaking my MacBook? Am I mad?

Anyway, enough of that rant…

Tools

A little while back I got onto a bit of a “metrics craze”. I’m a lecturer at a university in the UK by day and Batman, er, I mean indie developer, by night. I just happened to be doing a short series of lectures on metrics for the first year degree students at the time and thought I’d write up some code for heat maps to aid in some analysis of my own games projects.

This is an early version of the tool's output.
img17.imageshack.us/img17/7688/heatmaph.png

I really like simple frameworks, stuff that “does what it says on the tin”. The processing framework is one such thing (www.processing.org It is fantastic for visualizing data and obviously a perfect fit for metrics etc.

The little tool I wrote (super quick, with this framework you can do stuff in a matter of an hour or two instead of days) simply takes a specially formatted text file that contains data for the heatmap. It populates the relevant data structure and spits out an image of the data as a heatmap. Simples! (squeak).

During development I really needed a quick way of generating the data for testing, fully controlled by me and preferably visible in realtime. I hooked up a little window to respond to mouse events and just spammed circles down to show the general shape of the heatmap. This was done in greyscale due to it being a bit too slow to go through all pixels and colour them accordingly (that’s how the full, rather brutal algo works).

img180.imageshack.us/img180/2307/realtimetool.png
I hasten to add the above image is NOT in the same state as when it was used to generate the image even further up the page.

A mouse click initiates the calculation of the “pretty” heatmap and saves it out to a png file with transparency where appropriate.

I’ll be releasing this sometime soon for people to play around with. I just need some spare time to get it put together in some logical, neat and usable format.

This blog has stretched out a bit too far already, so I’ll be discussing another tool in the next blog, probably within the next few days. The next tool is used for tweaking of an iPhone game’s mechanics on the DEVICE with no recompilation or Mac etc required.

-Ciao

#1
06/10/2010 (5:20 am)
That's some interesting work your doing there. I'll definitely have to check out the Processing.org framework for my self.

btw, not owning an iPad and deliberating whether or not to get one, I was wondering what app you used to remote into your computer? I have to work with an Apple server and that capability would be a critical selling point for me in regards to the iPad.
#2
06/10/2010 (5:53 am)
There is a whole slew of remote desktop apps available. The one I use is simply called "Desktop". Very nice slick UI and supports VNC/RDP etc.

There are ones available for iPhone/iPodTouch too, but I find that on such a small screen they are next to worthless for anything above a quick health check on a machine.
#3
06/11/2010 (5:40 am)
Thanks for the info. I'll definitely have to take a look at "Desktop".

I agree with you that iPhone/iPod VNC would be fairly pointless at the screen size they operate at.