Shadow Puppeteer controlls illustration single player

The Development of the Single Player controls

When the concept for “Shadow Puppeteer” was developed in the spring of 2010, we were already planning to have both co-op and single player. Because of great feedback from other developers, warning us not to spread the concept too thin, we decided to focus mainly on the co-op experience. Since Shadow Puppeteer was intended as a co-op game, that should be our main priority and we should make sure, first and foremost, to make that a great experience.

As we attended gaming conferences like Gamescom, NGC and GDC, showing off the game, people kept asking: «So, the game will have a single player mode too, right?».

SinglePlayer_cover

When we realized, a year ago, how expensive and difficult it would be to get online co-op we had to reconsider the importance of single player mode. As developers we needed to respect that not everyone have the opportunity to play locally with friends. Did we want to exclude them entirely from the Shadow Puppeteer experience? Our answer was ‘No’.

 

We started looking into the different options that were available, and it came down to three options:

  1. We could have the player switch between characters. Alternating between the two as he moved them forward, like in the game «Paul and Percy».
  2. We could let one player control both characters simultaneously.
  3. We could do like the Lego games, let players control one character and have the other follow with a simple AI. The possibility of switching would still be there, so the player could perform more complex character specific tasks along the way.
Examples that use alternative 1 & 3: "Paul & Percy" and "Lego: Harry Potter"

(Examples that use alternative 1 & 3: “Paul & Percy” and “Lego: Harry Potter”)

The first option would be simple to implement. But by letting the player be in charge of both characters we would alter the flow drastically. It would also render any levels with a timed elements impossible (like bosses!) So if we chose this option we would have to either a) change these levels, or b) remove them. Choosing a) would cost us more precious time (we are always short on time), but b) would be a shame and seriously limit the gaming experience.

The second option was similar to the controls we already had for the keyboard. But even though we were able to play both characters at the same time, we were unsure how hard a time our players would have. After all, we had spent A LOT of time playing and testing the game, and were unsure of how long it had taken us to become adjusted to the setup. Could we afford to make them this amount of time learning the controls, and would they become too frustrated with this sense of schizophrenia?

The third option would be similar to the first, but would counter the expected flow issue. If one of the characters were AI controlled. If the AI could jump across gaps and over obstacles we would be able to keep the boss levels without having to change them.

 

We opted to examine and try the third option, enabling players to switch between characters with a simple AI taking control of the the other. AIs are common and we knew that we could buy Unity compatible scripts to help us set it up.

We had recently developed pathing tools for 2D characters, and we expected that armed with this knowledge they would have a good starting point to figure out an AI solution.

It fit well, time-wise, to examine this now, as the co-op gameplay was solidified enough for the level designers to keep going on their own working and adjusting the levels. But we did encounter some challenges.

The game hadn’t been planned and designed for implementation of AI in the first place, meaning we had to make it function on the already designed levels. We made a functioning prototype for the first levels that worked to a certain degree, though with limitations in movement/functionality.

What would be problematic was how to make the AI work to a certain standard in the levels with more fast-paced action and dependability on the other character. Bugs were bound to happen if you switched between the players and the AI had to recalculate a difficult path. So we could either redesign the levels to make enough room for ‘safe paths’, or we could spend countless hours trying to tweak and perfect the AI.

We were forced to reconsider our choice. We knew that an «idiot AI» would ruin the entire gaming experience. On the other hand we didn’t want to have to remove or change levels drastically to make things work. We didn’t have the time, and we didn’t know how long it could take in a worst case scenario.

(Examples of games known for their less than perfect AI)

(Examples of games known for their less than perfect AI)

We went back to our original list of options, and this time chose alternative 2.

The confidence to move ahead with the previously discarded alternative came from seeing the newly released game Bothers: A tale of two sons. In that game you control two characters at the same time; one older brother and one younger, and the implementation of that mechanic worked out great for that game.

(Screenshot from "Brothers: A Tale of Two Sons" (2013) )

(Screenshot from “Brothers: A Tale of Two Sons” (2013) )

The control setup was simple, and you only used a few buttons per character. But it indicated that players would be able to wrap their heads around playing two characters at once, which had been our primary concern earlier.

For us, the control setup would be more complicated than in «Brothers» since we had the stencil feature to consider. But remapping the controls was a simple procedure, so we went ahead and decided to try it out.

We went from this:

(Keyboard setup. Circles indicate where the controls of the characters are)

(Keyboard setup. Circles indicate where the controls of the characters are)

To this:

(New control setup for single player)

(New control setup for single player)

The pros of choosing this solution were both that it would solve the time/budget issue we needed for AI implementation, and it was basically bug-free.

Once implemented our level designers tested out the controls. The programmers had decided to map the boy to the left side of the controller. It fit with him being on the same side as the d-pad which was a natural choice for stencil selection. This presented an interesting change for the level designers. If you examine the keyboard setup you will see that the characters had switched side, the boy moving from the right hand to the left. But was this the only reason the setup felt strange? Was there some other reason why the characters should have the original left/right placement? We were unsure, but made a note to implement the option of switching the setup in the menu.

Recently we spent a day playing through the game and testing the controls, but we need more people to help us. This is where YOU come in! At least, if you are in the geographical vicinity of Hamar. Our doors are open to testers, so if you want to help us please drop us a note at: https://www.facebook.com/groups/1454095064825377/

(Our offices. The door may not always be propped open, but it unlocked during our office hours)

(Our offices. The door may not always be propped open, but it is unlocked during our office hours)

We’re excited to see how others will experience the controls. It has been interesting to work and examine the various options, but we feel that if not fully there yet, we are at least one step closer to a final single player solution.

 
 

Shadow Puppeteer available on Steam

41 thoughts on “The Development of the Single Player controls

  1. I am glad for writing to make you know what a wonderful encounter my friend’s child experienced visiting the blog. She learned such a lot of things, not to mention how it is like to have an ideal teaching style to let other folks without hassle fully understand a number of tricky subject areas. You really did more than my desires. Many thanks for displaying the priceless, trustworthy, educational and also cool tips about this topic to Sandra.

  2. I precisely wished to thank you very much once again. I’m not certain the things that I would’ve created without the actual points revealed by you concerning such situation. It has been a very difficult crisis in my position, however , noticing your professional fashion you treated that made me to cry with fulfillment. I’m just happy for the work and then pray you realize what an amazing job you are doing educating people today by way of your website. Most likely you haven’t come across any of us.

  3. My spouse and i ended up being so thrilled when Edward could conclude his studies by way of the precious recommendations he made while using the web site. It’s not at all simplistic just to always be freely giving guidelines a number of people could have been selling. Therefore we realize we now have the writer to appreciate for that. All of the explanations you have made, the straightforward blog menu, the friendships you will make it possible to foster – it’s got everything wonderful, and it is facilitating our son in addition to our family know that that subject is fun, and that is truly essential. Many thanks for all!

  4. Thank you so much for giving everyone an extraordinarily pleasant possiblity to read critical reviews from this site. It really is very pleasant and stuffed with amusement for me personally and my office mates to search the blog no less than three times per week to read the fresh guides you will have. Not to mention, I am also at all times amazed for the attractive ideas served by you. Certain 1 areas on this page are without a doubt the finest I have ever had.

Leave a Reply

Your email address will not be published. Required fields are marked *