Interesting book on how the other half live: Production Pipeline Fundamentals for Film and Game

27. February 2014

 

Just recently the book Production Pipeline Fundamentals for Film and Game ( Safari Link ) was released and it has been an interesting read.  Here is the thing, I am an ProductPipelineCoverabsolute sucker for post-mortems.  This was my favorite part about Game Developer Magazine every month.  I loved having a peak behind the curtain to see how other people accomplish do what they do, the problems they run into and their solutions to them.  This book is essentially a post mortem, from a number of different people in the industry, for the entire art production pipeline for both movies and games.

 

The book pretty much covers the process that game and movie companies use to develop art.  This starts at the money and concept stage, discusses pre-production, then production, discusses the details of the pipeline, the IT infrastructure each studio uses, gets into nitty-gritty details like software used, managing data and assets, disaster recovery, etc. 

 

The book actually turns into a weird mashup of experiences, and due to the many different contributors, the tone and purpose of the book seems to change all the time.  Sometimes it makes the book truly great, while other times it makes the book confused.  A good example is LIDAR being dropped as a term early on, like the reader is aware of what LIDAR is.  Assuming a certain audience is fine.  However, a few chapters later, a different chapter by a different author actually explains the process of LIDAR.  ( LIDAR coincidentally is the process of scanning an environment into digital form ).  A simply re-ordering of the book would have addressed this, but the disjointed nature of the book made that not happen.  That said, the most interesting segments of the book are when the authors are talking to you like they are talking to peers.  So the transition between lecturing ( this is what X is/does ), to tutoring ( this is how to do X ) to sharing ( this is how we did X ) can be a bit jarring.

 

That’s why I am hesitant to recommend this book straight out.  For the indie developer put frankly, the processes describe are almost entirely beyond your budget.  It’s almost the definition of what makes you an Indie vs a AAA.  On the other hand, if you are in the industry, you will find the tutorial/lecture portions of the book often either simple or patronizing.  That said, if you are wondering how other people do things, or what its like to work in various fields, this book is very unique in its perspective.  Just be prepared to struggle a bit at times.

 

There is a whole lot of knowledge being shared by a number of very talented individuals.  Just be prepared to fight a bit to access it.  If you are an artist or developer and want to see how all the pieces slot together to form a whole, this book illustrates that very well.  If you however are on an indie shoestring budget and looking for a practical book, this probably isn't the one for you.  This isnt a review, as I think this is one of those books you cant really review.  I can see how one person could love it for the exact reason another person hates it.

 

Oh and one last observation… it was funny reading how often I got the impression from (some of) the film guys that they were trying to wow with how uber-impossible their job is, while the game people seemed much more matter of fact.  If you read it, I will be interested to see if you got the same impression.

Art




Exporting 3D model to LibGDX directly from Blender

26. February 2014

 

Last month I wrote about creating and exporting a model from Blender to LIbGDX.  Part of the process involved exporting to FBX then running fbx-conv.  Wouldn’t it be nice if you could export directly from Blender?  Thankfully you can!  A week or so back @Dancovich told me about his Blender plugin on Twitter.  I intended to check it out right away, but truth told, recent experience had made me pretty sick of Blender, so I’ve taken my time.  Today we are going to look at that plugin.

 

First, download it from Github (direct zip download here)

Copy the folder io_scene_g3d to your Blender plugins folder.

image

In my case on my Windows 8 install, the plugin directory is: C:\Program Files\Blender Foundation\Blender\2.69\scripts\addons, like so:

image

Your location will depend on the operating system you use and how you chose to install Blender.  The github page linked above has more details.

 

Now fire up Blender 2.69 ( note, the plugin currently only supports Blender 2.69!

Select File->User Preferences

image

Then select the Addons tab

image

Now scroll down and locate Import-Export: LibGDX G3D Exporter and check it.

image

 

 

Now you are able to export directly from Blender to FBX.

 

Select File->Export->LibGDX G3D text format.

image

 

As you can see, currently there is no binary support.  During development I tend to stick with g3dj anyway.

 

Here is the scene from Blender:

image

 

And now that I run it in LibGDX?

image

 

Ahhh, crap.  It’s an easy enough problem though.  The exporter saved my texture as an absolute path, I instead want a relative path.  Opening up the generated g3dj file, I see:

image

Change that to:

image

And you are good to go.  You can probably change Blender to work in relative paths and avoid this problem all together.  If not, altering the script to strip the paths should be a no brainer.  Now with that change we run it and:

image

Hmmmm… that’s not what you were expecting is it?  What’s going on here?

 

Well, fbx-conv automatically flips the axis from Blender Z up to LibGDX Y up.  This exporter does not.  You can easily perform the same thing in code by rotating –90 degrees about the X axis, like:

modelInstance.transform.rotate(1, 0, 0, -90);

 

Then run the code and:

 

image

 

Woot, identical to Blender!

 

I havent got the chance to test the exporter all that extensively, Ive not really done any work with Blender in the last week or so, so I cant really tell you how well it performs with animations.  That said, especially during development, this could be a huge time saver for quick iterations.  The developer is actively looking for people to try it out and report bugs back.  So if you fancy exporting from Blender to LibGDX directly try it out and let @Dancovich on Twitter know if you encounter any bugs.

Programming, Art , ,




Deploying a LibGDX RoboVM project to an actual iOS device

23. February 2014

 

First fire up Xcode.  If you haven’t got Xcode, I suppose first get Xcode then fire it up! :)  You also need to have an active iOS developer subscription. You can read more about that process here.

With Xcode loaded, plug in your iOS device to USB on your Mac.  On the iPad select Trust this computer if you haven’t already.

The Organizer window should be up.  If not done already click “Use for Development” button.  Now you hook up your Apple developer account, click Add to Member Center.

NewImage

 

You will be prompted for your Apple Developer ID.

NewImage

 

Next you will be prompted to request a developer certificate.

NewImage

 

In theory this will automatically download a developer profile for you.  In reality it failed for me, and according to google, this isn’t uncommon.  If this happens to you, log in to developer.apple.com Member Center and manually download the provisioning profile.

NewImage

 

Now back in Organizer, select Provisioning Profile and click Add

NewImage

 

Navigate to the file you just downloaded and select it.  Your device should now be ready for development.

 

Go to your project in Eclipse, right click the RoboVM project and select Debug->iOS Device App.

NewImage

 

Finally, you may be prompted to approve keychain access.  Do so.

NewImage

 

And you should be done.

I actually got a few errors when trying the first time.  LOCKDOWN_E_PASSWORD_PROTECTED and LOCKDOWN_E_UNKNOWN_ERROR.  I simply unplugged and replugged the iPad and tried again and third times a charm.

,




Autodesk release Character Generator. Cloud based tool to easily create textured and rigged character models.

21. February 2014

 

 

Indie developers are increasingly purchasing “off the shelf’ assets to ease the workload on their game project.  The popularity of resources like the Unity Asset Store, Turbo Squid and Mixamo are certainly proof.  These resources are especially useful for the artistically challenged developers amongst us.  Now, Autodesk is throwing their hat into the ring with Character Generator.

 

AutodeskCharacterGenerator

What is Character Generator?  In their own words:

Drastically reduce the time needed to create customized, rigged and ready-to-animate 3D characters with Autodesk® Character Generator; a new, easy-to-use, web-based service. With Character Generator, users have control over a character’s body, face, clothes and hair, and can then generate their customized character for use in popular animation packages: Autodesk® Maya®, Autodesk® Maya LT™, and Autodesk® 3ds Max® software as well as in game engines like Unity.

 

 

Basically you use a number of pre made components to generate models for export to Maya, Max and Unity.  ( Why no Softimage love? )

 

So, you pick a character:

2

 

Refine the body.

3

 

Add details/accesories:

4

 

And export as an FBX or Maya file:

5

 

It is available in two forms, paid and free.  The cost seems tied to the complexity of the model you’ve created.  Free versions obviously have some limitations, as shown on this (somewhat odd) chart below.  I am assuming the lack of checkmarks on the paid side was a mistake on Autodesks part. :)

6

 

Exported models are rigged with a HumanIK rig.  Perhaps the most noticeable difference between Free and Paid is the free version is limited to low quality models.  That’s a bit of a loaded expression, as what do they mean by “quality”?  If they simply mean polygon, for many people that isn’t a huge drawback. 

 

Then again, you can try it completely free, so what have you got to lose?  I glossed over a great deal of functionality in this post, so if you are interested, you should check out the Autodesk product page.

 

A few questions still remain for me.  If you are using an Autodesk toolchain, trying this out is a no brainer.  But if you are using other tools like Blender or Modo, how well does this slot into your pipeline?  How well does a HumanIK rig work in Unity, or does it work at all?  Im going to try and get back to you.  If you’ve tried it with a non-Autodesk toolchain, how was your experience?

,




Registering for an Apple Developer ID.

20. February 2014

This is one of those things I’ve put off forever but I am finally getting to the point I have to do it.  It’s time to sign up for an iOS developer license.  Without one ( and paying 99$ a year ) you cannot deploy your code to Apple devices.  The Simulator gets you most of the way there but eventually you need to run on an actual device.

 

I am going to document the process in case it’s helpful for anyone in the future.  If this ends up being obscenely straight forward, I apologize for the dull as toast post. :)

 

Head to developer.apple.com

Click Member Center

A1

 

 

Either log in or register.  Registration is free at this point.

A2

 

Click on Programs & Add-ons

A3

 

 

Locate iOS Developer Program and select Join Today

A4

 

In an exercise in redundant redundancy, now click Enroll Now.

A5

 

Just in case you haven’t gotten sick of superfluous button clicking, now click Continue.

A6

 

… ok, this is nowhere near as streamlined as it should be.  Anyways pick if you want to use an existing developer id, or create a new one, even though I imagine 99.99% of people will use existing.

A7

 

 

Are you a business or individual?  Individual makes things a heck of a lot easier… you simply need a credit card.  Fill in the credit card details and click continue.

A10

 

Are you feeling deja-vu?  I certainly am.  Anyway, select iOS Developer Program, then Continue.

A11

 

Review the details you’ve given and select Continue.

A10

 

Select Buy Now:

A12

 

 

 

… and, log in again.  Yeah really.  Isn’t Apple the one thats supposed to be all about usability???  Granted, you are logging in to the App Store, so perhaps its a different account for you.

A13

 

… and now, you need to enter your billing information… AGAIN.  This time with credit card details.  This is getting kind of stupid, as there was a completely redundant few steps earlier it appears.  Once you’ve confirmed or entered your payment details, it’s time to pay the piper.

A14

 

The department of redundancy comes knocking again.  Apple seriously, don’t see a few opportunities for optimization in this process here?  None at all.

A15

 

… and assuming your credit is ok...

A16

 

 

… now what?

Now you wait apparently.  Unbelievably, this isn’t a completely automated process.  You simply get an email saying your order is being processed.  That’s rather anti-climactic, especially for the “I WANT IT NOW” crowd.

 

So, about 45 minutes, the following email arrives:

A17

 

… that said, don’t expect things to be all good just yet.  Log in to Member Center go to Programs and Add-ons and...

 

A18

 

Sigh, not quite there yet.  Lame.  A few hours later, still nothing.  I’ll edit in once it is actually ready to go.

 

EDIT: 4 hours after application the account is now active.  Now if you log in to developer.apple.com, you will see an option for certificates.

A19

 

You need a certificate to run on device.  The easiest way to request a certificate is directly in Xcode, but you can manually request a certificate here as well.