Site Chooser

Latest Posts

Making a Marryoke Video: Some Tips

Marry What Now?

Allow me to explain.  A month and a half ago my awesome youngest brother Andrew was married to his awesome long-time girlfriend Sally.  As part of the day, they’d asked me if I’d be up for recording people at various points of the day miming to Five’s “Keep on Moving”, to later composite together over the song itself.  I, of course, said “hell yeah!”, thinking it was the most bizarre yet hilarious idea.

It turn out that this was already a phenomenon… known as Marryoke.

What Did You Make?

Before I show you, I want to admit something: the production quality’s not amazing.  In my defence my brief was “just record bits I you get a chance, don’t spend all your time on it, you’ve gotta have fun”.  So unlike in other Marryoke videos, I didn’t want to take over the wedding with it – i.e. no bits with the bride and groom at the actual ceremony, no bits with the confetti, no bits at the speeches.  I don’t see that as a bad thing: it was an intentional decision.  One thing that I regretted was a lack of a plan: in the end I had tonnes of material for particular parts of the song and hardly any for other bits.  Also, as – er – certain liquids were consumed, the filming quality was – er – altered… 🙂

But to be honest, I’m being picky here: the key aim of the marryoke video was to act as a great way to remember the fun of the day.  And I’m happy to say it’s served its purpose.

Anyway, all excuses aside, here it is:

So, Any Tips?

Well, yes.

I certainly learned some lessons for this, and I offer them to you in case you fancy having a crack at it.

I’m not going to offer any “pro tips” such as filming / editing techniques, nor suggest camera models / ideal tripod positioning etc. I’m just offering some practical tips to make sure the content of your marryoke video is as good as possible.

TL;DR Tips

  • Keep track of what you’ve recorded / what you need
  • Make sure the key people are included
  • Have the audio handy
  • Record more than you need
  • Record positioner sections
  • Bring a Charger and Spare Battery
  • Editing: Use a decent video editor
  • Editing: Test the Lip Synch

Tips in Full

Keep track of what you’ve recorded / what you need

This is really, really important so that you avoid the situation I put myself in with loads of clips for certain sections of the song and hardly any of the other.

marryokeThe simplest way is to bring the lyrics of the song, which you can mark off as you go, but bear in mind you need to also make a note of which parts of the instrumental you’ve got clips for.

You could be as nerdy as creating something like that to the right, or you could be a little less anal.  I only originally had a list of the lyrics.  Would I go so far as to the anal list of things to the right next time?  Peh, come on now, I’m not that much of a gee… ok, ok, yes of course I am.

Make sure the key people are included

Again, really important.  Get a list of the people you’ll definitely need in it: the bride and groom (duh), their family, the bridesmaids and ushers.  Even if it’s just to have them smile and wave at the camera, getting them all in there is really important and you’ll have to scour through other clips, speeches etc. to grab them otherwise.  Trust me on this.

Have the audio handy

Not everyone will know the song you’ve chosen, nor have an idea of pace.  Having the audio handy to play them is really useful.  Ideally you’d have it split into various files, so you can easily play people the small part of the song they need to sing.  You can easily split an mp3 into various smaller ones using something like Audacity or the brilliant REAPER.

Record more than you need

You never know whether the people you’re filming will muck up, or whether something unexpected might’ve happened to the recording.  So record loads.  You’ll thank yourself for it.

Record positioner sections

Not all of your song will have lyrics in it, so make sure you record a good couple of minutes of “positioner” shots: outside the venue, inside the venue, the bride coming down the aisle (if possible), confetti being thrown etc.  It not only helps fill the gaps but it really rounds the video off and makes it more of a keepsake of the day.

Bring a Charger and Spare Battery

My goodness, this is a good thing to remember.  If you have neither, you might well be stuffed.  We had a charger available for the camera, but no spare battery, which meant that we had to have the camera out of action for an hour or so during filming various clips.

As a result, some of the footage was taken on alternate cameras, some of which weren’t amazing in low light.  A spare battery would’ve been hugely helpful.  Better still a spare (identical in quality) camera, but I understand we’re not made of money. 🙂

Editing: Use a decent video editor

This is really important in terms of being able stretch clips to fit to time (you WILL need to do this as some people will sing your song to quickly, others too slowly etc – even if you’re playing them the audio at the time).

It doesn’t have to be Hollywood-grade, but something like Sony Vegas Movie Studio HD Platinum (rolls off the tongue, no?) is both cost effective (~£100) and allows complete control over the positioning and length of your clips along with a decent range of effects.  Plus it natively exports up to YouTube, which is very handy for sharing.  There are plenty of other decent programs out there, and many offer demos so you can test out the features.

Editing: Test the Lip Synch

One thing I found when using Sony Vegas Movie Stu… Vegas was that although the lip synch appeared perfect when previewing in the program itself, the audio was around 0.25 seconds off from the video once a video was exported. 

The best way to test this is to select a few seconds of your clip that appears fine, export it at high quality (low quality can cock up the lip synch of its own accord in my experience) and see for yourself.

Fine tune the positioning of the music audio track (the whole thing, not just a few seconds of it – as you want the fine tuning to affect the entire video of course) and export again.  It’s rather iterative but it’s worth it.

Well, there you go.  A ramble about something you will probably not be inclined to ever do.  You’re most, most welcome.



Posted on Wed 17 Apr by Pat Scullion in Creative,Thoughts,Video with No Comments

The Custard TV: Live!

I enjoy doing voice overs. They feed my urge to make radio bits and pieces, thus preventing me from standing at the end of Brighton Pier with a megaphone screaming “COMING UP NEXT – SOME MORE WAVES”.

Sometimes the voice overs I work on are for adverts, some are for audio books… and some are for podcasts that get played over 8000 times.

Yes. Over 8000 times. I’m quite excited.

This particular podcast was The Custard TV At South Bank Sky Arts Awards 2013, and is an interesting podcast to listen to – and I’m not saying that because I voice the jingles on it.

Well, I’m not ONLY saying that.

Worth checking out the podcast on a regular basis if you’re into your TV! If you’re after voice overs of any kind, just get in touch!



Posted on Wed 20 Mar by Pat Scullion in Voice with No Comments

Burly and Grum – The Video!


Well, that was a fun and daunting experience. What was, you ask? Why, the reading out of Kate Tenbeth’s Burly and Grum and The Tiger’s Tale at Tiny Tigers (part of Save Wild Tigers) at London St. Pancras station.

We were expecting a few 5-8 year olds. What we got was quite a few 3 to 5 year olds! So a little younger than expected, so I had to ad lib on occasion, but still good fun and the majority of the kids’ attentions were held for the full 30 minutes of reading!

“Is there a video of this event?”

Well, yes. Yes there is.

“Can I see it?”

Yes, yes you can.


Ok, ok, here it is. Just… sorry to you if you’re Scottish, have Scottish people in your family, know Scottish people, have ever been to Scotland or have watched Billy Connolly:



Posted on Mon 18 Mar by Pat Scullion in Audio Book,Fun,Video,Voice with No Comments

Burly and Grum – Live!


This weekend is going to be fun. For the first time I’m taking my voice overs away from the studio mic and in front of an audience!

Across the weekend at St Pancras in London is an event called Tiny Tigers: a fun weekend of activities for children of all ages and their families, highlighting the plight of the wild tiger and raising funds to ensure that they are protected for future generations. To paraphrase (a.k.a. directly rip) from their web site.

It’s run by the Save Wild Tigers charity and should be great fun!

Part of the activities includes the reading of a special Burly and Grum story written for the charity. Who’s reading? Why, its author Kate Tenbeth and… me! Yep. I’m quite excited 🙂

The story’s called Burly and Grum and the Tiger’s Tale and you can download it here for a mere 99p.

If you happen to be free this weekend, we’ll be doing the reading at 3:30pm on Saturday so would love for your and your family to come and support us and the Save Wild Tigers charity.


It’ll be tastier than crispy fried earwigs. Hope to see you then!


Posted on Thu 14 Mar by Pat Scullion in Audio Book,Fun,Voice with No Comments


Wow, what a February!

Firstly, my apologies for the lack of blog updates of late.

I’ve been in Nottingham, London, Essex and Germany enjoying such things as my youngest brother’s stag do and then a one-week “experience the culture” (beer) fest that was Köln Carnvial.

Both were awesome, but it’s meant that amoungst other things I’m a little behind on the blogging.

I’ll be doing some more blogging soon as I work through my computer game research – I’ve got myself an iPad to research with (a world where playing games counts as serious research is a world I enjoy living in) and a selection of awesome books to read up on game design.

The next few months are going to be interesting!

(Also, the next blog entry might be slightly more worthwhile than this one. In my defense I’m a bit poorly. *sniff* …no? No sympathy? Damn.)


Posted on Wed 20 Feb by Pat Scullion in Uncategorized with No Comments

Obligatory Snow Blog Pos…

…no, I can’t stay cynical over this: IT’S SNOWING! IN BRIGHTON AND HOVE! WOOHOO!

I’ve only been living here for around a year and a half, so had not yet experienced Brighton and Hove in the snow. Today… that has changed! I decided to take my camera with me and take some photos of my adventure.

Photos qualify as creative and thus as an excuse to write this blog post, right? Good.

I’ll try to be as “arty” as possible when describing them:

Snow Photo Snow Photo

Here I highlight the true equalising force of the blanket of snow – regardless of that covered, be it on living plant life or pebbles formed of rocks millions of years old, the same beauty is portrayed once snow is… WOOOH IT’S SNOW AND IT LOOKS COOL!

Snow Photo Snow Photo Snow Photo

I view these photographs (or digital wonderment captures, as I call them) as one single piece, as they illustrate the power of framing and position to evoke a sense of scale of an obj… LOOK I MADE A SNOW MAN ON THE BEACH! He’s called Samuel. And he’s very pleased to meet you.

Snow Photo Snow Photo




Yes, that’ll do.

Also, I attempted to make a video with a live commentary of my experience of it pelting with snow on a windy Hove seafront. This went… about as well as could be expected:

The full set of my snow photos is on my Flickr photostream.

Right, I suppose I should get on with some work now, really 🙂



Posted on Fri 18 Jan by Pat Scullion in Creative,Fun,Photos with Comment (1)

PlayStation Plus: Where’ve You BEEN All My Life?


Do you have a PS3?
Do you like games?
Do you want to play more games for game research purposes, pure entertainment purposes or both?


…obviously. It’s a PS3.

What is, however, particularly cool is their PlayStation Plus subscription service. You’re probably aware of this already, but if, like me, you needed someone else to tell you what it is and why you need it (thanks Matt!), allow me to describe it:

You pay a yearly subscription of £29.99. Whilst you’re subscribed, you can get the following* full games for free :

  • BioShock 2
  • Guardians of Middle-Earth
  • Mortal Combat
  • Knytt Underground
  • Big Sky Infinity
  • Limbo
  • Ratchet & Clank: All 4 One
  • Cubixx HD
  • LittleBigPlanet 2
  • MotorStorm Apocalypse
  • Infamous 2

When taking into account the upfront cost, that’s an average of £2.73 per game.

Oh and there are lots of other free bits and pieces, plus exclusive trials and lots of discounts too. All for £29.99.

Why the hell had I not signed up to this before??

Well, I have now, and it’s going to be invaluable to have free (well, at no additional cost) access to a whole raft of games to test and enjoy, which will of course inform my own game development activities in future. Plus allow me to excuse entire evenings of battling Big Sisters as “research”.



* At present. The list alters over time, mind.

Posted on Sat 05 Jan by Pat Scullion in Game,Thoughts with No Comments

Happy New Year!

Hello and a big ol’ Happy New Year to you!

I hope you’ve had a splendid end to 2012 and managed to avoid getting ill at the very beginning of the year. I swear, if it wasn’t for all that beer on New Year’s Eve, I’d definitely be feeling worse right now.


Because that’s how it works, right?


Anyway, I thought I’d do a quick – inevitable- blog post about my intentions (I refuse to call them “resolutions” as, well, that just brings back memories of deciding around mid-Feb (and often mid-first-week-of-the-year) that I could maybe give them another try in a year or so…) for 2013.

Here they are, in sexy bullet point format *:

  • Focus on games.
  • Blog regularly.
  • Continue freelance design / art / voice over work.
  • Lose about 1.5 stone.
  • Run a half marathon (or at least get to comfortably run 10 miles again).
  • Release a computer game on mobile devices.
  • Make enough money from games to live (even for just one month).

That last one is a big one, but I believe that with the success of the first bulleted item I’ll be flying towards that in a few months. Having had a brief look at the rathe impressive Phone Gap, it seems that the transition from HTML5/JavaScript to mobile might be a lot easier than first expected.

Anyway, yes, that’s my focus for 2013: get fit, get into games.

Both will be difficult. Both will be worth it.



* If you find bullet points sexy, that is.

Posted on Thu 03 Jan by Pat Scullion in Thoughts with No Comments

Ernie Elf’s Christmas Message – now on Mobile!

Hello ho ho!

Well, after another couple of days of festive fun and (far to much) food I sat down and decided I’d update Ernie Elf’s Christmas Message so that it worked on iOS (and Android) devices.

Previously, it only supported movement using the Left and Right keys on a keyboard, meaning iOS (and Android) devices were rather out of luck. In fact, it was worse than that: the initial introduction screen required a Space key press to close and start the game.

Today I decided to fix that:

  • To start the game, you tap the screen.
  • To move Ernie Elf, you tilt your device to the left and right.

Simple! And reasonably easy to play, as you can see here:

But don’t just take my word for it: pick up your iOS (or Android (Ice Cream Sandwich or above!)) device and play here:


What I Did

I worked on this witha mixture of Internet research and trial and error to understand how the accelerometer worked. I developed a simple Accelerometer Test, which uses the combination of the x and y accelerometers plus orientation to determine how far left/right the screen is tilted in relation to the current orientation.

I then integrated this code into the game, using the output to determine Ernie’s horizontal (based on current orientation) velocity.

How To Do It

(A.k.a. The way I did it… this is in no way an endorsement, but might give you some ideas. 🙂 )

Define Global Variables
The first thing to do is to create some global variables that store a) our final value used to move our hero and b) interim orientation values used to calculate the final value:

/* Our end result variable - the Left/Right accelerometer value used to move our hero!*/
var accel = 0;
// Flag to determine if our device is "upside down"
var upsideDown = false;
// Flag to determine if our device is in landscape or portrait mode
var landscapeOrientation = false;

Orientation: Define Event Listener
Then we create a JavaScript event listener to react to changes in the device’s orientation (i.e. react when the device is turned from portrait to landscape or vice versa). We’ll be using this when determining our “horizontal” speed later:

window.onorientationchange = function() { orientationChanged(); };

Orientation: Create Event Handler Function
Now we create the orientation changing handler function “orientationChanged”. This checks the angle of orientation passed to the browser by the device, which is always -90, 0, 90 or 180:

function orientationChanged() {
/* Let's look at the device orientation passed to the browser and set variables based on its value:*/
switch(window.orientation) {
case 90:
// It's landscape mode and "upside down".
upsideDown = true;
landscapeOrientation = true;
case -90:
// It's landscape mode and the "right way up".
upsideDown = false;
landscapeOrientation = true;
case 180:
// It's portrait mode and "upside down".
upsideDown = true;
landscapeOrientation = false;
// It's portrait mode and the "right way up".
upsideDown = false;
landscapeOrientation = false;

(The actual code I’ve used is more efficient, but the code shown here’s a bit easier to read).

Accelerometer: Define Event Listener
Ok, so we’ve got our orientation sorted – now we need to take a look at the accelerometer to see in fine detail the amount device is rotated by on its various axes. First we create an event listener to respond to the accelerometer and call an appropriate handler function:

window.addEventListener( 'devicemotion', onDeviceMotion, false );

Accelerometer: Create Event Handler Function
Finally we create the accelerometer updating handler function “orientationChanged”. This’ll allow us to determine our final “horizontal speed”, stored in the “accel” variable:

function onDeviceMotion() {
// Grab the accelerometer values
var accelX = event.accelerationIncludingGravity.x;
var accelY = event.accelerationIncludingGravity.y;
var accelZ = event.accelerationIncludingGravity.z;
/* If we're in landscape mode, set our final accel value to that of the Y accelerometer - otherwise, if in portrait, set accel to that of the X accelerometer. */
accel = (landscapeOrientation) ? accelY : accelX;
/* If we're upside down, reverse the horizontal "direction" of our final accel value. If we don't do this, our character will move in the opposite direction to that desired when our device is upside down. */
if (upsideDown) accel *= -1;

The result of this function is that our final variable, “accel”, will reflect how much we’ve tilted our device left and right based on the current orientation. We use this variable in moving our character, so that if we tilt left, accel’s value is negative so our character moves left, and vice-versa for right/positive.

Event Listener Declaration: Ordering
As a final note, when declaring the orientation and accelerometer event handlers, we should manually call the orientation event handling function before setting the accelerometer event handler. This means we’ll’ve correctly set the orientation variables (used by the accelerometer event handler function) without the user needing to rotate their device first:

window.onorientationchange = function() { orientationChanged(); };
orientationChanged(); // Manually call it!
window.addEventListener( 'devicemotion', onDeviceMotion, false );

Android Angst

You’ll notice I’ve been putting Android in brackets when mentioned. That’s because I’m not 100% sure it’s going to work as intended.

For a start, this only works on Android 4.0 (Ice Cream Sandwich) and above, as that’s when Google adopted the native browser accelerometer functionality introduced previously in iOS 4.0.

Also, on a Samsung Galaxy S2 this was tested on the angles reported by the orientationchange event appear to be 180 degrees out from iOS. This means that the “upsideDown” flag is set incorrectly at all times and so Ernie moves in the opposite direction to that which he should! Eek.

To fix this I’ve added a simple Android OS check and said “If it’s Android, then inverse Ernie’s direction”. It’s dirty, but it works. At least on an S2.

I’ve not got an ICS+ Android device to directly test this on (I’ve been remotely testing by hassling my mate Reef (thanks Reef!!) and didn’t want to drive her insane 🙂 ), and it looks like it might be different on different devices from what I read on Stackoverflow. Fun!

If you’ve any idea why iOS and Android (well, ICS on an S2) are reporting their orientation angles with what seems like a 180 degree difference, please let me know!

Anyway… it’s alive on iOS and Android! Wooh!

UPDATE (28/12/2012 13:57): I’ve added touch-based movement functionality for Android-only OSes of less than 4.0 – so you can now play this on Android < 4.0. When you play, you'll see two big translucent buttons on the left and right of the screen. Touch them to move Ernie! Pat P.S. Big thanks to Gary for his extensive testing help on iPad and iPhone and Reef for her remote testing on the S2!

Posted on Fri 28 Dec by Pat Scullion in Coding,Creative,Game with No Comments

A Christmas Card Game

Hi and a Happy Festive Season to you!

I hope you’ve had a great Christmas and managed to avoid eating quite as much as I have (did someone say “January detox”? No? Just my conscience? Ah…).

I thought I’d share with you a little game I made for friends and family to say “HAPPY CHRISTMAS” at this time of year:


How to Play It

You need to move Ernie Elf left and right along a platform, in order to catch falling letters. Each letter you collect is added to a special festive message written along the bottom of the screen. Avoid the bombs or you have to start again!

Some Thoughts on Making the Game…

Before I set off on this project over the weekend, I wanted to make sure I created a cross between an eCard and a simple computer game. Something which:

  • Was fun
  • Was simple
  • Looked cute
  • Felt festive
  • Could be personalised

I also wanted to make something purely using JavaScript, so I could build on what I’d learned and developed at Seb Lee-Deslisle’s brilliant CreativeJS workshop last week and really get comfortable doing HTML5 games.

So that’s what I set out to do. The graphics were all drawn in Illustrator using my trusty Wacom Cintiq to create a hand-drawn yet vectorised/cute feel to them before exporting out to PNG/JPEG. The sounds were, uh, improvised by me (with apologies and thanks to Chris Rea). The code was 100% JavaScript. No Flash to be seen on this occasion, which was quite daunting, but really quite interesting!

I built on a number of the things learned on the CreativeJS course, but the key elements were the particle systems I created to generate the snow effect and the falling/caught snow balls / bombs. I performed some funky text-string-to-object-array manipulation to create the snow balls / letters, plus various object states and a “waiting to fall” array (thanks Seb for the tip!) to easily manage those snow balls caught, falling and neither falling or caught.

The text-string-to-object-array code allowed me to easily edit the letters in the snow balls being collected just by editing a single string variable. This meant I could easily make special versions for family members, which was a key intention in the first place. In fact, I went as far as adding a sneaky bit of PHP so that the JavaScript code never had to be altered. I’m such a nerd.

Graphics-wise, there were various smoothing/easing techniques used to make sure everything on screen always had a fluid/smooth feel to it – I wanted it to feel “alive”:

  • When the bomb blows up, each on-screen snowball jettisons to the top of the screen (rather than just vanishing).
  • When a snow ball is caught, it “slides” into place in the message at the bottom.
  • When all snow balls are caught, they slide to the top half of the screen and the background smoothly moves down to reveal the sky.
  • The snow balls gently sway once caught, using some simple yet effective Sine wave calculations.
  • Ernie Elf has a smooth bobbing motion as he’s moved across the screen, again using Sine/Cosine waves.

I’ll be talking more about the use of Sine/Cosine in making pleasant movements in a future post. It’ll be about platforms. There will be trig. Bring a bean bag.

And sounds? Urrrrgh, sounds:

The sounds use the basic HTML5 Audio class, and works in IE/FF/Chrome at least. HTML5 audio is a mess, so it probably won’t work everywhere (what sort of class returns “Maybe” or “Probably” when being asked “Do you support this audio format?”. Clearly a standardised audio codec/format is FAR too much to ask.).

Well, that was a LOT of random waffling and not much detail. But don’t worry: in future, I’ll be talking more about specific cool things in terms of game coding, development and theory.

But for now I’m going to go back to nursing my food-baby.

Happy Chrimbo Time and I hope you enjoyed the game!



Posted on Thu 27 Dec by Pat Scullion in Coding,Creative,Game with Comment (1)