Showing posts with label twak. Show all posts
Showing posts with label twak. Show all posts

Monday, 4 August 2008

twak away!

i'm very sad to announce my retirement from Shortfuze since last Thursday. It's been a lot of fun (for a while i was the second programmer on Moviestorm) with a great community (the Machinima people around the net rock) and one hell of a kick-arse team.

It's high time I went to do something new - I'm heading back to university to research computer graphics. It should be a lot of fun (apart from the stinky pay)... I'm sure there's a new programmer around Cambridge waiting in the wings to take my place - any takers?

I was trying to make a fairwell film, but failed due to shoddy time constraints (and lack of coca). so just imagine for a moment twak waking from his bed at night and fleeing down a corridor - persued by one/some/more of the following:
  • an endless barrage of pink and orange shirts from management
  • the sf gent's toilet
  • endless torrents of abuse from the red hot ball of anger at the desk next to me
  • buttons ;)
he was going to get to a window and climb out through the 'o' in shortfuze and then run off to the ivory towers of academia. (But we don't have climb through winow anims or ivory towers, yet...)

I'm off for a summer holiday now - to play in the "sunshine" with my camera and new bike :)

twak

Monday, 9 June 2008

24 inch upright

In the long standing tradition of inheriting other employees kit I've got a new monitor (sorry Ivan). Best of all it'll rotate - letting me run Moviestorm at min-res on my 19" and use my 24" upright for code editing.

Now I just want another 24 as "console output" and I'll be done.

Tuesday, 20 May 2008

svn stat

As suggested by Anthony I ran StatSVN against the entire moviestorm repository. 90 minutes later and we have a wonderful graph:

Now this is everything, not just code, but makes for interesting viewing. I've taken the names out in the name of decency, but I can reveal that the top green line is Ben_S, Capin' Dave is Pink, and twak the second green line.

Now ben manages his massive line-change rate by endlessly editing all our xml structures. But Dave is a coder and has written 300K lines of code - the length of the entire code base. I've written another 250K (altho mostly UI twaddle, so it doesn't count). I think we've written the code base two or three times over since we've started. That's quite some code churn!

Something to mention here is that number of lines does not map onto how hard we work or how good the work is. It's certainly not indicative of quality, and quite possibly inversely proportional quality. It's an interesting metric that seems to be fairly constant for each person - does that mean some people can do the same quantity of work with fewer lines of code?

In other graph-related news - the most likely time for us to commit stuff to the repository is 4pm on a Friday - "quick it's the weekend, commit it, cheese it and hope someone else fixes it before I get in on monday" ;)


Those long tails are what singles startups out from the crowd - no option but to get it done.

Thursday, 15 May 2008

moviestorm vcs - 10K commits

The 10,000 (or 10K or 10^4) commit to our code/data repository happened over lunch.


Was slightly disappointed by the lack of balloons. But it proves, once and for all, who the best coder is. It was even a legitimate commit, not just to grab the top spot ;)

We keep all our changes in a big repository (SVN) so we can see each other's changes and blame them when things go wrong. Ten thousand sets of changes have been added since it started at the end of July 06.

Thursday, 8 May 2008

Instant City

Someone asked me for my old degree project, an architecture generating thingumy. While I was playing with it I realised it was trivial drop it into moviestorm....so a quick video later and we have:



A giant disclaimer is that (if it ever makes it) this feature is a long way from prime time. However it did get me thinking about the MaMBu, and the kind of fun things we could do with Moviestorm. In the next video "jButton2" (not quite a MaMbu) generates a city every time it's clicked.

Monday, 14 April 2008

Once more ... with feeling!

One of the new features in Moviestorm release 1.0.4 will be the new gesturiser interface.

You add gestures in the same way as before, using the ring menu, but now you get this little tool - with explanatory text! To add a gesture, click the + button at the left of the micro-timeline track.


Now you get a collapsible list of all the gestures you can add. The little red arrows indicate whether the gesture is "complete" (i.e. it takes you back to the standard idle pose afterwards) or "incomplete" (i.e. there are one or more follow-on gestures you can do afterwards, like you get with most of the dance moves, for example). The gesturiser now understands these "gesture chains" properly, so you can only add gestures that follow smoothly, and you won't get nearly as many of those annoying jumps and discontinuities between animations.


There are a lot of gestures (about 2000 separate animations all told in the dev version I'm running, which includes all the add-on packs we've released, and quite a few we haven't). This gets seriously unwieldy to browse through, so if you hit Filter (at the bottom of the list) you get a tag cloud which narrows your search down.


When you find a gesture you like, click the right arrow just by the micro-timeline and your gesture pops onto the track. You can now scrub it, drag it, and so on.

To add more gestures, just keep adding to the existing track, and they'll get put onto the end, or else, as here, click the + next to a new track to have several gestures going on at once.


One new feature that doesn't show up too well (unless you click on the picture above and get it full size) is that when you click on a gesture in the list, the character performs the action. Here, Melissa's previewing a "wave". This allows you to see what you're going to get, rather than trying something and then finding it isn't what you wanted after all. It's one of those tiny little changes that means that adding performance and characterisation to a scene becomes a whole lot easier.

And, hidden away where nobody except twak will ever find it, is are the hooks for a cunning piece of code that will enable us - in some future release - to add in a really powerful little feature. What we're planning is to have three different ways to drag activities on the micro-timeline. The basic drag will move an activity along the timeline exactly as it does now. The two other drags will enable you to change the duration of the activity in different ways. One changes the duration of an activity, so you can do it slower or faster; the other simply repeats the activity for as long as you want. This is dead handy for things like guitar animations - you just say "play the guitar", drag it to the right speed, then drag it out for a minute or so, and you have an instant backing musician.

Tuesday, 8 April 2008

a timeline of a new timeline

I've been spending the past few weeks months eons (on and off) rebuilding Storm's timeline. There were several reasons behind this:
  • The old timeline was, let's face it, ugly
  • The old timeline didn't use Java's standard JComponent hierarchy, meaning it was never really going to work with the tutorial system
  • Labels for activities couldn't be manipulated if they were behind one another.
  • The old timeline was, let's say it again, ugly!
This is what we started with - the main timeline and the gesturizer -


So me'n'Matt sat down and designed a dumbbell-like system. Each circle is an event in the activity and the ribbon between shows the progress of the animation (a twist for every repeat - or something).


This was accompanied by a bunch of frantic doodling trying out new ideas. Cool ideas here are a zoomy-timeline (left hand side) that scales up as you mouse over it, and putting "tabs" on the top of labels so they could be brought to the front.


Once the basics were implemented Mitch and me disappeared into the flea-pit for a day to come up with a more complete skin. After lots of whiteboarding and inkscaping (an awesome rapid prototyping tool) we came up with a page of ideas. At this point the tube-line skin was looking good - it was very usable in particularly crowded circumstances and had a kick-ass style of it's own. We dropped the "twisty" idea: although it was great for showing you repeats, it was just too fussy and we wanted something a lot cleaner.


( tube-line is down the right hand side of this screengrab)

When you clicked on an activity a ring menu (similar to the one on set) appeared to let you manipulate each activity. We eventually dropped it because it was just too fiddly.


The next big improvement was to add labels (people couldn't tell which colour was which activity on first glance & first use) and adding texture (so peeps could differentiate between different ways of extending an activity).


Although the dumbbells stacked well (their central line moved to show those underneath) we didn't like manipulating activities through only their end points. It always felt you should be stretching them when you were just moving them around. So we lost the big endings, and polished up some details -


Mitch did a nice set of sprites to skin the timeline and master monitor, and a bag of niggling bugs later, we were pretty much good to ship.


So, what's changed? Well, among other things.....
  • The colour-coding on the items is now based on the type of activity, not the actor, which makes it much easier to see what's going on.
  • The "grab handles" are clearer, so you know where to grab the activities. There's a new type of grab handle for some activities which allows you to stretch or loop them just by dragging (this feature is on it's way but won't be in the next release).
  • Activities resize dynamically so you can fit several things on a line simultaneously and they're still quite clear.
  • When an actor has to move to do an action, the walk and the action are clearly linked.
  • The timeline background has a subtle pattern on, which helps you get an idea of the timescale.
  • The zoom button has been moved and now doesn't look like it's there to scroll the timeline up and down.
  • There's a new timeline cursor which is much clearer and more precise.
  • The play controls have been superimposed on the mini-monitor to save space (will people click on the monitor instead of the play button? we'll just have to wait and see ;) ).
  • The gesturiser UI and workflow has been completely redesigned, and the timeline in the gesturiser is now linked to the main timeline. You can only add sequences to the gesturizer that flow into each other - many less jumps in the animations.
  • There's no "end of time" - you can keep on adding events whenever you like ( about bloody time)
  • It's a whole lot less ugly!
And to remind y'all how much the timeline has evolved over the years, here are some images from the archives of really ancient concepts and ideas, most of which never saw the light of day!


Wednesday, 19 March 2008

Scrolling UVs

Just added a scrolling UV's option to the modder's workshop. This'll let you modders out there cheaply animate textures...

Here's a demo of quantum trees as a taster -


(this might be useful for sci-fi stuff?)

Monday, 25 February 2008

new business plan


A new wave of productivity has come about, and has transformed Shortfuze from bunch of wannabes to a bunch of wannabes with post it notes...




Sunday, 17 February 2008

most boring thing you'll see all day

A short screencast showing 3 minutes in the the life of a moviestorm debug cycle (fullscreen)