The Making of Alto's Adventure

Posted on 3rd April 2015  |   Catagories: Game Development, Unity
54 comments

A few weeks ago, I reached the end of a long and exciting journey. Alto’s Adventure – a project that I’ve poured my absolute heart and soul into over the last two years – was finally released to the public.

It’s been a wild ride, and I’m not sure I can adequately put into words how I feel about everything that’s happened so far, but I’ll start by saying a huge thank you to everyone who’s downloaded and played the game. You’ve made it all worth while.

In addition to that, I’ve been thinking about putting together a series of posts detailing our experiences and some of the challenges we faced. It’s hard to know exactly the kind of things that would be of interest, or how much detail to go into, so for now I’ll start with a quick introduction.

TitleScene

Alto’s Adventure is an endless snowboarding odyssey set against a beautiful and ever-changing alpine landscape. You play as a young shepherd, tasked with rescuing your runaway llamas while boarding down a variety of fun and challenging terrain. The game features fluid physics based gameplay and a fully dynamic time-of-day lighting and weather system. You can check out the launch trailer and some screenshots below:

The game was built in collaboration between myself and Snowman – an independent software studio based in Canada consisting of founders Ryan Cash and Jordan Rosenberg, who took on a directorial role for the project.

I worked as the sole artist and developer and was responsible for all the game’s programming, visual design, animation, 2D and 3D assets, UI / UX as well as the website and trailers. The game was built in Unity and was my first experience working as a game developer.

The sound was produced by Kpow Audio, and the music was written by Brian Crawford aka ShinnyMetal.

Right! That’s the formal stuff out of the way…

Let’s begin :P


A Brief History

RyanSketch

Ryan’s early gameplay sketch

Ryan first reached out to me back in January 2013 with the seed of an idea: to create an endless 2D snowboarding game that involved landing backflips and jumping chasms.

Apart from a few rough sketches, the game was pretty much a blank canvas, and Ryan was keen to give me creative freedom to design the entire look and feel, including characters, environments, items and animations.

It was an incredibly enticing proposition, but I have to admit that initially I was unsure. I know almost nothing about snowboarding, and I’m typically not a fan of extreme sports games, so at first glance it all left me feeling rather cold (if you’ll pardon the pun) and I began to wonder if I was really the right guy for the job.

But the more I thought about it, the more I wondered how the game could look if we took a more sensitive, stylised approach – to try and capture the feeling of being high up in the mountains, where the environment and characters felt like just a small part of a much larger world, with it’s own history and culture. And finally, to tie it all together with a bold, minimalist art style that conveyed a lighthearted charm and a little hidden depth…

Now, that was the kind of snowboarding game I could really get excited about!

Fortunately, this was exactly the approach Ryan and Jordan were looking to take and work began almost immediately, with these being among some of the first sketches I produced to try and establish the overall tone:


From Art to Code

By now, you may be wondering how someone with a background in illustration and no prior experience in game development also ended up working as sole programmer for an iOS game. Well, to be honest, I’m still not entirely sure!

Cocos2D_Prototype2

Cocos2D Prototype

Early on, there was a discussion about building the game in Cocos2D with another developer – we even got as a far as a playable prototype with placeholder art and simple mechanics.

But gradually, it became clear that it was going to be a real challenge to achieve the level of detail, depth and visual complexity we were looking for using a solely 2D engine.

Prior to all this, I’d been learning to use Unity – a highly accessible, cross platform 3D game engine. I’d found it surprisingly fun and easy to grasp the basics, and my experience with web development made working with UnityScript (syntactically similar to JavaScript), and eventually C#, much smoother than it might have been otherwise. I was able to create a few interesting experiments (you can see a couple of them here and here), but nothing that could be considered a game. I certainly didn’t think I’d be a suitable developer for this project at the time.

But curiosity got the better of me – one rainy weekend, I fired up a new project in Unity to see what was possible.

To my surprise, within a couple of days, I was able to implement a bunch of key features that were proving difficult with the previous engine e.g. procedurally generated terrain, foreground and background parallax (made trivial in 3D), camera zooming, particle effects and scarf dynamics. I was pretty excited by the potential, particular how quickly it had all come together, so decided to show it to Ryan and gauge his reaction.

It’s fair to say he was enthusiastic – so much so that by September 2013 I was working as full time developer, with the intention of shipping by Christmas of that year (let’s just say missing that deadline was the first of many tough lessons).

I can’t even begin to thank Ryan enough for taking this chance on me. By all accounts it was a risky move – even I spent all but the last few months of development unsure if I had what it took to finish the game!

However, fast forward 18 months and we did eventually launch – it took us about 4 times longer than we initially expected, but with every month that went by we saw the game evolving into something more and more exciting. I’ve often described our process as a slow burn – being a small team, we had no choice but to take our time and allow the project to mature at it’s own pace, watching and waiting for the right ideas to suggest themselves naturally, sometimes many months down the line.

Thankfully, the launch has been a huge success so far. We’ve received some incredible press and reviews on just about every major gaming and tech website, giving us a combined aggregate score of 92 on Metacritic! But most importantly we’ve seen an overwhelmingly positive reaction from players all around the world – it’s incredibly humbling to know people are out there simply playing and enjoying the game.

We’ve even seen some fantastic artwork being created and shared by fans – here are just a few of my favourites so far!

Another exciting thing to come from the launch was our last minute decision to attend the annual Game Developers Conference (GDC) in San Francisco. Not only was this my first time in the US, but also my first time meeting Ryan and Jordan in person. It was great to be able to hang out together, explore the city and meet some inspiring people – I get the feeling that Alto is just the first of many adventures together!


Get in touch!

I hope that this has been of some interest to at least a few people reading – more then anything it’s a great way for me to look back and take stock of what has been a pretty life changing experience. But as I mentioned, I’m keen to follow up with a little more detail on certain aspect of the project, such as how the art style evolved and some of the technical challenges we faced, so if you have any questions in particular, please feel free to let me know in the comments below, or get in touch at hello@harrynesbitt.com!

All the best, and happy snowboarding!

  • http://ianisted.co.uk/ Ian Isted

    A great article. Thanks for the taking the time to post it. I was very curious about the design and development of Alto.

    If you decide to put up a post going into more detail about decisions you made during development there would certainly be an audience for it!

  • http://joshuadance.com/ Joshua Dance

    Would love more behind the scenes videos, art samples, key challenges you faced. So awesome.

  • Vlad V.

    Inspiring piece of work. Would love to read more about Unity physics challenges that you faced and gradual designing environment process for this game (choice of colours, backgrounds, main character, hidden details…) Thank you for sharing!

    • harrynesbitt

      Thanks Vlad! Interesting you mention the physics – trying to get this to work smoothly was easily one of the biggest challenges we faced. Definitely keen to talk about this some more!

  • http://www.akhileshdakinedi.com/ Akhil Dakinedi

    Excellent post. Like someone else mentioned, I’d love to see more details about the design process in the early stages and how the game evolved to its final form. I’m sure you faced many challenges like properly incorporating the wingsuit mechanics into the game or making sure that the nighttime illumination is strong enough to discern objects.

    There’s also probably plenty of other ideas you had that never made it into the game. A post detailing the illustration and design process for all this would be awesome. We rarely get to hear from someone who did both the design and development for the game, so this is pretty great! Fantastic game, been loving it so far!

  • mralexhay

    Great article and beautiful game. Can’t stop playing.
    Would definitely be interested in more details behind the development and how you worked out the natural-feeling procedural environment. Thanks!

  • Spike

    Great article. Good luck in your next projects! ;)

  • http://trzown.me/ Kirk Wallace

    Thanks for this! Agreeing with others and hoping to see some more behind the scenes, art development, challenges etc. Thanks for taking the time, great read!

  • http://jethrojones.com/ jethrojones

    I love this game. Finally reached level 51! I love reading about the backstory because it is Amazing to hear how you made such a beautiful game.

  • Omar Tosca

    Waiting for it on Android! :D

  • GiHub

    Nice article but I would expect you give Ski Safari a nod as an obvious piece of “inspiration”. I do think Alto’s Adventure is different enough and fun in its own right but one should give credit.

    • harrynesbitt

      Thanks for commenting! Ski Safari was undeniably an influence, as were many other games and artists. I’m planning to talk about inspiration in a future post, both for myself personally and the team in general – we each came to the project with very different reference points, so merging these ideas was a big part of the story.

    • http://joelglovier.com Joel Andrew Glovier

      Your username is a bit misleading. It looks like “GitHub” and made me think you were trying to represent GitHub at first, although I actually work at GitHub so I knew this was not a GitHub account.

    • Sisco Ye

      wasn’t line rider the first one , didn’t ski safari just copy that game sorry inspired by line rider, are we splitting hairs or only referencing games you know about

  • http://www.macaficionados.com/ OGenius

    Amazing work Harry! We had the chance to interview Ryan and the review is coming soon on Mac Aficionados (http://macaficionados.com/). We’ll keep you posted as soon as it’s ready ;)

  • mrowles

    Love this game, it’s beautiful. Well done people!

  • gabyu

    What I found fantastic in the game is how sky’s lights are changing according to the hour of the day and night.

  • http://iamkeir.com iamkeir

    I LOVE THIS GAME :) It is a masterpiece.

  • http://www.kpow.com.au Michael Theiler

    Great article Harry – it was such a pleasure to work with you on this. You treated the sound we delivered with skill, going above the usual implementation role and making sure it fits seamlessly into the experience. It would not sound as good as it does without your skills and aesthetic. So thank you!

    • harrynesbitt

      Thanks Michael, that’s really kind of you to say :) It was an absolute joy working with you too – in fact, adding in the ambient SFX and hearing the game come to life for the first time was one of the most exciting moments during development!

  • http://joelglovier.com Joel Andrew Glovier

    Harry I’m in love with this game right now! The overall ambiance and aesthetic is just stunning, and so relaxing. It makes a great stress-reliever at the end of a long day to sit down with this game and imaging riding through the Swiss Alps, doing backflips and rail slides. I’m a 20+ yrs snowboarder, and I think you absolutely nailed the gameplay, and overall concept. Well done!

    I’m also really impressed that you were able to learn to build this game completely solo, as someone with an illustration background! I’ve been wanting to build an iOS game for a while, and I knew there were frameworks to start with, but still was pretty intimidated. But after hearing how you were able to do this from start to finish, I’m inspired to at least jump in the waters and start building something.

    One question I have, is I’m curious if you used GitHub for any part of your workflow? I’m a designer at GitHub, and we talk to a lot of game devs who use our platform for code collaboration, although versioning binary assets has always been a challenge for many of them (we did just release Git Large File Storage yesterday, actually to address this). I’m always interested to hear from game devs who are using GitHub as part of their development workflow.

    • harrynesbitt

      Hi Joel, thanks for the kind words! Glad I’ve been able to help inspire you to try something new – would love to see what you come up with!

      I am using Git for version control, but not GitHub. I ended up going with BitBucket to host the repo, but forget why exactly – it was so long ago!

      Interesting you ask though, as for most of the project I’ve only needed to use Git to track and backup my own changes – never as a way to collaborate. I tend to avoid branching as I’m so unsure about how to successfully merge (due to binary assets and the seemingly sprawling dependencies within Unity). I even have a hard time deciding exactly what to stage to ensure I commit everything relating to a particular set of changes, especially when that involves changes to scenes and prefabs in addition to code.

      I’m reaching a point where having a proper Git workflow is becoming much more important, so if you had any resources on the subject, it’d be a huge help!

  • Bjørn Egil Hansen

    Beautiful game! Thanks for sharing some of your experiences. I´m considering using Unity3d for some game development myself, but I´m curious about degree of cross-platform issues, e.g. between iOS and Android. Would it be much extra effort to release an Android-version? Would the extra effort be mostly additional testing, or also tweaking of implementation? Cheers

    • harrynesbitt

      Hi Bjørn, these are good questions and ones I’m seeking to answer too. I’ve only ever focused on building for iOS, though the project does compile successfully for multiple platforms.

      I suspect the hardest part will be supporting different APIs (i.e. iCloud and Game Center) and testing for hardware compatibility, screen size, and performance related issues across a range of devices.

  • Tomo

    Wow I’m excited to see such graphics running fluid on mobile! Really nice work and it paid out! :-)

    I’m wondering how you implemented the mountains? Are these 3d assets?
    I also wonder how you implemented these horizontal and vertical sun strokes?

  • Gibran Malheiros

    amazing, I also love to play this game. awesome job guys!

  • Tomo

    One more thing that I really would like to know: How is the level generation done? What I noticed are repeating parts throughout the level. So I am guessing there are some prebuild parts (e.g. hill combinations and chasm combinations) which are getting sticked together randomly when proceeding the level?

  • Max Phillips

    This story is really inspiring! I recently got the unity engine with some prior experience with HTML and CSS and am now learning c# but this story really has got me motivated to start making games. Loved Alto’s Adventure! Thanks!

  • http://www.josh-brannon.com/ Josh Brannon

    What an incredible journey and one fantastic game! I fell in love with it as soon as I saw the trailer with the gorgeous, moody mountain environments complemented by the Jonsi song. I haven’t been able to play it as much as I wanted to (due to not owning an iOS device) but I’ve been spreading the word to everyone I know with an iPhone!

    Being a fledgling Unity developer myself, I can relate to the adversities common in the game development process. You seem to have handled them quite well. Really great job on picking up the engine so quickly and generating a genuinely beautiful result. If you post a follow up article about the game I would love to hear about your artistic and technical process and the challenges you faced with each (I’m especially curious how you went about getting such great lighting and fluid physics).

    Overall, congratulations on the game and I hope you have much success in your future projects and i’ll continue spreading the word about it.

  • Jon Nguyen

    Great post dude! I feel so inspired to do start developing games now. Thanks for all the information about Unity and your obstacles of making this game.

  • Renzo Sedano

    Please release more character illustrations. They look wonderful, wouldn’t mind purchasing a print.

  • http://www.headwinds.net/ brandon flowers

    if someone was approaching Unity3D for the first time and wanted to use similar effects, would you recommend starting with 2D or 3D project? Im thinking it might be better to start simple with a 2D project and then possibly re-purpose code once one becomes more comfortable – just curious if Alto began as a 2D or 3D project to achieve all those 3D effects you mention.

    • SaulNunez

      What I recommed is you base your game with the one you’ll use the most out of it, if is a platformer, you might be better using 2D but if you are wanting to play on a 3rd dimension later, that might not be the best idea.
      Also, you can make use of the 3D Effects by changing the camera to perspective. On Beacon: The awakening, the game in which I’m currently working as a programmer (shameless advertising lol) we did that on a 2D project to create a simple multiple layer paralax.

  • http://www.devaprise.com/ TheVirusKA

    I wanna use Unity #d for my next project. how can i get started?

  • Kit Umscheid

    The environment you’ve created in this game is just beautiful. The game is fun, relaxing and challenging all at the same time. I can’t wait to see what you come up with next!

  • Jami Breese

    This is one of the most beautifully designed games I’ve ever seen–it is unique, lovely, and experiential in the very best way. It’s an inspiration to many artists, would be game designers, and both meditative and addictive at the same time. It’s amazing that it was also a “first” for you personally in so many ways. Thank you for contributing to the world of game design in such a meaningful way!

  • http://www.goodstuffathome.com/ Anthony

    Thanks for sharing your story. As a former C# developer who has been trying to get into mobile game development, I am inspired & motivated by your success. Excellent game.

  • andrewkatz

    I just finished the game – the first game I’ve been addicted to in (literally) 15 years. Getting 250,000 was a challenge – how are people managing to get 4,000,000+? It’s a wonderful game. Thank you!

  • Immort4l

    Whats The Name Of The Art Style And How Do You Do It?

  • fkzo

    woow

  • Bikash Gurung

    what software or tools did you use to make game assets like character and background because they are awesome and for animation?

  • Yoon

    Lovley illustration. My alto always die while I admire the scenery. I want to see the graphics when I play the game than get more point. lol. It makes me feel me in the mother nature. Awesome. Thank you for making the game.

  • Kodekq

    Please tell me the camera and the character stands still and moving level, or the level of static, and it will move the character with the camera? We had an argument with a friend, and it would be great if you could answer.

  • Ivo Palchev

    Just found out about the game and its amazing ! Its really impressive that you were able to do all of that by yourself. I wanted to ask you how you made assets(What did you use) and if the game is 2.5 or 3D. Again, Great work !

  • Jan Wałbrzych

    Great guide! if you are looking for some more tips about creating a game I highly recommend this blog: blog.theknightsofunity.com

  • snakes andert

    This is fantastic! I am not very good at this game, but I keep coming back for the art style. I love how atmospheric it is for being relatively simple. Great sound design as well.

    You’ve made a fan out of me :D

  • Rocky

    How do you implement simple elements like the birds flying when Alto goes near them (not talking about the trigger detection but actual code / animation to make the birds fly so naturally because it does not look like flocking yet looks so promising)

  • Gerard Harrison

    I am a beginning programmer, primarily learning on Udemy and YouTube. I am a huge fan of your game and pretty much play it every day. I’ve asked five with my instructors on Udemy to make a clone of your game so that I could learn how the mechanics are done and they all declined. Out of desperation I decided to query Google and came across your blog. I literally ask Google to find me tutorials on how to program Alto’s Adventure. I know you won’t give me the secret to the sauce as far as code snippets but since you invited your fans to ask questions about the development of this great game I decided to take the opportunity to throw in my lot. The two things I really, really want to know about the most is how you pulled off the fore and background parallax and how you created the endless mountain. If you want to throw in the jump mechanics be my guest.

  • AzaArt

    Hello, first of all, I would like to thank you for this amazing game, I have played it for five month now, and it still inspired me a lot. I had a question for you, what is the name of the typeface that you used for your logo ? I thing I felt in love with it !

  • Raxx Alderon

    This is quite nice!! :D

  • AKASH SOVIS

    Really enjoying the game, thank you for the Android edition, can you also work on a Windows Computer edition? That would be a dream come true, would love to have some good, soothing games like Alto’s Adventures rather than BATTLEFIELD on Desktop and Laptop!

  • http://sanchay.co/2D-3D-animation.aspx babloo

    i like this game, thanks for sharing the insights about it. cheers!

  • Robby Bisschop

    Wonderful game with a soothing effect ^^