Gamasutra: The Art & Business of Making Gamesspacer
Suck at Coding, But Make Games Anyway
View All     RSS
October 21, 2014
arrowPress Releases
October 21, 2014
PR Newswire
View All





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 
Suck at Coding, But Make Games Anyway

December 5, 2012 Article Start Previous Page 2 of 3 Next
 

The Tradeoffs

So what are the tradeoffs, 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 else's 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 plugin(s) to use with Unity, I suggest choosing ones that have been around for a while, receive frequent updates, and whose creators 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 focused 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 fewer 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.

The Lean Startup?

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.

For lean startup strategy, I think this combination of Unity 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 game 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.

(If you'd like to know more, you can read Tyler York's Gamasutra article on lean startup for games.)

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 concept 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 clickthrough 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 a snail's 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!


Article Start Previous Page 2 of 3 Next

Related Jobs

Rumble Entertainment, Inc.
Rumble Entertainment, Inc. — San Mateo, California, United States
[10.21.14]

Technical Product Manager - Platform (Chinese Fluency)
InnoGames GmbH
InnoGames GmbH — Hamburg, Germany
[10.21.14]

Mobile Developer C++ (m/f)
Treyarch / Activision
Treyarch / Activision — Santa Monica, California, United States
[10.21.14]

Senior UI Artist (temporary) Treyarch
Treyarch / Activision
Treyarch / Activision — Santa Monica, California, United States
[10.21.14]

Lead UI Artist






Comments


Brett M
profile image
I would recommend the Antares Universe unity addon too. It has a state machine like Playmaker built in, and it will actually help you learn to program aswell, because it's blocks are 1:1 with the documentation.

http://img507.imageshack.us/img507/4826/tutorialinputball3.png

Playmaker definitely requires programming for anything slightly complex with custom classes, etc.

Nick Harris
profile image
I believe that coding is difficult because it forces the programmer to express their solution in one dimension, even if the problem entails multiple dimensions. Equations with subscripts, superscripts, division bars, etc. are two dimensional constructs on the page, even though they can be represented as functions nested inside one another in accordance with their operational precedence. Matrices are two dimensional. Tables are two dimensional associative pairings of a symbolic key and one or more values of some expected type. Vectors are degenerate 1D Matrices, whilst Matrices are degenerate 2D Tensors. The Finite State Automaton's graph is most comprehensibly expressed two dimensionally. The Halo 3 Forge is four dimensional insofar as you get to define when and where a weapon / vehicle (re)spawns within a 3D map. Its custom game settings will let a group of friends play the game with adapted rulesets that encompass pastiches of Call of Duty, Battlefield (Flag Rally = Conquest Mode, with depleting reserviors of tickets), Left4Dead, Crazy Race Tracks and Silly Obstacle Course challenges. Far Cry 3 allows the terrain itself to be remodelled and pre-fabricated buildings quickly placed and tested for in-game sight lines. Little Big Planet's rich creative toolset and 2.5D simplicity explains its success - proudly celebrating the 7 Millionth user generated level:

http://www.mediamolecule.com/blog/article/littlebigplanet_the_roa
d_to_7_million_levels/

These console "mod tools" aren't successful just because they foster exploratory creation through instant feedback (i.e. no waiting for your experimental changes to compile), but because they spread out the space in which the problem is articulated: usually by providing 1:1 contextual triggers for in-game events. Yet, a degree of indirection supports the construction of mechanisms, traps, and even computers!

http://www.youtube.com/watch?v=ZiRgYBHoAoU

I mention all this as I forsee a convergence between development tools, mod tools and open source. In the future Independent developers should not have the unnecessary burden of having to build and debug a 3D engine from scratch, to handle collisions and a stereo soundscape, they should be able to adapt AI routines written by others and published altruistically as open source, common models of trees and buildings should be done once and made available to all rather than needlessly replicated. If someone makes a virtual Paris for a racing game, some of that work can be reused for a detective game, etc.

Right now there may be two developers at different companies struggling to build two Eiffel towers!

Austin Farmer
profile image
While I agree with most of what your saying I do have 1 issue.

"In the future Independent developers should not have the unnecessary burden of having to build and debug a 3D engine from scratch, to handle collisions and a stereo soundscape, they should be able to adapt AI routines written by others and published altruistically as open source, common models of trees and buildings should be done once and made available to all rather than needlessly replicated. If someone makes a virtual Paris for a racing game, some of that work can be reused for a detective game, etc"

The problem for this is most game assets are custom made for that game or even that specific level. How would you like to be playing GTA5 and see the same gun from Fallout New Vegas, while this might be cute to some, I personally would feel like they were shorting me a gun model. And the 2 different developers could just buy an eiffel tower model if they were that terrible at modelling.

Richard Matey
profile image
Using Playmaker close to a year, I can indeed say that Playmaker is a gateway drug for artists / designers to get more involved in the logic side of game creation. Since then I have learned Javascript and can now see where the coding learning curve runs right brain focused people right into a wall. Mostly terminology, remembering all functions and how to use that can be so tedious and cumbersome, that from start to actual playable is so unreachable or discouraging that it turns people away. While Playmaker makes terminology easy and logical like "create object" instead of "instiante", then it makes it very clear what you can do with those functions and easy helpers in clear view. I think this is the break through for me and Playmaker is nice because it is not just paint by numbers and can scale to having some fairly complex machines.

Love Playmaker and hope to see more systems expand on this idea.

Ozzie Smith
profile image
This was a pretty inspiring read, thanks! I too am a designer that is not very good at coding. I will definitely be checking out Playmaker because of this article. Thanks!

Daniel Campbell
profile image
I'll have to check this out for sure. I've been working on design for a long while now but programming is something that I just can't seem to wrap my head around. This looks like a good happy medium. Thanks for the write up!

Lauren White
profile image
Thanks for the inspiring article. Coming from a psych research background, it's great knowing that it's possible to make something awesome without a coding background.

Ramon Carroll
profile image
Great article, Jay. Thank you very much for sharing this. I love Unity, but was not aware of Playmaker. Do you know how stable it is with Unity 4, and if there are any alternative tools/plugins like it?

Chris Hendricks
profile image
Playmaker, Antares, and uScript all come quite highly recommended, and are all available on the Unity Asset Store. I don't know how stable any of them are with Unity 4, but given their collective userbase, I'm sure they've been hard at work at it.

I'm glad for things like this, because it provides a nice bridge for artists who know the logic of what they want done, but don't know the language the program "speaks" to make it happen.

Michael Mullins
profile image
Ha! How about the opposite? :) I keep meaning to take up sketching and human anatomy, but all these science-y things keep interjecting.

As a more serious encouragement:

The key thing I've learned being an english nerd turned engineer, curiosity, perseverance, and a measure of pure bloody-mindedness are the three greatest traits to cultivate in making the leap to any STEM-like discipline. They turn a person's thoughts from "that... is too much for me" to "I can almost pretend I understand it" to "I think I got it" to "Old hat old bean". Keep at it and be grateful for the kindness of teachers, friends, and mentors.

Michael Mullins
profile image
I should clarify. I mean encouragement to not just let tools like Playmaker be the end of things for you. Be curious. Try stuff. Learn something and then learn something else.

[User Banned]
profile image
This user violated Gamasutra’s Comment Guidelines and has been banned.

Will Corona
profile image
The layout of coding looks very much like, if not entirely like, Unreal Engine's coding system.

Remy Trolong
profile image
Great article! I'm still on my "journey" to release my first solo game with Unity, so this is full of hope and good advices. I'll give a look at Playmaker, and also Unknow Orbit :)
Keep it up and many thanks for sharing!

Rusty Johnson
profile image
Great article and motivating!

Daniel Hayes
profile image
Thanks for the great article, I just started using Unity this month and I am excited to try Playmaker out!

Steve Cawood
profile image
I use Playmaker all the time now, occasional coding my own simple actions. I can now actually concentrate on the logic of what I want my game to do instead of wondering how I program it.

David Konkol
profile image
Now if there was something like this for easily making 3d models, adding bones and animating them.

Jeremie Sinic
profile image
This is very inspiring. I have been thinking about getting into coding for a while now, but never really did. This article has convinced me there is no reason left for me not to try. Thanks!

Eric Schwarz
profile image
Hmm.

I learned flow graph scripting in engines like CryEngine and Unreal before I ever did anything in actual scripting. Now that I have a fairly good grasp of scripting using C++ (and could probably move to other syntax fairly easily), I wonder if this would be a good way to make the leap from scripting to actual coding.

The only thing is that I feel that the game engine should already handle so much of the coding side of things already. The wonderful thing about using an engine like Unreal is that, for the types of games it's built for, you can literally get started making a game in it with almost no tweaking necessary (and usually it's to the small stuff, like camera distance from the character, UI placement, etc.). If you are at a point where you have to program the physics yourself from scratch, I feel that's already a problem for game production.

While custom tweaks to an engine are always going to be needed for certain games of course, and any engine should let you edit just about anything, I do think that the idea of a "game kit, just add content" is probably a better route if you have a specific genre in mind. I'd love to see the same thing for, say, RPGs, RTS games, and that sort of thing in addition to just shooters.

Austin Farmer
profile image
I agree with Eric. It seems like most engines these days are tailored for shooters or 2d games. I would like to see some more suited for other kinds of games.

Jashan Chittesh
profile image
Actually, Unity is a general purpose and yet easy to use engine. It makes no assumptions on the kind of game you're making ... except it being a 3D game. So, due to the concepts used, 2D games aren't supported that well - but still there's a lot of 2D games done in Unity, and packages on the Asset Store which are designed specifically for creating 2D games (so they kind of add what Unity is missing on that end).

I haven't looked into ShiVa but I guess that's another "general purpose" engine. If I liked coding in LUA, I'd probably try ShiVa ... but since I prefer coding in C# and am very happy with Unity, I don't look much further ;-)

William Bell
profile image
Great article! I'm somewhat the opposite - I'm a programmer with minimal artistic skills (which I am slowly improving.)

I still enjoy using PlayMaker because as you mentioned, it's visual coding, and designing around states really helps to keep things organized, manageable, and understandable at a glance.


As far as for teaching myself Unity and PlayMaker, I found it very helpful to port a couple of the 2D games created in the "The GameMaker's Apprentice" book (for the GameMaker engine) to Unity & PlayMaker!


The 2D art assets were already created on the book's CD, so it was then just a matter of learning how to create the sprites, collision objects and physics back in Unity and getting PlayMaker to mimic GameMaker's code blocks - in some cases I even created custom PlayMaker objects to more closely match the functionality of GameMaker.

Turned out the be a great way for me to learn PlayMaker and Unity.

Seeing how easily I was able to port the GameMaker games to Unity made me appreciate the power of using Unity & PlayMaker together - what a powerful combination!

Jashan Chittesh
profile image
I thought it might be interesting for people using PlayMaker that ScoreFlash (basically "Scrolling Combat Text on Steroids") also has PlayMaker actions. I've just uploaded a video showing how to use ScoreFlash with PlayMaker- http://www.youtube.com/watch?v=sFsUokJ5dTs

Let me know what you think!

Jacob Merrill
profile image
I have used logic to code a hunting/ path finding AI

My logic bricks are undeniable
Blender wins again
http://www.youtube.com/watch?v=H3lEgMqm1eg

Jacob Merrill
profile image
I have used logic to code a hunting/ path finding AI

My logic bricks are undeniable
Blender wins again
http://www.youtube.com/watch?v=H3lEgMqm1eg

Michael Graham
profile image
While I started visual scripting with Playmaker I've since made the move to another visual scripting tool for Unity called uScript.
I find it a lot easier to debug but if any of you are interested in seeing it in action below is a link to a demo video that I made for people who are doing tutorials in uScript that I'm running out of Sydney.
http://www.youtube.com/watch?v=Pp-LI7wvRWo
As you can see it is very similar to UDK's Kismet, but I've found just as flexible as Playmaker and again, a lot easier to debug.


none
 
Comment: