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
“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

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!

Competition: Does Your Daughter Love Ubuntu?

Are you the parent of a young girl that likes to play with technology? If so, this competition from the Ubuntu Women project is ideal for you.

To celebrate World Play Day, the Ubuntu Women project is running a photography competition, with the prizes including a Dell Mini 10n netbook!  To enter, just submit photos of the young girl in your family having fun with Ubuntu.

The competition aims to bust the stereotype that it’s only young boys that enjoy playing with computers, and to show young girls that they can play with anything they want – be that dolls and dressup, or the household PC.

The competition is open to everyone.  You don’t have to be an active member of the Ubuntu / Ubuntu Women community to participate (although you’re always welcome to join us on IRC or the forums if you have the time!).  We’re looking for a wide range of entries from all kinds of family.

The pictures will be judged on how well they promote the image that “girls love computers”.

Read on for full details of the competition.

A pivotal issue within computing cultures of today is the overemphasis on boys and men as the primary consumers of technology. Children learn by example and since the majority of media images consist of boys playing computer type games and girls playing with stereotypical princess type dolls; this contributes to the lack of involvement in science and technology by our young women.

It hurts us all to have this subconscious of pigeonholing of our children, and to help counter this for Ubuntu’s community, we would love to have a collection of examples of young girls (toddlers through to 12 years old) playing with — and loving, and being encouraged to pursue — Ubuntu. This would allow parents of girls to demonstrate that it really is ok to be intrigued by the shiny screens, blinking lights, tappity-tap of keyboards, and faint whirs of computer fans.

The girls do not have to be alone in the photos, and photos taken prior to this announcement are eligible. We are not expecting any particular pose, but we would much prefer candid shots — they say SO much more. We do prefer that the images come at a large resolution, in a standard
format (JPEG, PNG) and not embedded in documents.

Please email your photos (or links to flickr, etc.) to ubuntuwomen.competition at by UTC 23:59 14th of May 2010.

By submitting a photo, you acknowledge that it will be posted on the Ubuntu Women Website under the Creative Commons Attribution-Noncommercial-No Derivative Works license, with special considerations for use within the Ubuntu Women and Ubuntu project (please see Photo/Model Release waiver). If you prefer that your photo to be posted under a less restrictive license such as Creative Commons Attribution or Public Domain, then feel free to let us know when you submit. As this competition involves visual depictions of people, we will require that a “Photo/Model Release” waiver be signed for each person in the photo. A parent or guardian of minors must sign this waiver form for their children or charges.

There will be two (2) prizes up for grabs. One (1) prize will be given to the photo that the community feels sells the “girls love computers” line the best. One (1) prize will be given to a randomly drawn entrant.
Jono Bacon, the Ubuntu Community Manager will be drawing this entrant in a videocast, and announcing both winners to the world on May 28th.

We will celebrate World Play Day by announcing the two winners. The first of whom will be the popular voted Community Choice, and will receive a Dell Mini 10n (or equivalent net-book based on availability).
The second winner chosen by random drawing will receive a Canonical Sponsored Ubuntu SWAG collection that includes: Mouse- pad, Silly putty, Recycled Ubuntu Notepad, Ubuntu pen, Ubuntu lanyard, Ubuntu pack of 3 pin-badges and 1 Organic Circle of Friends Ladies T-shirt.

Good Luck!

Funambol Open Source from Packt Publishing

Packt Publishing have released a book on the Funambol Mobile Open Source system. I’m not going to write a review of the title, because I worked on it, so I can’t be completely impartial.

However, I will say this – I really enjoyed working on it. I use Citadel for my email, and it can easily integrate with a Funambol server. If you’re looking for a PIM and push email system that works with a variety of mobile clients, then you should definitely check out Funambol – it’s free and open source, and can scale to suit anything from a small business like mine to a much bigger enterprise.

The book takes you through the basics of setting up a server for personal use and scaling it for more users, then goes on to explain how to create Funambol extensions. You can check out the book here.

Review: Blender 3D – Architecture, Buildings and Scenery

Packt Publishing sent me a copy of Blender 3D: Architecture, Buildings and Scenery to review. This came at a great time for me because I’m working on a game in Multiverse, and I’m spending a lot of time tweaking assets in Blender.

I’m a programmer, not a graphic artist. I can get by with 3D software, but I wouldn’t call myself an expert. I hate online tutorials. Sure, some of them are good, but many of them don’t specify what version of the software they’re for (which is annoying when you get halfway through and realise an option has moved). Some of them are written by people who have customized their menus, meaning things are in a different place for people who are using a fresh install, and some are incomplete. I don’t say this to criticize the people who wrote the tutorials. Indeed, I’m grateful to anyone who takes the time to share their knowledge, but sometimes a book that has been tested, peer reviewed, and edited, is a lifesaver.

The back of the book says that you don’t need to be experienced with Blender in order to follow the book. I was dubious at first, but the first few chapters of the book do actually give a good introduction to the program.

Blender 3D: Architecture, Buildings and Scenery starts off by explaining the tools that will be used in the book: Blender, Gimp, and YafRay. The author, Allan Brito, also offers some useful links for building up a library of 3D objects.

Chapter 2 is spent learning the basics of the interface – keyboard shortcuts, modes, and working with objects, while Chapter 3 takes a quick look at modeling and some of the tools that are available. Experienced Blender users would probably skip these chapters, but they’re a great refresher for someone who has been using Blender but doesn’t have any formal training.

Things start getting more interesting after this. As you work through the book you learn to model walls, scenery, furniture, and decorative items such as lamps. You also learn about textures and lighting – both spot lights and ambient lights. There’s lots of architecture specific advice given, such as marking seams to help with UV mapping. The precision modeling section is useful too.

The examples are very detailed and easy to follow. Each step is carefully explained and there are lots of screenshots. Unfortunately, the screenshots are black and white. Since the default Blender interface is so dark, this makes it hard to pick out the details.

The chapter on Post Production with Gimp has crisp, clear screenshots, so I don’t think the printing is at fault, just the fact that Blender’s default interface is so dark. It would have been nice if the author had changed the interface to some colours with more contrast in order to make things stand out more.

There is a chapter on animation. The author does a good job of explaining the basics of keyframes, timelines, and camera management, so you can make the kind of animations he talks about in the chapter (for showing off buildings and interiors). I would have liked to have seen animation covered in more depth, but to be fair I think that the things I wanted to see were outside of the schope of an architecture focused book.

People experienced with Blender may find that there aren’t many suprises for them, but I think that the author achieved his goal very well.

Overall, I was impressed by this book. I had hoped to pick up some tips to use for making buildings for my game, and also for making benches, barrels, and other interior items. The book isn’t designed for people creating game art, but there was still a lot of useful information. If you’re interested in architecture but new to Blender, or have some experience with Blender and want to learn about the extra considerations that go into making architectural art, then you’ll get a lot out of this book.