Posts tagged as milkhill

  • Weeks 113-114

    24 December 2014

    As expected, the final couple of weeks of the year were pretty quiet.

    I continued work on Milkhill for a couple of days, which wasn’t as long as planned, but enough to move all the movement in it over to a physics engine, and also add some “bases” for players to capture. This addition – along with some alterations to the player avatars – involved wrapping my head around Unity’s in-built animation system (which, it turns out, is state machines all the way down). Christopher LaPollo’s 2D tutorials were about the clearest, most concise explanation I found on the matter, which helped massively. It also helped that they were text, not video. There are a lot of Unity tutorials out there that are video-only, which is a real pain when you just want to skim something to ascertain if it’s what you’re interested in; Kudos for Christopher for doing all the typing.

    I spent one lunchtime at the second meeting of XYZW Club, in which Ben walked us through adding light-sources and Gouraud shading to our simple toy renderer – an awful lot added pretty quickly. The conversation to wrap up the meeting – slightly boggling at how far we’d leapt in that single session – was really interesting.

    On Friday 12th, I talked about building data-driven visualisations and products for MySociety: as I’d hoped, the discussion afterwards from the audience was really interesting and pertinent – everything from how to initiate and explore data-products through to the legalities of licensing data. It’s always nice when there’s a healthy, buzzy discussion, and lots of experience in the room for people to share (rather than just me rabbitting away). I also think that talk is pretty much retired now, so I should probably write it up in the new year.

    In week 114, I worked a little on Leithhill, a small database exploration tool wrapped around a research database – this had been on the backburner a little, and a day or two with the data model suddenly pulled it forward into something really useful. There’ll likely be a little more to do on that in the new year.

    Needless to say, there were meetings and conversations: I’m still trying to work out what next year looks like, work-wise, and I have a lot of availability (and various ‘maybes’ floating around). So if you’re interested in working together next year, do get in touch.

    And really, along with a little admin, that was it. A quiet end to 2014. I’m out of the studio until the new year, when the job of getting 2015 under way in earnest really kicks off. See you then.

  • Week 112

    8 December 2014

    The weeks before Christmas are somewhat fragmented: a few small projects, lots of meetings, a few personal projects, hunting for future projects.

    Rubato/Burton hit its first main milestone for me: end-to-end demo. The one feature I wanted to write in this week was being able to pick up the playback halfway: if you turn up late to the show, or click on the page late, you shouldn’t be stuck out of sync with other viewers, or unable to watch. Implementing this was about the fiddliest thing so far, but a day or two saw it through, and I was able to ship it to Richard early in the week.

    I had a few meetings throughout the week, some about potential projects, and also stopped by Matt Webb’s hardware coffee morning to meet a few folks and chatter about objects, electronics, and small business. Really, I went to listen; I’m not quite in the place many folks are in, but fascinating to see and hear both what people are up to and how they approach it.

    I got the prototype I’d worked on with George deployed this week, after a few hours thrashing out some join tables in a database to speed the whole thing up.

    I also spent a day tinkering on what was to be my ‘end of term’ project – albeit a bit late. I’m finally working on a game prototype I meant to start about a year ago; personal work is always hard to make time for, but I work at doing so.

    Milkhill – definitely not its real name – is a top-down arcade game for two players, to be played in the same room – local multiplayer, as it were. Beyond that, I can’t say much more, because I’ve learned enough about designing games to know that most of my ideas will probably go out the window pretty fast.

    So rather than going in with big ideas, I’m going in with tiny ambitions: really embracing shoshin. I’ve not made a real-time game before, so this is a project to explore that and learn some Unity beyond tiny toys. My starting point for this week is: it’s got to be fun to move the avatars around the world. If the movement isn’t fun, I don’t think the game’s going to be fun regardless of what the other rules are.

    I’ve spent a day on it so far. In that time, I built some very simple vector art in Sketch, and then started writing code to manoeuvre it around the screen: left stick to move, right stick to aim, like in Geometry Wars or other ‘twin-stick’ arcade shooters. A few hours of wrestling in C# with dead-zones, vectors, and quaternions, and I’d achieved that goal.

    The sticks worked, but it wasn’t that much fun. I thought adding momentum might take quite a while, but moving everything over to Unity’s 2D physics wasn’t nearly as bad as I expected, and only took about twenty minutes for the first pass. I fiddled a lot with forces and drag, but all of sudden, the little pentagonal tank in the above video hurtled and skidded, it required just enough subtelty to control, but it felt like it was more alive in the world. A huge improvement. Hopefully I’ll get a few more days to tinker with this in the run up to Christmas. A long-ish write-up, but it’s nice to write about process and labour, rather than just meetings I had!

  • Week 110

    25 November 2014

    Week 110, and as I returned to GMT, I returned to work.

    For a couple of days this week, I worked with George Oates of Good, Form & Spectacle on spelunking a large-ish cultural dataset. The goal was to see what we could prototype in a short period of work – see what was within the data – and also to see what it’d be like working together. It was a fun few days, and we got to an interesting place: a single, interesting interactive visualisation, alongside some broader ‘faceted’ views of the dataset to help us explore it. A nice piece of work, and fun teamwork.

    I also kicked off Rubato/Burton, a collaboration with Richard Birkin on building a synchronized visualiser for music, funded by Sound and Music. Richard’s great fun to work with, and the first couple of days on it made great foundations. Firstly, I started writing the foundations of the backend in Node and socket.io; then, porting Richard’s initial work and visualisations over to it.

    We had a good early prototype by the end of the week, although one that was going to need considerable iteration in week 111 to support many different songs, and changing songs in a set. Rubato’s the sort of project that requires me to just move one step at a time, though, completing a phase before iterating on it, and so it felt like a good starting point.

    I also built Richard a foot controller for it: a couple of momentary footswitches hooked up to a Teensy pretending to be a HID controller. I spent a pleasant morning in the workshop, soldering, drilling, writing some C and packaging this in an aluminium housing, and filmed the lot as part of our documentation.

    And, alongside all the code, and design, there was also admin to be done: finalising the 2013-2014 tax return with my accountant.

    I’ve got enough to be working on to the end of the calendar year, but I’m looking for work from January 2015. So if you’re interested in working together, or have a project that you think might be a good fit for me, drop me a line. Things I’m particularly interested in: exploring and visualising data; communicating data that through interaction design; projects at early stages that need a prototype, or alpha, or their ideas exploring; connected objects. The sort objects described in weeknotes and projects should give you an idea. And if you’re not sure – why not ask anyway?