Blender for Game Developers

It’s been a busy couple of months for me.  Gamescom is just a couple of weeks away, and I’ve had a lot of work with my new weight training book, as well as a new pet project of mine.

I’ve been exploring the Unity engine of late, hoping that it would suit my game project.  It’s proving to be useful so far – although not without quite a learning curve!  The ability to test stuff from within the engine is a huge benefit, though, and the flexibility to use it with other engines for things such as network code is a big draw for me.

One area where I struggle, however, is 3D graphics.  I know my way around the software, but I’m not exactly an artist.  So, I jumped at the chance to review two new books by Packt – the Blender 2.5 Character Animation Cookbook by Virgilio Vasconcelos, and Blender 2.5 HOTSHOT by John E Herreno.

The first of the two books focuses on characters, and giving them life – rather than having them look like plastic models or rag-dolls.  The second covers a broader range of projects, and explains how to approach them in a systematic manner.  This is definitely a weakness of mine – I tend to approach my models from the angle of “OK, well what would look good?”, and that sort of haphazard methodology doesn’t work very well for anything fancier than a table or a barrel!

I’m studying the books now, and I’m impressed so far.  Expect a full review soon.

The Hacker Manifesto

I was looking at the hard drive of an old computer and found some interesting text files, including this – the Hacker Manifesto.  It was written by Loyd Blankenship, AKA “The Mentor” back in 1986 – just after he got arrested by the FBI.

I expect a lot of people will have read this before, but I think it’s a great document, and it is still relevant today, 25 years on.
Another one got caught today, it’s all over the papers. “Teenager
Arrested in Computer Crime Scandal”, “Hacker Arrested after Bank Tampering”…
Damn kids. They’re all alike.

But did you, in your three-piece psychology and 1950’s technobrain,
ever take a look behind the eyes of the hacker? Did you ever wonder what
made him tick, what forces shaped him, what may have molded him?
I am a hacker, enter my world…
Mine is a world that begins with school… I’m smarter than most of
the other kids, this crap they teach us bores me…
Damn underachiever. They’re all alike.

I’m in junior high or high school. I’ve listened to teachers explain
for the fifteenth time how to reduce a fraction. I understand it. “No, Ms.
Smith, I didn’t show my work. I did it in my head…”
Damn kid. Probably copied it. They’re all alike.

I made a discovery today. I found a computer. Wait a second, this is
cool. It does what I want it to. If it makes a mistake, it’s because I
screwed it up. Not because it doesn’t like me…
Or feels threatened by me…
Or thinks I’m a smart ass…
Or doesn’t like teaching and shouldn’t be here…
Damn kid. All he does is play games. They’re all alike.

And then it happened… a door opened to a world… rushing through
the phone line like heroin through an addict’s veins, an electronic pulse is
sent out, a refuge from the day-to-day incompetencies is sought… a board is
found.
“This is it… this is where I belong…”
I know everyone here… even if I’ve never met them, never talked to
them, may never hear from them again… I know you all…
Damn kid. Tying up the phone line again. They’re all alike…

You bet your ass we’re all alike… we’ve been spoon-fed baby food at
school when we hungered for steak… the bits of meat that you did let slip
through were pre-chewed and tasteless. We’ve been dominated by sadists, or
ignored by the apathetic. The few that had something to teach found us will-
ing pupils, but those few are like drops of water in the desert.

This is our world now… the world of the electron and the switch, the
beauty of the baud. We make use of a service already existing without paying
for what could be dirt-cheap if it wasn’t run by profiteering gluttons, and
you call us criminals. We explore… and you call us criminals. We seek
after knowledge… and you call us criminals. We exist without skin color,
without nationality, without religious bias… and you call us criminals.
You build atomic bombs, you wage wars, you murder, cheat, and lie to us
and try to make us believe it’s for our own good, yet we’re the criminals.

Yes, I am a criminal. My crime is that of curiosity. My crime is
that of judging people by what they say and think, not what they look like.
My crime is that of outsmarting you, something that you will never forgive me
for.

I am a hacker, and this is my manifesto. You may stop this individual,
but you can’t stop us all… after all, we’re all alike.

+++The Mentor+++

Solution for Android Emulator Starts But App Doesn’t Run

I recently got started with Android app development.  My motivation for this, is that I decided to add tabata to my training regime.  This is something I’ve wanted to do for ages, but has only recently become possible (yay for January sales and cheap heavy bag stands!).  There are a few tabata apps out there, but none are quite what I want, so I decided to make my own.

I downloaded and installed Eclipse, since that’s the IDE used in the Android developer tutorials, and installed the Android SDK, then tried the Hello World tutorial.  When I ran it, the emulator started up, but the app didn’t run.

It turns out that this is a common problem, and there could be any number of causes.  I’m posting the solution that worked for me here, because it turns out I had two issues, and it’s likely that people following the tutorials may end up in a similar situation themselves.

The first issue I found was that I’d missed a step out of the Eclipse configuration process.  Under Run -> Run Configuration, I hadn’t set the Launch Action for Android applications.  I found that Launch Default Activity didn’t work reliably for me, so I’ve selected my application under Launch: which seems to work better.

Secondly, I’ve found that adb.exe has a tendency to hang.  The workaround for this is to attempt to run the application, and then give the emulator time to start up.  If your app doesn’t launch, use Task Manager to end task adb.exe (or kill the adb process if you’re using Linux).    Leave the emulator running, and re-run your application in Eclipse.

This technique seems to be working reliably for me.  Sometimes adb hangs again (and end tasking it solves that problem).  It would be nice if I could figure out why this is happening, but for now it works well enough, and my app is making good progress!

TortoiseSVN 1.7 Beginner’s Guide Due This Month!

TortoiseSVN 1.7 Beginner's Guide

TortoiseSVN 1.7 Beginner's Guide

OK, it’s time for a little shameless self promotion!  My second book, the TortoiseSVN 1.7 Beginner’s Guide, is due out this month!

It’s been a great experience working with Packt again.  This book was tech reviewed by TortoiseSVN‘s lead developer – Stefan Kung, and I’d like to thank him (and the rest of the reviewers and Packt team) for all the effort he put in to making sure the book was up-to-date, and correct.  I’ve been on both sides of the tech review process.  As a tech reviewer it’s easy to lose patience with an author, and it takes skill to provide constructive criticisim in a nice way, but that’s exactly what I got, and I’m extremely grateful!

It’s a great feeling to see a book in print at any time of the year, but especially now – a great start to 2011.

How was your 2010?

The new year is fast approaching, so I thought I’d join the rest of the blogging universe in a quick reflective post.

This year was a decent year for me.  Some good new clients, a second book deal, and a rediscovered love of martial arts.

Next year I’m hoping to keep going with the books, get my brown belt, go back to Los Angeles, do some more open source work, and continue with my Japanese studies.

How was your 2010?  Did you achieve what you wanted?  What do you want to do next year?

Subversion Keywords and TortoiseSVN

If you’re a SVN user, you may have wondered how to take advantage of SVN keywords when building reports or documentation.

This post, passed on to me by Stefan Kung when he was tech reviewing my forthcoming book on TortoiseSVN, is the best and most concise explanation I’ve seen for how to use Subversion keywords from within MS Office.

The macro code wasn’t available when I checked, but I managed to grab it from Google’s cache, and I’m re-posting it here for reference.

Don’t forget that you’ll need to enable macros on your documents to get the example to work.

Multiverse Server Running Slowly?

If you’re wondering why I vanished for a while, I suffered several hardware failures within a short space of time, which eventually led to a trashed hard drive, and a reinstall of Windows, and painful scrambling to find backups (yes, at least I do take backups!).

I used the failures as an excuse to do an upgrade. With a faster processor, faster memory (and more of it), I expected my new PC to fly, and most of the time, it did, except for one thing.

When it came to setting my Multiverse development environment up again, I found that it was crawling. At first I thought it was my fault – the world I’m working on is a little complicated, and while it doesn’t have a huge number of mobs or models, I had been working on some timer based stuff and I was willing to accept that I may have done something to bring my world to a screeching hault.

I really couldn’t see anything, though, so I decided to re-download SampleWorld and see how that performed. That crawled too. It took over a minute to start, several minutes to log in, and the client would pretty much hang if you tried to do anything. The culprit turned out to be Google Desktop Search.

Since I’m using Windows 7 my first thought was to check that everything was running as admin, I even tried compatibility mode (you don’t actually need to run Multiverse or the server in compatibility mode, but it’s one of those things I always try, out of habit). After that I triple checked that I had the right versions of Java, Python, and MySQL, and graphics drivers, etc.

I finally pinned the poor performance on Google Desktop Search after I started closing things. If you believe task manager, Google Desktop Search just sits there doing nothing most of the time, but as soon as I turned it off, the server stopped lagging. I’ve uninstalled it now. To be honest I don’t know why I installed it when I did the rebuild, it’s not something I normally use – and if my experience is representative of how the program usually works, I don’t think it ever will be!