Game Design as Programmer

Game Design as Programmer


hey guys what’s up I’m Ombarus and
welcome to another episode for those who don’t know I’m a game developer and I’m
working on developing my own game as an Indie independent developer but before
that I was working for a game company and I have some experience in game
development and I’m here to share this with you guys and today what I wanted to
talk about is something that I haven’t done while I was working in a game
development company mainly game design you see I think I’m a good programmer
but developing game is not just about coding away and finishing a program
it’s about developing something and designing it and today I’d really like
to ask you guys listening if you are a game designer or if you’ve designed your
own game I’d really like some inputs about how do you get your design juice
flowing how do you get from like an early prototype to the whole final
product do you see everything in your head or do you write it down on paper do
you like to make spreadsheets how do you come up with the design and how do you
iterate on your design because these are the kind of things I’ve had to figure out
this week and let me tell you it’s harder than I thought I thought
programming like, the physic engine for a racing game is really hard
and it’s a really big challenge and it’s very difficult but then making the cars
run like a Ferrari or Bugatti Veyron or something, is you know, just tweaking some
numbers and anyone can do that right but over the years I’ve come to realize that
there’s a reason why game designers are kind of the rock star of the gaming
industry it’s actually really hard to get a good game design. It’s it’s easy to
pitch a bunch of feature together but to make them fun and tweak them just the
right way it’s something hard to describe but it’s very very difficult to
achieve and again as usual to find some inspiration I started looking at what
are the level designs what are the enemy designs of
my principle inspiration for the game I’m developing so I looked at
Dungeon Crawl Stone Soup, I looked at Nethack and I looked at like the
branching structures of all the levels in DCSS and what are the branches what
do they represent how deep does the dungeon goes how many level in total
there are and how many enemies in total there are and then I looked at Nethack
and I did the same thing I looked at in what ways are the mines different and
what does going into the mind accomplish beside like being something
separate from the main branch and even though this week I’ve been spending a
lot of time trying to ramp up my game design I feel it’s not something you can
rush it’s something you have to iterate over you have to think about it
you have to scribble on it you have to play the game in your head and try to
figure out what it is that will make the game unique and fun to play and
will tie everything together you need to… even though I’m not
planning to have a very big story I still have to think about what elements
make sense you know in Nethack you’re going down some kind of
dungeon it kind of makes sense that there’s a branch that’s a mine because
you know you’re underground and then it makes sense that at some point you
stop being in the dungeon and you enter like the gates of hell and you’re in
Gehennom because you know you’re going so far deep and it’s related to the story I
mean it looks simple but it’s just kind of these tiny things that I think can
make a game really stick with people when they play through it. In the very
first episode I talked about this new project I wanted to start I showed that
I’ve been taking notes and writing things down in a variety of ways I’ve
been taking notes on papers and then when I’m satisfied with it or when it’s
getting too much for the paper I move on to The Machine and then I put notes in
my notepad it’s just to throw ideas out there so that
eventually I can come back to it and try to filter the good from the bad and I’m
at the point now where this is what I have to do so that’s what I’ve been
doing this week is going through these lists reminding myself of all the stuff, the
themes you have in science fiction, the kind of civilizations you might
encounter and I’m trying to come out with the bare minimum of things I could
implement to make this game interesting I’ve been trying to put them in a kind
of a cleaner way so that I can actually have some kind of design document I can
refer to whenever I want to add something new and so I’ve been doing
this in the Google Spreadsheets and so in green are the things that I’ve
already implemented and then the other stuff is things I think I could add
fairly easily to make the game into a complete system as you can see there’s a
lot of stuff missing but I haven’t come up with all the stats yet but it’s
starting to take shape and I’m putting in yellow things I might not be sure about
and you know this page is only for the items and the ships and the consumable I
want to add then I created another tag for like the crafting and what the
recipes could be and all this kind of stuff then I made another tab where I
could think about the story not necessarily just like the text or the
quests and stuff like that but also like what kind of races I want to implement
and what do they represent and who they’re going to be and all this kind of
stuff and then I have this tab I added for the level design which are what kind
of things I can find in the level to make it interesting and for this I
based myself a little bit on notes I took from nethack so I looked at nethack
and I was like okay yes nethack has rooms you move
around in the level and there’s doors and there’s stuff but even though me it’s
space I should at least have some interesting
stuff that the player can encounter beside like enemies otherwise it’s
probably missing something and so I thought is there equivalence or can
I have at least as many thing and when you look at it you realize there’s not
that many floor items I was looking at really the different types of items you
can find that are really unique and provides some kind of different
gameplay and I thought well I’m gonna need the same amount of thing if I want
to make my game interesting so I started thinking about what can I add that’s not
enemy ships but that can make the game interesting so I already have the
planets and the Suns but I thought okay I can add an asteroids and nebulas these are
classics but I thought okay what else can I add well in Nethack you can find
chests or stuff like that in the middle of nowhere so maybe I can add
disabled ship that you can stumble upon and then you can loot for more stuff and
then okay traps well traps can be anomalies
maybe you encounter something that corrupts your system or that holds you
down and shuts down your engine for a couple of turns
I have been just looking in general looking up information about space what
kind of cool stuff you can find in space and trying to see if they would fit into
the narrative I’m trying to build because that’s really what I’ve been
doing this week is trying to build some narrative that means I have to think of
it in an iterative kind of way and I thought okay starting with a small
number of levels with a few races and the minimum number of ships is gonna be
probably the way to go and then I’ll extend I can add more level I can add
more branches and as long as I have a subset of all the features I kind of
want to implement I think it’s a good place to start and that’s what I’ve been
doing this week so I’ve completely redesigned my json’s and honestly there
wasn’t so much code involved because I knew where I was going with this when I
developed it the first time it’s just that I hadn’t scaled it I was just doing
tests so I just had Json’s of different levels for testing a lot of planets a
lot of ships a lot of you know different stats for different ships and stuff like
that but there were all prototypes now I’ve really organized it so now I’ve
created this main folder in my levels with all the 11 main level of the game
and then I have these branches and I decided that each branch for now
would have only three levels because in nethack each branch has about anywhere
between like 3 and 4 levels so I thought 3 is a good number to start with I
started creating more JSONs for the ships too so these are the kind of
testing ships I had but now I’ve broken them up in folders and I have 3 ships
for each races with the humans having a little bit more variation because
they’re the first one you encounter and I wanted to have a little bit more like
I wanted like a jelly type of enemy that doesn’t really fight back so you
can just get to learn the game a little bit on the first level and then after
that you start encountering like Scouts and I’ve been trying to tweak the numbers I’ve started thinking about the frigate but right now
the numbers are kind of like just stuff I threw out there and I really don’t
know if it’s gonna work or not I just pulled them out of my head so
like the chances of each ships dropping stuff I mean it makes sense for example
I know that the frigate is never gonna drop a scout body but has a chance of
dropping a frigate body but is 10% a lot is it too little I don’t really know
and it’s the same thing with everything like I know at some point I want the
player to encounter a converter level 2 but is this chance of dropping per
frigate high or low I don’t know I mean my idea was that the frigate would be
kind of a utility ships so they have more utility slots so that if you want
to make a build with a lot of utilities then you would go with a frigate build
and that means that probably you want them to have a higher chance when you
kill a frigate you want them to have a higher chance of dropping utilities and
as opposed to like if you’re hitting a battleship then you want the
battleship to have a lot of weapons and so probably killing a battleships has a
greater chance of dropping some weapons but for now I don’t have that
many items as you can see I made it so that every item in the game has a chance to be dropped from every ships in the game it’s just that
certain things are very very low the chance that the human ship would
drop an alien converter is like one in a thousand you basically have to kill a
thousand human ships to get a chance to get an alien converter but if you look
at another race then the chance that they drop a human
converter is very low but the chance that they drop a converter specific to
their race is a little bit higher once again is this too high, too low I
have no idea and right now after I did all that I installed the game and in the
last few days all I’ve been doing is just playing the game and then seeing
what works and what doesn’t and right now I know that the enemy ships are
kind of too powerful they’re basically equipped just like you are so that means
that you have about a 50/50 percent chance of winning the fight or losing it
and that means that if you meet two enemies at the same time you have
absolutely no chance and that’s the interesting thing about the design I
think a lot of programmer underestimate how important it is to test your game
and iterate your design now I’ve been playing my game for a few hours every
day and I do mean playing it I don’t mean like doing tests or trying to find
bugs or I mean just playing it trying to get to the end trying to beat the game
and it’s it’s made me realize a whole bunch of issues because a lot of
programmers thinks that if I implemented a feature it does what it’s supposed to
do then it’s perfect and complete but it’s not true
if it’s irritating to the player if there’s a little something that makes it
just annoying to do like for me crafting the missile you have to
use a lot of missile in the early game and crafting them is very painful on the
touchscreen and just this is probably enough to push any potential
player away from my game and so I’ve been trying to iterate over my design
and improve the user experience so that when I get this good user experience I
can concentrate on the game design and see if it’s really the game design
that’s flawed or if it just needs a few tweaks to make it just perfect if you
have something to remember from this video is this : test your game, play with
it, not as a programmer, not as a game designer just play with it and try to
have fun and then after a couple of time playing it you’ll come up with some
ideas to improve it and then try to work on these ideas and that’s what I’m gonna
probably keep doing for the next couple of weeks while at the same time I’m
working on the UI and implementing maybe some new features and I hope you guys
have some tips and tricks to help me also work on my design
what do you do that to help you iterate through your design what do you do when
you have this idea of having like 400 monsters in your game where do you start
how many do you implement to have a fun game at the beginning and then work your
way to like these 400 monsters you want to implement I’d be really happy to hear
about your inputs in the comment section and I hope this was some how
useful for you guys and I wish you a happy week and see you guys in my next
episode bye

Leave a Reply

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