Tag: games

Life Lessons from Rocket League

I recently listened to an episode of Tim Ferriss’ podcast that talks about the health benefits of gaming and the lessons we can take from the games we play. Tim’s guest, Jane McGonigal challenges people to ask what the current game they’re playing can teach them, and what they can implement from that game in their every day lives. You can listen to it here.

Currently I’m playing the BestGameEverMade aka Rocket League an inordinate amount, certainly pushing close to (ok, over) the 21 hrs a week limit that Jane feels is a wise upper limit. So I thought I’d write up some thoughts. I’ve considered this topic before in another game I used to play a lot of, which is semi-professional (mid stakes) poker. Thinking again about that game, I think the two share a lot (as I suppose many games do). Read below for the lessons I feel that Rocket League can teach and how they might be applied to life. My examples are pretty skewed towards games development because that’s what I’m focusing on, but I think they’re fairly easily translated to business, study, and other things.

I’m certainly no “life coach” either, so I’ve left my own advice somewhat thin, and linked to people I like on the subject.

Rocket League?

If you haven’t played Rocket League, aka Soccer Cars, its exactly as the latter sounds – you play soccer with cars, ‘ramming’ the ball into the opponents goal to score. You also have access to a jump and rocket boost ability, which funs the game up to ridiculous levels. Its quite a spectacular game – fast cars, airborne cars, flipping cars, a huge floating ball, plus neon lights and epic slow motion replays that let you re-live your glorious goals! Oh and when you score, there’s a giant explosion in the net and nearby cars are flung into the air. Whoever thought of that is a true genius.

rocketleague

1V1

I think most of these “Rocket League lessons” are most applicable in the 1v1 version of the game as it seems to highlight a lot of things. Your team mates aren’t around to pick up the slack created from your errors, you can’t blame them for your mistakes, consciously or otherwise. The best blame game I’ve managed in 1v1 is the (maybe?) very slight RNG’ish-ness of the initial kickoff and some other ‘clash’ situations. Otherwise every action you take has pretty clear repercussions.

In 2V2 and above, forming and working within a team is very important, and I talk about it below.

1. Don’t over extend

This is the first thing that comes to mind when I think of my recent Rocket League games and potential tie in to real life. Most likely this is my number one because it has resulted in some of my most painful defeats. In my very biased opinion, I’ll be the superior player in said defeats, flying around the pitch in spectacular (ridiculous?) fashion, taking shots from all over the place, while my inferior opponent trundles around. Where it all goes wrong is where I overextend, miss a shot, which ricochets into my opponents hands, right when I have zero boost left to catch him. He doesn’t need any skill to walk it into my goal when I’ve over extended sometimes literally inside his goal net.

The problem is partially that I’m trying to play the same game as pro players, but without the requisite skill level. A classic example of this is trying for aerial goals, by far the best way to overextend and get out of position. Aerials require great control to pull off, and if you miss, you’ll sail slowly toward the ground while your opponent again walks the ball into your goal. If you can pull off reliable aerials, great, but otherwise you’re definitely overextending!

Here’s a clip of a player over extending just a little too much (especially in a high skill game like this one):

What’s the real life tie in? I’m personally involved in games development and have developed a couple in the past few years. They were very simple games that I managed to complete to some degree by myself or with another developer (www.class3outbreak.com and Unknown Orbit). Currently I’m attempting a more ambitious title that has made me question if I’m overextending my own skills, time and ability. I’m trying to mitigate this by hiring some part time help, and thankfully I have a business (www.hyperfocaldesign.com) that helps pay the bills while I tackle this, but I certainly still feel on the edge of my capabilities. Realising when you’re overextended in Rocket League is certainly a touch easier than trying to guess the schedule, time, budget and fun-factor of a multi year development cycle on a game, but even just bringing attention to this stuff can help or potentially wake you up a bit.

A friend of mine and concept artist has shared similar thoughts with me in regards to art. He teaches students who can sometimes try to run before they can walk, attempting some extreme perspective drawings of dynamic and complex anatomy with difficult to render materials. They have an epic, grandiose image in their mind of what it will look like, and what may take an experienced artist days the novice student is trying to do in half the time, leaving them inevitably discouraged and frustrated.

So I suppose the lesson is that in life, take into consideration your current skill level, abilities, resources, time and so on, and plan your projects accordingly.

1b. Risk Mitigation

Where will your next action leave you in relation to your opponent? What are the odds of you pulling this action off? Who is in the better position? This is a crucial skill in Rocket League. Watch this guy get it wrong:

This guy’s best possible case situation from this position is that he blocks the hit from his boosting opponent, leaving him still out of position facing the wall while his opponent faces his goal. He also has little chance of moving the ball toward the opponents goal, while his opponent has a very good one, being lined up parrallel to the wall. There’s also a good chance that he will end up upside down or turned over from his opponents hit, making things even worse. He gets lucky when his opponent misses.

The best move in this position is most likely to move back into a defensive position, keeping the ball and opponent between him and the goal, and choose a better spot to play back.

“IRL”, where do your plans leave you if you make a mistake, or when a risky move doesn’t pay off? In poker, people often play with only 1/100th of their entire ‘poker fund’ or bank roll in front of them. This mitigates risk so that during an unlucky streak, you can still survive to play another day.

Did you quit your day job to make a game that has to succeed in 1 year while living off meager savings? You should probably read Dan Cook’s excellent post on Minimum Sustainable Success.

Did you burn all your bridges with previous employers to make your new Oculus Rift VR-but wait for it, the hero is blind, (OMG!) out-there game? You kinda just boosted at a wall and hoped for the best.

The corollary is, as a very wise creative man named James Victore would say, “Use momentum as your friend. You only fail when you stop taking shots.” Rocket League is just extra tough on those damn rebounds every time you take and miss a shot, while games development requires that you get to survive long enough to take enough shots to score once or twice.

2. Prediction and Planning

What’s your opponent about to do? Where’s the ball going to bounce? What are your team mates doing? Judging these things takes a lot of practice and can result in some huge gains to your Rocket League’ing abilities. An obvious example of planning could be designating a goalie or defender, or informing your team mate that you’re about to center a ball, so they should get ready to take a shot. I felt a pretty noticeable click while playing at one point where, instead of forever driving straight at the ball, I’d start thinking a few seconds ahead of time and lining up for (seemingly now obvious) rebounds off walls.

Planning and prediction is a pretty valuable skill to have in real life, you’ll use it to guess at how large your market size might be, how long it’ll take you to develop something, how much money is required, what the server load might be, etc.

3. Meta game

The best place to look at the meta game in Rocket League is the kick off. Especially at lower levels you’ll find a common strategy where some players, instead of driving straight at the ball on kickoff, will sit back and let you fire a shot straight at them. They will save the flat shot easily, in fact kicking it straight back at you and into your own goal. The way to counter this is to chip the ball over them while they sit in goal, which is much harder to save. The meta game consists then of, will this player carry on doing this, or use it as a once off move? Will he come for the ball or sit back? What is your opponent doing, what has he done, what is he most likely to do next?

This ties in a little with prediction, and teaches us to consider the bigger picture and not just focus on each individual situation on its own. In game development, ask yourself how each feature you’re adding fits into the greater picture and how it serves your game’s end goal. How does this game you’re working on now fit in with the other games you’ve developed, or the audience you’ve built? If you’re going to kill yourself making your game, how does that affect the rest of your life and relationships?

4. Savings Strategy

Don’t spend it all at once, ya’ll. That’s what Rocket League teaches us in regards to our valuable boost meters. If you rocket around the place for no particular reason, you’ll soon find yourself with no extra speed when you need it most. The life lesson here is pretty clear, save something for a rainy day, you never know what may come up where saved resources will become invaluable.

5. Stay Calm

Due to the pace of the game, the excitement and thrill of scoring, winning, etc, you can sometimes fly at the ball and toward your opponents goal with such fervor that you may suddenly find yourself a) without savings in the boost bank and b) horribly overextended, or c) simply fumbling the controls and letting an easy save go begging. I think some of the greatest examples of control are the almost robot levels of emotion you see some Dota2 players having while avoiding almost certain death or wiping out an entire team on their own.

https://www.youtube.com/watch?v=8LpBFc3fbE0

Another important part of staying calm is when you’re in a bad, losing position, say 2-0 down or worse. The worst way you could handle this is just to quit the game, leaving you of course with no chance to come back. In the best case scenario you may stage a come back, or your opponent may get over confident. Even if you lose badly you can learn from what your opponent did and how he played, using that to improve your own game.

This is certainly one of the hardest things to keep under control in any competitive game and in more important life situations. I won’t pretend to offer any zen-like habits for keeping your cool, especially when I find it so hard, but the more you can actively practice this kind of thing in a zero downside situation like Rocket League, the better you can prepare for more serious and high emotion situations in real life. A good stepping stone to practicing emotional control is playing low stakes poker for real money, where the stakes are slightly higher, but not so high that you will negatively effect your bank balance too much. Entire books are written on the Psychology of Poker. This guy should read it (language warning):

https://www.youtube.com/watch?v=kojw0by3xcs

See how he does that pointless “rage jump” before the 2nd goal? He *might* have saved that shot if he kept his cool.

I find during games development one of the hardest things for myself is staying calm when I just can’t seem to figure out the cause of a certain bug. Often taking a break or going for a walk helps, as does writing and then not sending an email to a coder friend. This is called rubber duck debugging and I highly suggest trying it out.

6. SWOT 

SWOT is a classic business acronym that stands for Strengths, Weaknesses, Opportunities and Threats. Each of these is vital to manage as part of your Rocket League game and in life!

Strengths

Identify what skills you have as a player/person and capitalise on those. Perhaps you played a lot of volley ball in real life, so you’re great at judging and timing an airborne ball? You might choose to use that to contest far more balls and with more aggression and speed than most players. Or years of console gaming has given you great control over your Xbox controller, allowing some more reliable aerials.

Back to the concept art example from No.1, if you’re a beginning artist, you may use the fact that you have a lot of knowledge surrounding … say, the WW2 era, and choose to focus on drawing objects from that area of expertise. If you’re a game developer and love and play a lot of strategy games, it’s probably wise to develop something based on that.

Weaknesses

What do you seem to have trouble with? If you can identify these things, you can change your game plan or project to mitigate them. Bad in goals? Maybe find a team mate who is a great goalie? Or attempt to leave the goal earlier to intercept more balls before they become shots on goal. Can’t code, but want to make a game? Try Unity’s Playmaker plugin, which uses a form of visual scripting.

Of course, you can also begin training to bring up your weak points, but just remember not to over extend and try to do everything.

Opportunities

One of my greatest Rocket League pleasures is biding my time for a loose ball to come toward me as I sit in goal or in midfield, and then spearing forward to make an unexpected shot. Sometimes this can also leave me badly out of position, so I’ve been trying to reign this in a little in 1v1 and 2v2! Opportunities exist for epic, ego boosting playzzz almost every second in Rocket League, and identifying them requires practically every skill in this post. Can you identify a player like me that overextends too often? Where will the ball bounce after he’s taken that wild shot? Is my opponent going for that boost, and can I deny him? What if that goalie misses that cross ball and I’m right there?

Identifying opportunities in real life is just as all encompassing as in Rocket League. In terms of game development it can often take a more simple form of, “this game seemed like it would be great if only it had X”. It can take the form of a coder looking for an artist or vice versa. As in Rocket League, always keep your eye out for opportunities while considering the rest of your SWOT analysis, and try not to over extend with too many!

Threats

In defense you’re often faced with the question of whether to sit back in your goal, or farther out, or whether to even rush out to tackle a threat head on, before it becomes a problem. In Rocket League its easy to forget that you kind of have two threats, the ball and the opposing player’s cars. In your constant fixation on the ball, you can forget its perfectly acceptable to ram or destroy an opponent rather than kick the ball like in real soccer. It can also be easy to forget this while you sit motionless, waiting for a ball to drop down to you.

Also related to prediction and opportunities, try to keep your eyes open for opposing cars trying to take you out, and remember you can play the car, not just the ball, which is often a far easier ground based target.

Try to always be anticipating how a ball could bounce badly or where an opponent could boost forward and take a shot on your goal, and remember its usually best to tackle a problem before its flying into the upper right corner of your net at 100kph.

In real life this is a very important part of SWOT analysis for business and game development. Is there anything on the horizon that could derail your project? Perhaps release dates for big name games that clash with your own? An API that looks like its about to be deprecated? This happened to Class 3 Outbreak, more than once.

7. Study Your Failures

You can save and watch your replays from a variety of perspectives, and what may have been unclear in the heat of the moment can be very educational when viewed after the fact. Did you get carried away near the opponents goal? Use boost where you shouldn’t have? Gotten airborne for no real reason? Maybe that bounce was just a bit awkward and there wasn’t much you could have done about it? Or you could reveal a critical bit of information on how your opponent drives at kickoffs, which caused him to win most of them?

There’s been a huge amount written on the value of failing as the best resource for learning and improving. Look at your replays in Rocket League and look back at past projects to try and learn as much as you can so that you can avoid the same pitfalls next time.

Personally, I recall during development on Unknown Orbit, watching a number of people struggling with the controls but thinking to myself that my awesome, two image tutorial would fix it, or that “its a skill based game, so its supposed to be hard”. When Touch Arcade reviewed it, the video showed the player having some big troubles controlling the comet, which resulted in an unappealing looking game. For Class 3 Outbreak, looking back, I should have realised much earlier that development speed was going too slowly and that our views on where the game should go were too different.

8. Team work

In games, business, study and relationships, good team work and forming a good team is huge. You can quite easily mitigate your weaknesses with other team member’s strengths, pass the ball to each other to gain openings on goal, and back each other up in threatening situations. The right team environments usually boost morale as well as each team member is there to encourage one another and to bring you back up if you’re down (like my team mates often do in Rocket League by spamming “What a save!” repeatedly when I miss a save…).

In real life and game development, the obvious and smallest team is the artist + programmer, each mitigating the other’s weakness and fully utilizing their strengths while working toward the same end goal. Other less obvious examples feature two artists or two programmers but little code or little artwork respectively, creating games that don’t require the skill set they lack in.

A lesson I learned over too long a period with Class 3 Outbreak is that you need to share the same goals for the game. Not just “lets make a successful/great game”, but precisely what type of game it will be and what the focus of development will be. If one person has a dream of writing their own graphics engine while the other wants to make a Dwarf Fortress clone (for an overly obvious example), then you’ll be in trouble. In my case, I wanted to focus on gameplay while the programmer wanted to focus on tools, with the added problem that I had a free schedule while he had a day job.

9, 10, 11. Enjoy Rocket League, Cos Shiiieeet its Fun!

Being brought up in 80’s and 90’s where gaming was pretty squarely relegated to nerd status, I sometimes still feel a bit guilty playing games. So I think it’s also important to just let yourself have fun and play a game of Rocket League, and deafen whoever is on Skype with your screams of delight as you sail through the air, overextending wildly to execute an unlikely but epic shot for glorious, glorious victory, deep into overtime, earning yourself a well deserved MVP.

Nice Shot!

Wow!

OMG!

OMG!

OMG!

Wow!

OMG!

Thanks!

Great Pass!

… here’s some epic, grin inducing footage of some Rocket League pros. I may have watched this more than a few times now:

To be notified of more posts like this in the future, or get notified when there’s some rare news related to my in-development game, subscribe below:

Subscribe to Exbleative’s Newsletter

* indicates required

Games I’ve Worked On

I got this idea from Tom Francis of GunPoint and Crate & Crowbar fame, and thought I’d do a recap of every game I’ve worked on. Partially this is an attempt to share my game dev history, partially to make myself feel better about the lack of progress I’ve made in the last couple of years(!).

I’ll start with the oldest games and end with my most recent.

Powerslide

I worked on this game straight out of high school, it was a post apocalyptic racing game that focused a lot on, yes – powersliding physics. I made (if I can recall that far back) 1-3 tracks, I definitely did the majority of the desert track and maybe a lot of the dam and mountain (?) tracks. As my first job, first game and first crew of non-school related co-workers and friends, it was a pretty huge deal and I’ve got a lot of great memories. A Powerslide ‘plaque’ still sits behind me here in my office, which consists of a team photo and signed gold master disc.

Role: 3D artist / Texturing
Made in: Custom Engine
Platform: PC
Year: 1998

Dirt Track Racing

When you’ve got a game with nice powersliding physics, dirt oval racing is a pretty logical move. DTR let you race in a career mode that mimicked real life competition, complete with sponsorship, multiple classes and progression. I think I was credited as game designer, but when you’re modeling a real life competition from real racing, the game is practically already designed for you.

Role: Game Designer / (artist? so long ago!)
Made in: Custom Engine
Platform: PC
Year: 2000

“Next Game”

Looking back, this was probably an overly ambitious title for its time, and the game designs I wrote for it probably didn’t help! The concept would have looked a lot like GTA but in a Mad Max world, complete with FPS and car combat sections, and an in depth story to boot. I recall the original game design by Richard Harrison (part owner of Ratbag) was far more realistic but I had some huge thing for people leaning out of windows and shooting each other rather than ‘copying’ Interstate 76. Anyway, I think this design morphed over time but never saw the light of day.

Somehow, after getting my dream designer role at Ratbag, I just didn’t seem happy at all, in fact it was the opposite, the last year I was there I wasn’t enjoying it at all. I guess I went from making DTR where I had a lot to do, to being someone who sat in front of the game design document all day long. I left Ratbag in the early stages of development, having picked up a copy of Kiyosaki’s “Rich Dad Poor Dad” – I had a need to go start my own business.

So here’s where I left and formed Hyperfocal Design (sells HDRI sky maps). After the sort of crazy schedules games demanded, I’d somewhat sworn off returning to developing them.

Here’s a video, which ended up being fairly different gameplay wise from what I’d proposed:

I cringe looking back at how much harder the prototyping process was (I don’t think there was one at all), especially with today’s tools like Unity. Back then I’m sure I’d have realised early on that dudes leaning out of car windows shooting at each other in a big open desert would have been a little boring!

“Concrete”

I managed to secure some early funding from our state government for this one, but at the time, with this concept, it was unrealistic to produce without a large team. Even today I’d say unless it was top down/2d sprite based or something it was another over ambitious title and I didn’t want to form the next Ratbag to do it. I got as far as actually meeting with a couple of venture capital people but didn’t get any interest. The gameplay again was GTA-like but ‘cops and robbers’ where the robbers could mark territory with spray paint and blend into the general population (there were no names hovering above heads). I suppose in hindsight the design is a little like APB (minus the MMO part), which was a spectacular failure.

“Zombie Outbreak Simulator”

I teamed up with Saxon Druce from Ratbag to make this one about 5 years ago. It was step one on the way to releasing the next game, Class 3 Outbreak. ZOS was a sandbox simulation, not really a game at all, where you could adjust various attributes of zombies such as their speed, infection time and so on. We had some success in terms of press coverage because the game ran on Google Maps and it had a big novelty hook.

Role: Game Designer/Artist
Made in: Custom Engine
Platform: Web, then iOS, then Android
Year: 2009

“Class 3 Outbreak”

With ZOS ‘complete’, we then released the ‘real game’, which I still felt was quite devoid of features. At least it had a fairly nice core mechanic where you had to use police units to stop the zombies multiplying out of control. Unfortunately, due to Saxon being only part time on the coding side, and due to changes with Google’s APIs, and then some huge screw ups with funding from the government, this never went much further. Eventually Saxon and I went different ways – I was always pushing for more gameplay but he wanted to focus on things like the map editor. We butted heads a bit and eventually I handed over my share of Binary Space to him.

Role: Game Designer/Artist
Made in: Custom Engine
Platform: Web
Year: 2010

“Unknown Orbit”

I’m fairly proud of this little title, which I developed in a year and released on the Apple app store. It’s essentially a 3D Tiny Wings/Endless Runner where you orbit around a small planet as a comet. It did pretty average, made maybe $2-3k or so and now sells a copy a day. I think the biggest let downs from this game were that I probably made it too hard and didn’t make enough content, ie other planets to fly around.

Role: All things! No wait, Rhys Lindsay did the music and Saxon helped with some high score code!
Made with: Unity, Playmaker
Platform: iOS
Year: 2013

 

Enter the ‘prototype years’

Whereby I make lots of prototypes and never finish anything:

“Zombie Games”

I messed around with a number of different designs for zombie games and never quite settled on any.

Status: This one is still simmering in the background, and I wouldn’t be surprised if I tackled a strategic zombie game at some stage in the future.

“Generation Ship”

I then entered a phase where I thought I’d like to make a game with no combat in it. I still feel this is a very noble goal and that potentially there’s a lot of uncovered non-combat stuff out there, but I didn’t do a great job of finding it. I wanted to make a game about a Generation Ship that was trying to survive out in space, you had a galaxy map and a crew, and had to decide where to go, what to do to survive. In the end it was just no fun, there wasn’t much to do, and I’ve since seen other games come out with similar mechanics that I didn’t like much either!

Status: Now ‘reborn’ (below)

“Fighter Tactics”

Obviously here I’ve totally given up on that theory and decided to do a turn based space combat game. This was probably my most promising prototype, which I abandoned when I saw the Oculus Rift.

Status: Also reborn (below)

“The Station”

This was an Oculus Rift prototype that also got quite far along. I wrote an entire script for it, characters, made a prototype… The only gameplay consisted of this kind of ‘dimensional tuning’, controlled by head movement, that never really seemed to resonate with people. Also I realised if I was going to make this game, I’d become a full time 3D artist again, which didn’t appeal to me.

At this stage I’m realising how lucky I am to have Hyperfocal Design paying my bills.

Status: I may come back to this one day, I’m not sure – I liked the story and concept but just didn’t want to make it I suppose. Its also a pretty big commercial gamble having no idea how Rift games would sell.

“Generation Fleet”

This idea didn’t seem to leave me, and I thought, why the hell didn’t I try combining the two ideas of the Generation Ship and Fighter Tactics? I was thinking a lot about Battlestar Galactica as well, and Star Trek Voyager’s Year of Hell episode. In terms of games, FTL is an obvious inspiration, as is XCom, and I really liked SteamBirds and Hero Generations. So that’s where I stand right now – the Generation Fleet/Fighter Tactics game is in prototype phase, I like the game play and I’m just trying some variants to make sure the turn based space combat is as fun and strategically deep as possible. The Generation Fleet story/world surrounding it will form a kind of XCom style meta game.

Status: In development

 

–>

Subscribe to Exbleative’s mailing list

* indicates required



Subreddit Effect on Game Sales

sales increase subreddit

Sales from a mention on /whoadude subreddit

The above is a rather nice result from being on /whoadude for only 2 days! I know, its not staggering sales, but I just thought I’d post this up as what I think is an interesting example of what some small marketing efforts can yield. The owner of the subreddit /whoadude emailed me and mentioned he was going to feature the game, and that if I could provide some promo codes, that would draw even more attention. A free app service of some kind on twitter picked it up and tweeted it as well, so hard to know if that also had an effect.

I had no idea reddit even had these kinds of ‘header’ posts, but /whoadude has one, its just a small line of text which said “App feature, Unknown Orbit” or something along those lines. Check it out here. The owner changes it every couple of days to something he think his audience will like, and I can somewhat see the link between his audience and my game :) I might have to have a second attempt at getting my game in front of an astronomy kind of audience, as surely they would love the game?

So all I had to do was write in /whoadude asking people to message me if they wanted a free code, and that was it. Sales stayed quite “high”(er!) all month!

The 5 star ratings continue to flood in, and when I get quite good effects from small marketing efforts like this, it is encouraging, so as soon as I get a spare moment, I’ll be adding a couple of new planets to the game. Will see how sales increase once there’s more to do within the game, different environments, challenges, etc. Hopefully it wont be too long!

Cheers!
Jay

 

Suck at Coding, But Make Games Anyway

If you’re an artist or creative type, you may find that your ability to code seems opposite to your main talents, as I have certainly found myself! My main passion is game design, but without code, you can’t make a game, right? With tools like Unity3d and Playmaker(a visual scripting system for Unity) this isn’t necessarily the case.

After working part time on a couple of games, Zombie Outbreak Simulator and Class 3 Outbreak for a few years with Binary Space’s programmer/CTO Saxon Druce, I was looking to add more titles to my game designer belt, but at the same time I wanted to keep things small scale and achievable.

I had been playing a lot of iOS games while we ported Zombie Outbreak Simulator to iOS, and Tiny Wings in particular had me completely enthralled. From a gamer standpoint I loved the feeling you got of being in the zone, getting perfect jump after perfect jump. From a business standpoint I loved that it was essentially one level and extremely simple gameplay, hence quick development time. After toying with a few ideas for games, I ultimately decided to try a version of Tiny Wings that was 1st person, in 3D. Using just Unity, I struggled through some basic physics code to get a ball rolling around on their terrain engine (I can hear you laughing), and after a week or so, I was quite happy with the result. However, being the most hopeless coder of all time, progress was slow and infuriating. Not only was I trying to get my head around 3d physics and vectors, but also Unity itself, AND javascript! There are some creatives that can bash out some script without much problem, but I’m not one of them, and to learn this side of game development would set me back arguably years of study and practice, which at the ripe age of 32 I’m not willing to do!

Enter Playmaker

Somehow, I think while looking through Unity’s asset store, I saw Playmaker. Playmaker is a visual scripting system / state machine manager, which uses states (which house actions, each a snippet of pre written code) and transitions to develop a game. For a highly simplified explanation, you can attach a finite state machine or “FSM” to a character with the states “fighting”, “idle” and “walking”. Within each of these states, you can include animation actions, raycasting/shooting actions and movement actions. You transition between each state using events, ie within the idle state, you would add an action that waits for a left mouse click. This left mouse click triggers a transition event to the shooting state. Each action in a state is essentially a pre made piece of code that you can tweak and fit together to create a state machine, and eventually an entire game.

codeless game design
(Playmakers Test Lab example scene, which controls simple opening/closing doors)

You can see from the above image how, for creatives, these visual state machines are so powerful. When I look at a block of code, I see a wall of text, and try in vain to understand what it does, when it triggers, and what its doing at any given point. With Playmaker, I can glance at an FSM and see what it does in almost an instant. I can also see not only what it is doing in real time in the visual editor, but also in the game view, where each object will display which state it is in. I can’t tell you how good this is for debugging and just general understanding of what your FSM and the game in general is doing. Add to this things like debug rays, break points and more, and you get a very clear understanding of what’s happening.

Using Playmaker, I’ve just completed my first (mostly solo) creation, Unknown Orbit, where you can float, jump and fly around a surreal, 3D planetary system as a comet. Part time, this game has taken me about a year. Full time I imagine it would have taken 6 months, and now that I’ve learned Unity and Playmaker to a greater level, I think the game could be recreated in a few months if not less.


(Unknown Orbit Screenshot)

Here’s a quick example of an FSM for Unknown Orbit, where the player picks up snowballs. On the left is the states and transitions that controls when we move between states. The middle pane is currently showing the actions inside the “destroy self” action. In this FSM, when the player flies into a snowball and picks it up, an event is broadcast called “Add snow”.


(The state machine attached to a snowball pickup in Unknown Orbit)

The comet object hears this broadcast via a ‘global transition’, and enters a state that increases the radius of the comets ice core.


(The statemachine attached to the ice/snow object in Unknown Orbit)

Trade Offs

So what are the trade-offs you may ask? Well you will have some memory overhead loading everything in, and yes there are some small performance hits in some areas because of all the extra unused capability in the system. Playmaker isn’t optimized for any particular type of game, and neither is Unity. But today’s hardware is so powerful that unless you are doing something pretty crazy, you probably won’t hit the wall any sooner than you would using other approaches.

Another trade-off that I encountered was that due to a couple of levels of abstraction in the game making process, you can sometimes feel helpless to fix problems. I would find a bug and spend days trying to fix it, and be clueless to the source of the problem. I imagine this is common to some extent in most games, especially where you use someone elses engine/code/API, however when you are using an engine with a plugin to that engine, things can get tricky. Luckily both Unity and Playmaker have excellent support, and I further mitigated this by working directly with an expert in both Unity and Playmaker whenever I encountered problems I couldn’t solve.

Also while I have yet to encounter this, the more plugins you use with Unity, the higher your chances of conflicts, or of the creator disappearing/no longer providing support. If you are selecting a plugin/s to use with Unity, I suggest choosing ones that have been around for a while, receive frequent updates, and are active in their own forums. In my case, Playmaker actually supports my chosen interface plugin, which has also been around for some time, which was very handy.

The Advantages

In terms of game design, Unity and Playmaker are great in allowing you to focus almost entirely on building and testing ideas as quickly as possible. I’m personally focussed on game design, so this allows me to create ideas and prove/disprove them quickly, getting in as much practice and experience as possible in a short time span. I jumped out of games into a business and back again a few years ago, so I feel like I’m getting to make up some lost ground now! If you’re a game designer at a typical large studio, you might be making ‘safe sequel number 9999’, and while you may have some room to move, you can hardly flex your muscles and push yourself in terms of wildly different or unique designs. If for example you’re a designer “stuck” making say, racing games (happily or otherwise) you could practice in other genres with relative ease and low time commitment. I also believe that the less people you have on a project, the more unique and singular the design vision will be, creating more individual games. Using these tools almost puts you into a team that has created a graphics/physics/animation/etc engine and lets you run wild with whatever design you like, with little in the way of restrictions.

I’m also a big fan of Lean Startup principles, a concept that Eric Reis is famous for. Lean Startup is mostly a business approach where companies attempt to prove product or service ideas prior to launch, then quickly develop a minimum viable product (MVP), iterate on it, and get customer feedback as quickly as possible. This is the opposite to how games are traditionally created, where you define the game first via a design document, make the game, then hope it will sell well.

The Lean Startup?

For Lean Startup strategy, I think this combination of Unity3d and Playmaker is certainly something to consider for both large studios wanting to prototype ideas/MVPs quickly, or for solo/small teams, especially if you lack a coder and just want to dive in yourself! Throw in Kickstarter (a crowd funding solution), and you have a very nice Lean Startup strategy of games development where you can quickly create a prototype, develop a Kickstarter pitch, then prove whether people would pay for your game before you have heavily invested in it. Tyler York published an article on Lean Startup for games at Gamasutra.

So how did I follow the Lean Startup approach, exactly? Well, I did and I didn’t. Because this was my first Unity title, and I was going to be learning a lot, I picked and chose various concepts from Lean methodology while I decided to play it safe and attempt a fairly proven game concept. I looked at Tiny Wings, Dino Run, Dolphin Olympics and other games that were similar, and decided that because those games have had some success, that I was already aiming for a game that would have a good enough chance of success. If you like, you can go the whole hog and try to prove whether your idea would be popular by creating banner adverts or text ads on Google or Facebook, and see what sort of click through rate you receive. I then chose an art style that I was familiar with – I have 3D art/texturing as my background, with no animation required (I have no skills there), no AI, and just an extremely simple game mechanic that I could tune based on feel. My minimum viable product was done in days due to Unity’s built in physics – I showed some friends who approved and I was then on to the finished product. From my work on Zombie Outbreak Simulator, I was also familiar with freesound.org, where I sourced almost every sound in the game, quickly and free! For music, my friend Rhys Lindsay recorded me an awesome spaced out track. This left me to concentrate entirely on the learning process and fine tuning the game.

I would say that I followed Lean Startup mostly in respect to creating an MVP and final product with the minimum asset requirements, minimum spend, while iterating quickly and often. I honestly was a complete coward in terms of getting early feedback from anyone but friends, as I was genuinely scared that someone would steal my idea while I crept along at snail pace learning how to make it. I also just wanted to make something that was uniquely me, with little outside feedback. Funnily enough, towards the end of the project, I found it really helpful and great fun to work with testers and get their feedback. My apologies to them for not being able to add more planets! Perhaps in a future update!

Having now completed one Unity game using Playmaker on my own, I have the following advice for developers in a similar situation:

1. Aim for small, simple games you can do yourself, and play to your existing strengths. I thought UO would be so simple I’d get it done in a few months. If I’d cloned Tiny Wings, and not gone for a rather difficult 3d planetoid/moon setup, then perhaps that would have worked. However you should think about things that will take up a lot of your time, namely characters, animation, even simple 3d modelling will take you some time if you don’t come from an art background. My first job was a 3d modeller, but it still took me time to get back up to speed on Blender.

2. Use a simple art style with reuseable assets and gameplay loops (see this Lost Garden post on loops vs arcs). A story based game with loads of content and 20 unique levels will take a long time just to create the assets, whereas something like Super Hexagon is the perfect example of a game with little art assets.

3. Use creative commons assets, especially for sound and music. Freesound.org is the best! Make sure you don’t just note that there is a CC logo attached – read it and make it sure allows commercial use. I leave the file names intact so that I can go back and make sure everyone is credited properly.

4. Try to find an advisor of some sort. This can be anything from the guys on the unity and playmaker forums, to the unity chat channel, or the numerous playmaker/unity3d tutorials. I highly suggest looking at WellPlayedGames tutorials for learning Playmaker.

Without a helping hand or two, I would have spent a lot more time banging my head against the wall.

5. You will probably need at least one or two bits of code (shock horror!). I had Saxon, from Binary Space on my side to help with the highscore system. As Playmaker progresses, chances are we will need less and less code, but for now I think a good number of games will need at least a little. One recent addition has been an Array Maker that Jean Fabre has written, which I could have potentially used for the high score system.

So yes, coders might still be required for some games, but proving that you can make/release a whole game on your own will prove to yourself, potential partners, funders, kickstarters, etc that you have a work ethic and can get things done.

As a further note, strangely enough I’ve found that using Playmaker has actually solidified my understanding of things like object oriented design and other programming/design concepts. So I think it can be helpful in learning these concepts as well!

If you’re a creative or just really want to bang out a prototype with great speed, I highly recommend you try out this combo of Unity/Playmaker.

You can download a free version of Unity here: www.unity3d.com

Playmaker is available from Hutong Games on Unity’s asset store, and I’m pretty sure its still on sale: http://hutonggames.com/

Here’s the end result of a years worth of work (part time) on Unknown Orbit, by one guy with no programming experience, some 3D skills, and some game design background. Made using the iOS version of Unity3d and Playmaker: http://youtu.be/W1CRM5EMMYo

Unknown Orbit is developed by Jay Weston at Exbleative (www.exbleative.com) and will soon be on the app store for iPhone and iPad, projected release date December 4th! Unknown Orbit lets you float, jump and fly around a surreal, 3D planetary system as a comet. Find out more here: www.exbleative.com/unknown_orbit/

© 2024 Exbleative

Theme by Anders NorenUp ↑