Monday, 26 November 2007
Monday, 3 September 2007
The best bit is that it really didn't take much effort to get this far (about 4 fairly lazy evenings all told). Java & OpenGL makes porting from Windows to Mac pretty trivial. A few native libraries to rebuild (and the main time with that was learning about the non-standard gcc options on the Mac) and some Microsoft-isms to eliminate (replace \ path separators with / and similar). There were a few deeper bugs that had me scratching my head for a while but nothing too nasty.
So when we've got the rendering and lipsync issues sorted out, we'll have a beta of Moviestorm for all you Mac fans out there - early October with a bit of luck.
[edit: twak] you can download moviestorm for the mac here
Wednesday, 22 August 2007
Feel free to stop by and say hi, and tell me what you think of Moviestorm.
Monday, 6 August 2007
Thursday, 2 August 2007
The host, Philip, was really excited by Moviestorm, even though there isn't a Mac version yet. (Real film people use Macs - I've had that well and truly drummed into me over the last two weeks!) The DPB audience is a little more hardcore than I'm used to - it's mostly people who make proper movies with, you know, cameras and actors and stuff, rather than machinimators. It's also slightly strange talking about Moviestorm on radio, when you can't show it to anyone, but it seemed to go OK.
Catch the show live tomorrow (6pm California time on Thursday), or grab it from the archives later in the week.
Thursday, 19 July 2007
Leaving aside the issue that trying to shoehorn everything you can do in Mortal Kombat, Fight Night, Dead or Alive and World of Warcraft into Moviestorm, let alone all of them, is a pretty tall order, it's becoming increasingly clear as I get deeper into the design of the new fight system that doing so wouldn't give us what we want anyway. What we're creating is a movie fight choreography tool, not a fighting game, and they're very different. Just as movie fights aren't anything like real fights, movie fights aren't like game fights either.
For a start, a fight choreographer has to control both characters, not just one. This means you need a completely different user interface. It's not a matter of getting good enough at the game to land the punch and then the game AI works out whether your opponent crashes to the ground. You have to decide that you want to land the punch, and then decide whether the opponent goes flying or comes right back at you with an elbow to the top of the head. Fight choreography is a slow, painstaking business, where you have to think about every move made by every participant. On the other hand, if the tool is too slow, creating fights will be boring, so you need some short cuts, which means having a tricksy little system and some AI assistance when you want it. All of which adds up to a completely new style of user interface.
But equally importantly, the aim of a movie fight isn't to beat the opponent. You already know who's going to lose. It's to create an exciting action sequence and look good. This means you have to be thinking about how every move is going to look on camera, in close-up, and as part of an edited sequence. Fight games generally have fairly static cameras, which don't cut. Movie fights are usually the fastest-cut sequences in a film. As a result, all the fight choreography has to be made to work slightly differently. It's quite common in a movie to see the action and the reaction sequentially, even if they actually take place simultaneously. In a fight game, both fighters would drop into a crouch at the same time: in a movie, you'd see one guy drop into a crouch, then cut to another camera showing the second guy doing the same. (Sergio Leone takes this to extremes. Gunfighters don't actually take turns to finger their holsters and narrow their eyes. He just shows it that way because it looks more stylish, and allows him to direct the audience's attention to one thing at a time.)
The other thing that differentiates a movie fight from a game fight is that you have to be much more accurate with the animations. A lot of games, even recent ones, are quite lax when it comes to collisions. Swing a punch at someone's stomach, and it may fall short, or your fist might sink in up to the wrist. And when they double over, they may actually react to a blow to the solar plexus, or a blow from a slightly different angle. In the middle of a game, you don't really notice - you're too busy worrying about winning. But in a film, that really stands out, especially in close-up. Audiences want to get in close, and they are very sensitive to "faking it".
Of course we can, and will, use a lot of game technology and game techniques. But it's not a simple conversion if we want the fights in Moviestorm to have movie styling, not game styling. What we're learning is subtle, but should give us something that looks and feels very different to your typical machinima fight.
Tuesday, 17 July 2007
Thursday, 21 June 2007
[09:34:13] Julian Gold says: (Pretentious, moi?)
[09:46:04] Chris Ollis says: you could argue that yes it was a "fine piece of art" being a creatively constructed medium designed to make people think and react emotionally. But it doesn't stop it being wrong. When will the human race stop doing things without questioning if it should?!
We had a very similar game almost made while I was at Codies called "Drive by", I refused to work on it. It eventually got canned.
[09:58:05] tom kelly says: one of the advantages of educating people should be to be able to avoid censorship
[10:13:44] Julian Gold says: it would probably be a good thing to start educating people then (wait)
[10:13:59] Julian Gold says: (oh the satire!_
[10:14:07] tom kelly says: lol
[10:14:09] Chris Ollis says: But if everyone was educated then no one would buy these games!
[10:17:40] david j bailey says: have a look at the titles on sale in WH Smith on the /book/ shelves. Pure filth, evil, sadistic, violence, sex, etc. We do not censor books, why do we censor images?
[10:18:27] tom kelly says: because 4 year olds don't know the word biestiality and it'd be nice to keep it that way
[10:18:37] david j bailey says: nor does the OED ....
[10:18:39] Julian Gold says: they are different media: books require mental image construction whereas pictures don't - they therefore exercise different parts of the brain
[10:19:43] Julian Gold says: (that's not an a priori argument for censorship; merely a conditioner for the rationale that they should be considered separately)
[10:20:38] Matt Kelland says: The book/film censorship argument has been raging for about a century - as has the fine art/photography argument. It boils down to "books & fine art are for the literati, so they can handle nudity etc, films & photographs are for the hoi polloi who need to be protected."
[10:22:20] Julian Gold says: the problem with that is that there are more "hoi polloi" than "literati" and therefore we'd expect a greater number of extreme behaviours at the ends of the bell curve
[10:23:08] Julian Gold says: IOW in no way does it address the issue "what psychological effects do media have on us and is there a motivation for addressing it at policy level?"
[10:25:27] Julian Gold says: I always wonder: what would happen IF tomorrow a study categorically demonstrated that (say) video games were harmful beyond all reasonable doubt? Would we accept it, or try to rationalise it away? It's characteristic of humans to treat evidence that supports their own predilections more favourably than that against. This is the problem with self-regulation.
[10:27:09] Ben Sanders says: studies dont demonstrate things beyond all reasonable doubt
[10:27:27] tom kelly says: i think that was the point
[10:27:28] Julian Gold says: you're missing the 'IF'
[10:27:32] Ben Sanders says: and people dont stop smoking just cause it is harmfull (well, some do, but...)
[10:27:38] Chris Ollis says: and you can prove anything with the right facts ;)
[10:27:42] tom kelly says: it's a question of risk perception - we see less risk in situations we control.
[10:30:02] Julian Gold says: studies are based upon probabilistic methodologies. "Beyond reasonable doubt" could simply be that the hypothesis sits in the 95% confidence interval
[10:32:48] Matt Kelland says: New Sci a couple of weeks ago reported on some very in-depth studies which all suggest that watching violent TV does have an effect on kids. More importantly, though, they continued with a further set of studies that showed how different groups of people react to such studies - basically, we simply do not want to accept those findings.
[10:34:11] Matt Kelland says: Advertisers are quite happy to accept that showing their products on TV does influence people to buy them, and showing their products in a negative light may prejudice people against them; but they're not prepared to accept that viewing other forms of content has an equivalent effect. Humans are very good at rationalising contradictions.
[10:34:39] Ben Sanders says: doing stufies that result in an obvious conclusion are not going to affect people who were ignoring the obvious conclusion anyway
[10:35:01] Julian Gold says: which is precisely the motivation for censorship
[10:35:41] Matt Kelland says: No - the motivation for censorship is to ensure conformity to social norms.
[10:36:27] Julian Gold says: well maybe: but IMHO it's a better motivation for censorship (which generally I do not support)
[10:36:44] tom kelly says: scary media is scary. we are hard wired as social animals to protect those we see as vulnerable from scary stuff. problem is - as arrogant monkeys we all see many others as inferior and vulnerable.
[10:56:43] tom kelly says: does anyone mind if paste the last hour of the chat to the company blog?
Once upon a time, what feels like many, many years ago, Moviestorm was just a germ of an idea, with two of us bashing out bits of tech demos to experiment with different ways of making machinima, and raise the money to make a real go of it.
Then, in November 2005, we hired a few staff, made ourselves into a real company, and started building the damn thing for real, and got Moviestorm (or Machinimascope, as we called it back then) to the point where we had the bare bones of a new type of movie-making tool.
Last Christmas, we moved into stage three, and started getting real users involved, even though Moviestorm was nowhere near finished, and, to be quite honest, wasn't even really ready to go out the door. We jumped from six people to twelve full-time staff plus a load of freelancers, got ourselves an office, and went from having just a few bits of test artwork we'd produced in-house to commissioning loads of art from studios in India and the Ukraine. It's been a really intense six months, and Moviestorm has changed completely in that time: we've developed features we didn't think were important, because our beta testers said they wanted them; we've dropped features we liked because our beta testers said they didn't need or didn't like them; we've completely redesigned the user interface; we now have literally thousands of new characters, models and animations; and so on. On top of that, we've built a community Web site, a place to host movies, and an online distribution and update system. And last, but absolutely by no means least, we now have a fantastic community of 700+ users from all round the world, who have provided us in equal measure with tough love and praise, and who have created some really surprising test movies which have pushed Moviestorm into some unexpected directions. We've taken input from professional film-makers, from complete novices, from experienced machinimators, from kids, from housewives - well, from absolutely anybody we possibly could. Moviestorm's still not finished, of course. In all likelihood it never will be. There's so much we want to do with it, and new ideas are presenting themselves every single day. But it's now feeling like we have a proper movie-making tool at last.
So now it's time to kick things up a gear again and move into the fourth stage. We're currently wrapping everything up for our imminent public beta release, at which time anyone in the world will be able to come along and grab themselves a copy of Moviestorm. That's going to present us with a whole new set of challenges. We need to make sure we're ready to respond to the needs, queries, demands, and problems of a much larger user group, which means providing new infrastructure, new in-house processes and systems, and understanding that we're dealing with a slightly different type of user. It won't go 100% smoothly, of course. It never does. But at least we should be prepared to deal with whatever spanners get thrown in the works.
We've now closed the private beta program, so we're not taking on any new users for the time being. But we will be open again very shortly - and we're all waiting to see what happens!
Thursday, 14 June 2007
Standard software development calls for a large suite of test cases as you're programming. The idea is that you write the tests for whatever you're going to build, then build it and check it passes the tests. The many benefits of this technique include:
- If someone else plays with your code they have more of an idea as to what the outcome should be.
- When something just won't work, running all the tests can highlight where the issues lie.
- you can automate tests so people get annoying emails if the code the checked in doesn't pass all the tests.
- It forces developers really understand what you're doing before you start coding.
The problem lies in the fact that it is very difficult to unit test a mostly visual medium. Does the character look right? Is she triangulated nicely? Do the buttons line up? What happens when you move the mouse slightly while clicking a button, do the characters shatter when you drag the window around the desktop?.
Standard agile practice would have us adding a unit test for each instance, there are techniques that we can use for this - the java.awt.Robot takes you so far - you can automagically move the mouse to a location and click, or check the colour at a location. But it becomes very fragile - if a button moves location or the artists change the skin tone you "red line" on the tests. Keeping in the green takes an intolerable quantity of time, compared to eye-balling the output as you go.
What are we doing at the moment? We've got a really really fast turn around between the programmers (~minutes) - "you forgot to add that jar to the build paths". Then there's a quick turn around between the QA guys and the programmers (~hours) - "I can't save my movie". We've got a slightly longer turn (~days) around between the QA guys and the in house machinimators (product users) - "My video file has more artefacts than it did". And we've got ~weeks between QA and our cutting edge beta testers - "you can't save the movie when you try to open door #23 on a tuesday". Each layer removes some of the problems and the most annoying problems are flattened first.
It's not a textbook operation, but with a small team it works surprisingly well.
Wednesday, 30 May 2007
This is most likely to be a part-time role or freelance / contract work, and you can work from home or in our (Cambridge, UK) offices. It would involve a mixture of commissioned pieces where we are responding to requests from IPR owners (TV, movies and music) and your own original work, and we're after anything from drama and comedy to music video or experimental work. What matters is quality, delivery to time and fanatical devotion to the art. We're looking for movies that go beyond existing "gamer" machinima, and will appeal to a wider audience.
We'll provide full technical support, and you'll also get access to custom artwork and professional sound facilities. Payment terms by negotiation.
If you're interested, email me directly (matt [at] shortfuze.co.uk) and send links to your portfolio of machinima work (in any engine) and other film work if you have it, as well as details of any machinima or film awards you have won. You will need to demonstrate your proficiency with character performance, camerawork, editing and post-production.
Please indicate what type of films you like to make and your level of technical expertise. We would particularly welcome applications from people who are making movies in languages other than English, though this is not a requirement.
Start dates vary from immediate to October 2007.
Friday, 4 May 2007
Well, almost. Of course, the one thing we forgot is that Hollywood screening rooms are geared up for projecting movies. Y'know, as in actual film? So we turn up with our lovely modern new-fangled laptop, expecting to connect it to a projector.... d'oh! Well, the nice guys at Big Time say that's no problem, we'll just.... oh, you have a Windows PC? If we'd had a Mac, it'd be just a minor problem, but a PC?
So, after half an hour, we mostly get that sorted out, then we realise we've made dumb move #3. The lap-top's now in the projection booth, and I'm expecting to be able to run Moviestorm and talk people through what I'm doing. Projection booths are soundproof, dummy! They won't hear a frackin' word I'm saying! Eventually, with the aid of a speakerphone, we finally get sorted, half an hour behind schedule. Which is OK, because when we said 6pm, we didn't think about LA traffic, and pretty much everyone else is half an hour late too.
You meet strange people at midnight in LA.....
When we finally got under way, it all seemed to go pretty well. At least, when we suggested dinner after the demo, none of them ran away screaming, so that was a good sign.
The next few days were a blur of meetings, interspersed with zipping up and down Santa Monica Boulevard, accidentally gatecrashing a party at the Beverly Hilton, airports, lots of interesting restaurants, and more anonymous hotel rooms. However, it was great to find time to meet up with several of our beta testers, and find out from them in person what they think of Moviestorm, and what they'd like to see us doing next. In a word, finish the damn thing, and release it - okay, okay, guys, we're doing it!
Great seeing y'all - let's do it again!
Monday, 23 April 2007
It's one of those design decisions that gave me sleepless nights for months. I mean, it's obvious that men and women should be different heights, because that's the way people are - isn't it? But there's a hidden cost to this. Different heights means different skeletons, and different skeletons means different animations. And having two skeletons hasn't just doubled the animation load, it's quadrupled it in places. (Take two-person animations like tapping someone on the shoulder - we need separate anims for M+M, M+F, F+M and F+F.) It also means all sorts of issues with the code - if we change a character from male to female, the engine has to fire up the same animations, but for a different gender. More headaches. And, of course, the animations have to match precisely, so that your timing doesn't get thrown out of whack. And with all the added complexity, that gives the QA team a hell of a lot of extra work.
It would have been easy to take the approach made by Another Well Known Machinima Tool, and make all the characters the same height, regardless of gender. That would have freed up a lot of budget for making more costumes, more sets, and more animations, and made the developers' lives a lot easier, but, to my eyes at least, the end result just wouldn't have been so satisfying. I like the composition you get from different eye heights - it just feels wrong otherwise.
So, thanks to whoever posted that small comment on our forums, thank you. I can sleep again now.
US power adaptors - check.
Demo films - check.
Hotel reservations - err, David, you did get us somewhere to stay, didn't you?
So this is the moment of truth, where we get to find out what Moviestorm is really made of. In a few hours' time, I'm flying out to LA and New York with David B on the first leg of the Moviestorm World Tour 2007 to demo in front of our harshest critics - our users. It's been a long, hard road to get here over the last two years, but, man, it's been a great ride so far! In the spring of 2005, we were just two guys, in our spare rooms, with a mad idea. By spring 2006, we had a full-time artist, a couple of part-time staff, and a modest R&D budget. And now, we've got offices, a dozen full-time staff, freelancers, and hundreds of beta testers (sign up right here, folks) and we're on the verge of having a real, honest-to-goodness, mostly working, movie-making tool. And in the next week, we find out whether we're on the right track, or whether we've got to go back to the drawing board and do it all again.
The toughest decision we had to make (apart, obviously, from who got the one comfy office chair) was to bring on our beta testers at such an early stage. It was nerve-wracking letting people use it before it was anywhere near ready, but that's been critical to the development of Moviestorm. For the last six months, we've had users telling us, every single day, what they want out of a movie-making tool, and they've been involved in shaping Moviestorm right from the beginning. Yes, we've come in for a fair amount of "tough love", but it's been worth it. It's meant that we can be pretty damn sure that we're not just making Moviestorm into the tool that we want to see - it will cater for all sorts of users, and for all sorts of films.
Still, I can't keep hiding behind the safety of the Internet any longer. We've been hunkered down in our little bunker for ages, nurturing our little creation, and now it's time to come out of stealth mode and play. In a couple of days, we face the big wide world in person, and find out what they really think. Brickbats or Bollinger - the audience will decide!
I'm rather looking forward to it, I think ...
Thursday, 29 March 2007
I'd like Moviestorm to deliver much more subtle performance. You can say so much with a nod, a slight flick of the eye, or a tiny body movement. I'm not just thinking of Sergio Leone movies here (though I will confess that Leone is a bit of an influence on me). I'm thinking of real drama. Many years ago, Michael Caine gave a masterclass for the BBC on how to do a section of Educating Rita. It was fascinating - with just a few minor facial movements, he turned a good performance into a superb one. (I really wish they'd show that again - it was a classic bit of television.) As a result, we have a load of little body animations in, which don't seem to do much, but which should add up to a lot when it comes to characterisation. As Caine pointed out, there's a world of difference between acting for the theatre and acting for the camera. In the theatre, the guy in the back of the circle has to be able to see what you're doing: in a film, they stick a camera in your face and capture every tiny little movement. You don't need to be histrionic to be emotional.
On the other hand, unless you're right up close, all these little animations are meaningless. Tiny little facial twitches don't show up in long shot, so you do need a range of more melodramatic gestures. This kinda makes sense when you think back to my opening para here: games tend not to use close-ups, so they only have the big hammy gestures you can recognise at a distance. Which means we need to have the big exaggerated gestures too... you just have to make sure that you don't use them when you're in close-up.
Wednesday, 28 March 2007
And then there's the whole issue of functionality vs ease of use. Obviously, the more functionality you make readily available, the more powerful the tool is. However, if you add loads of buttons and widgets, you risk making everything look far too cluttered and complicated. On the other hand, if you hide all that functionality away, you don't know it's there and it's not just a mouse-click away. Easy to use and powerful - that's headache material!
Compromises, compromises ...
One issue we've been thinking about is whether we should supply noises for characters such as coughs, sniffs, sobs, and so on. You could do them as a "say" and record the sound yourself, and as a result, the voice tone will always match; if you've got a character with a deep bass voice, you don't want a high-pitched cough, which is a risk you run with pre-generated human sounds. On the other hand, it does mean you have to record all the sounds, try to make the sound match with the animation, and the lip synch gets confused. We're going to try getting a few sample sounds in, see how well they work when combined with different people's voices, see what feedback we get from users, and get some more if it seems like a sensible way to go.
However, where sound really comes into its own is where it adds things to the film that aren't on the screen. You can use sound just to add atmosphere, or you can use a sound to portray an event that you can't (or don't want to) show on screen. As a simple example, you have a scene set in a house. You then hear a car crash outside, and the characters rush out to see what's happening. And there's the old low-budget standby: film a scene with a few extras in, choose your character angles nicely, add some crowd sounds, and it feels like you have a much bigger cast. As a result, I've been choosing a load of "generally useful sounds" that we can just add in to movies to cover some of the things we can't quite do yet.
I'm also planning to commission some cartoon-type sound effects, boings, and the like, because you never know when they're going to be useful. A silly sound can turn an otherwise straightforward animation or facial expression into a priceless comedy moment. I'm also thinking we should have a few music clips: nothing too long, just little moments, such as the signature tune for a games show (think Millionaire), or a classic "spooky moment" and the like.
Anyway, given that little lot, you should be able to create interesting sounds for your movies: Moviestorm will have dialogue, ambient noise, sound created automatically by the animations, various sound effects you can add in at will, and of course you can add your own music tracks or sound effects.
Tuesday, 13 March 2007
Monday, 5 March 2007
We've been experimenting with colours in the new interface, and have come to the conclusion that the user should be able to define their own colours. Above is a screenshot of the start-up screen in a soft blue colour, but you can change that to whatever you like.