You are on page 1of 16

GETTING STARTED MAKING GAMES

Jesse Freeman
http://jessefreeman.com

Getting Started Making Games by Jesse Freeman v.1

Contents
Picking a Framework ..................................................................................................................................... 2 Construct 2 (Beginner) .............................................................................................................................. 2 GameMaker (Beginner to Intermediate) .................................................................................................. 2 Unity (Intermediate to Advanced) ............................................................................................................ 3 HTML5 (Intermediate to Advanced) ......................................................................................................... 4 Game Design 101 .......................................................................................................................................... 5 Play More Games ...................................................................................................................................... 5 Document Your Idea ................................................................................................................................. 5 Getting Feedback ...................................................................................................................................... 5 Creating Artwork and Sounds ....................................................................................................................... 6 Working Without Art and Sound .............................................................................................................. 6 Working with Artwork............................................................................................................................... 7 Working with Sounds ................................................................................................................................ 8 Polishing Your Game ................................................................................................................................... 10 Consistent Design.................................................................................................................................... 10 Supporting Multiple Resolutions ............................................................................................................ 10 Perceived Performance Optimizations ................................................................................................... 12 Publishing and Marketing Your Game ........................................................................................................ 13 Naming Your Game ................................................................................................................................. 13 Getting People to Play Your Game.......................................................................................................... 13 Charging for Your Game.......................................................................................................................... 14 The More Games You Make the Better .................................................................................................. 15

Getting Started Making Games by Jesse Freeman v.1

Picking a Framework
Whether you are a seasoned game developer or just getting started making your own game, chances are you are going to need a good game framework to build upon. A game framework could be as simple as a collection of code packed up into a library in a specific language, like JavaScript, or a more complex system of scripts, tools, and workflow built on a specific platform. Both types are designed to help speed up your games development. The last thing you want to be doing, especially when getting started, is reinventing the wheel. Here is a quick rundown of things to look for in a good game framework: Speeds up development by including collision and physics, and handles input Has good documentation and an active community to help answer questions Is easy to pick up and matches your skill level (drag and drop for non-coders and low-level access for seasoned developers) Easy multi-platform distribution, allowing you to get your new game on as many platforms as possible

To help you pick the right game framework, I have highlighted a few of the most popular ones which are great for people getting started making their first game. I have arranged these from easy to hard based on the above criteria.

Construct 2 (Beginner)
https://www.scirra.com/ Construct 2 is as easy as it gets for making a game. It employs a drag-and-drop behavior system, where you build up game logic from pre-made scripts that are attached to your games elements.

It has its own Web-based tool and support for publishing to a number of different platforms. Construct 2 games are built in HTML5 (although you never have to touch the code itself) and, because of this, its ideal for publishing your game on the Web. The only down side to Construct 2 is that you are removed from the coding aspect of making the game, so you are fully dependent on what Scirra has provided. And, while you can add additional functionality via plugins, its not ideal if you come from a coding background and want to manually tweak things yourself.

GameMaker (Beginner to Intermediate)


http://www.yoyogames.com/studio

Getting Started Making Games by Jesse Freeman v.1

GameMaker is a great tool for making 2D games. Its incredibly powerful, and a lot of well-known indie success stories got their start in GameMaker (Spelunky, Hotline Miami, etc.).

GameMaker is similar to Construct 2 in ease of use, since you can perform drag-and-drop, event-based coding, and more advanced users can take advantage of its built-in scripting language called GML (GameMaker Language). GML is C based, so if you know C, JavaScript, Java, or C#, it will be familiar. But the language does have limitations, such as limited data structures and no classes. While the UI of GameMaker is a little rough around the edges, its still an excellent tool for 2D games, and its support for publishing to desktop, mobile, and HTML5 shouldnt be overlooked.

Unity (Intermediate to Advanced)


http://unity3d.com/ Right now, Unity is the default game framework for a lot of the success stories you read about on iOS. Many of the top 100 iOS games were built with Unity, and it continues to expand its reach.

The IDE is very polished and easy to use, but being a 3D tool means that there is a certain level of knowledge you will need before getting started. Unity supports three languages: UnityScript (which is similar to JS), C#, and Boo. Unity now has a free version that supports exporting to desktop and mobile that displays the Unity logo on startup. The pro version gets incredibly pricey but adds lots of must-have

Getting Started Making Games by Jesse Freeman v.1

features for more advanced game developers. You can also export to console, such as the Xbox, PS3, Wii U, and more (but those licenses cost even more). Unity has a Web player that relies on a plugin, so while you can export your game to the Web, it wont be playable on mobile browsers. Finally, Unity is in the process of releasing a 2D workflow that will be a huge advantage to anyone not interested in making 3D games.

HTML5 (Intermediate to Advanced)


https://github.com/bebraw/jswiki/wiki/Game-Engines Sometimes you want to control every aspect of your code. HTML5 is a great place to do that, and its one of the only game platforms that allows you to target multiple platforms with the same code base, and include the browser on desktop and mobile as well.

There are a lot of really great HTML5 frameworks out there, but the two most popular are Impact ($100 license) and Phaser (free). The one thing to keep in mind with HTML5 is that it tends to be rough around the edges. You will have to manage browser compatibility across desktop and mobile, and native app distribution is still an issue. Also, in many cases you will need to bring you own tools, but seeing a game work perfectly in a mobile browser without a plugin opens up a lot of doors you would not get in a native mobile app store. While I could probably write an entire book on different game frameworks and platforms, I dont want to overwhelm you. The good news is that, if you are just starting out, there is guaranteed to be a framework that is right for your skill level or game idea.

Getting Started Making Games by Jesse Freeman v.1

Game Design 101


For most people, it usually starts the same exact way. You have a game idea and just want to start building. Making a game is more than just having a good idea and the skill to code it; you have to think through the gameplay and the target audience, and map out what it is you are going to build. No one builds a house without a blueprint, and you shouldnt make a game without a solid plan either. This could be something as simple as a task list with everything you need to do or something more specific, such as a document outlining all the details. Either way, your game design process is going to start with a blank page. Lets talk about how to fill it in.

Play More Games


Before we talk about your game, you need to start playing games a lot of games. As a game maker, your hobby should be playing games, taking them apart, and figuring out what makes them tick. You should keep a notebook of all the games that you play, and even the ones you dont play but see online. Use something like OneNote, or any note taking app. The idea is to write down what you like about the game, what you dont like, and some of your big takeaways from playing it. There should be screen shots if you like the art style and links to any collateral information on the game that will help you with your own ideas later. Since you never know how a game will inspire you, its important to be as detailed as you can. It sounds like a lot of work, but its honestly the most valuable tool you will ever have when it comes to finding inspiration and avoiding common pitfalls.

Document Your Idea


In traditional game development, you are encouraged to make a game design document. This is usually a large document outlining every aspect of a game. Its the blueprint that the rest of the team must follow when building out the game. If you are a single developer, this is overkill. You can easily boil down a GDD into a single list of tasks with a few introduction paragraphs and any collateral or references, such as screen shots and links to other games or game mechanics you like. Its up to you to find the best way to document your idea, but the more you work through the details the better the project will end up. Its very cheap to work out your ideas on paper or in your head before you start coding. Once you begin the coding process and need to go back, you amass what we call technical debt that can make your code unmanageable or, even worse, kill your productivity altogether by forcing you to constantly hack together new solutions or refactor code youve already written.

Getting Feedback
The most important part of this documentation process is sharing your idea with others and getting their feedback. I know you want to protect your idea with your life, but the reality is that most people starting out making games need feedback from others. We all start out with the lofty goal of making a game I want to play, but the reality is that you are just one person and, in order to be successful, you need to appeal to larger markets. Im not saying you should post your game ideas online for all to see, but find a select group of trusted friends and run it by them. Youll find that some feedback is hard to take, but being able to filter out what will actually make your game better is a valuable skill to have.

Getting Started Making Games by Jesse Freeman v.1

Creating Artwork and Sounds


If you dont come from an art or music background, you might find this part of the game creation process the most stressful. Building a game for the first time will stretch all of your skills, like programming, creativity, design, and more. Its easy to get bogged down in the details and forget the most valuable part of making a game, which is building something fun to play. In this section, I will talk about some approaches to adding artwork and sounds into your game.

Working Without Art and Sound


The first thing I tell people just starting out is to use placeholder art and sound while building a game. It may be hard to believe, but you can always get artwork later, and sound is just as easy to find online or get help making. To be honest, if you build a compelling enough game, you may even be able to convince an artist or musician to work for you and share the profit from the game. But none of that will happen if you dont have a fun game to begin with. It also helps to take a look at other games that use minimalistic or dynamically generated art as inspiration as well. The following are a few very successful indie games that do that. Thomas Was Alone http://www.mikebithellgames.com/thomaswasalone/

While Thomas Was Alone looks deceptively simple from the screen shots, there are a lot of subtle visual effects that add depth to the art style. But, at the end of the day, the game is really about a set of primitive shapes and basic geometric levels. Super Hexagon http://superhexagon.com/

Getting Started Making Games by Jesse Freeman v.1

Super Hexagon was a hit as soon as it was released. It revolves around the simple concept of not touching the walls that rotate and move to the music. As you can see, the levels appear to be dynamically generated, and while its creator uses a really great soundtrack to move the levels along, all of the visuals can be sorted out once you have the basic gameplay mechanics down. Lets talk about how to make art and some ways to package it up into your game.

Working with Artwork


I love pixel art. Its super easy to make, and most of the games I build are based on old Nintendo games I used to play as a kid. While pixel art isnt for everyone, here is a list of some design tools to get you started: Photoshop This is one of the most popular and expensive art tools out there, but with Adobes new Creative Cloud plan, you can pay for it monthly. Photoshop is great for creating rasterized artwork, and you can do vector art as well. I use Photoshop for all of my game design and layout work. Illustrator Just like Photoshop, this is the most popular vector-based art tool out there. I suggest using a vector-based editor if you are going for a cartoony look or want to make sure your games artwork can scale to any resolution. Not a lot of game engines support vector artwork like Flash did, so thats something to keep in mind. Aseprite If you are doing pixel art, this is one of the best editors out there. Not only is it free and open source, its just great for making pixel animation and even supports importing and exporting sprite sheets. GIMP If you are looking for a Photoshop alternative, I suggest checking out GIMP. I was never able to get into it, because Ive been using Photoshop since version one, but GIMP is free and a lot of game developers and artists I know use it.

Getting Started Making Games by Jesse Freeman v.1

I could probably write an entire book on tools for making artwork for games, but you should take a look at other online tools I may have missed or that you might already own. At the end of the day, its all about doing the best you can when it comes to making artwork, and if your game is good enough, you will eventually find someone to help clean it all up. I actually outsource all of my artwork even though I have a background in art because I want to focus on the game and let someone else carry the burden of making good game art. You can find my own collection of open source art work at http://jessefreeman.com/category/game-artwork/

Working with Sounds


Just like artwork, creating sound effects can be a daunting process. I suck at sound design, and its another thing I try to outsource as much as possible. I do have a secret weapon, though, called Bfxr, which you can use online or install on your computer as an AIR app from http://www.bfxr.net/.

Getting Started Making Games by Jesse Freeman v.1

This app is perfect for generating simple 8-bit sound effects for your game. It may look intimidating at first, but as you can see on the left-hand side, there are a bunch of pre-defined sound templates, such as pickup, laser, explosion, and jump sounds. But the most important button is Randomize. I use this all the time to come up with new sound effects, and you can use the Synth option in the middle to modify it. I use these as placeholder sound effects in most of my games, and over time, I have built up a nice little collection of sound effects I can use from game to game to help speed up my development. You can download my collection at http://bit.ly/gamesfx. Once you have some sound effects, you are going to need a way to convert them. Bfxr likes to generate .wav files, but youll be hard pressed to find a game frameworks that still use that file format. That is why I use a program called Audacity, which you can get at http://audacity.sourceforge.net/.

For example, when it comes to HTML5 games, you are going to need to output .mp3 and .ogg files, since each browser supports a different file format. While this is just a small part of what you will need to produce artwork and sound effects, I have a few links below to open-source artwork and additional resources to help you get started.

Getting Started Making Games by Jesse Freeman v.1

Polishing Your Game


Once you have your game up and running, and you begin to approach being able to release it, you are going to want to go over all the details and make sure its polished. Sure, you can put a game out there just to see how it does, but in todays saturated market of mobile games, you need to make sure you put your best foot forward when releasing your game. Here are a few things you should do in your own game before you release it.

Consistent Design
One of the most important things you should do in your game is make sure your art style is consistent throughout the game. Your in-game graphics and your UI, and even the splash screen, should all look and feel like they belong together. The best example I have of this is Mega Man 2.

As you can see the box art for Mega Man 2, on the left, is completely different than what the actual game looked like, on the right. While there is a time and place for being creative with your games art style, just make sure you dont set the wrong expectations for your perspective players. This is especially important when it comes to creating screen shots to entice people to pay for or download your game. In the end, keeping everything consistent will help make the overall game feel more polished.

Supporting Multiple Resolutions


How to support multiple resolutions is probably one of the most common questions I get asked at all of my game design talks. Outside of supporting mobile resolutions, which are all over the place, desktop monitors have been driving game developers crazy for years. When it comes to designing for multiple resolutions, you just need to understand how aspect ratio works and decide whether your game will attempt to maintain it. To help myself out, I always start with a comp of the three main resolutions I want to support.

Getting Started Making Games by Jesse Freeman v.1

Here you can see that the native resolution of my game is 800 X 600. This is a 5:3 aspect ratio. From there, I can easily scale my game to 1024 X 768, which is a similar aspect ratio of 4:3. My game will also support 1366 X 768, which is a 16:9 aspect ratio. The key to this system is that my game camera simply shows more of the game screen as I change aspect ratios, and the UI moves based on the resolution as well. Here is an example of the game at two different resolutions.

Here is the game at 800 X 768. As you can see, the camera shows less of the action, but I make sure the UI scales down nicely to support the lower resolution without any overlapping.

Getting Started Making Games by Jesse Freeman v.1

And here is the game at 1366 X 768. As you can see, both versions of the game are fully playable, but you end up with a little extra screen real estate at the higher aspect ratio.

Perceived Performance Optimizations


The last thing I want to talk about when polishing your game is perceived performance. A lot of the time, developers spend days upon days trying to optimize their code when they end up forgetting that a few minor tweaks to the way their game runs will help give the impression of better performance to players. Sure, optimizing artwork is a key part of any performance optimization, but why not make your loading screen look more interesting while people wait, or work on making the transitions from screen to screen more seamless. Even tricks like lowering the FPS could actually help out if your game is struggling to maintain 60 FPS. Most games can easily get away with 30 FPS. Also, having more animation transitions and frames can help remove the feeling of slowness or unresponsiveness in gameplay.

Getting Started Making Games by Jesse Freeman v.1

Publishing and Marketing Your Game


So you have finally finished your game and are ready to release it to the world. While there is a lot you can do after you have completed your game to help make it a success, you should always be thinking about marketing your game from the very beginning. The following section will help you with everything from naming your game to how to help it stick out in an overcrowded mobile store. While marketing a game is not an exact science, and its success has a lot to do with the quality of your game and pure luck, you can still take the necessary steps to ensure it gets the most attention possible out of the gate.

Naming Your Game


The name of your game is going to be the single most important decision you make. Companies spend huge amounts of money doing market research to come up with product names, and what you come up with for your game has lasting effects. The most basic thing you can do to help your game be more successful is to simply give it a descriptive name. Look at other games and how they came up with their names: Mario Named after the main character. While it doesnt describe what you will be doing in the game, it helps establish the lead and his name defines the brand. Legend of Zelda The word legend implies a deep story told a long time ago, and saving Princess Zelda is the main objective of the game. Grand Theft Auto The name alone implies stealing cars and breaking the law. It clearly describes the main gameplay mechanic the player is going to expect to be doing. Angry Birds Doesnt get any more basic than this. You play as a bunch of angry birds.

Naming a game isnt always an easy task, but make sure your games name is clear, descriptive, and easy to remember. Also, make sure your games name makes sense for sequels and continuations if you find yourself with a hit on your hands.

Getting People to Play Your Game


This topic really goes back to the beginning section on what platform to build your game in. The key to success is really getting your game in the hands of as many players as possible. To do that, you will need to pick a platform with the most reach possible. While HTML5 has the incredible advantage of being published to the Web, you will find that it is more difficult to publish to a native store. Frameworks like GameMaker and Unity will allow you to publish to multiple platforms, but they charge extra for that service. Some features are free, and while GameMaker allows you to export an HTML5 version for the Web and Unity has a Web Player for its game, you really need to do your research and pick the right tool from the beginning. The ideal scenario is that you are able to release your game on all of the major platforms: Web, iOS, Android, and desktop. From there, you have some granular options to decide on, like what devices to support on each mobile platform, and even what version of the OS you can support. Dont forget Web stores, such as Chrome Market and Firefoxs new Web-based Phone OS. Also, there are online game portals that do revenue sharing based on ads around your game. While mobile is all the rage, dont forget how many people still use Web browsers, and every modern mobile device also supports playing Web games, so you get even more bang for your buck. I am now working on having all of my games as Web-playable demos pointing to the app store versions to help broaden my audience, since being found on the Web is much easier than in an app store. Getting Started Making Games by Jesse Freeman v.1

If the Web isnt your thing, also keep in mind cross-platform desktop publishing. A lot of indies have had success with Steam Greenlight, as well as bundle deals like Humble Bundle. Both of these distribution solutions leverage desktop compiling and usually want games that support Windows, Mac, and Linux. If you intend to ever get your game on Steam, make sure you are able to offer a desktop installer.

Charging for Your Game


With all of this talk about distribution, you are probably thinking through all of your monetization options. Lets take a look at the three most common options out there now: Flat rate Your first instinct is probably to charge a flat rate for your game, like 99 cents or more. Some games can command a very high premium on the mobile market, but gone are the days of charging $5, $10, or more, especially if you are just starting out. When it comes to pricing your game, you should do a lot of research on your games genre, its competition, and what it costs. If you see a lot of high quality free games similar to yours, its probably best to consider an alternative option. Free with ads This was popular for a long time before in-app purchases were introduced. Basically, you make the game free and use ads to help generate money. While there are clear advantages to making your game free, which allows anyone to download it, it is also incredibly hard to monetize from ads. As an example, my most successful game on Android with almost 50k downloads (roughly 1-2k players a day) only generates $1 or less each day. In order to really make money with ads, you will need at least 100k players a day or more, and show larger, more obtrusive ads that tend to slow down the games flow or frustrate players. IAP (in-app purchases) The final approach, which has gained considerable popularity lately, is relying on IAP (or in-app purchases). Usually, the game is free and you try to upsell so users buy more levels, items in the game, or even ways to speed up their in-game characters development. Whats good about this approach is that your game is completely free, so you get my people playing your game, and if they like it or you have compelling IAP, they end up paying more than they normally would had your game been sold at a flat rate. This model is extremely hard to pull off successfully, and its a fine line between adding additional value to your game and trying to exploit the players compulsion loop.

The reality is that, if this is your first game, chances are high that you will not make a lot of money off of it. Having a successful game is kind of like winning the lottery. I am not telling you this to discourage you; I want first-time game developers to have a clear idea of what they are in for. Even seasoned game developers have a difficult time monetizing their games without help from marketing firms. Even getting good reviews on game sites, which is hard to do, doesnt always translate into lots of sales. The best thing you can do is get featured on the app store itself, but once that promotion is over, unless you have a real hit on your hands, you will see a natural drop off in your games sales or downloads. The last thing I want to talk about, which leads into our next topic, is that making games is a learning experience. The more games you make the better you become as a game developer and grow your chances of making a hit game. While its very frustrating for first-time game developers to work hard on something and not see people download it or buy it, you shouldnt give up. One of the best things your game can be is a promotional tool for you and even your next game. Always be sure to have links to your other games inside of your game to help promote everything you are doing. You may be surprised to

Getting Started Making Games by Jesse Freeman v.1

realize that, over time, you actually end up building up a following of people more willing to pay for your next game if they continue to play and like the ones you are releasing now.

The More Games You Make the Better


I talk to a lot of game developers each day, and they all have the same story: the more games they have in the store the better their sales are. This happens for two reasons. The first is that, when you make more than one game, they are all featured on your games download page under a section that highlights other games made by the same author. That means that each additional game you make basically gives you free advertising for your other games. The second thing that happens is that, when a person likes your game, they naturally want to play more games you have made. This means they will look at anything else you have created, which is the basis for building your own fan base. So each successive game you release will naturally help drive downloads and sales of your past games as well. This is another reason why you should not give up if your first game isnt an instant success and just keep making as many games as you can!

Getting Started Making Games by Jesse Freeman v.1

You might also like