Go Team Yeah!

What Is Go Team Yeah?

screen_1

Go Team Yeah is a bit of speculation on my part. Rumours of a new Apple TV with an actual app-store have been around for years, but never seem to pan-out for whatever reason.

I personally love the idea of an open living-room console, in fact I recently bought an Amazon Fire TV Stick and use it every day. Yes, mainly as a Netflix device to replace the rubbish UI/app of my Samsung Smart TV, but more on that later.

The reason I love the idea is that last summer, my youngest son (6 at the time) came of age, and figured out how to use an Xbox 360 controller. Alright!

My elder son and I had been playing games together for a couple of years and that was great, but now the three of us constituted a party. I’d had an Xbox 360 for a few years and had dabbled with a game called Castle Crashers, single player, for a bit. Having 3 our of the 4 maximum players the game allows, I bought another controller and the three of us finished the game in a few weekends.

This was outrageous, uproarious fun. It’s a coop party game so we relied on each-other to get through it, and the youngest son while not great at combat, he was great at running around and reviving the rest of us when we went down. Which happened a lot.

Games need to include players who aren’t great at the main thing, but are great at supporting the others.

So after Castle Crashers was completed I went on the hunt for similar experiences; couldn’t find that many on the 360 so I hooked up the PC to the TV and started a Steam search. There are more there, but still not too many.

Around the same time I had the idea to hack my still unreleased game Pushdown to support more than one player. After a week I had just the basics, run around and jump on each others heads until a score threshold is broken. Even this proved fun for the boys.

September was approaching and the usual Apple TV rumours started up again. It struck me that this could be a relatively quick way to get another game out. Use the Pushdown codebase, change out the graphics, polish up the prototype code and release! Oh and hey maybe I could do an Ouya version!

Ouya had buzz back then.

Then I realised I had to release game one before I could release game two (simple math really) and went back to focusing on Pushdown.

Pushdown development dragged on (27 levels is a lot of content!) longer than I thought, and September came and went with no Apple TV announcement. I kind of sighed with relief because at least I hadn’t changed course and started working on a game with no platform. I still played the protoype every few weeks with the boys, and it remained fun.

Then in February I released Pushdown.

Getting Pushdown out the door was a big first step; after that I worked (still am working) on Therapy Quest and refined my codebase. All the boring, sticky basic stuff like UI file saving and image generation. TQ is great because it’s small, contained and proved some concepts to me, acting as a test-bed.

I also wanted to work on Go Team Yeah again, and was thinking about releasing on PC via Steam. No need to wait for Apple! But then I ran into an issue with game controllers in the middleware I use. If a controller is disconnected after the game has started, it can’t be detected again without restarting the game. This would be a bad user experience and one that I wasn’t comfortable starting the project with; just trying to mitigate a bit of risk and not invest time into something with a potential show-stopper.

Another reason to not pursue it is the controllers themselves. Xbox 360 controllers are expensive! Not many people I know – in the games industry even – own 4 controllers. So why build a game with a built-in audience limitation?

In February my sister and her family visited, so I broke out the multiplayer prototype again and added some more gameplay. Now there were “Machines”, and jumping on enemies produced energy which could be dropped into the machines to make bombs, which in turn could set fire to the enemies machines.

My boys and my two nephews played it a lot. I sat at the back of the room watching, trying to figure out the dynamics, and why they weren’t putting it down to play something more complete and polished. With good graphics.

A month later I made a special version for my sons birthday, taking photos of his friends heads in profile and mapping them to the characters they were controlling. Again I watched, enjoying the fact that it seemed pretty addictive.

smashtownbirthday

And then in May I bought an Amazon Fire TV Stick and everything changed. Still looking for a multiplayer game to play with the boys, I found Bombsquad heavily featured on the store page. This is a 3D, multiplayer game where you throw bombs at your enemies (hey! Similarities!) and try to knock them off platforms. Not owning a Fire TV gamepad, I thought I’d see how it played using the standard remote.

Then I saw something that blew my mind – I could play it using a controller app on my phone. Like, what?! Download a free app, install it on my Android or iOs device and play? So I scrounged up my iPhone, iPod touch and Android phones, brought the boys over and played. We ended up shrieking, crying with laughter, it was that good. Really, just an amazing experience. Even more impressive, Bombsquad was built by one super talented guy. In his spare time. While he worked at Pixar.

So now I was thinking about wifi controllers and multiplayer code, something I had studiously avoided cos that kind of thing seems like magic to me.

If that guy can do it, I thought…

  • 2-4 players
  • 3 levels
  • a few Powerups
  • Working machine/bomb mechanics

Trying to keep scope limited meant finding a simple, colourful art style that wouldn’t be a huge time-sink to maintain. I love the ‘pixels with angles’ of Ridiculous Fishing from Vlambeer so tried riffing on that, hoping to find a nice compromise between complexity and readability. This style translates to the levels as well as the characters.

For the pickups I rewrote the item code from Pushdown to allow wearable items like suits of armour and gloves. My youngest son gave me a nice surprise when he was brainstorming ideas from the back of the car, saying one pickup should be a large magnet that pulls armour off enemy players. Making the system robust enough to handle that went a long way.

togetherUltimately, the goal for Go Team Yeah is to make a family, multiplayer couch TV game with influences from Super Smash Brothers, Mario and games of that ilk. I’m trying to make something that could make people shriek with laughter when all the pieces work together.

Which brings us to today. The game itself is complete enough that I’ve just moved on to menus and UI screens, which means its a good time to go open with development. Which means relearning website development, content for twitter, getting back into video creation on Youtube and just a ton of other things.

If Apple do announce an updated Apple TV this month, Go Team Yeah should be ready to launch on it quite soon. After that, I’ll release on Steam, Amazon Fire TV,  and any other micro-consoles that will run it.

Either way I’ll keep updating it with more characters, powerups and levels and track the development right here.

Go Team Yeah!

Therapy Quest – Enemies

I want a visual representation of the enemies Jack will meet, but I want to the least amount of work to support that. Building 27 unique levels for Pushdown was the most labour-intensive part of that game, which got to be a problem for morale and productivity in the end. And that was just 2d platform levels with painted backgrounds, mind you. I currently have a nice workflow where I sit on the couch, re-watch Breaking Bad on Netflix and sketch on my iPad using an app called Procreate. They’re pretty rough and ready but enough for me to try to work out a workflow that’s as pain-free as possible.

antagonists
AirSquid, EyeCrawler, Foorust, StoneImp and Turbo Knight (or Slouch as I call him). No rhyme or reason to these placeholder characters yet.

Five is enough to get going with, because its enough work to show up problems.

My goal is to animate these guys movements as static images – individual animations are far too much work. I want to show them being hit by the player for positive feedback, and I want a dead state to display at the end of a round. So here’s to some trickery.

Spine Animations

I use Spine for all animations, I’m getting more comfortable with it and figuring out some short-cuts. The dream is to use one animation project file, one set of animations – if you can call them that – one set of states but many different enemies.

antagonistInternally, this is what enemies look like.

I have a texture atlas split into four quarters

  • Red top left = diffuse image. This will be the basic image for the enemy.
  • Dark Grey bottom right = dead image. Displayed when the enemy is defeated.
  • Light Grey bottom left = flash image. A white cut-out drawn over the top of the other images and faded out over time.
  • Top right = not used at this time. Such a waste!

The flash image is cribbed directly from 1980’s arcade machines – drawing characters white for a split second when hit was a fast and cheap way to communicate the impact with limited hardware and memory. Its kind of hard to explain, so here’s an animation.

antagonist_proj
The character just got hit, so tips backwards abruptly and flashes white.

Still not super clear, eh? Lets replace the squares with one of the enemies.

Replaced the 'diffuse' and 'flash' squares with the enemies image.
Replaced the ‘diffuse’ and ‘flash’ squares with the enemies image.

End result: A static enemy with some movement and dynamics added. To get this result I just need to:

  • Draw the enemy on the iPad, export it to .png
  • in Photoshop create a white flash version and greyed out version. A bit fiddly and time-consuming but not too bad.
  • Place the three images on a texture sheet and save it out.
  • Replace the basic squares texture with the desired one at run time.

Some drawbacks are: the process to create the different flash, dead versions. The texture sheet has to be quite large to ensure the enemy isn’t too blocky. Right now its 512×512 (enemies themselves 256×256 – pushing the blocky boundary)

These textures are going to add up to a large download. There’s also a lot of duplication of work, so lets fix that in the next post.

Therapy Quest – Enemies

Therapy Quest Gameplay Loop

Therapy Quest is designed to engage a 9-year-old boy, and needs to be sticky. Here’s the basic flow:

  • Open the App, see your position on the Questmap.
  • Press ‘Quest’ – your avatar walks down the road to a new location
  • Enemies attack! Fight them off via leg exercises
  • Collect winnings (gold and XP) from the combat session
  • Repeat the attacks until all exercises are finished
  • Lock the app so it can’t be played again until tomorrow
Left: the quest map. Currently blocks to represent villages. Middle the 'combat' - just a representation of the current exercise and an enemy. Right: coin collection screen. Coins fall from the top, bounce once and are collected when tapped.
Left: the quest map. Currently blocks to represent villages. Middle the ‘combat’ – just a representation of the current exercise and an enemy. Right: coin collection screen. Coins fall from the top, bounce once and are collected when tapped.

Quest Map

For the quest map I am taking a leaf from Candy Crush Saga and Jolly Jam – provide a visual representation of progress so far, while also showing progress yet to come. Both games feature a linear path through different gameplay zones.

Left: Jolly Jam. Right: Candy Crush Saga
Left: Jolly Jam. Right: Candy Crush Saga

I like the format because its clear, offers extra gameplay stuff like finding objects on the route or hidden in trees and is a great landing page for when you come back to the app.

Right now the plan is for the player to advance one location per day. This might not feel like enough progression, but certainly saves on content – the hope is that Jack plays this game daily for months if not years!

Combat Screen

The ‘egg timer’ portion of the game, showing the current exercise. Later the timer will be displayed as a countdown clock with some dramatic music near the end of the count-down. Most exercises last 30 seconds, one session per leg.

Currently the player always wins but this doesn’t provide much challenge obviously. Is the game purely an egg-timer or is there some interactive part to it? Would that be distracting from the exercises themselves? Only experimentation will tell.

Before I saw videos of the exercises I was excited about the idea of attaching the phone to Jacks leg and measuring movements via the sensors, allowing some actual interaction during the game. Many of the actual exercises feature only small movements and some are static, taking that idea off the table.

End Of Round Screen

This is an important screen where the player is congratulated for winning the battle. Usually XP bars grow, money counters spin and fireworks go off. The rule of thumb is that you should spend at least as much time on your EoR screen as the rest of the game combined, it’s a place to go nuts with particle effects and ‘stinger’ animations. The coin drop/collection aspect is there as personally I like some interaction with the reward to ‘claim’ it.

I’m toying with the idea of enemy ‘collections’ – beat 10 Fire Swamp Warriors to complete the Fire Swamp Warrior set sort of thing. Tokens for that would drop on this screen.

End Of Session

So, the exercises are complete and all enemies are defeated. Jack now has a pile of cash and XP, maybe levelled up some. His hips are well exercised and the blood is flowing. Internally one hopes.

The game returns to the Quest Map but no further progress can be made that day (again – don’t want to over-do the exercises or burn through the content) This seems super abrupt so I plan some extra activities here – maybe eating food collected on the EoR screen (extra 3.0% xp for every enemy defeated), polishing collected pieces of armour and visiting the shop. Have to spend all that newly earned money somewhere after all…

This seems like a pretty simple, tight loop so I’ll try hard not to over-complicate it later. It’s a nice straight-forward linear progression through screens, looping back to the start point.

Therapy Quest Gameplay Loop

Therapy Quest Genesis

My nephew Jack is a cool kid, very active and loves football. Unfortunately he suffers from Perthes disease. I’ll quote Wikipedia for its description:

“…a childhood hip disorder initiated by a disruption of blood flow to the ball of the femur called the femoral head. Due to the lack of blood flow, the bone dies (osteonecrosis or avascular necrosis) and stops growing. Over time, healing occurs by new blood vessels infiltrating the dead bone and removing the necrotic bone which leads to a loss of bone mass and a weakening of the femoral head. The bone loss leads to some degree of collapse and deformity of the femoral head and sometimes secondary changes to the shape of the hip socket.”

Ouch. Bad news for a nine-year old boy. The good news is that this disease has a very good chance of clearing up in a few years, the hip returning to normal. For this to happen though, Jack must do a daily set of exercises. They involve stretching the legs, exercising the hips and repeating certain movements for thirty seconds at a time.

Here’s the problem: the exercises are uncomfortable, boring and not a lot of fun. Although they’re necessary to get the blood flowing properly, Jack sometimes forgets or skips them.

A couple of months ago my sister and I were discussing the problem and we thought an app might help. Jack loves mobile and PS4 games, they are designed to distract and can be  addictive. What if there was a game that :

  • Would remind Jack to do the exercises
  • Jack could play while doing his exercises
  • Made exercise time fun
  • Remind Jack of the exercise positions
  • That would reward him for coming back and playing it again

So, here comes Therapy Quest. Maybe a working title, maybe final… It’s essentially a Role Playing Game where the hero fights enemies, levels up their gear and advances through a world. Absolutely nothing about this is new in the world of games, it’s a good working formula. What is new is the context, and will be a great testing ground for some ideas.

This context produces some interesting design challenges:

Once Per Day

It is a game that is designed to be played exactly once per day, and then shuts down until the next day. We don’t want Jack to over-extend himself on the exercises and do more harm than good. We also don’t want him to play it without doing the exercises, burning through the content and getting bored with it after a week. The hope is that the game is intrinsically fun enough that Jack wants to play it, is reminded to play it and at least once per day thinks “I can level-up my character if I do my exercises.”

Adaptable Experience

Jacks exercises involve lying on his belly and stretching his legs, sitting almost cross-legged, lying on his back with leg extended, and lying on his back with his leg extended while bracing his leg with a belt. Not many positions allow him to have both hands free, and one precludes holding the device altogether.

Engaging but not distracting

The app is actually a glorified egg-timer, showing Jack which position to be in while counting down the duration of the exercise. Of course there’s nothing in the app to force Jack to do the exercises, he could just lie on the couch and play the game. So let’s make it easy and fun to play! Just not so engaging that Jack forgets to do the exercise…

All these goal may – and probably will – change as I work through making a prototype, but they’ll serve as high-level goals for now.

This blog will be my design scratch-pad during the creation of TQ.

Therapy Quest Genesis