Why Won’t My AdMob Ad in Game Maker Studio Work?

I spent about an hour trying to determine why my ads worked perfectly on my Moto G, yet seemed to intermittently load on my Nexus 7 and LG Optimus. What was the difference? It dawned on me – my Moto G has a constant connection to the Internet (connected via WiFi, but even if that cuts out, it’ll still have a connection with 3G), whereas my Nexus 7 and LG Optimus relied solely on WiFi. They were both listed as connected to my router, so what gives? Apparently, the router itself was messing up, and simply resetting solved the trick. Now my ads display perfectly on all 3 devices.

But the purpose of this post isn’t merely to give a little anecdote about my ad experiences. NO. OF COURSE NOT. It’s to introduce you to the adb console which gives you vital information about processes with your application, so long as your device running the app is connected via USB. In Game Maker, simply launching the app on your USB-connected Android device will allow you to see a great deal of info about some of the vital processes. For example, I could see the commands when it was attempting to load an ad, how long it took, when it timed out, what the problem was, when it tried to load an ad when one was already loaded, etc. It’s great for debugging purposes, and actually how I found out that I had a newer version of the runner installed that was still trying to search for extensions to distribute an ad. So remember, if all else fails, be sure to take a look at the adb console, and for those of you who are a bit confused about exactly what that is: if you run your program in GMS with Android selected as the target platform, and you have your device connected via USB, a window will pop up that looks like MS DOS – just a plain black background with green text. This is where you’ll find info, such as your device ID (if you have ads enabled), when the user hits hardware buttons, when the app has lost focus, etc. Great for testing, debugging, and having a jolly good time.

Downgrading from Game Maker Studio 1.3 Fiasco (Ads and Surfaces)

Note: to skip right to the section about how to properly do a clean uninstall of GMS and installing a newer version, scroll down a bit.

Game Maker Studio 1.3, in line with all other major Game Maker Studio releases, introduces a bevy of new features and a bunch of bug fixes. Some of these “new features” are actually just modifications or completely major revisions of preexisting features, and in many unfortunate cases, these new upgrades can be game-breaking. Welcome to world of upgrade frustration.

The fiasco began when I realized that my game was extremely sluggish on my older Android 2.1 device. I was a bit disappointed, but not completely distraught – I mean, I couldn’t sleep too easy knowing that I’d have to cut support for any Android device below 4.0 (and thereby excluding a hefty portion of the market), but I was immediately comforted by the thought that the market is progressing, people are upgrading to newer phones, and the percentage of users with Android devices running < 4.0 install is significantly decreasing. I couldn’t determine what the cause of the lag was – too many draw calls? Humongous textures and sprites? Peanut butter? After experimenting a bit, I came to the conclusion that I just simply couldn’t push these olders CPUs/GPUs past a very restricting limit. That is, until I tried a few other games on my old device.

Namely, some bubble pop game that ran smooth as butter, despite seeming to be much more advanced and GPU-hungry than my simple pong-styled game. It was then that I realized something fishy was happening. And sure enough – a bit of poking around and I discovered that GM’s approach to handling surfaces and the GUI was modified, causing an unbearable lag in many devices.

See, prior to those versions, 2D games would run very well. With the newest releases though, even a simple game would struggle on a Samsung Galaxy S4. Really really. There was no imminent solution. And then, BAM, a new version of GM is released that allows you to turn off the new drawing method, restoring full speed to older devices! Excellent!

But not so. Sure, I got the speed back, but nothing in life comes that easily. As a tradeoff (well, I consider it a tradeoff, anyway), GMS’s approach to serving ads was completely modified. No longer did the simple commands exist. It’s now done all through extensions. The problem? In the newest version that allows you to disable the new drawing method also introduces ads that can’t be positioned or turned off once turned on. Wait, what? Sure, you could poke around the ad SDK, but for somebody who has absolutely no experience in that approach, and who’s become accustomed to the simplicity and approachability of GMS’s prior method of handling ads, it’s hard not to feel a bit disappointed. Or insulted, even. And browsing the forums, I’m certainly not alone on this. It’s understandable that they’re upgrading the ads system, especially considering the iOS ad problem (check their news for more info on that), and eventually we’ll have to jump over – but without being able to easily position or hide ads, it’s a headache. So if one version is sluggish, and the next version completely turns the ad method upside down, what is there to do?

I thought about it for quite some time, hoping for a new release that addressed the ad scenario. I knew it wasn’t going to come anytime soon though, so with a bit of hesitation, I decided on something else: Just downgrade to an older version of GMS. I was a bit hesitant, considering the handful of new features I’d be missing out on and the bug fixes that would be undone. But I convinced myself it was worth it. So I downgraded to 1.2. But of course, it wasn’t that easy. Why not? Most releases in the 1.2 line have this extremely nasty bug where GMS absolutely refuses to launch. Every once in awhile, you might get lucky and it’ll open up, but the majority of time nothing seems to fix the problem. The two versions of 1.2 that didn’t seem to be inflicted with the error were mysteriously absent from the GMS downloads page (the links were there, but clicking on them lead to nothing). I was disappointed, I was angry. Okay, I was furious. What luck, huh? And I certainly couldn’t afford to downgrade to 1.1. I refused to.

 

 


 

PART 1: UNINSTALLING GAME MAKER STUDIO

Uninstall through Windows: First, uninstall GMS through the windows program uninstaller in the control panel.

Uninstall through the program directory: Next, go to the directory (folder) where you installed Game Maker. If it still exists, run the uninstall.exe file inside of the folder to completely remove the GMS installation.

Delete the local app directory: This directory stores specific configurations, including your keystore file. If you’re upgrading, you’d generally want to keep this folder intact as is. However, since we’re attempting to do a completely clean install, we’ll want to completely remove this folder and all of its contents. NOTE: Please remember to back up your Keystore file, or have your information written down somewhere! If you delete that file and have already uploaded an app to Google Play using the information from the file, you won’t be able to ever update your app!

Uninstall from your Android device: Yes, you have to uninstall the runner on your device as well! In Android, you just have to go into your settings and apps and uninstall YoYoRunner. If you don’t, even if you install an older version of GMS that doesn’t use extensions for advertising, the runner on your Android device will still be under the impression that extensions are required for ads (as specified by the Runner version). We need to uninstall it completely. Please note: If your Android device has multiple accounts, you MUST uninstall the runner from ALL accounts, not just one! Otherwise, when attempting to install an older version, you’ll get an error in the ADB console on your pc (pop up MSDOS box) that informs you that you’re attempting to INSTALL A DOWNGRADED VERSION and block the installation.

PART 2: Installing Game Maker Studio

Download the appropriate version – Download the version you’d like to install. All GMS releases can be found at http://store.yoyogames.com/downloads/gm-studio/release-notes-studio.html for the stable releases and http://store.yoyogames.com/downloads/gm-studio-ea/release-notes-studio.html for the early access version. Note: to actually download the version, you must click on the Version number in the big font. Please note – the most recent version that doesn’t crash upon opening, and disables the new surface handling, and supports the old ad method, is version 1.2.1224. This version mysteriously isn’t available on the website at the moment – hopefully they fix this soon – but fortunately I still had an old copy sitting in my downloads folder.

Relicense: Since you’ve deleted your local app data folder, you’ll have to re-enter your license code to relicense the professional version of Game Maker Studio.

Update Android directories: In the preferences section of GMS, you’ll have to reconfigure the paths for your Android SDK and NDK. Also, you may have to redo the keystore file.

You should be good to go!


 

Now, while I’m on the subject here, to disable the new surface drawing method, just use application_surface_enable().

In the next post, I’ll speak about debugging ad issues.

Ready to Launch My First Android App, in a Few Days! Here’s Why it Took So long

In preparation and anticipation of launching my first fully completed title this week (not only on Google Play, but practically ever), I’d like to take a moment and reflect on the path I’ve taken to get here. I’d prefer to focus on this individual title first, and at a later date I’ll elaborate on the company.

I’ve been trying to identify and learn from my mistakes, to really benefit from this experience and grow in every way possible – not only as an indie game developer, but also in a business mindset as the head of a startup indie company. Perhaps the most daunting question I’ve encountered so far: why the heck did it take so long to finish this game?

I pegged the development time at about 5 weeks or so, considering the initial limited scope of the game, so then why is it that 6 months later only now I’m preparing to launch? 135 days is quite a drastic difference from 35 days, and that unanticipated difference only makes the whole entire process feel that much more discouraging. The truth is, after spending some serious time sifting through these past few months, it’s not just one thing that caused this massive delay – it’s a combination of numerous things that delayed my release date.

1. The design document

First, and very importantly, I walked in without a design document. This is probably the biggest mistake I could’ve possibly made. My line of thought? “Hey, it’s a simple game, just like Pong, why would I possibly need to bother with a design doc for something so unbelievably simple?” That backwards line of thinking could have had some merit to it if I was aiming to release a simple pong-styled game with no background music and crude graphics. Foregoing a design document might work in the event of creating a game that could be completed in a weekend. But for anything of a larger scope, here are the troubles I ran into:

First of all, I hadn’t the slightest clue where my game started and ended. It wasn’t contained, there wasn’t a set scope, absolutely no boundaries or limitations. I basically hopped in with a solid idea, confident that I knew exactly the breadth of this project: Just make a game like pong, only with pretty HD graphics. Shouldn’t take more than a few days, right?

But the more I programmed, the more artwork I did, the more I realized how utterly boring the game was. Pong’s been done, hundreds of times. I knew from the very start that I was itching to expand upon the simple idea of a continuous back-and-forth volley, make it more interactive and engaging. But despite that, I still set any intuitive mechanics off to the side and built the foundation of the engine in the most simplistic, straightforward and limiting way possible. Basically, I wanted to do “more”, but I didn’t exactly know what this “more” was or what it entailed, and so I spent days, weeks even, fighting with my small-scoped engine in an attempt to implement random gameplay mechanics, hoping that one of my crazy ideas would click. And for the longest time, nothing did.

And that’s where my mistake was. I was far into development before even having the basic gameplay mechanics established. I had hoped it’d be enough to implement the volley and basic up-and-down movement and expect additional elements to just magically “fit” into my engine. The truth couldn’t be any further from my ignorant assumptions. I spent so much time deleting and completely rewriting large chunks of code each time I wanted to change something simple, because it’s essentially a snowball effect – modify one part of the game, and you have to take into consideration every other single area of the game that would be affected, both in gameplay and programming terms. This was the case not only during the actual ingame battle, but also throughout menu navigation and handling the GUI. We want an interpolated movement effect on that menu icon? We’ll have to rewrite the section of code that handles transitions. How about a nice fade out after making a selection? Time to uproot the code that deals with timing and switch things around. See, these are things that could be added to your engine quite easily if you code in a manner that allows for expansion… but you can’t predict adding these new little features if you didn’t even take the time to write out a design document.

With no design document, any new idea that comes to me during development (that I actually take the effort and time to implement) has the potential of completely destroying the engine. If you don’t plan ahead, you’ll most likely just run yourself deeper into a hole, and believe me, it’ll be a discouraging challenge trying to climb your way back up to the surface. If you have a very definite game plan in place, and you have a thorough understanding of the scope of your engine and code in a manner so future expansions are relatively simple to implement, you will save yourself heaps of frustration. And time. Time…?

2. Poor time management and estimations

The blatant error of not creating a design document rolled over into another problematic area: time management.  With no design document, I was completely unaware initially of what assets needed to be created – graphics, music, sound effects – absolutely none of it planned out beforehand. Without knowing specifically what needed to be created, it’s impossible to calculate how long I would spend on character sprites, or backgrounds, or composing the music. Ultimately, my estimated release date wasn’t valid by any means. It was more or less just a “hopeful” release date without any legitimate evidence to back it up. When the main character sprite takes 4 days until I reach a point where I feel content, that’s all time that I hadn’t considered.

3. Distractions

Although walking in without a solid game plan was significantly detrimental to my progress, another major problem repeatedly stopped me in my tracks: Distractions. It’s not that I have a difficult time focusing on a project – it’s just that sometimes I have an urge to do other things instead. For example, a great deal of time I should’ve spent programming and planning was instead spent on composing some music and rocking out with a mic in my home recording studio. Other days, I’d sit down and spend literally hours pumping out 3D digital sculptures and models with ZBrush and Maya. I felt guilty, but not to an extreme; at least I was still being productive, right? But the absolute worst distraction, hands down without a doubt, was the Internet. Namely, Facebook. While waiting for my game to compile, thinking over some gameplay ideas, maybe in the middle of composing a tune, I’d switch over and check Facebook. Constantly. Like, literally every 7 minutes. Not only did it prevent me from accomplishing solid progress, but it also caused me to constantly lose my train of thought.

4. Personal Issues and Obligations

I also encountered numerous personal issues that I hadn’t expected by a longshot. These I had absolutely no control over, and though some may argue I could certainly control how I responded to these sudden bits of news, I beg to differ. This definitely isn’t the place to get into a long discussion about these issues, but it had to be noted here as it was a significant hindrance to progress. Additionally, I was tasked with many obligations, some I created myself, some imposed upon me by others, that cut deeply into time I had previously dedicated for game development.

5. Hardware and Software complications

This was a significant problem. Although not having a design document really shattered my estimated release date, hardware and software complications contributed to my missed deadlines more than I let myself believe. Near the middle of February, my computer crashed. My main computer, that I did all of my programming on. I’m not the most tech savvy nerd in the world, but I’ve done quite a few computer modifications and repairs back in my day. The extent of my computer hardware mod abilities reaches out to installing video cards, optical drives, power supplies, RAM, etc. My software approach is a bit more advanced. I had never run into a situation where my PC crashed beyond repair, with a bit of tinkering, or reformatting and reinstalling. This time though? This time, it was the motherboard. Ouch. My computer was aged, already going downhill, things were falling apart, and it was chugging along at a snail’s pace. Maximizing an already-open window would take seconds instead of milliseconds. Opening up Chrome when Windows booted would take about 5 minutes. Everything felt slow. Really, really slow. Which made debugging my game all the more painful. But it crashed, it was gone, in the middle of February. And I had no money to replace it. It wasn’t until late March that I was finally able to purchase a new computer, but that entailed a little over a month of absolutely no work done, beyond my control.

There were other smaller factors, but the five listed above were the most significant. Now, it wouldn’t make sense to go through all of those experiences and type this up if I didn’t somehow take this new-found knowledge and apply it to future endeavors in game development, correct? Right on! So let’s see how I can correct all of these faults for future releases, so instead of taking 6 months to launch, I can hit as close to a 5 week estimate as possible.

Game Maker Studio – Excluding small screen Android devices on Google Play with Manifest

NOTE: PLEASE BE AWARE THAT WHEN THIS POST WAS PUBLISHED, I WAS UNDER THE IMPRESSION THAT THE LAG AND POOR PERFORMANCE OF MY APP WAS DUE TO OLDER VERSIONS OF ANDROID. I HAVE SINCE BEEN ENLIGHTENED THAT IT WASN’T MY FAULT, BUT SOMETHING BEYOND MY CONTROL DEALING WITH HOW VERSION 1.3 OF GAME MAKER STUDIO HANDLED SURFACES. DISABLING THIS NEW FEATURE FIXED IT RIGHT UP TO A SMOOTH 60 FPS.

Before I begin, be sure to take a look at this page: http://parakeet-ide.org/blog/2013/04/android-manifest-in-gamemaker-studio-and-parakeet/ It practically covers everything I’d like to touch on, only more elaborate and comprehensible. Check it out. Also, this thread tackles the same problem: http://gmc.yoyogames.com/index.php?showtopic=545110 Check post #8 for the solution.

I’ve run into the terrible problem of massive lag in my game on any device that runs Android 2.3 or lower. I don’t necessarily know if it’s because of the OS version, or if it’s simply because older versions of Android correlate with cheap, severely under powered phones that may not have a separate GPU. but all I know is: my game isn’t a buttery smooth experience on all devices.

I could technically buy over 5,000 phones, test my game out on every single one, and then go into my Google Play developer console and exclude every single device that gave me errors. But, you know, I don’t have thousands of dollars laying around, and flipping switches on 5k devices would be just a bit time consuming.

Fortunately, you can exclude certain devices from downloading your game by actually filtering them out of search results in Google Play. For example, you can ensure that phones with a small screen won’t be able to see your game listed on Google Play, while larger screens (such as tablets) will be able to search for your app. How? The Android Manifest file.

Every time you compile your app, Game Maker Studio checks that file to set permissions and such. The file is located at  %appdata%\GameMaker-Studio\Android\runner\ and the name of the file is AndroidManifest.xml . Go ahead and open it up in Notepad – it doesn’t have much to it. If you scroll down a bit, you’ll see a section that begins with ‘<supports-screens’… this is where you can specify what screen sizes your app will support. For a bit of information on how this command works, check out this page: http://developer.android.com/guide/topics/manifest/supports-screens-element.html

 

So by default using Game Maker Studio, the Android Manifest XML file at that line will read:

<supports-screens android:resizeable=”true” android:largeScreens=”true”></supports-screens>

You can see it’s explicitly stated that large screen will be supported. The link I posted a couple of sentences up give a better idea of what’s considered a small screen, a large screen, etc. Now please understand this is actually all very new to me – I had no idea about the Android Manifest file until just about an hour ago. To my understanding, small and medium screens are ‘true’ by default (according to that link). We’ll keep medium screens enabled, but we’ll disable all small (~320×240) screens by adding
”    android:smallScreens=”false”    ” and ensuring that medium screens are enabled with ”  android:mediumScreens=”true”    “. It should now look as folllows:

<supports-screens android:resizeable=”true” android:smallScreens=”false” android:normalScreens=”true”
android:largeScreens=”true” android:xlargeScreens=”true”></supports-screens>

Save it, and you’re good to compile in Game Maker Studio! Be very aware that GMS will use this Manifest file every single time you build a game, whether it’s this current game or a completely new one. Go in and edit it between builds to your liking.

How can I ensure that it actually worked? After I uploaded the new APK to my Google Play Dev Console, the window that popped up looked like this:

NewUpload

 

Notice the two rows that are highlighted in yellow, indicating a change from the previous version. First off, we can see that 182 devices were automatically removed from the compatibility list. Secondly, we see there’s been a change with screen layouts: My app no longer supports small screens! That’s exactly what we specified in the Android Manifest file. It picked up on the change, meaning it worked! And the 182 devices that were removed? I assume they were all devices that had a smaller screen resolution. I can somewhat confirm this by checking the list of all excluded devices, and I now see that the LG Optimus Zone is on there. I have the physical device, and it’s been a hassle with my game and its 320×240 resolution.

Lastly, be sure to check this official Game Maker Studio page on publishing in Google Play: http://help.yoyogames.com/entries/21959497-How-do-I-publish-on-Google-Play-  Some great info, particularly a list of devices YoYoGames recommends that you disable as they’ll cause problems.

Creating App Icons

Before I dive into personal ranting, I’d like to suggest checking out this website: http://www.gieson.com/Library/projects/utilities/icon_slayer/#.U3QiWfldWSo This is the perfect one stop solution for all of your app icon-creation needs. You simply upload your artwork and the app icon generator will spit out a bunch of different icons at variable sizes for iOS and Android. More importantly though, you can adjust a handful of important attributes, such as rounded corners, glossiness, drop shadow, bevel, and outline, as well as their values. When you’re finished, the generator will pack up all of the icons nice and neat into a zip file for you to download. Works like a charm! Now, onto my rant. 

It’s honestly been a very, very long time since I’ve encountered something in game development that’s frustrated me to the point of nearly transforming into the Hulk and going on a break-anything-in-my-path sort of rampage. But tonight I felt my green side starting to rear its ugly, Hulkish head. The cause of my relentless rage? Making artwork for an app icon.

Now usually, after tossing around some designs, playing with a few different ideas, and experimenting and modifying, I tend to arrive to a point where I feel content with the artwork. I always aim for more than just simply “content” though, but sometimes you have to take a moment, step back, and consider it finished, otherwise you could spend weeks upon weeks pumping out the most minute details on a single image (which isn’t always necessarily a bad thing, but time is money, and when working alone – spending a month continuously on a single image isn’t good!).

Last month I designed an app icon which seemed… well, just ‘okay’ on the PC, but viewing it on my phone? Horrible! It just didn’t sit well at all. I decided tonight would have to be the night I go back through and redesign it. I played with a few different ideas, changing some layers, shuffling some art around, and I wasn’t content. Hmmm, no biggie, it’s only been about 20 minutes. Let’s try a different approach. Again, it didn’t turn out well. Okay, it’s been about an hour and a half since I began, and I still don’t have any good direction. That’s… a little worrying, but hey, let’s try other approaches. I scrapped it and began from scratch, and approached a few different ideas. 4 hours later? Nothing. Nothing’s working, they all look absolutely atrocious. 

And now, here I sit, completely frustrated, furious even, that nothing is clicking. Not all of the designs are trash-worthy, but nothing that appeals to me in the sense that, if I saw the icon on Google Play I would actually feel compelled, even in the slightest, to click on it and check it out. There’s this very specific personality of an app icon. It should be simple, but descriptive. Something that catches the eye. Packing an adequate amount of information in a tiny space, making sure not one element is too tiny. It should speak to the viewer, to make them want to click on it. Pique their curiosity. it should also look clean, well organized, nothing too complex or cluttered. It’s not a painting, or a large collage, or even a poster – it’s tiny. The elements in the icon should really stand out, everything should be readable in such a tiny image. I feel there’s a terrible disconnect. It’s almost as if I know what makes a good app icon, what sort of design guidelines I should be focusing on, but yet, my mind just won’t let me connect my game idea to an appropriate app icon. 

So what now? I’m already about 2 weeks behind schedule as is, but that’s understandable as this is the first title, and a lot of the time has been spent also setting up the website and preparing the company for business. But that only means I have to work a bit harder to stay ontop of things. Throughout every step of the game so far, from images to the website to… well, the game itself… I’ve either been content or very pleased with things. This is the first time I’ve just been so unsettled with any one thing. I hate to go with it, but I’m trying to force myself to design something that just doesn’t seem to be materializing at the moment. I’ll have to ship it with the icon I have and change it later when/if I come up with any better solutions.

I honestly hope this isn’t the start of some trend. Because if so, I wouldn’t be able to forgive myself.

The process of launching a game, no matter how many you’ve already shipped in the past, can be an overwhelming, slightly daunting, and extremely time consuming task (especially if you’re going it solo). It’s critical to fully understand that the marketing process simply doesn’t begin and end with uploading your title to an online digital distribution service (eg. Google Play or the Appstore). This is an ever-growing comprehensive checklist of everything you should be aware of the very second you finish writing your last line of code. As always, this list will be updated regularly as I dive deeper into game development and app distribution.


At a Glance:

-Register a domain name

-Create a Facebook and Twitter account

-Create all artwork for promotional material, photos for distribution services (Steam, Google Play) and social media platforms (Facebook, Twitter)

-Create trailer and gameplay videos, upload to Youtube or your website

-Prepare promotional game screenshots

-Prepare a demo/”lite” version (Not mandatory, but recommended in most cases)

-Upload game to a digital distribution platform

-Add your game to your website

  • Register a domain name: As always, I recommend using Hostgator both for your domain name registration and hosting services. GoDaddy is also another top choice for registering your domain name, but be aware however that hosting through Hostgator will certainly get you more bang for you buck. Even if you don’t intend on using your domain name directly and instead storing your game information on your main company website, it’s still a wise idea to at least acquire ownership rights to the domain name. After all, it wouldn’t be a good thing if your “Super Hot Potato Baby Adventures” becomes the top selling app of all time and somebody else registered that very domain name and filled it with promotional material for his own game.
  • Create a Facebook page and Twitter account: Facebook and Twitter are two extremely powerful social platforms for building fans and sharing information quickly. Consider these two sites as one of your advertisement/news hubs to get the information out directly to fans.
  • Add your game to your website: Update your website to include a section dedicated to your new title. People drop by your website to learn about your company and take a peek at all of the products you have to offer, so best list all of your games! Additionally, you could link your game on your company website to its own dedicated domain name. For example, if our “Super Hot Potato Baby Adventures” is an extremely massive title that deserves its own domain name, our entry for the title on our website could link directly to the SHPBA main game page.
  • Artwork: Here’s the big daddy of them all. While registering domain names and creating social media accounts are fairly straight forward, pumping out all of the required artwork for all of these social platforms can be an overwhelming task. If you could create a couple of advertisement images and slap them on every single distribution platform you’re registered with, it’d be gravy. But each platform requires different images fo varying dimensions. Your cover photo on the Facebook account certainly wouldn’t work for a Twitter profile photo, and similarly, the image dimensions for your Google Play app wouldn’t match up with the dimensions required for a Steam photo. So what to do? Bite the bullet and make the artwork, of course! Fortunately, in most cases, a general image can be modified (without too much exhausting work) to fit for other online accounts. It’s always a wise idea to work with larger dimensions and scale down if need be for different services. Scaling up from a small image will, of course, cause a blurry or completely pixelated mess. For more information about advertisement and promotional artwork, take a look at one of my upcoming blog posts.
  • Trailer/Gameplay Videos: You can launch without any videos whatsoever, but most users are more willing to shell out a bit of cash if they can see the game in action. As noted in the previous post detailing the effectiveness of promotional videos, creating a trailer for your title is a great way to quickly introduce game concepts to potential customers. With a trailer, you’re basically saying, “Here’s what my game’s all about, what I think is SO AWESOME, and here are the reasons you should buy it!” Apart from trailers, you can also create several gameplay videos that have a greater emphasis on particular gameplay elements. These standard gameplay videos don’t necessarily have to be as flashy or synchronized as a trailer – the purpose of a gameplay video is to give the audience a honest, natural insight into how your game functions. After you’re finished, you can upload all of your videos to your Youtube account (or your website, if you have the storage space!).
  • Promotional Game Screenshots: Also very important – screenshots! While videos do great justice for revealing the general concepts of a game, allowing players to take a peek of it in action, photos are often more convenient and easier to set up. Similar to videos, you’ll want to choose interesting shots that really emphasize particular gameplay elements. And remember, no pause screens.
  • Prepare demo/”lite” version: You’ve finished your game in its entirety, it’s totally ready to ship, and you’ve just slapped on a hefty $9.99 price tag on a simple mobile arcade title. For that price, or any price, you have to justify that the content and experience you provide matches or exceeds the price tag. Users will often need a means of evaluating your title and deciding for themselves if the asking price is practical. After all, if people purchased games only because the game companies screamed, “This game is great! Buy it!”, every single game company would be rolling in piles of green dough. A very effective way of allowing users to evaluate your title is by preparing a demo (often referred to as “lite”) version. The demo version should include enough content for players to get a great grasp on the direction of your game, and just enough to push them over the edge with their credit card in hand. Also, judging by the download count of free and paid versions of an individual app on Google Play, the free version’s downloads usually trump the paid version – Hey, it’s free, you’ve got nothing to lose, why not give it a chance?
  • Digital Distribution Services: Gog, Desura, Steam, Google Play, AppStore – these are just a handful of the popular digital distribution services/platforms available for game developers to promote and sell their titles. I highly recommend using one of these services for pure convenience and saving time. Unless you’re interested in managing your own payment system (through PayPal, too) and setting up a webstore, collecting and processing payments and customer information, and dealing with headaches of customer service and server maintenance, I’d suggest using one of the aforementioned websites/services to handle your game purchasing method. Don’t get me wrong – if you have the knowledge and a capable team, setting up your own payment platform is certainly a possibility, but for most indie game developers just starting out, it would be less overwhelming using a store that’s already set up with experience and lots of customers. Also, as an added bonus, these are essentially hubs where gamers hang out occasionally, so you’ll also (in a sense) receive some free advertising just for having your title present on one of these services!

This list will expand, keep an eye on it!

Creating a Video Game Trailer: The software, the Design, and the Process

Today I’m going to share my approach on creating video game trailers for my indie games, from conceptualization to a finished, high quality video to share on Youtube or any other social media websites (or, even your own site!). We can break this larger topic down into three smaller topics: Software, Design, and Process.

1. Software

We’ll touch on a few different applications required throughout the video creation process.

screen recording software: First, you’ll need a means of capturing footage of your game play. There are numerous screen recording utilities available that run the gamut of just-plain-terrible to dude-gimme-gimme-gimme. By and far, the best one I’ve come across yet is Fraps. You can easily capture both screenshots and videos at any time with a user-mapped hotkey. What sets Fraps apart from other screen recording utilities it its ability to capture directly from the source application rather than simply capturing a specified area on your monitor. Of course, this does have its limitations. I believe the source you’d like to capture must be DirectX or OpenGL, and I’ve come across a few applications that Fraps just doesn’t want to play nicely with. But for the majority of compatible apps, it works like a charm! It supports insanely high resolutions (4K+) and the ability to capture at up to 120 fps. The GUI is extremely simple and straight forward, and you’ll be up and running in less than a minute. The catch? The trial version limits you to a timed recording of 30 seconds and displays a watermark on the rendered video, and to retain full speed while recording, depending on the source application, you might need a pretty powerful GPU (Note, this limitation isn’t specific to Fraps alone – goes for all screen recording utitlies). But for only $37 for the full version, there’s no reason you can’t afford this if you’re serious about creating top notch trailers! 

If you’re interested in a free alternative, CamStudio works considerably well. You can specify the region on screen that you’d like to capture, or have CamStudio automatically resize the capture dimensions to fit a window. Trying to achieve a recording quality at 60fps like Fraps (with my experience) might not be possible, so I can’t exactly endorse CamStudio for super high quality video game trailer videos. It does, however, work wonders for general screen capture software (if you’re producing video tutorials, for example).

I’m sure there are handfuls of other alternatives, both paid and free. With Fraps and Camstudio though, all of my screen recording needs are taken care of.

video conversion software: Depending on the output of your screen recording software, you may need to convert the rendered file to an entirely different format.There are many paid solutions for video conversion, and some even include default profiles to convert to formats friendly on certain services (like Youtube, or a website). I’m currently using handbrake. It’s free, it’s straightforward, and it does a great job. I’ll discuss more in the process section of this post.

video editing software: It’s been years since I’ve had to traverse the web searching for a good video editing software solution. I’ve been locked into AfterFX since college, and I have absolutely no reason to test out any other video editing suites. AfterFX is a mighty beast, and the flexibility and power lies in the ability to set and manipulate keyframes on any attribute, such as position, scale, or any of the dozens of included effects. Unfortunately, I have absolutely no recommendations for video editing software if you’re not interested in shelling out a bit of cash. Windows Movie Maker is a free alternative, but it’s so frustratingly limited, you’ll be literally ripping your hair out and viciously clawing at your eyeballs wishing there was just another way in life. Really. (Side note, I have to use Windows Movie Maker quite a bit at work. Whenever I do, I find myself suddenly slipping into a deep depression alleviated only by an AfterFX fix). I’m open to any other recommendations for video editing software in the < $50 range (and support keyframed animation), just so I can suggest it to others.

And that’s about it for the basic software!

2. Design

There aren’t really any set rules in making an attractive video game trailer, but there are some helpful guidelines I’ve picked up on over the years. You want to be extremely aware of what sort of information you’re trying to get across, what emotions you’re attempting to convey to the audience and potential customers. Your trailer needs a mood that accurately reflects the type of game. The trick is establishing and continuing this mood throughout your entire trailer through use of music, timing, and visuals. Is it a fast paced action game with a lot of action and a handful of action served with a heaping side of pure actiony goodness? You may want to consider using an upbeat, fast tempo music track with a lot of flashy visuals and focusing on the quick, intense parts of gameplay. How about a relaxing exploration and puzzle game? A slow, ambient track might suit this, along with tidbits of video showing the player interacting, solving puzzles, exploring. 

What gameplay footage should be included in the trailer? Trailers are relatively short – some range from half a minute, others might extend up to two minutes or so. But regardless of the length of the trailer, you’ll want to include a variety of different shots that give the viewer a very good idea of all your game has to offer. You know back in childhood how you’d head to the game store and pick up a SNES box, and on the back it’d have bullet points of all the features? Those features are the ones you’d want to emphasize in a video trailer. (Sorry, that’s applicable to Steam with digital games, and newer physical game boxes too, but I keep those old cheap SNES boxes forever in my heart). Show off some weapons, some insane boss battles, maybe a little exploration, some puzzle elements. The goal is to build momentum and keep it going, to excite and keep that feeling extending throughout the whole entire trailer. 

It’s also always a wise idea to include the title and logo of your game company somewhere in the video, as well as the title and logo of the game itself. It doesn’t hurt to toss in some contact information in there too (as in, directing the viewer to a website for more info, not necessarily a telephone number! 😉  ). You might upload the video to Youtube, or perhaps directly to your website, but in the event that the video is embedded on a completely different website with absolutely no information regarding the video, you’ll need some info in the video itself so users can identify the game. 

Never ever put menus in a trailer unless it’s relevant to gameplay. Why would someone want to spend a few seconds staring at a pause screen? Situations where menus may provide additional information about your game could be RPG’s, simulation games, strategy games, etc., where menu navigation and making selections are paramount to the gameplay experience.

And what a wonderful segway to pacing/timing. You don’t want to show any one shot for too long – you need to keep it varied and interesting, but you also shouldn’t switch shots every single second. Give the viewer a moment to process what’s going on. 

Music is absolutely critical, a fundamental part not only of trailers, but also video games themselves! Hop on Youtube and search for trailers – it’s not specific to video game trailers, most movie trailers do an absolutely incredible job of syncing visuals with a music track to completely emphasize the mood.

Your number one priority in creating a video game trailer is saying something to the viewer. If your trailer can’t speak about your game trhough music, visuals, and timing, then you need to revisit it and rework it until it does. Here are some things you should put in a trailer:

  • Character’s special abilities
  • Using weapons, showcasing a variety
  • The battle system, bosses and enemies
  • Puzzles, exploring, focus on beautiful graphics

And here are some things you should never put in a trailer:

  • Walking around randomly not interacting with the environment
  • Pause Menus
  • Game Over screen
  • Glitches and bugs
  • Your mom (unless your game is a mom simulator, then by all means, go right ahead!)

Just remember, keep it interesting! The visuals appeal to your eyes, the music warms your ears, and the game itself should melt your heart. 

3. Process

This section is a bit more technical than the rest. This is all about the process, starting from recording some gameplay video to rendering and uploading your game trailer to Youtube. I’ll speak more specifically about my process, as it varies from person to person, especially depending on the software they use. Here’s my approach:

I always start out with Fraps. I plan ahead and think of some interesting shots I’d like to share with fans and gamers. I always record at full resolution and 60fps – beginning with the highest possible quality right off the bat is important, as degradation through conversion is likely through each step of the process. Keep in mind, you’ll need quite a bit of free hard drive space to store all of your videos. When less than a minute of recorded gameplay can total to nearly a whole gigabyte, you’ll understand why having lots of free space on your HD is important! Because we’ll be editing these individual clips later, it doesn’t matter if our videos capture a bunch of things we’d rather not share in the trailer. For example, we want to capture the player being gruesomely pummeled by a giant bat zombie monkey creature, but we can’t anticipate exactly when the giant bat zombie monkey creature will strike. So we’ll just hit record whenever, and later in the editing process, we can cut out all of the boring footage.

Once I’ve built up a small library of different gameplay videos, it’s time to bring it over to my video editing software. Because I have over a terabyte of free hard drive space, and I just upgraded to a speedy i7 processor, I don’t bother with converting the humongous .avi files to something more manageable – my PC can handle it! However, if you don’t have quite as capable of a setup, you can always open up Hand Brake and convert your videos to something a bit more practical. It’s best to go with a file format that greatly reduces the file size without sacrificing much quality. DivX AVI is a great choice for video compression. I also recommend WMV (Windows Media Video). MOV can certainly reduce your file size as well, but not quite as significantly as other file format choices.

When preparing a large video project, it’s always best practice to ensure that all of your video files and other media assets are in one folder (or with subfolders). In a lot of video editing software, importing a file will merely reference the file, meaning that, even though it appears as if you’ve imported the file into your software and it’s there to stay, actually moving the file to a different folder on your hard drive might break the connection and cause the video editing software to become confused (“Huh? Where’d the file go? It’s missing!”). 

It’s important to be aware of your composition dimensions (the resolution of your project). To my understanding (don’t quote me on this), when you upload a video to Youtube, it’ll automatically convert the video to the closest resolution setting either at or below the resolution of your video file. That means, if the video you upload is 1024×520, or some other similarly odd resolution, it’ll drop it down to 480p despite our video’s resolution being closer to 720p. If the native resolution of our video file is 1024×520 and we’d rather Youtube render it as 720p instead of dropping the quality to 480p, we could just simply scale everything up in our video editing software to reflect 720p… meaning, take the imported video and scale it up until it’s 1280×720. Now when we upload it to Youtube, it won’t drop down to 480p. 

In AfterFX, I’ve heard tales of some people who have trouble with importing MP3 files – sometimes it may cut out a bit, or skip just a few seconds into the file. Though I’ve personally never encountered this unusual behavior, importing a WAV instead of an MP3 always does the trick.

When I’m rendering out from AfterFX, I always render as a WMV at the highest quality settings possible. This keeps the file size greatly manageable while retaining most of the quality. 

————————————————————————————————————————————————————————

That’s just about it! I’m sure I have much more to share, but my mind is a big ol’ mushy pile of yummy brain jello at the moment. Of course, as it always goes, I’ll update as I think of more helpful information to add to this post.

 

 

Indie Game Studio Website Design with Basekit: Part 1

My next set of posts will be entirely focused on building a website for an indie game development studio. I know for sure that there’ll be at least 3 parts to this series, but with the large amount of information I’m anxious to cover, I’m anticipating quite a few more!

So, first off, why even bother with a website? Sure, as we learned before, you can simply register your Facebook and Youtube and Twitter pages, and any additional information can be included on your app’s description page up on the Google Play Store or the Appstore (or Steam, if you fancy). While the social sites are great for connecting and interacting with fans, you’ll also need a definite one-stop location where you can post whatever you’d like with content you can customize to your heart’s content, without any limitations. The deeper you dive into the game development process, the quicker you’ll realize how limiting it is feeding off of other websites to do your advertising and promotion, all while playing by their rules and staying inside their boundaries. Besides that great benefit, it also always looks more professional registering and owning a domain name exclusively for your company.

The first (and perhaps the most important) step when designing your website is understanding exactly what you want to convey to the user. Never add a bunch of filler pages with random information that has no purpose. Every page, every image, every word must be there for a reason. Think in the most general terms at first, and when you have a rough idea of your website’s overall purpose, grind down to the specifics. When you understand what information you need to include, you can begin separating the chunks of info into their own individual pages. On my website, I opted for the following pages: Home, Blog, Games, About, and Contact. Each page has a very specific purpose.

The Home page very distinctly displays the company logo and name with very little else. When someone visits my site, this is the first page they’ll see, the definitive location to see the logo without any significant distractions. Underneath the logo are the Facebook, Twitter, and Youtube logos, giving viewers the option to click on any and be redirected to the company page on each service/social platform.

The next page is the Blog page. I’m still currently working on integrating a WordPress blog into HostGator/Basekit, so I can’t speak too much on the effectiveness of this! However, the purpose of this page is very significant – this is where all of the updates, news, recent events, etc. will sit. When somebody thinks, “hey, what’s new with that company?”, they can simply hop onto the blog to check out updates and upcoming events. If you didn’t have a blog page on your website, how else would you share new information? (this actually isn’t a rhetorical question – we’ll get to that shortly!)

The third page is the Games page. A brief summary – this page lists (in a very visual manner) every single game, divided into categories based upon release date (released, or upcoming). At any given moment, any fan can check out the page to know exactly all company games that have ever been released, as well as take a peek at any upcoming titles. Additionally, clicking on any game on this page will open up a new page that gives a very detailed description of the game in a custom template I created. Each game’s page includes important information, such as a release dates, screenshots, videos and trailers, general information about the game, where the game can be purchased, etc.

The fourth page is the About page. This page gives a brief description about the company history, future, and all employees. You’d like to know who’s behind the operation, right? Include an about page so fans won’t think you’re some phantom ghost who lives in another world and occasionally surfaces to litter the appstore with a bunch of games.

And finally, the last page is the Contact page. Again, not much information on this page, but the information that is on this page is extremely important. It’s the contact information – without it, fans, the press, potential reviewers, etc. wouldn’t have a way of getting directly in touch with you! You should always include an e-mail address. Some sites will also include a telephone number, and even a mailing address. Both are fine – just as long as anybody who wants to get in contact with you has an option to do so quickly without any confusing hassle.

You can see, each page has a very specific purpose.

Home page: Branding logo and social media links, providing fans with others ways to stay connected

Blog: Updates, news, events, a page to store all that changes!

Games: Database of all games, both released and upcoming, and information on every single title

About: Company history, future plans, and the developers behind the magic

Contact: Means of getting in touch with you, contact information

These five pages are the main pages that will be incorporated into a navigation menu/bar that sits on every single page of the website. Since these are the overall main pages, users need to be able to access them at any given moment, so the navigation menu must be on all pages. I also have these five pages arranged in a specific pattern for a reason. First is the home page, the very first page the user sees with the logo and other ways to connect. Next, we have the Blog and Games. You can switch these two if you’d like, but I put the blog first because I’d like to introduce the user to any updates first, and then show them the database of games. Also, games sitting in the center (the 3rd option out of 5) has some sort of visually-pleasing aesthetic to it. Of course you come to the website mainly for the games, so sitting in the center of all the other options presents it with a bit of dominance. The next page, About, kind of says, “So you checked out our games, you know what we’re up to, so here’s a little bit of background information about our company and how we got our footing, and these are the people behind it all, the developers who created those games you were just looking at a few minutes ago.” And lastly, the contact page. It’s a personal preference, and certainly not a written rule, but most websites put the contact page at the very end, almost like saying, “Thanks for stopping by and checking out all we have to offer! So if you like what you’ve seen, or you have any questions, or just any feedback at all, hit is up, let us know what you thought about your games and the experience.” (If you can’t tell by now, I love hypothetical quotes).

Some indie game development pages might be set up slightly differently. For example, some might opt to just combine the blog/news page and the Home page into one, so when users visit their site, they’ll immediately be introduced to any updates without having to click on a separate link. Others might combine the About and Contact page into one and save a bit of space. It’s all personal preference, but make sure that your design (form) follows your function. Ensure that there’s a reason you made those decisions and that you present all of the information in a very coherent and easily-accessible manner.  And that’s the number one rule. One more time?

The purpose of your website is to inform, so include only relevant information and make it easy to navigate.

Spend a bit of time studying the content and layout of websites for popular indie game development studios. If you’re a gamer and a huge fan of the company and you’re anxious about new games, you’d probably hit up the Blog or the Games page first. If you’re from the press and you’re looking to conduct an interview with someone from the team, the About or Contact pages might be your first stop If you randomly stumbled upon the website, you’d most likely head on over to the Home and About pages. Ask yourself what you’d like to share with gamers, potential fans, the press, use this post as a starting point for planning your website content, and start rolling around some ideas!

Target Android 2.3 with 320×240 resolution for app development

I’ve always had the terrible fear of device fragmentation when working with Android – as there aren’t necessarily any major standards concerning hardware, besides the navigation buttons of course, there’s a flood of Android devices with varying resolutions and firmware versions. My games run without a hitch on my original Nexus 7, my newer Nexus 7 2013, my Huawei Ascend Plus, and lastly, my favorite little Moto G. All of these devices have a resolution of 800×480+, and all run Android 4.0 or above. I knew from the get go that I needed to also target Android 2.3.x, but after compiling and testing on a Samsung Galaxy Player and the remarkably horrible performance issues, I became extremely concerned. I didn’t have an FPS onscreen counter, but it seemed to be less than 30, possibly around the 10 – 25 range. Completely unacceptable. 

Hoping it was just the Galaxy Player, I ran out tonight and purchased a cheap (well, relatively cheap – $40) LG phone running Android 2.3.6. The resolution is 320×240, which also makes for a perfect device for testing the lowest-end spectrum of resolutions for my targeted devices. But I encountered the exact same problem I did with the Galaxy Player – atrocious framerates. Even worse, as a matter of fact. 

I was all prepared to launch my first app this weekend, but I’ll feel uncomfortable doing so without Android 2.3 support, considering about 20% of all currently-activated Android devices are still running a version of 2.3. I’ll be cutting out a significant portion of the market. But is it worth it? When phones running anything lower than 4.0 are quickly becoming increasingly rare, is it worth it to take the time and effort and attempt to figure out what’s causing the massive slowdown? I’d like to say no.

But I feel I should say yes.

I’m using Game Maker Studio, which limits me a bit with how deeply I can configure my app settings to fine tune performance for older devices. I’d like to take a moment though and speculate on what could be causing this terrible drop in the frame rate.

My first guess? The texture page size. Currently I’m using 1024×1024. But the specs of my phone are as followings:

320×240 resolution

800 MHZ processor

512 Mb RAM

You would think that it could handle my 2D game without struggling so much. The only thing I can imagine is the persistent background, which is 1024×576. I’ll experiment with a new test app and various configurations to see exactly what’s the culprit for this terrible slowdown. If it’s something easily adjustable, I’ll rework my game to support older devices. If not, I’ll simply ship it for newer devices, learn from my lessons, and take caution during the development of my next title.

Moo Business Cards: Update 2

My Moo business cards finally arrived this afternoon and, as promised, I’ll write a quick post sharing my general impressions of the print quality and overall service.

First of all – the entire process was fast. After uploading and submitting my designs, I was given an estimated arrival date of May 13th. Today is May 8th. They arrived five days early, after having placed my order on May 3rd. Within 5 business days, they were able to print and process my entire order and get it shipped out to arrive today. Of course, I was pleasantly surprised, considering I opted for the slowest processing and shipping method.

The thickness and overall quality of their business card paper is pretty much on par with what you’d expect; it’s thick enough to not feel cheap, but not overly thick where you’d struggle to stuff multiple in a wallet. It’s a nice inbetween, about half the thickness of an average credit card. As mentioned in the previous post, I went with the rounded edges, and they’re simply perfect – nice and round. Concerning the print quality – I don’t necessarily have anything to compare it with, since this is actually the first time I’ve ordered business cards. I can sum it up with this though: I certainly wasn’t impressed. I’m not sure what exactly I was expecting, considering these are just business cards, not super high resolution posters or something, but even with the 300 dpi high resolution artwork I submitted, I can make out individual dots of color. Speaking of which, the color also seems a bit darker and nowhere near as vibrant or lively as the original artwork – it has a bit of this dull, muddy overcast. The contrast also seems to be noticeably lessened. Overall, the print quality isn’t terrible, but for someone who spends many many hours each week working on designs and attempting to be extremely aware of color balance, the offset and color differences in the print quality immediately jump out.

My final verdict? Like I said, being that this is the only set of business cards I’ve ever ordered, it’s rather difficult to compare when I… well, don’t have anything to compare it with. The heavy stock paper they use is excellent, and the round edges look perfect, but the print quality loses a bit of its vibrancy and life and falls into a sort of darker, washed out/ever-so-slightly-desaturated appearance. Still, considering that, I would recommend Moo. Each round-edged, double-sided colored business card comes out to about $0.60, give or take a few pennies. I’m a bit disappointed with the print quality for the price, but If you want super perfect color reproduction and extremely high quality prints, then maybe regular business cards aren’t for you!

I’ll update this mini review with other impressions when I do business with other card printing services so I’ll have a better basis of comparison. I’ll try VistaPrint next.