Tuesday 29 June 2010

Fixing the bleedin' obvious

I have quite a lot of computers in my life, and they all run Linux. In fact, the only time I leave the confines of my beloved Linux is when I'm at work (where my machine at Moviestorm Towers is a Macbook Pro). Most of my machines run a variant of Linux called Ubuntu. Last year, the Ubuntu development team announced a new project which they called 100 Papercuts. The idea was that they would identify 100 little irritations which were reasonably trivial to fix. Most of the issues identified were minor and really not too significant, but as they all pile up they start to become a serious problem. One papercut, after all, is only an irritant, but if you get enough papercuts all at once you just might bleed to death.

I was quite taken with this idea (the papercuts concept, not the bleeding to death), and spent some time talking about it with Dave and Andrew. As a consequence, we recently launched our own "papercuts" project for Moviestorm. Whilst Ubuntu's Papercuts project attracted over 1600 recorded bugs within a few weeks, our initial brainstorm generated a slightly less ambitious 200(ish) issues. We're going to be tackling these "papercuts" a few at a time, aiming to fix between 10 and 20 papercuts each time we have a code release.

Let's take a look at some of the papercuts for the forthcoming 1.3.1 release.

MS-3277 Keep window positions and sizes after the user has adjusted them
Wouldn't it be nice if, when you moved a customisation window over to the left, it appeared in the same place when you next reopened it? Now it does. We haven't implemented this behaviour for every window yet, but it's in place for all of the "adjust something" windows (what we call Activity Customizers).

MS-4887 Improve transitions between major mode views
This one's not so easy to spot, but the load time required to switch Views - to move from Set Workshop View to Director's View, for example - has been much improved. A lot of clever process threading and Clever Engineering Hacking in the background has allowed us to make these transitions faster and smoother.

MS-4826 Can't remove user images
I'm going to be totally honest with you here: this is one of those bugs that represents a lack of functionality not through deliberate choice but just because we forgot to put it in. Once you add a custom image to a set object, there's no way of actually removing that image if you change your mind later. The ring menu for such objects now features a "clear image" option, which removes the image. It also works for held props and bodyparts.

MS-4815 File overwrite message is confusing
This one was ridiculously easy to fix, but had still been sat in our bug database for a long time. Being such a small team, it's easy for small things like this to never actually make it onto anybody's "to do list", simply because there are so many other, bigger things that need to be done. That's exactly what the papercuts project is good for: making sure that issues like this do eventually get addressed. Here's the dialog as it appears in the current released version of Moviestorm:
And here's the new version:
A lot clearer, I think you'll agree.

MS- 4809 Can't find the movie I last worked on
My Moviestorm "movies" directory currently holds about a hundred different movies, in various states of completion. When you spend a lot of your working day testing Moviestorm you tend to accrue a lot of test movies. The load screen will now allow you to sort those movies, either by name or by modification date. That means that the movie you last worked on can be quickly brought to the top of the list.

MS-4806 Typo on first page of Help
Yes, well. The less said about this the better. Let's just move on, shall we?

MS-4786 Warn me if I'm not placing a character at time 0
Ever had a character appear halfway through a scene because the timeline wasn't at the start of the scene when you issued the "place here" command? Yeah, me too. Not any more:

MS-3690 Autosave
Matt has already blogged about this one.

There are about half a dozen other papercut issues in various stages of completion, but this should give you some idea of what we're hoping to achieve for 1.3.1. This is an experiment, so the choice of which of our 200 papercut issues to address first has been almost arbitrary. What about you? What little annoying niggle would you like us to fix? Comment with your papercuts, and I'll add them to our issues database.

Friday 25 June 2010

And now for the new heads

So you've seen what sort of controls the new face morpher has. Now let's see what it can do when you push those sliders around a bit.

You may not actually want characters this extreme, of course, but this demonstrates that Moviestorm 1.3.1 will offer a lot more flexibility and customisation than the current version.

New character workshop - first glimpse

I promised you a look at the new character shop as soon as I got something from the team in Cambridge. I found this waiting for me when I got up this morning, so here you go. I haven't even had breakfast yet!

Moviestorm Dave

Note: This is still work in progress and quite rough in places, so you'll see some broken icons on these shots. There's also a noticeable neck seam on these characters: Dave's fixed this, but the new neck code hasn't been integrated with the character workshop code yet. However, this will give you an idea of what the new face creator and character workshop will look like, and how much more you'll be able to do with Moviestorm 1.3.1 compared to the current version.

These don't show the more extreme characters we can do - this is just to illustrate the user interface and the range of controls. See shots of the new heads here!

First off, we've replaced the old grey background with a dressing room. The set isn't final, but already it feels much more friendly and fun to use. You also get a sense of what these characters will look like in context, which makes an enormous difference.

Now, this is the bit most of you have been waiting for. Check out the new face morph controls. (Click on the images to see them full size.) You get a huge array of sliders to play with, allowing you to control:
  • Ethnicity - this allows you to mix between different basic ethnic head shapes
  • Head Variant - several different face shapes
  • Nose shape & size
  • Ear shape and size
  • Mouth shape
  • Lip shape
  • Eyebrows shape & size
  • Eye depth, size and shape
  • Eyelashes

Let's take a closer look at the eyebrows, and see the range of variants available. Twelve different shapes, all of which can be tinted.

Next there's the new make-up. Add a design and colour it. We'll have some more conventional make-up, of course, but we can also do some more extreme things.

So there you go.

Now, where's my coffee and a cinnamon bun?

Thursday 24 June 2010

A handy performance tip from Overman

Here's a little twitter exchange between myself and Phil Rice earlier:

zsoverman: Had to restart master render of First today. 200% speed boost after blowing dust off heat sink. (!) Sony Vegas says 1 hr to go... tick tock

mattkelland: @zsoverman 200%? blimey!

zsoverman: @MattKelland I know, right? Dang thing was crawling, crashing... a little compressed air and voila!

So, give it a go. Pfft!

(Strangely, I did the same thing to my air conditioning last week, and that works much better now too.)

Tuesday 22 June 2010


Another little snippet from the commit log:
  • Revision 24087 Committed by dave: - Changed the angle for the body part's thumbnails
  • Revision 24088 Committed by ben_sanders: - Resaved the parasol thumbnail
  • Revision 24081 Committed by ben_sanders: - Updated thumbnail on the beachfront set, and added boulevard set
This is the kind of thing that you don't normally think too hard about when you're starting out building something like Moviestorm. You know how your character & mod shop and prop choosers are going to work: you have a bunch of different things to choose from,, and little pictures of them which you click on to select them. Not exactly rocket science.

Then you come to implement it, and it all looks a bit meh. In some cases, you can't actually find the thing you want. Turns out that the angle from which you view a 3D item is far more important than you might think. If you don't get a good thumbnail image, what you see is confusing and messy: in extreme cases, it's like one of those quizzes, where you have to identify a common household object from an unusual angle.

In our original version of the prop chooser some time ago, we had an automated thumbnail tool which took a snapshot of each item from a standard angle and distance with a standard lighting, and then cropped it to fit. When we re-did it, we replaced many of the automated thumbnails with hand-made ones. This involved employing an intern for a month or so doing nothing else, as it's a time-consuming and tedious job. However, the results were worth it.

Body parts are generally a lot easier to standardise, so we're sticking with automated thumbnails for the new mod shop and character shop designs. However, we're still experimenting with what the best angle is. It makes more difference than you realise.

Thursday 17 June 2010

The hip bone's connected to the what?

Following yesterday's blog post featuring log entries the changes to the main codebase, here's one that will intrigue a few of you:
  • Revision 24026 Committed by dave: - Fixed new symmetric female01 skeleton remapped female01 anims for symmetrized skeleton
As we mentioned in the forums this weekend, we've been going back and re-examining some of our design decisions from three or so years ago with respect to the way Moviestorm characters are constructed. We've found ourselves loading more and more onto the characters, and we now expect them to walk, use a prop, look at something, have a facial expression, speak, and gesture, all at the same time. And look good while doing it. And do it all in real time. And while retaining some measure of acceptable performance.

Now we're asking our characters to have morphing faces as well, so every facial animation and texture has to be adjusted to fit the final shape. We're looking at more extreme morphs than we've had before, so we have to be very conscious of the extent to which that distorts both the animations and the actual characters.

Our existing facial structure simply wasn't up to the job, for all sorts of reasons, so we decided to rebuild the heads. While we were looking at that, we spotted that the eyes were very slightly asymmetrical, and nobody had actually noticed that before. That's one of the reasons the facial expressions always looked a bit odd. So we've changed that, and the new faces should look much better. As Dave put it, "it's amazing how a small mistake early in the project comes back to haunt you years later."

Since we were messing with bones anyway, we figured out we might as well do the bodies. That way, when we get round to looking at body morphs*, we shouldn't have to go through all this again. So Chris has created a new skeleton, and the team are now figuring out a way to make all the existing animations and costumes compatible with it. We really, really don't want to have to rebuild every single animation and costume!

Hopefully you won't see any difference at all when the new skeletons eventually replace the current ones. Everything will just work exactly the same as it did before. However, this is important groundwork for several things we're planning later.

For those of you who've been impatient for us to release skeleton schematics, this is one of the reasons we've held off for the last couple of months. Once the new ones are in, working, and fully tested, then we'll see about letting you guys have a go.

I'm also intrigued by this one:
  • Revision 24021 Committed by julian_gold: - Tarted up textrenderer interface so i can do some cooler textbased stuff in crv. (Cutting Room View)
That could signify some neat new titling options, perhaps?

* Don't hold your breath. Even if we started looking at them right after MS 1.3.1, actually releasing body morphs will still be some way off. It's a big job.
** That's definitely not going to be this side of MS 1.3.1. I'd say after 1.3.2 at the earliest.

Wednesday 16 June 2010

More tantalizing hints

You can glean a lot about what's going on from the feed of the updates committed to the main Moviestorm codebase: here's just a few entries from today:
  • Revision 23995 Committed by amos_willbond: - Updated icons for morph regions (character shop).
  • Revision 23996 Committed by amos_willbond: - Further changes to morph area icons (character shop)
  • Revision 24001 Committed by chris_ollis: - Extra face textures for morph male
  • Revision 24012 Committed by ben_sanders: - Mouth height separated, and full morphs added
  • Revision 24013 Committed by ben_sanders: - Added blood and blemishes to the skin detail
  • Revision 24014 Committed by ben_sanders: - Beards added
  • Revision 24015 Committed by ben_sanders: - Copied beard thumbs from core
The new character workshop is definitely taking shape!

Monday 14 June 2010

That's not fair!

I just had my regular weekly catch-up session with Johnnie, where I get to find out about what's being worked on this week. We were talking about the face morphs, and he told me "I really should send you a video of the faces being morphed in the character shop in real time. You're going to love it."

So I made the appropriate excited noises, and then he said, "I could actually have sent you something last week, but we all know that as soon as you see what we're doing, you're going to put it on the dev blog, and we won't be able to stop you. And it's not ready yet, so we're going to hold off for a few more days."

So there you go. You can all share my pain.

You'll see the new stuff about 15 minutes after I do.

But apparently you're going to love it.

Wednesday 9 June 2010

Getting sorted

Once you've made a lot of Moviestorm movies, it's easy to lose track of which is which. Yes, they've all got unique names, but usually when you load up a movie, you want to go to the one you were last working on. It's buried somewhere in there, but you have to scroll through and find it. It's even more annoying when you can't quite remember what you called it - was it Jim and Joe's fight test or Jim fist fight? At least, that's the sort of thing we're always faced with.

We're currently in the process of making two small changes to the load movie screen. In the bottom left, you now have the option to order movies by date, so your most recent movie will always be at the top.

Also, you'll notice some movies have yellow blobs on. This temporary icon indicates that there are backups of the movie available. You now have the option to load the most recent version with the tick (check mark) as normal, or else you can use the recycle button to bring up a list of backups and you can load one of those instead.

Tuesday 8 June 2010


If you're hearing strains of Santana then that's about right - have a look at this pic straight from my dev machine (it's not even been committed to the Moviestorm source code repository yet!).

That neck seam has been bugging me for years but I've finally found a way to get it smooth from head part to body part. Annoyingly the answer's been staring me in the face for almost as long, but there's so much to do and so little time.

Hopefully, we'll get this to you as part of the next major Moviestorm release.