informa
17 min read
article

Miko Mole: Making It In Unity

We talk about the games that influenced the design of Miko Mole and the assets we found in Unity Store that helped make it all work.

Miko Mole is our upcoming arcade puzzler that we are releasing on Steam and consoles.  It has 240 levels across 6 worlds. We used Unity 4 and now on Unity 5 to make the game, which is great because when we first started we were thinking maybe mobile platforms, but as it evolved it become clear that we were really making a game that would be best enjoyed on PCs and consoles both from a controller and audience point of view.  I wanted to discuss the tools we used, the games that influenced us and how it all came together.

Unity is wonderful in that we can develop in one environment for so many different platforms such as iOS, Android, Mac, Windows, Windows 8, Sony PS4 and Xbox One (as well as and many others).  Another thing that is really great is the Unity Asset Store. The Unity Asset Store is full of lots of great scripts, 3d models and sample projects. Using these an intelligent way can reduce time and costs which is a big help for an indie developer.  It is important to use them as starting points, but still create something very original.  Anyhow, you will see below we have used quite a few different assets from the store to speed our development cycle and create a better game faster. 

Some people may not want to discuss how their game was made and what their influences were.  They may feel it detracts from the experience or diminishes what it is worth. I am confident that will not be the case and Miko Mole still involved many months of development with many people involved in programming, 3d model creation, animations and level design.  Without a doubt, without a great development environment like Unity and the help of great assets from the asset store it would have taken several months more. While many concepts are inspired from other games, we have created an incredible amount of very unique levels and added many original ideas as well.

World 1: Underworld

As a kid I grew up with a Commodore 64 for several years.  One of the games I really loved was Boulder Dash.  When we originally started Miko Mole, I wanted to create a game like that but using 3d models and world in what is known as a 2.5d game (a game that used 3d models, but the gameplay takes place on a two dimensional plane) and using physics engine instead of just grid based logic. 

One of the things I really wanted to get right was the digging.  I did want a blocky, grid based look, but a giant piece of dirt that could be destroyed. I played around with a lot of voxel solutions and there are several good ones in the asset store, but for the look I wanted I decided the best one was Ruaumoko from Dr. B.  I really liked their dynamic sculpting example and the way that all of the dirt is a single mesh that is being modified at run time.

Another thing we wanted to do was have each level be based upon a small text file instead of using a scene per level.  We went with our own engine.  This is from the file for world 1, level 1.  Other than a few lines for time and stars, all levels in world 1 basically looks this sample but with different grid lines.

// W = rock wall, D = diggable dirt, P = player starting point(Miko Mole)
// X = exit spot, B = enemy bat starting point, O = boulder, V = valuable gem

grid=.WWWWWOWDDDDDDDV.D.V
grid=PDOOOWV.O.DOO.DD....
grid=.DDDDVVWWWWWWWD..X.D
grid=WWWWWWWWWWWWWWWW..WW

What is really neat is both the rocks and dirt are made completely dynamically.  The rocks basically takes a big mesh and carves out all of the open spaces and all of the dirt is a second mesh that just leaves dirt where it should be.  There is a certain amount of randomization in the creation of the walls and dirt which we liked as it gives our levels a much more sense of being dynamic and they feel more realistic (within the cartoonish design look).

World 2: Covert Ops

As we were still thinking through development and working on initial routines, Boulder Dash® – 30th Anniversary came out.  This was first collaboration by Peter Liepa & Chris Gray, the two original creators of Boulder Dash, since the first game in the series was released in 1984!  They did a wonderful job and it very much had the 2.5d look that we were thinking about.  They also did 200 wonderful levels.  It is a great game and I recommend anyone who were fans of the original to give it a try. However, this was sort of a bummer for us!  It seemed like it would be hard to create something way better than what they did and they have the name recognition of Boulder Dash.  I struggled for awhile as to whether I even wanted to continue with the game.  I spent a few months playing around with a platformer game idea called Bayla Bunny and playing a lot of indie games.

Hurry up and wait! In April of 2015, I played a newly released indie game called Stealth Inc 2: A Game of Clones.  I really loved this game as it tests both your brain and reflexes.  You play this cute little clone that must escape this high tech facility.  There are lasers, cameras, traps and robots that you must avoid – all while trying to finish each level as quick as you can.  My guys call it a wonderful bi-polar experience – you must be as quick as possible, but a lot of times you must be patient and wait.

Suddenly I felt very inspired.  What if I introduces some of these mechanics into my underground world?  About this exact time, Finalboss released their Stealth Action Game Kit.  This was a great little framework with lasers, rotating lasers, moving lasers, cameras, noise detectors and more.  It was great as we would start adding these into Miko Mole very quickly.  Francisco Ochoa, one of our graphic artists in Mazatlan, working with one of our developers on the project, Roberto Lopez, did a lot of work redoing some of the graphics to look more polished, but this was a real time saver!  :)

A lot of these stealth items have many parameters and we may want to place them across larger spaces, diagonally, etc.  We maintained our simple map structure as above for basic level layout and created prefabs for each of the stealth items.  Then we added the ability to have line items like as follows:

// StaticLaser=position|eulerrotation|scale|requireKeyToShutdown|
// howManyKeyRequired|laserOnTime|laserOffTimeMin|laserOffTimeMax|startDelay
StaticLaser=(-11.89,42.09,20.1)|(0,270,270)|(0.01,0,0.01)|1|1|10000|0|0|0

// ccCamera=position|euler rotation|scale|isStatic|startingRotation|rotationAngle|
// ccCamRotateSpeed|sideReachWait|rayLength|yOffset
ccCamera=(-11.89,42.09,20.1)|(120,90,90)|(1,1,1)|1|85|100|25|0|3.3|0

Our game engine now takes each of these lines, instantiates the prefab and sets the parameters within the script.  This allows us to still keep our level files very small, while being incredibly flexible as we add new items.  Once the items are in the scene, we can still reposition them, rotate them and scale them visually within Unity and then copy the values to the text file. 

I also really liked the time system down to hundredths of a second in Stealth Inc 2.  We have implemented a simple scoring system that is based upon diamonds collected, with bonuses for collecting diamonds very close to each other and a bonus based upon your final time to complete a level.  We discussed adding extra scores for destroying enemies or left over dynamite in later levels, but decided to keep it simple and clear through all 6 worlds.  Also, even with the stealth mechanics added in, the game is still just about moving Miko Mole around and waiting at specific times, making it very easy for the player to learn the controls.

World 3: Carry On

Another indie game that I really enjoyed was Unmechanical: Extended.  It came out in February, 2015 and is a puzzle adventure game that won the Nordic Game Awards for its visual design.  Set in an underground complex, you play this cute little flying robot that must escape by solving a variety of logic and memory puzzles.  The interesting game mechanic on which everything is based is that he can grab and carry things.  The game has been incredibly well reviewed and I highly recommend playing it.  About the only complaint from some people is that it is a little short at around 3 hours of gameplay with 30 puzzles.  We are not worried about that with Miko Mole as we have 240 levels and expect between 20-30 hours of gameplay. Either way, I think it is a beautiful experience and is well worth the $9.99 I have seen it at in most stores.  

We had Miko Mole mostly flying from the start of production.  He has a little helicopter type thing that comes out of his backpack automatically whenever he is not on ground.  This was our way of explain many of the mechanics where he would not fall as he goes up and down vertically and over open spaces.  So it seemed that adding this grabbing and carrying mechanic was such a natural fit and a great thing to introduce in world 3.  This probably would not have been too hard to do on our own, but once again I turned to the Unity Asset Store and found the wonderful little StickyStickyStuck.  It only cost us $5 and worked right away with little changes. 

Grabbing things such as levers to cause actions to occur such as opening doors and carrying things such as boulders to drop on bats adds a whole new set of tools for level design.  Adding the simple ability to grab things and release things if they can be carried opened up a whole new world of possibilities for us in designing levels while only adding a single key or button for the player.  Each world we add we are combining things from previous worlds, so they can be used together and build on each to create more and more unique scenarios.

World 4: Bore the Core

A final game that had some influence on our design is Worms Battlegrounds from Team17 Digital Ltd.  While I don’t know if they would be considered indie or not (a somewhat cloudy term), it is a super fun game and also one I recommend playing if you never have.  In this game you play worms that are underground (noticing a common on theme on influential games) that can dig and do all sorts of other things.  It is a an arcade turn based game and often focused on destruction of enemies, but has a lot of great ideas that applied very nicely to Miko Mole.

One thing I liked is that they have a very cool gadget system.  There are different gadgets available on different levels and we use a similar design in our gadget interface.  Another thing I really liked about the game was blowing terrain up as well as digging.  You might wonder what the difference is between just digging and blowing things up?  Well, it is very obvious that everything that is dirt you can dig.  When you want to blow terrain up, you must pick and choose locations more carefully as you have a limited amount of dynamite.  There is also a certain amount of pleasure in blowing things up and it feels like much more of an impact.  To destroy the rock area which we created dynamically using Ruaumoko as mentioned above was very easy.  We already destroyed dirt dynamically, so this basically does the same thing modifying the mesh in real time.

One of the other things we wanted in this world were lava flows.  Being touched by the lava could destroy Miko or enemies.  Sometimes you could blow up terrain to divert lava flow in other directions or to get around it.  Ahhh, but how to do a nice lava flow?  Once again, we turned to the Unity Asset Store and found a great package called Fluvio.  It provides a great solution for 2d and 3d fluid physics and was perfect for our lava needs. 

World 5: Evil Corp Labs

One of the things I really liked from Unmechanical was the laser puzzles.  These are puzzles where you can rotate the reflection panels to make the lasers point in different directions.  Ultimately you want them to point at a specific target to charge it up and then an action can occur.  Before we even played Unmechanical, in the fall of 2014, one of our team members, Horacio Orozco, had already started working on an internal mobile project that we were calling Occam’s Laser.  It had basically the same concept except you would just touch the points to rotate them.

When deciding to work with laser reflections, Horacio checked out what was available in the Unity Asset Store.  After experimenting with a few different options, he decided the Reflections Engine was a great starting point.  Once we decided to integrate these laser puzzles into a Miko Mole environment, we called off the prior project and Horacio integrated this in and worked on other developments within the game and did quite a bit of level design as well in world 5.

We also added in skunks that can throw little stink bombs at Miko.  This was very inspired by the enemy worms in Worms Battlegrounds and added a great new element to avoid.  Combine this with a few other new puzzle elements and another great world was completed without the need to actually create any new mechanics for Miko Mole himself. 

World 6: Watery Grave

In the final world of Miko Mole, we really wanted to do a water world.  Worms Battlegrounds does some very neat things with water rising and creating extra pressure and that was some initial influences on us.  I read several articles on Gamasutra about the water worlds in other games and how they are often the least liked worlds in many games. We decided to do some things different and I think our water world results in one the most and intense and exhilarating worlds within the game.

To do the water, I found a great little asset called Water 2D line.  Once again, for only $10, I got a great set of routines that saved me a ton of time.  It even had support for buoyancy and floating items which we ended up using when we added in barrels.  One of the neat things about doing a game in 2.5d is you can occasionally combine in 2d elements and things can still look very good.

What are some of the things we did to make our water levels much more interesting?  We decided we want Miko to be able to fly underwater.  But he could only breather for 7 seconds.  With our little hundredth second countdown timer in the bottom right, the tension builds quickly.  He needs to come back up for air.  On some levels we have added in small and larger air bubbles that Miko can inhale to add extra air into his tiny lungs. 

Next, we added in levels with hungry alligators that charge towards Miko when they see him.  Lastly, if things were not crazy enough, we added in a snorkeling fin that can be picked up (not by grabbing, just by touching as a pickup item).  Snorkeling fins make Miko swim really fast instead of being helicopter propelled.  He is just at the point where it is crazy to control.  All at the same time you still have to pay attention to your air and eventually come up.  When you come up the snorkeling fin wears off.  I could actually feel myself taking a breath as he breaks the surface of the water!

Creating the Characters and Getting Outside Help

The game has Miko Mole, Byron Bat, Rudo Rat, Skyla Skunk and Alex Alligator characters.  We like to name all of characters in case we use them later.  You never know when an enemy in one game might become the protagonist in another.

Since our team originally started out doing a lot of 2d games, my internal artists were not quite ready to tackle the creation of characters. Sometimes it is good to know where you are weak and find people who are experts.  We found this with a great group of people from Austin, Texas at Meta3dStudios.  Their character artist, John Romanowski creates the 3d models and textures.  Then they have Brandon Lackey who does all of the animations that bring these characters to life.  Without their work, Miko Mole would not be near the game that it is today.

Designing the Levels

I had worked with Meta3dStudios for characters and 3d models in some of our prior projects.  One thing they noticed was that our level design was sometimes lacking. As most of you probably are well aware, as an indie developer you have to wear many hats.  I am our Chief Creative Officer, but also a lead programmer, handle marketing, a level designer, in charge of audio, etc.  While we read, learn and try to grow with experience, we were not always creating levels that had good progression and it maybe is not always my personal strong point. It is something I enjoy doing a lot, but that does not mean I am the best person for it. 

So I started working with Kevin Walsh from their team and he has been with us full time through them for the entire project.  This is among the best decisions I have ever made.  Kevin does not code or create graphics, he focuses 100% on designing levels.  He also comes up with great ideas for new tools that we can use within level design.  But, without a doubt, the most amazing thing is the creative ways he has found to take the “toolset” of items and use them together in ways that are consistently unique.  The creativity that goes into this is far beyond what I could ever have done myself.  He also puts a lot of thought into the order of levels and teaching the users things about the puzzles through great level design. 

I have learned an incredible amount about level design by working with Kevin.  I also have learned that I need to work with him or someone like him going forwards.  I now understand why there are people dedicated to very specific things within the game industry and the advantage of working with people who are so specialized. 

Submitting to Steam Greenlight

Hopefully the above gives you insight into the process of creating a game using Unity and the importance of working with individuals who are highly specialized.  I think to make a great game it is also good to play great games. As we are very close to completion we have decided we are ready to submit the game to Steam Greenlight process. 

In all of the Gamasutra articles we have read, everyone seems to indicate that the video is very important and it is important it shows a decent amount of gameplay.  Once again I turned to the great folks at Meta3dStudios and the video they helped us create was magnificent.  After being involved in the game for so long, it was amazing to see it brought together in such a concise way and showing so much of what we had done.  It turned out looking way cooler than I imagined and I hope everyone who see it feels the same.

Video can be made full screen to best see game.

Submitting to Steam was a very easy process and the game is now in the Greenlight process.  We would really appreciate your vote so it can be approved and we can take it live.  

I look forward to any comments or questions anyone may have.

Latest Jobs

Treyarch

Playa Vista, California
6.20.22
Audio Engineer

Digital Extremes

London, Ontario, Canada
6.20.22
Communications Director

High Moon Studios

Carlsbad, California
6.20.22
Senior Producer

Build a Rocket Boy Games

Edinburgh, Scotland
6.20.22
Lead UI Programmer
More Jobs   

CONNECT WITH US

Register for a
Subscribe to
Follow us

Game Developer Account

Game Developer Newsletter

@gamedevdotcom

Register for a

Game Developer Account

Gain full access to resources (events, white paper, webinars, reports, etc)
Single sign-on to all Informa products

Register
Subscribe to

Game Developer Newsletter

Get daily Game Developer top stories every morning straight into your inbox

Subscribe
Follow us

@gamedevdotcom

Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more