Hello again!
I'm going to discuss what I've been calling Save Step developing.
I know it goes by a few other names, but I can never remember what
they are. This is, in my opinion, the best way to develop games by
far. No matter what project you are working on or how many people are
on your team this is going to help you a ton
Alright, before I dive in to explain what this is and how it works
let me first discuss a few forms of developing that I've seen. I may
miss some, so I apologies. But if you know of any others let me know.
To begin with I usually see people view a project as a whole and
not pieces that need to fit together. This often overwhelms people
and they lose track of whats important very quickly. Pretty much
right out of the gate they have lost what is important and instead go
for what is interesting and fun. It's hard to blame them, we all want
to get to the fun bits and just get to the tedious parts when we get
to them. But this often gets the developer to drop out of the project
before they even finish what was supposed to be the fun part. They
get overwhelmed with all they need to do and with no priority they
aren't able to manage the project well.
I've seen some people essentially do a 'you do your thing and I'll
do mine and then we'll put it together when we are done.' This seems
fine since who ever is on the team is doing what they are good at and
thus they should excel at their part. And they do to an extent. They
will make some great code or art and they will be happy. But when it
comes time to fit the pieces together they find there is much re-work
to be done and that puts a damper on the project leaving people to
drop out.
We got a basis of some ways that don't work and I'm willing to bet
that any I didn't cover will be close to what I explained. So let me
explain Save Step and why I think it's a much better approach.
Save step breaks the project down as much as possible. It's all
about 'if something goes wrong, I can still ship it.' In the future
you'll hear a lot about MVP's which stands for Minimal Viable
Product. This is the bare minimum needed for the game to be playable.
Save step finds what the MVP is and gets every one focusing on that
aspect and making it perfect. Then, when that is playable and
looking/feeling good then you move on to alpha, which adds a tiny bit
more to make the game even better. A new feature, for example, may be
added on top of the already existing MVP.
Let me give you an example of how it might work with a famous game
we can all recognize, Mario.
What is Mario's MVP?
Do you need bowser? Nope.
Do you need
Peach? Nope.
Toad? Nope, goombas? Nope, Warp tunnels? Nope, nope
nope nope.
Ok, so what do you need?
You need Mario, the ability to jump
and platforms. That's it. No backgrounds, no music, no SFX, no
nothing.
Make Mario moving forward and jumping feel and look good and
you've got a game.
Then for the Alpha build you could add Goombas and pillars. Or
maybe push those off and instead have Mario walk and run instead of a
static speed. Then have the Goombas and Pillars next in Beta. You'd
keep adding features like the warp pipes, Bowser, Flying enemies,
etc. etc. with each step until you have a game that looks and feels
great.
Save Step also helps with feature creep. Wanna add some awesome
feature that is going to be so fricken' sweet!? No problem, just make
sure you get the base game and plan out when that feature will be
added by figuring out what is needed before that feature is even
worth having.
For example:
Yeah it would be sweet to have Mario shoot fire
balls, who wouldn't want that. But first he needs to jump, there
needs to be enemies to shoot at, It probably wouldn't be much fun
without having Mario move around a bit. I also need to make a box for
him to hit and have a flower sprout out and he needs to be big to
shoot the fireball. Ok, no problem.
MVP = Jump, platforms, move forward and death.
Alpha = Run and
walk
Beta = Overhead boxes
Capa = Goombas and death
animation
Delta = Ability to grow, Mushroom movement
Echo =
Flower and fireballs
Now much of these can be changed around based upon what the team
feels is more important and easier to do. But you get the idea. There
is a lot of steps to get to that awesome feature, but each probably
seems much more do-able. It's no longer “I gotta do all of this
before I get anything cool!?”. It's more “Ok, now I just need to
do this, then that and I'll already have something cool then if I
just add a little more it will be even better! Just imagine when I
get to the last thing!”
Notice the MVP is the biggest hurdle, but once you get that done
you'll already have something to show off to people and get feedback
(Always remember to test!!! Test early. Test often!). It's also
usually not that big of a hurdle. It's the ground work needed to make
the rest of the game even do-able. It's often the easy stuff like
making a character walk or what have you. The tough parts come later,
but are broken down to bite sized bits. Plus, while you're working
away at that tough part you can have people testing and enjoying your
creation already and giving you feedback so you can limit the
re-work.
With save step every one also needs to be on the same page – for
the most part. There is an exception and I'll get to that. For now
every one should be on the same step and communicating about what
needs to be done during that step and if there is prep work needed
for the next step (which shouldn't happen if broken down
correctly.)
If one part of your team finishes early, lets say
artists, then they can be testing the build as the programmers catch
up. This allows every one on the team to be playing the game -which
you should do. - and It helps let every one know what needs to be
done still. Each step should also be punctuated by a round of testing
to help every one on the team get familiar with their product, how it
works and how it looks. If you ignore testing then you don't know
what your game is lacking and you'll never be able to really improve
it.
After the round of testing the whole team can move on to the
next step. But to move on the previous version must look awesome!
******* A quick note*****
Notice I never say the game should be
perfect. If you are a perfectionist you will have one hell of a hard
time. Your game, your art, your product will NEVER be perfect. NOT
EVER! There is no such thing as perfection. You can only do good,
great, amazing and so on, but never perfect. Does this mean you
should skimp or neglect? Of course not, why are you being so silly?
No, you should try your hardest and of course make something you
are proud of, but you also can't waste your life on one aspect of one
game. You'll have other chances, other games and other projects. Move
on and get the game out the door. No one cares about a game they
can't play. No one cares about a movie they can't watch and no one
cares about a book they can't read.
Sorry about that rant, but this topic kills projects.
*********End of side note*******
Ok, so I mentioned an exception to when people might not be on the
same step. That exception is the MVP to Alpha phase. The only reason
for this is you can't test the game yet, potentially. If you can't
test it then the part of the team that isn't working needs something
to do. They may move on to the next step or they could be doing
research, marketing, gathering resources, etc. etc. There is a whole
slew of things that can be done, but some times it's just best to let
them move to Alpha and get a head start. However, once something is
playable they should be playing it and also have that round of every
one play testing.
Save Step also helps kill babies. - Its a term! I swear, I'm no a
jerk!-
The features of the game that really aren't needed should
be pushed to the back of the line in save step. Going back to the
fireball in Mario; It would be cool to have a fire ball and it's fun
to shoot it and you feel powerful. But is it needed? Would the game
be enjoyable without it? If you were running out of money or time
would you feel that fireball is absolutely needed for the games
survival? Will the game die before it was born simply because it
lacked the ability to shoot fireballs?
Of course, it would! Fire balls are awesome!
But seriously, No the game doesn't need fireballs. It still would
have been fun and enjoyable without them and if the the team ran out
of funds or time the fireball would be one of the first things to be
cut from the game. Maybe in the sequel you can have fireballs.
So that’s a look at Save Step development. It's a great way to
organize a team and keep every one on track. It breaks down an
overwhelming project into bite sized tasks and encourages team
communication. It helps limit feature creep while ensuring that at
any point in time the product you've worked on so hard can be shipped
and you still would feel pretty happy with it.
As always, if you have questions, comments or the like I'm always
happy to field them.
Hope ya enjoyed this piece and next time I'll cover a topic that
really sparked this blog. How to start developing a game without
going digital. This topic will cover how to save money, rework and
-in the long run – time.
No comments:
Post a Comment