This is: how to make a video game.
(Woohoo!)
Alright. So…First we need to get, like, the definition out of the way like what even IS a game?First off: you have to be able to do things like… the player has to have choice, or agency.So if it’s just, like, sitting there watching something that’s called a movie. They have those. Those aren’t games. The second thing is a failure state. If the game has no failure state, it’s more-so a simulation.
(pointing to the top-right) Like this is an iPhone game called Mountain. You literally just watch a mountain. You can tap and it drops objects onto the mountain. You don’t lose. Ever. (pointing to bottom-right) And this is Goat Simulator. You can never die. You just run around and run into things.
But like games like Candy Crush, you know, Oregon Trail, and other sorts of games like Call of Duty… If there’s ever a time when the player goes into a “failure state” and they think to themselves “oh if I did it better NEXT time…” Like THAT’S considered, like, you know, the ability to choose, and like affect the outcome and have that outcome either be positive or negative… That’s what we’re going with our definition of a game.
This being specifically video games, we’ll go over the Overview. So this can kind of be applied to, like, board games as well but this is more-so like digital stuff. So… The overview of the 10 steps to go into making a game: You need to come up with your Idea. Create a theme around that idea. Have some basic mechanics built into like a sandbox, making sure those are all working right. Then create the environment, maybe some character models… code in the complex mechanics… get some sound effects going… finalize the UI and then actually release it. And then make updates. Not that… Numbers 4 thru 8 can actually happen in any order. Or maybe they can happen at the same time if you have a large development team. But in theory you can’t get to number 2 unless you have an idea. Like you can’t really make the complex things without understanding the CORE of the game.
Um… So… Quick side note: The idea of you doing testing early and often like getting feedback constantly like “Hey! I got this idea!” like after step ONE, you ask all of your friends, “Hey what do you guys think about this? Would you play this?” And then after you design like Theme and the Basic Mechanics say, “Hey guys what do you think about this? Does this feel right?” And then eventually maybe you have just like a very simple thing getting constant feedback and constantly improving. And then start marketing early so like posting forum. Posting on forums, getting screenshots, videos, maybe even a playable demo if possible. Ya… I’ll get to the downsides associated with marketing early, later on.
So first one, the idea.
Create something that you would want to play.
Like don’t make something like if you were gonna create a project you’re either the head of a company or an indie developer, create something that you yourself would want to play. Don’t create something that you think would kind of silly and like just trying for the sake of making money. Because if you create a great game that resonates with you, it probably resonates with other people and you could probably make money off that. So it has to be simple, probably a little bit emotional, and explainable in a few sentences like an elevator pitch.
And then any updates or “oh it does all these things!”,like no that could come later. Just get a simple idea. And then create the theme around that. Like what exactly is the user experience like? Like what is the, the environment like? The UI like? What is the overall theme? Is it a Western? So if you say “Oh I like the idea of a shooter where it’s a multiplayer game.” Is it is a western shooter? Futuristic shooter? Like, what is this all about? So if it’s a fantasy kind of game, or sci-fi, you have to draw the player into it, not push them out of it. All of these pieces need to be aligned. So you have to know from the start, what your theme is or else you’ll just push the player out of it, and they’ll immediately lose interest.
Step 3: you want to create the basic mechanics of the game. So now that you have the idea. And now that you have the theme design. Now you need to start creating the core of it. Like what is it that makes your game, a game? Start simple like movement controls, or like repetitive actions. So for example like in Candy Crush you might have a simple square thing just like swiping up and down or left and right. Like does THAT feel fun? It needs to feel fun without any superfluous content. It needs to be fun in and of itself or else, because that’s the thing they’re doing all the time, they’re not going to want to play the game. So I actually made a quick thing in Unity, which is a 3D game engine, to show what a basic mechanics thing might look like. This only took like an hour to make to put some perspective on time. But in theory, so you have this character you can like run around, and like it chases the camera, you can like jump and stuff like that. And if turning feels too slow then maybe you make it go faster, or maybe you say, “Hey I need to be able to run into boxes and knock em over because they’re, because they’re really light boxes.” Or maybe, “I need to be able to hit the G key and like shoot balls out and have them slam into things.” And so the idea is like: if THIS feels fun, just running around in a sandbox environment, cool now we can add stuff too it. Without THIS, if this is boring, why even waste your time making the rest of it?
So, once the basic mechanics are done, now you need to build the world, build the environment, so maybe there’s buildings or trees or ledges, some sort of like static props. And then create a bounded space to play, for the player to work within. So think Super Mario Bros, you have the actual aesthetic of the ground, the static blocks, the pipes, and then the actual bounds is the start and end of the level. You CAN make a boundless game like No Man’s Sky or Minecraft, but it gets kind of risky because the player might venture into areas that are either not playable, or not fun, or not really ideal, which will potentially tarnish the user experience.
Then creating the characters and other assets. Now remember numbers 4-8 can happen in any order. Um, but in theory, if you have the world generated or the start of it, you can get character models. It could be peoples, monsters, vehicles. Any sort of like character that’ll be in the game. The actual art files, or what are called Textures or Texture Mappings. As well as like Particles, so for example if it’s like Snow or explosions or any sort of sparks. Anything that looks very repetitive, that’s just one little file that hasbeen repeated a ton of times through what’s called a Particle Generator. It’s actually really cool. It’s an efficiency thing. So instead of creating a giant like… GIF or something, they just create one little dot that they just programmatically create a bunch.
So I’ll go through a couple examples of characters and mappings. So, this is a 3D character rendering program called Maya, and an artist might go through and generate these 3D models and say, “Here’s all the polygons of what the character might look like.” And then they’ll have an artist that goes through, creates this texture mapping, and then the 3D artist takes that texture mapping and applies it to the model. And it just kind of like wraps around it and applies to all the polygons. It’s actually pretty cool. That’s a 3D example. A 2D example might have something called a Sprite Sheet. So this is Sonic the Hedgehog, so every single frame that he runs, they have to have the 2D frame. And these are some examples of sprite sheets for games I’ve created, where every single button and every like color option has to have its own thing, so it can be swapped in and out whenever I need it.
In terms of complex mechanics, if you wanted to have like quests, dungeons, or maybe you have a bunch of different characters that have unique abilities, if there’s like match matching involved: this is the place to do it. This is the fluff of the game: the part that people usually remember when they think about your game. Like “Oh man, Overwatch was cool when I did ‘this and this and this’” it’s like: well the basic mechanics is like run, shoot, and like crouch, or something. But like the fluff of the game has all these explosions and special abilities that have to be coded in. This is all the main bulk of the programming of the game.
And assuming you have a game that NEEDS sound and music, cuz some don’t. You can add background music, um, so this would be the stuff that plays in the menus, stuff that happens during the gameplay, like subtle peaceful music or maybe its intense or whatever. Maybe music during the cinematics. And then there’s 2 types of sound effects: there’s obvious sound effects and non-obvious sound effects. Obvious sound ones are like: I’m running through snow and I hear like snow sounds when I’m moving or my character’s breathing. Player does something, they hear a sound. Non-obvious ones are like when you scroll over an item in the menu, or when you like select something and click on a button. All these little clicks and buzzes, or the trees rustling. Just like background sound effects, the player doesn’t notice, but as a collective it adds to the theme, it adds to the environment. So think like tumble weeds rustling in like a western game or something like that.
Then once you have the game coded and the environment is there, and you’ve got sound effects. Maybe you’ve already done some of the basic UI stuff. So now it’s time to make those final UI changes. Make the UI really fit to that theme. So you’d want to create the Heads Up Display, so showing all the statistics you want the player to be aware of. Maybe have a menu system that they can navigate, or maybe there’s like a pause screen that they can navigate out of the game. Just any sort of menu you might have. There are some games that don’t have a menu. But those are generally like minimalist games that don’t even have UI to begin with.
And finally, well second to last. You actually want to release the game. And now here’s a quick note: that you want to release it no matter what. It could be your own personal project, just put it on your own website. Maybe you just have it as a download link. Or maybe it’s a game you intend to make with 30 other people, maybe you release it in like an Alpha stage or early release game and have people buy it for a cheaper price and get feedback on it, and then over time you continue to push updates. There’s different app stores for all the platforms. So like there’s Steam for PC, there’s also like Indie GOGO and other places. The iOS and Android App Store/Marketplace. There’s like Playstation and Xbox. So every platform has their store so you gotta find the right place. You could also do it on your own website, but it’s a little riskier, because then you have to do a lot more marketing. Because with the stores you have the added benefit of people already going there. So you’re just listed. Versus on your own website you have to do a lot more marketing to get people to your website.
And finally, you want to do patches and updates because there is, *sigh*, there is nothing sadder than a really cool game dying because the developers thought nobody played it, or because it didn’t make enough money. There’s was actually this, 2 games that I’ve played on iPhone. Honestly like one of the best games I’ve ever played and I emailed the developers I was like, “Hey, you guys ever gonna push updates?” They’re like, “Nah, we didn’t make enough money off it.” I was like, “SO?! I thought you were making this game cuz… whatever! >_>” *laughing* and so this would be the time to like implement any feedback so, “Hey I found this bug…” or “Hey I think it’d be really cool if we had this feature…” Or maybe there’s something you wanted to do months ago that just now you have the time, cuz now the game’s out there. So now push it out there. And maybe there’s a, maybe it’s a storyline game you’ve created. Maybe there’s time for a sequel. So, this would be the time to maybe add in a patch that leads into a sequel or do something to that version. Or just kind of consider it.
If you’re really interested in learning, like, about game development and how to get into it or any other resources, Extra Credits is a great YouTube channel. They go over a LOOOT of stuff. They have like 10-15 minute long videos on a ton of different topics for the last like 5 or 6 years. Pixel Prospector has this “indie guide” like a MASSIVE checklist of things to go through when making a game. They call it an indie guide because they’re targeting towards like small development teams, but it honestly still applies to large development teams. If you want to look for cross platform development, there’s an engine called Unity, which I demonstrated a little bit. And then another one called Unreal which as like super high-fidelity graphics, it’s a little more complex. And then last year I also had a book written that covers how to make games for iPhones. So if you’re interested in that, you can search “Mastering Cocos2D” and it should show up as the top result in Google.
If you want to check out my games, go to keitgames.com. K E I T games dot com.
And then this is, last example, of a game that I made. (far left image) I was playing this at one point in time, it’s called Math Effect. It was just this grid thing where you click the arrow on one of these and the thing moved, and then like these guys on the end came in, and you have to like protect the center. And I was like, “Oh this would be sweet if this was an iPad game!” (top middle image) So I created a quick mock-up in Photoshop, and I was like, “Alright, this is probably what it’s going to look like. Just some simple menu, who cares about the font, who cares about the color, this is generally what it’s going to look like.” (bottom middle image) I create it, and eventually pushed it out to the App Store for iPad and iPhone. And then I got some feedback and one of the ladies at the… that I got feedback from said, “This is stupid. Why do I have to play this game with two hands? Can it be portrait mode?” and I was like, “That’s a great idea!!” (far right image) So I made it portrait mode. I was like, “Why didn’t I think of that in the first place?” And so that was just a quick example of like the idea I had, quick and dirty mock-ups to get the basic mechanics underway, actually releasing it, and then updating later on.
If you guys want to look at this game, it’s called “Cubic!”, it is on the App Store, it’s also on my website and stuff like that but that’s for another day.
Thank you very much! *clapping* I hope you appreciated it. You guys have any questions or anything?
Ya.
“Earlier you said you would get into the problems with marketing early…”
Oh ya! So if, um… where was it… (searches frantically) Eh whatever.
So ya if you actually decide to do early marketing, umm (finds the slide), don’t fall into the trap of No Man’s Sky, where you tell a ton of people about the features and you show off all these great things and then you just don’t release it, or it’s not up to the hype. Obviously marketing and hype are balancing things, but if you’re showing off things, it’s almost like expected that those things are already done, which is why you’re showing them off. So, that’s just an early marketing ‘beware’, that’s all.
Any other questions? Ya.
“So uh, I think as a developer usually the part that I can’t do when it comes to a game would be like art and design and things like that. Have you ever, do you do all of your artwork or do you find people to collaborate with that can usually do some of the more artistic side of things?”
Mhmm.
“What’s your experience with that?”
So the question was that if I’m a programmer, and I don’t know ‘how to art’, how do I do that?