This is the talk I gave at the Develop Conference this year about the making of Happily Ever After:
Can games be made without a programmer? This is a notion Honeyslug wanted to experiment with and Nat Marco rose to the challenge. Thrown in at the deep end - armed with Google, some programming manuals and plenty of sweets, one designer tried to do it all. Nat stepped outside her comfort zone to create Honeyslug's adventure title 'Happily Ever After', immersing herself with XML and complex Lua coding, while simultaneously managing a remote team of artists and designing the game! This session follows her journey from start to finish and explores new ways for designers to express themselves.
13. Character Original Final Sleeping Beauty Narcoleptic, clumsy, terrible at needlework. Late night gigs and band practice mean Beauty is perpetually tired. She hates mornings, so always sleeps through them and often struggles to stay awake. Goldilocks Burglar, particular, no respect for privacy, slob. Obsessively particular- she need’s everything to be ‘just right’. She has a very vivid imagination, a talent for porridge painting and believes her teddy bear is real. Big Bad Wolf Sly, ruthless, likes dressing up in women’s clothing. Shrewd estate agent with a penchant for blowing down houses - he sells more that way!
What is hea?? Point and click adventure /hidden object/logic puzzles. Inspired -prof layton/monkey island/hidden object mystery case files. 24 levels/ over 100 puzzles/5 endings, 3 mini games and a fun twisted fairytale narrative. I pretty much took on every role… Concept design, game design, puzzle design, story boards, script writer, art director, lua and xml scripter, marketeer, focus test co-ordinator, character designer, scenery/set designer, tester, official apple eater.
Rickys great idea – make a game without a programmer – that way he wouldn’t have to be involved and I could make whatever I wanted without bugging him. Or running to him with bugs!
Mac and Monkey – my first attempt at lua and xml. Point and click adventure game/hidden object/logic puzzle. Real world/land of nodd gameplay.
I designed some puzzles on paper - using some sample code from Ricky – scripted them using lua and xml. Made a demo with beach and temple levels – lots of puzzles including one involving a puking tapier! Real world/animal form dream world. Calvin and hobbes.
Whilst part of Eidos I came up with the idea for a property development game. Unfortunately we got laid off – but the game was still on my mind as we formed Honeyslug – back then we didn’t have the rights back for this(but we do now!) – so I was trying to think of another way to use the engine…
Utilise house building mechanic of dream homes – I love fairytales – why not? Familiar characters. On screen – some ideas I had for levels. After writing a design for this, I started work on M and M – got me thinking – why not drop house mechanic and do a fairytale adventure game using lua and xml instead. Pitched it on a whim when publishers came in – m and m got shelved as they decided to do HEA instead.
Even though had a publisher – left to do what we wanted within reason! So I was able to do things like this!
And this!
Mark and I started brainstorming – café in the dance studio next door. Re-read lots of Grimms tales. Then made a MASSIVE spreadsheet of every fairytale/nursery rhyme character – how cool that it was work!? Took it very seriously – main purpose – enemy – associates – outcome – traits. HUGE- over 100 cells long!
Flow charts of relationships! Most things haven’t actually changed and are still there in the final game! Gingerbread man changed a lot – he didn’t end up being a jerk. Looking back at this - I didn’t remember the prince dumping rapunzel either! Really wanted the characters to have depth etc – so spent a lot of time developing them.
Some characters stayed as they were in the original spreadsheet – some evolved – like goldi – disrespectful thief to ocd girl with carers. All of them were fleshed out! And a lot from the original spreadsheet appear in the game. Combined characters with the same names together – Jack (as in HEA) – jack and jill, jack and the beanstalk etc.
After characters - locations, maps, where everyone lived – WW lived ginger, cinders tom thumb etc. Game flow, sketches –problems – general story – back story of players character. Royal ball – different endings – can pick the girl the prince wants. Wrote puzzle outlines – how many puzzles for each prob – how it fit with story – where story text would appear /roughly what it would say Flow diagrams and spreadsheets! Branched gameplay – homebody spell. Cut scenes.
I worked with an artist we previously worked with at Morpheme on some concept art (I actually found him at a comic con!). We wanted things to have a mix of traditional fairytale and modern things – e.g tvs and phones etc. He used my initial sketches as a guide.
Whilst Ricky worked on the C++ engine – I looked for artists on Deviant art – timescale of project didn’t suit our concept artist. – highly recommend deviant art! Looked for ppl I liked – I sent them a test to do (unpaid).
Found a few ppl we liked – so we worked with them! They were all over the world, spain, usa, canada etc. Been great! Found Henar –over 2 years – lots of projects since hea – we’re now good friends too!! She lives in spain – but I’ve not had any trouble working with someone remotely.
Managing team – send them sketches – Skype and msn make working remotely easy! Dropbox is great too. I just needed layered psds from them and I could use XML to put their art in the game. Sketches of everything I want –
Levels/scenes
World map
Time/lang diff – not a prob for spain – though I did find our afternoon there doesn’t mean 12 – any time til around half 9pm apparently!!! Line style/thickness, colours, set style – 1 artist look not lots. Format – layered psds – size – aspect ratio!!! Can’t look too disney or girly! Fairytale – had the disney and shrek problem! Takes time – check in with them every day – monitor progress etc. Clash – cyber punk character for player!
Puzzle design – I designed the puzzles on paper. Already - outline story and character probs – so thought of puzzles that fit their character and story – and were fun! love paper design! Not a coder – easier for me than prototyping in code. Can see if things are fun before spending time making them/trying to figure out how to code them. All playable on paper – entire game is actually in my notebook (and playable!).
Once tested on paper and were fun, not too hard etc – I scripted them in lua and XML using my pencil sketches for placeholder art. Sent my sketches to Henar to be made into production art. Had to ensure they kept everything the same or puzzles would break! All the puzzles in HEA are identical to their paper counterparts!
Over 100 different puzzles in the game..
Include hidden object, logic puzzle, spot the difference, counting puzzles, memory games, jigsaws, mazes, conversation tree games, room escape, riddles, line mazes, magic tricks, silly things like dating sites and forms to fill out Inspired by traditional physical puzzles, games like layton, another code and hotel dusk – also hidden object games and things like Monkey Island and The Neverhood.
Tendency to make mean puzzles!! So many puzzles – how to keep them different enough to still be fun – not feel like a re-skin. Couldn’t code 100 unique puzzle types. New at coding – had to design puzzles with my limited capabilities in mind –got better/could do more complex stuff – but couldn’t go crazy! Story based game and I wanted the puzzles to flow with it and make sense as part of the narrative. Not like in later Laytons – ‘hello, look at that bird, it reminds me of a puzzle’ etc – I do love layton though!
I never thought I’d go there. thrown in at the deep end – had my plan, outline script, puzzle designs – knew puzzles worked before coding. lua book useful – tbh used google more -forums usually had answers! no exp at all -html ebay listings, action script games 10 years ago -m and m demo. not as scary as I was expecting Started with simple stuff – more complex things as I got better. So fast – lua and xml re-load – make a change – press f6 to refesh and you can see it! Means u can see your progress almost instantly – and if it’s wrong – super fast to change!
Started off doing simple things like that – but I quickly got better and was writing lua code more like this… This code randomises the images of a grid of frogs the price needs to kiss (what else would it be??) – it also randomly positions the princess frogs and the old princess frogs.
And this! This code checks whether four of a kind have been found in a card memory game. It also flips the cards over when the player clicks on them. If they have found 4 of a kind – it checks how many other fours they have found.
I even managed to code my own mini games for hea! This is some of the lua for the zit splatting game. This shows how the timer works (the amount of time left is checked in the update functuon). The time left affects time between zits to make it harder as shown in the code. It also randomises which zits spawn and where.
The XML never really gets any harder than what you just saw! The only difference in this example is there is a particle behaviour at the top which I used for various particle effects in the game – along with a behaviour which moves the spider up and down. All the in game animation was also done in the xml – just put in the image source, timings and postions!
Shock with having to deal with bugs – enthusiam quickly drained out of me for finding them! In my tester days I used to enjoy finding bugs and happily running over to coders saying I’d found massive ones – all pleased with myself - Now these were my bugs – I tried being in denial – but no – they were mine and I had to fix them. WAH! No wonder Ricky wanted to see if games could be made without him!!
No exp at all – so had to learn lua and xml on the job. Books and forums for answers – how do I get stuff to do what I want. Figuring out why things don’t work!!! One of the hardest things was de-bugging code – had to train my brain to work differently – not only did I have to find broken things – but figure out why. Code something – think it’d work but doesn’t – why not?? Get to a place where u train your eyes so u can see what’s wrong at a glance – get used to looking at code and what it should be like!
- Worked on the script too . Wasn’t just inspired by other games –passion for fairytales – writing style/humour/tone inspired by books I love - Nursery Crime Jasper Fforde, Robert Rankin. old TV series the 10 th Kingdom - Things like Shrek etc, also had some influence. - Planned story from the start- didn’t write the script in one go –wrote each level as I coded it! (The text is in the lua file for each level). Publisher wanted cbbc writer – HOTEL TRUBBLE, JINX punchier/snappier/jokes/edgier-make everyone too nice! – diff approach as from tv no games exp - narrative as a whole –not separate levels. go back to bits of the story throughout the game. care about– character talking about someone player never meets.. developed characters – some liked/some not–goldilocks hippy zen girl/not just right ocd. Ww – sweet – fed up with ginger. mix of mine and Hannahs script in end.
Keeping it snappy! Gender neutral– esp as at start the player character going to be a girl –changed so had to change some plot points/text. Appeal to kids and adults – hard to keep the text funny! Being too nice –end every level neatly with thank u goodbye – not always suitable! Some differences of opinion with Hannah– not coming from a games background wasn’t used to fitting puzzles into a narrative – also we had strong ideas about characters from our initial spreadsheets so sometimes had very diff ideas about what they should be like.
Start focus testing as early as possible! Really useful – we used the then publishers kids for feedback – too girly – so we dropped the girliest levels – added a boy player char too– not just FGM agony blogger – the blog father too. Dropped the ball at the end –ex factor style talent show. Removed words they struggled to read/asked about – (they tended to read the text out loud in different voices). Changed puzzles and the way the genie worked – e.g. spot the diff spotlight was from how we helped the kids when they were stuck before the genie existed - pointing to a region.
Brings us to where we are today – about to start marketing I made a 5 level demo – storyboarded a promo vid which is getting made a the moment. Mark and I plan on a spoof dating site – frogsnog – to match the one in the game – we’ll have a twitter and blogs for the characters. Our old publisher had tshirts made too – the url isnt correct on them (when they pulled out we lost the url with them) – but you can have one!!
So – as you can tell I did a lot of this game and I might have had to be bossier/tougher than usual! So when my artists start saying ‘yes chef’ to my instructions and people call me the Queen Bee – infact I had no say about what character I could be on the credits – I was her. End of discussion must have been bossier than I thought! However, things got done and I’m really happy with the game we made – so was worth it – and they’re all still talking to me so can’t have been that bad! I hope!
Need drive and passion – GOOD IDEA! Must love the idea of wont put in the time and effort needed. Anyone can script– even with art background like me- no exp! HOWEVER – don’t think designers need to code/script in order to be good designers - only because u want to – not because u think u have to. I still think PAPER is best! If you want to try– and have no exp – ren’py good place to start – work exp kids- then move to lua - done things since hea – small game moshi monsters and porting c++ in the last week! Plan on learning action script next so I can make some flash games without bugging ricky! Scour the net for artists – deviant art is awesome – recommend a test – for free. Really useful. Remote teams are fine – good working rel – ‘turn up for work’ reliably even if that’s just logging into msn or skype. Also great for help with lua and xml etc!!!