An introduction on how to generate revenue with games
Historically games were sold as boxed products via bricks and mortar stores but the industry is wholeheartedly moving to online distribution. Instead of having to trek to a store or waiting impatiently for days for it to arrive from Amazon, players can click a button and the game is downloaded and playable at the speed of their internet connection. Instant gratification. The Apple App Store, Google Play, and Valve’s Steam Powered are all great examples of this.
But how do these games make money?
The pay to play model is one of the most common options. You pay a fee and it unlocks a game that you can play from start to finish. Simple. These types of games have to be top notch offering quality gameplay in order to compete and succeed with all the free games available. Done right, games like Minecraft can generate explosive revenues.
Other game developers choose the route of in-game advertising as it doesn’t require any upfront payment from the players. Instead of making money from purchases, developers earn money from brands eager to advertise to this lucrative demographic. Ads come in all forms such as video ads that play at the start and in between levels, billboards during gameplay, or ads that appear around the game itself. Some companies even create Advergames that immerse the player in their brand while they’re playing which increases brand awareness in ways other forms of advertising, like banner ads, simple cannot. Done correctly this can be a powerful advertising tool.
Trial versions of games allow the player to get a taste of the game before they commit to buy. This can be done when the game stops after a period of time without payment or limited versions where the player gets the first levels for free but has to pay to continue. The trick here is all about balance, you don’t want to give too much away for free because you want upgrading compelling enough to warrant purchase.
Microtransactions became popularized by games like Candy Crush and have been adopted by many games since. The idea is to give away your game for free but make it extremely difficult for players to pass all the levels without “powering up” with paid boosters. Some games make it possible to finish the game by putting in a ton of effort and time while offering payment options to skip the more mundane aspects of acquiring the boosters manually. In other games, such as when you’re competing with many players, players can buy boosters to get an edge over their competition. Just like everything else, finding the balance is key and can mean the difference between incredible revenue streams or nothing at all.
Developers are also dabbling in episodic content, also known as expansion packs, where instead of unlocking the entire version of a game the player unlocks each small part individually. This allows development companies to release a game before it’s completed to see if there’s a market and then offer each new episode when it becomes available.
Skill based games are becoming popular as they allow players to enter a tournament to compete for real money and developers take a small percentage. Players can either compete head to head or in tournaments against the masses. In order to conform to laws prohibiting gambling, these games must be skill based and winning be determined by a player’s physical or mental skill. It cannot be random like a lottery or poker unless you obtain a gambling license.
Some games are created without the intention of ever making a dime. Many serious and educational games are developed with altruistic intentions that playing a game can change the way you think and act thus benefitting society as a whole. Whether it’s understanding evolutionary anatomy, to inspire young girls into STEM careers, or understanding how our actions affect the environment, these games can really make a difference.
Training games are similar to serious games in that they change the way players think and act but with training games the company is rewarded by improved productivity. These games are created with the purpose of advancing the players ability to sellgft, improved performance, and product understanding. The players gain valuable insight and learn by actions in the game that change behaviors in the workplace. The results benefit the player and company in the long run. Training games are either developed and distributed by the company for free, sold for a fee per user, or provided with a paid training session.
There are many other ways to make money with games such as licensing, preselling, etc, but these are the most common. Many developers offer a combination of the above options to culminate an offering that appeals to everyone and maximize their potential earnings. The trick is finding which ones work best for you and your game.
So what are you waiting for? Contact us with your game idea, today!
Music provided by NoCopyrightSounds
Song: Fade
https://www.youtube.com/watch?v=bM7SZ5SBzyY
Artist: Alan Walker
➞ Facebook https://www.facebook.com/alanwalkermu...
➞ SoundCloud https://soundcloud.com/alanwalker
➞ Twitter https://twitter.com/IAmAlanWalker
➞ YouTube https://www.youtube.com/user/DjWalkzz
➞ Instagram https://www.instagram.com/alanwalkerm...
Skill Based Games
The authorization of skill-based games for gambling purposes presents arguably the greatest opportunity for innovation in the casino industry since its establishment. From eSports to slot machines, developers and publishers alike are jumping on the skill based games train.
Popular eSports include real-time strategy, fighting, first-person shooter (FPS), and multiplayer online battle arena (MOBA). Tournaments such as The International, the League of Legends World Championship, the Battle.net World Championship Series, the Evolution Championship Series, and the Intel Extreme Masters, provide live broadcasts of the competition, and prize money and salaries to competitors. In 2015, eSports were estimated to have an audience of 160 million and total prize funds exceeding $71 million.
With laws regarding games of skill being relaxed, the opportunities to create skill based games are becoming more enticing for game publishers. This video will discuss two different aspects of development:
1) The differences between skill based and gambling
2) How to avoid common development pitfalls.
The differences between skill based and gambling
Creating a game in which players bet real money is exciting and could potentially earn a lot of money for the developers, but it’s important to be informed as to not run afoul and accidentally create a gambling game in which would get you in legal trouble.
Games of skill, by definition, are where the outcome of a game is based on physical or mental skill rather than chance. A great example of this is chess, where the placement of each piece is pre-determined and each move is made by the player, as such, the game is considered skll based. On the other end of the scale, a game of chance is like a slots machine, where you press a button and the machine randomly selects what the outcome will be. Some games lay somewhere in the middle of the murky legal status, such as poker, where the cards that are dealt are random, but a player’s skill also greatly impacts the outcome of the game.
With chess being on the skill based side and slots machines on the random, the more your game eliminates chance from the outcome, like chess, the more likely your game will be considered skill based.
In short, in order to be considered skill based, all players need the equal opportunity to win without being affected by chance. So the game can’t incorporate mechanics such as a roll of a dice, a randomizer, prize wheel, etc).
Let’s look at poker for an example. Even though it is generally accepted that a professional poker player will do better over a tournament than a beginner, the cards in a deck are randomly dealt to each player which means a lesser skilled player has a chance of winning against a higher skilled player. This chance is generally why poker is not considered a skill based game in the eyes of the law and is regulated accordingly.
There is no general legal definition throughout the United States that uniformly defines a skills based game, instead statutory and case law often refer to the Dominant Factor Test, Material Element Test, and Any Chance test. A game is considered gambling under these tests if the game involves chance and/or prize reward. However, the chance element is evaluated differently under each test.
The Dominant Factor test is where the outcome of a game is overwhelmingly dependent on the skill level of the player (if a skilled player beats an unskilled competitor at least 75% of the time, that's a game of skill).
States that adhere to “Dominant Factor” test:
Alabama, Alaska, California, Connecticut, Delaware, Indiana , Massachusetts, Michigan, Mississippi, Montana, New Jersey, New Mexico, North Carolina, North Dakota, Ohio, Oklahoma, Pennsylvania, Rhode Island, South Dakota, Utah, West Virginia, and Wyoming
A Material Element test determines whether chance is an important component to determine the outcome of the game. As an example, in games like Minesweeper, a great deal of skill is generally exercised by players, but there are moments when players are forced to guess at random, resulting in the winner and loser of the game. Skill predominates, but chance plays the material role in determining the game’s outcome.
States that adhere to “Element” test:
Hawaii, Iowa, Minnesota, Missouri, New York, Oregon, and Washington.
A few states adhere to the “any chance” test. This means that a game is considered As virtually every game has some element of chance, most skill games will not survive scrutiny in the following states:
States that adhere to “any chance” test:
Arkansas, Colorado, Florida, Georgia, Idaho, Louisiana, Maine, Nebraska, New Hampshire, South Carolina, Tennessee, Vermont, Virginia, Texas, and Wisconsin.
Unmentioned states have no decisive authority addressing which test, if any, would apply. Each state differs and laws change regularly, so it’s important to review laws in each state to determine whether or not a game is considered skill based in that region.
In order to be considered a skill based game the law generally requires you to answer yes to these three questions.
1) Does the game require payment of an entry fee, yet no amount of that entry fee contributes to the prize?
2) Does the prize amount stay the same regardless of the number of participants?
3) Is the game operator, or anyone associated with the operations, unable to compete?
Lastly, terminology plays a role in determining if a game is considered skill based or gambling. If you use wording generally related to gambling then you’re more likely to be considered a gambling game. So instead of using words like bets, stakes, and wagers, use alternatives like challenges, entry fees, cash tournaments, and contests.
How to avoid common development pitfalls.
Besides regulations, there are many things to consider when actually developing a skill based game. Since the games are played for real money, there is more incentive for hackers to cheat to win. So unlike regular games, skill based games require additional security measures to thwart potential attackers.
The first method to protect yourself is the most obvious. With a number of hacks occurring in recent years, it’s important to encrypt all user data inside your databases. This is to ensure that if anyone were to break into your server, the user data would have a second layer of protection. Likewise, any data that comes to and from the server should be encrypted and decrypted accordingly so it doesn’t get intercepted and modified before it reaches its destination.
To manage legal requirements, you may be required to certify identification, address, and age checks on users along with geo-location detection to ensure the player is old enough to play and is within a region where it is legal to do so.
Anti-cheat measures should be put in place to further protect yourself from hacking. Some of the ways to do that are as follows:
A) Add a timer to a player’s response and measure how long it takes for that player to respond each time. If it is a fraction of a second or exact amount of time each turn then that player is probably using a bot to play.
B) Add a second layer of encryption. For a simple example, if a player’s score is 2033 your encryption may be @)## but you could also add a few characters to verify the number of digits like $@)## where the $ represents 4 digits in the score. If someone modifies the score to be $@)#### (2033333) then your second layer of encryption would detect there should only be 4 digits in the score and flag it as questionable.
C) Handle as much of the game logic you can on the server side. The client side (what the player sees) is much more vulnerable to hacking than any code placed on your own server.
D) There are apps that can be used to bypass in-app purchases. Basically, they tell your app that a purchase has been confirmed without it being approved by the app stores. One way to combat this is to verify the transaction has been confirmed by the app store by querying their server after confirmation rather than relying on the initial response. Another method to combat these problematic apps, at least on Android, is to detect if any of these apps are installed on the player’s device. If they are, assume they are interested in cheating and don’t let them play.
E) Utilize code obfuscation, which prevents people from decompiling and modifying the client code to benefit them in game.
In conclusion, these are just some of the measures you can take to defend yourself and with new hacker tools coming available regularly, it’s more of a cat and mouse game than a sure-fire bet. Some say there is no way to truly protect yourself 100% from a determined and skilled hacker, but you can put enough roadblocks in place to make it more difficult.
Which programming language is best to make a game from?
When thinking about making a new game one of the most important questions is which computer language to use. It may not seem like a big deal to those who just want to get on with it but it plays heavily on development costs, security, and compatibility issues. The wrong choice could cause problems down the road.
First, sorry to start with something so technical, but it’s important to know the difference between a programming language and a framework. A programming language is a set of commands that communicate directly to the computer’s hardware. A framework is a collection of computer language libraries which dramatically decrease the amount of time it takes to code a by reducing the effort and the volume of code needed. An easy way to think about this is imagine you want to drive from Seattle to New York. A programming language allows you to design a car from scratch and have full control over each aspect of your new car. You can design a new engine, wheels, the transmission, etc. Frameworks on the other hand are like buying a car and driving it there. You’re stuck with how the car looks, but there are some options and many types of cars to buy. Unlike designing the car from the wheels up, you can’t modify your car as much so it won’t go as fast, or cost as much, as a custom created supercar. The question is, do you need it to? Most don’t.
As you can see, having your games coded in a native language such as Java or Objective C is beneficial for speed and customization but most people don’t need that much flexibility and would benefit from a framework to get their app to market faster and cheaper.
There are other advantages to Frameworks such as cross platform compatibility. If you were to write a game in Objective C for iOS you would need to re-write it in Java for Android and then again if you want a web version. However if you were to create your game using a framework like HTML5 then you can output versions for the web, iOS, and Android devices with very little additional effort. Instead of needing a different coding team for each platform you have one team making builds which saves substantial time and money.
Javascript, PHP, MySQL and CSS collectively are known as HTML5 and when thinking about making games for browsers, HTML5 is definitely the way to go. While it still requires effort to perfect compatibility for all browsers, it’s a reliable tool to create games that are able to run on computer, mobile, and console browsers. With tools like CocoonJS and Phonegap you’re also able to output your game as an app that runs on iOS and Android phones. HTML5 is perfect for 2D development but not when thinking about making a 3D game.
There are different HTML5 frameworks to choose from with some specifically created as game engines for game development. Some specialize in 2D game development like Phaser.JS or CO-COS2d others specialize in multiuser communication like Node.JS. The best one is the one that does what you need and is updated regularly.
https://html5gameengine.com/
Unity 3D is a cross platform game engine that outputs to a variety of platforms including iOS, Android, Xbox, Playstation, and even HTML5. As the name would suggest it’s particularly great for 3D but 2D games are also possible. It’s a mature language and has a great support network which is perfect for making mobile and console games but their HTML5 export code still leaves something to be desired. So if you’re not wanting a browser version of your game, Unity3D is perfect, but if you wish your players to play in web browsers then you should focus more on other HTML5 alternatives.
Adobe Flash was once a viable cross platform development tool but has since gone by the wayside due to memory leaks and security issues. It has been prohibited for use in browsers on mobile devices which makes it less advantageous to use than HTML5. You can use Adobe Air to make flash based iOS and Android mobile apps but it’s generally not recommended. It’s also not viewed as a serious programming language and intended more for Script Kiddies than professional coders. Flash is also a proprietary architecture like Unity3D meaning changes are controlled by a particular company, in this case Adobe, whereas HTML5 is completely open and controlled by a standards committee.
----------
Steve Jobs hated Flash. Hated it. And not just a little bit.
"Flash is a spaghetti-ball piece of technology that has lousy performance and really bad security problems,"
-----------
Costs are also sometimes a factor when choosing a platform. Some frameworks cost more than others. For example, Unity 3D is available for free but additional features are only available when paying a monthly fee. Similarly, with HTML5 there are different free options (like PhaserJS) and others you have to pay for (like ImpactJS). Personally I prefer to support the paid for options (like Unity) as that means support and added features for future versions. Since the free options don’t bring any money in for the developers it sometimes means those frameworks will cease to exist or not be upgraded in the future which is problematic when thinking about a long term project.
With all this information it may still be difficult to determine which direction to go in, so let’s break it down. If you’re a large publisher with oodles of cash or game code optimization is your primary goal, programming natively may be the way to go. If you don’t have a substantial war chest, want to get to market quickly on multiple platforms, then think about using Unity 3D. If you wish to distribute on the web and mobile devices via browsers and app stores, but not consoles or 3D, then HTML5 may be the right choice. Whatever you choose, don’t use flash. If a programmer recommends developing a game in Flash it’s probably because they don’t know any other languages or frameworks and just want your development money rather than caring about long term benefits for your project.
Ultimately which development tools you use depends on the game you’re creating. For the Game Gurus, while being experienced with multiple languages and frameworks we prefer cross platform development tools like Unity 3D and HTML5’s Phaser.JS (among others) as the benefits far outweigh the cons. That said, like all things tech, this may change when new frameworks and platforms become available.
What’s the best choice for you? That depends on your target platform, previous experience, type of game and the size of your team.
With faster processors, higher level frameworks like HTML5 are capable of doing much of the work that used to require a low level language.