This article is for: Startup founders who want to build successful video games. Learn game development tools and tips through three real-world case studies.
Written by: Alex Senson, Ashley Burton, Tyler Boulanger
Video game development can be a tricky business for startups. Without the resources or brand awareness of some of the major corporations in the industry, it can be hard to build a product that gets noticed by consumers. However, truly unique and innovative products can often find a path to success amidst all of the competition. These new ideas tend to come from a place of deep interest or expertise. Building something centered around your passion drives your creativity to new heights, just like it would in other areas of software development.
In addition to the idea of whatever grand new game you have in mind, there’s a lot more you need to consider on the development side of things. What platform should the game be made on? What does the process of developing it look like? And what are the keys to success in the industry? All of these are valid questions that will be addressed below. This article uses the diverse experiences of three professionals in the video game industry to explore ten important considerations of video game development. The ten topics addressed are:
Main Topics to be Covered:
- Choosing Your Development Environment
- Navigating Device Compatibility
- Choosing a Development Methodology
- Collecting User Feedback
- Security Considerations
- Key Expertise for Game Development
- Useful Tools
- Updating You Game
- Key Takeaways
Altitude Accelerator Case Studies:
- Prodigy with Rohan Mahimker
- Unity3D Game Development with Jon Senson
- Lucky VR with Jeff Lande
Introduction to the Three Case Studies
Three case studies of experienced professionals from the video game development industry are explored in this article to help provide guidance on how the above topics can be addressed. They come from diverse backgrounds with varying perspectives on how game development can be handled. Here is an introduction to each of them.
Rohan Mahimker from Prodigy
Rohan Mahimker is cofounder and co-CEO of Prodigy, an online game that teaches you students curriculum-aligned math skills. Looking to his own childhood for inspiration, Rohan and his cofounder created the earliest version of Prodigy as their fourth-year project in their mechatronics engineering program in university. He wasn’t a fan of all the pages of math that tutoring companies used to teach kids and thought integrating math into a Pokémon-esque video game would be a great way to keep kids engaged in learning. The company has since grown to over 250 employees and the game is being enjoyed by over 30 million grade 1-8 students worldwide.
Jon Senson, Unity3D Game Developer and Programmer
Jon Senson is an experienced video game developer with experience working at multiple game development companies. His work at these companies involved programming and updating games for both internal projects and clients. Senson has experience with a wide range of languages and development platforms.
Jeff Lande from Lucky VR
Jeff Lande is the founder of Lucky VR, a company that builds online virtual reality casino games. He built the company around three of his passions: poker, technology, and entrepreneurship. The company has leverage its innovative technology to attract partnerships with major companies like PokerStars and Unibet. The Lucky VR team has expanded to about 17 people and has built a lot of credibility in their niche market. Having come a long way since their bootstrapped beginnings, their recent partnerships mean Lucky VR has nowhere to go but up!
No game can be perfectly made right away. Software development involves a lot of planning, often involving wireframing, but changes to that plan are frequent throughout development. Because of this, game developers created prototypes so future users can try out the game before it is launched to the public. This is similar to the idea of creating a minimum viable product, which is explored in this article, since you’re releasing an unfinished product just so the users can have something in their hands to provide feedback on. Tips for collecting feedback will be explored later on in this article, but here is some advice on prototyping from the experience of our case studies.
Prodigy’s original prototype was a very basic version of the game with very few screens; a basic battle screen with math questions, a character profile screen, etc. The prototype was brought to schools for students to try and built out based on their feedback. There was less wireframing in the ideation stages than a web developer would usually do and they put more of a focus on concept art for characters, settings, and animations.
Senson’s projects were usually small enough that he was able to plan out entire games “on paper” before beginning development. He would first create an alpha prototype, which is an almost-complete version of the game that is playable and resembling the final product. After feedback on that he creates a beta prototype, a representation of the fully implemented game design. This product is then tested for quality and bugs before adjustments are made for the final release-ready version of the game.
Lucky VR’s technology was first showcased as simple “demos” at trade shows to attract interest. Their earliest product was client work with an online slots company in Barcelona, with their collection of partners expanding as more companies were exposed to their demos. Even with an incomplete product, using prototypes as a demo is a great way to spread word of your game or technology.
Choosing Your Development Environment
Having a great idea for a game is one thing, but figuring out how to put that plan into action is a huge part of building a video game. There are several technical considerations to keep in mind when planning out your game. Depending on what you want your game to do, what audience you’re aiming for, and what your experience level is, there is a wide range of options available to you as you plan to get your project off the ground.
Choosing the language in which to program your game often depends on which platform you’re using or what language your team is most familiar with. C++ is one of the most commonly used languages in video game programming, but there are many other you should familiarize yourself with before making a decision. In this article, we explore the varying qualities of many of the more popular programming languages.
When developing mobile games, your choice in operating system between Apple iOS and Android has an impact on what language you should use, what users you should be aiming at, and which hardware you think your game is best for. This article outlines many of the considerations involved in choosing the right operating system during mobile software development.
Perhaps the most significant aspect of a video game’s developmental framework is the platform on which it is built. Depending on how advanced the game you’re making is, your level of experience, and how you want to deploy your game, there are a variety of both beginner platforms and advanced engines available.
When you want to start getting comfortable with game development, some beginner learning platforms can help you get started small. You can make professional-feeling games without any coding required, though many of these platforms allow you to augment your games using code. Some of the most popular of these simple platforms include: Stencyl, GameSalad, Construct 3, RPG Maker, GameMaker, and Clickteam. Take a look at them and find the one that looks like the best fit for you!
More advanced game development engines are platforms on which games can be built quickly and efficiently using advanced coding abilities and a comprehensive toolkit of features. Most allow you to import assets, create environments, add audio, define the physics, create gameplay logic, debug the game and much more. Corona, AppGameKit, and MonoGame are more intermediate platforms used for creating cross-platform games while the Unity, Unreal, and Frostbite engines are used for professional game development.
In Prodigy’s first four years the game was rebuilt about three times on different platforms. It took a while to get to the game to where it is now but with each rebuild came a better version of the game. This was admittedly a very resource-inefficient and time-consuming way to build a game. Prodigy was originally developed on Microsoft Silverlight because of one the original founders’ experience working for Microsoft. Since then, the platform has been deprioritized by Microsoft, so the game was difficult to scale on that platform.
Prodigy then moved to Java so it would be installed on computers as a Java application. However, most school computers don’t let you download applications off the internet and it was limited to Mac and Windows PCs. Finally, Prodigy made the move to Phaser, an HTML5 development framework. It was much more accessible to developers and seamless to make the move to. HTML5 games can be played on basically any device, which is useful when school hardware ranges anywhere from 15-year-old desktops to brand new iPads.
Mahimker obviously doesn’t recommend switching between platforms twice, seeing as a lot of code needs to be rewritten when you’re switching languages. However, keeping some of the basic structures and components makes it easier to switch and he’s happy he ended up on his current platform.
When recommending an engine to new game developers, Senson would choose Unity as the most user-friendly. It has a more robust language and can be used across platforms, boasting a collection of very “industry standard” features. The user forums also help engage in helpful discussions with users while other platforms don’t have as much of an opportunity for feedback from the public. He also makes use of the Unreal engine himself, though it requires much more advanced knowledge of the C++ language.
Lande, as a non-technical cofounder, did not have much of an opinion on which engine to use when he got started. Lucky VR ended up being built on the Unity engine because that was the platform that his main developer has an expertise in.
Navigating Device Compatibility
Video games are played everywhere these days, from mobile phones to desktop computers to video game consoles. It can be difficult for game developers to make every user happy, seeing as each user has their own preferred device for gaming. Because of this, game developers often need to focus on ensuring their game not only works sufficiently, but is optimized for use on a range of platforms. This can be extremely difficult with new devices being released every year that have different display dimensions and other capabilities. Here are some stories on how our case studies navigated the fragile situation of making their games work on different devices.
After creating Prodigy on HTML5, it seemed ideal to have the game available on mobile so kids could play it on their phones at home or on iPads at school. However, the majority of users play the game on desktop or laptop computers at school, so reprogramming a new mobile version of the game has not seemed like an effective use of resources. The game can be played on mobile, but only as a “wrapped” version of the desktop version that isn’t super ideal for the phone; it is just effective enough to appease their audience of mobile users.
Considering his experience developing games for both mobile and desktop devices, Senson sees great importance in creating games that are flexible across all screen sizes or device capabilities. There are different advantages and disadvantages of each mobile operating system and device that you need to optimize the game for. Android users very often use old devices or operating systems, making it even more difficult to address every user’s needs. You’ll often just need to fix designs and bugs on the spot as you learn about compatibility issues with rare devices. Overall, he prefers to program games for PC, seeing as it avoids much of the rapidly-updating nature of mobile devices.
When creating VR games, headsets are also an important hardware consideration. Lande says he chose groups of headsets that are both popular and similar in nature when deciding on which to design games for; then they don’t have to program multiple inputs for varying headsets. Lucky VR products are now designed for both PC and mobile devices, though Lande learned the hard way that porting software from PC to mobile can be very difficult. He recommends that if you know you’ll be designing something for several devices, make it optimized for each from the start to avoid the difficulties that come with porting.
Choosing a Development Methodology
As is the case with developing any software, having a consistent methodology is an important part of keeping teams coordinated and organized. Much like in other software industries, video game development companies are starting to transition into more agile development strategies. In this article, you can read more about choosing a development methodology that is right for your startup.
The Prodigy team focused on quick iterations all throughout its development. Over the course of one- or two-week sprints, they would figure out the high priority features, build them, release them, and repeat. This allowed them to respond to user feedback quicker without needing to perfect everything before releasing it.
Senson agrees that agile methodologies are definitely on the rise in video game development. Because he has worked at small companies where developers work on games solo, he personally hasn’t experienced much a rigid methodology. Projects with a small scope, like many of the ones he has led, can be designed on paper ahead of time in similar fashion to a traditional methodology.
Lucky VR uses a semi-agile methodology in development, though Lande advises that any methodology can be effective so long as you enforce it consistently.
Collecting User Feedback
Video games are incredibly user-focused products, seeing as users will only come back if they enjoyed their experience. With the products themselves being built to make users happy, user feedback plays an incredibly important role in creating that optimized experience. There’s no point in making something if people don’t want it, so a game without intrigued users is useless. This article outlines some common ways software startups collect user feedback, while the following case studies provide some more unique perspectives.
The main way the Prodigy team collected user feedback was by sitting in on classrooms using their product. They spoke directly with students, teachers, parents, and other stakeholders to find out how exactly their product was being received and what improvements were desired. For example, kids wanted to build a team of monsters in the game so the development team added the ability to catch monsters as pets. Many of Prodigy’s early features were based on user feedback.
They also collect user feedback through an in-game knight character that asks users to partake in surveys, aptly named “Sir Vey.” Over one million kids log in every day provide responses that inform future changes to the game. Once Prodigy became a much larger team of over 250 employees, specific user researchers were hired specifically to get a better understanding of their market. They are even trying to hire one that can help them learn more about their growing market in India!
The Lucky VR team uses their Discord server to receive real-time feedback on problems encountered in their products. Over six thousand of their users are in the server community being incentivized to post there and help improve the game. Discord is used mostly for communities of video game users so not many other companies are receiving that kind of dedicated feedback. Although it can be annoying to receive a bunch of messages at 3 a.m., it is very helpful to learn about bugs as soon as they happen. Lande also uses Google forms, email crash reports, and automatic error reporting through Unity to keep afloat of issues with Lucky VR.
Software products very often come into contact or even store sensitive information from their users. Although this may solely be used to improve the user experience, it can be catastrophic when that the security surrounding that data is breached. If your game is making use of any sensitive data, including personal or payment information, make sure to look for suitable programs to maximize security.
Security, along with privacy and confidentiality, are high priorities for Prodigy considering they work with users that are mostly children. They have an internal person who focuses on security and a data team that makes sure to follow consistent regulatory practices when dealing with the data. At their current scale they possess information from millions of children, so security is more of a concern than ever.
Considering Lucky VR is based largely around online gambling and real currency, they use tools supplied by PokerStars that identify cheating to make sure no one is colluding or otherwise committing any kind of illegal act. With finances tied so closely to the outcomes of the game, it is important to ensure every aspect of the game is conducted ethically and all financial information is secure.
Key Expertise for Game Development
It goes without saying that programming skills are necessary for all areas of software development, but what kind of expertise is specifically required when developing video games at your startup?
Having knowledge of the subject matter in the game is obviously a huge bonus. It would be hard to make a game about knights when you haven’t the slightest clue of what the medieval times were like. Try creating a game that leverages a subject matter that you have a lot of experience with. You also should be knowledgeable of video games in general, specifically what makes games fun. Play as many games as you can that are in a similar genre to what you want to make and find the parts of them that keep you coming back.
Having an innovative and creative mind is definitely advantageous as well. When conceptualizing a video game, you need to consider things like mechanics, environments, art style, and the story’s narrative.
The ability to do proper market research is perhaps the most important skill of all. As discussed above, your game is built FOR your users and should be built around what they find enjoyable. Be able to identify your target audience, get in touch with them to get their ideas, build prototypes for them to provide feedback, and make the game you’re building THEIR game.
Mahimker advises that the most important skill for a video game developer is being able to respond to your users. Starting off as engineering students, he and his cofounders didn’t have much of a background in the educational space. He gained the necessary expertise by sitting in classrooms and beta testing Prodigy with students. They also familiarized themselves with the Ontario math standards to make it easier for teachers to use Prodigy’s back-end reporting for their report cards. Game developers should make it easy to integrate the game into a useful application in a user’s life when possible.
When developing video games, Senson sees “having a good head for UI design” as a key expertise to have. His clients often designed a UI for games that wouldn’t translate well to phones, making it difficult to turn their ideas into a reality. For example, they’d design something with buttons that are too small for users to easily push as they play. Those designing or even conceptualizing a game need to have a good idea of what it feels like to play a game like the one they’re making so they can put themselves in the shoes of a user.
Developing a virtual reality game involved much more knowledge of real-life physics and visuals than other games, seeing as the aim of the game was to mimic real life. As such, they didn’t need someone to design some abstract environment, but rather someone who could translate their real ideas of physics into game logic. Developers also needed to know what it’s like to play virtual reality games and have experience doing so. VR-specific considerations, like keeping the frame rate under 90 frames/second to avoid making users sick, needed to be kept in mind.
Outside of a platform on which to develop the game itself, there are a variety of tools that are extremely useful in developing video games.
Asset creation, including graphics, sounds and music, plays an important part in creating an immersive in-game experience. Asset libraries can be found all over the internet and connected to your development engine to incorporate them directly into your game. Itch.io has a great collection of free graphics while Audacity is a free source for audio. You can even do 3D graphic modelling for free using Paint 3D! Wwise is also a go-to platform for importing, mixing, and applying sound effects.
Animating your graphics is obviously the next key step. Spine is a tool that uses a bone structure to animate 2D characters while Maya LT is used to animate realistic-looking characters, props, and environments in 3D.
Wireframing tools can be a very effective way to plan out your core game mechanics, such as the menus, payment systems, or social media connectivity. This article talks about several tools that can be used for communication amongst a development team.
One interesting tool used at Prodigy is 7Geese, an objective and key results (OKR) framework. It is used for the company, departments, and employees to identify and track goals for each quarter. Prodigy makes peer feedback a priority and uses monthly one-on-one meetings to help employees get where they want to go in their career.
Senson’s key communication tool during development is Slack, a communication platform for development teams to share ideas, make decisions, have meetings, and centralize their files.
Lande uses Trello, a project management platform, for planning out future game environments and concept art. GitHub is his go-to tool for version control and he pairs it with Jira for bug tracking. Interestingly, he uses an automated QA bot that plays itself overnight to track issues and make videos of what happened. It has saved a lot of time, since they used to have to do QA manually.
Updating Your Game
Much like other software, video games need to be frequently updated. The product can always be improved and should be built upon with new features to keep users coming back. Games are often launched while they’re still imperfect since it’s nearly impossible to find every bug before release, so updating allows you to keep improving the product by fixing bugs as they are encountered. Version control, as discussed in this article, plays a large role in keeping track of the changes being made to software.
Mahimker believes in the mentality of constantly building upon the product. As your value proposition becomes stronger over time, you’re able to reach larger, more diverse markets.
Especially in his experiences with mobile game development, Senson advises that video games should be updated constantly. It’s hard to anticipate what changes will be made to operating systems or hardware so forward-facing design planning can’t often be done; he says Apple especially has a habit of introducing changes that make a game stop working. With any device in general, following guidelines about screen layouts and system capabilities is key to avoiding these issues as much as possible. With the rapidly-changing nature of technology, video games should be updated AT LEAST, once per year.
Lucky VR tries to continue to innovate and add new features to incentivize their users to keep coming back. Although the game of poker doesn’t change much, they keep the product fresh by making seasonal events and content packs. There are also other new themes introduced, including outer space. They are constantly trying to think of new game formats by figuring out what’s so entertaining about traditional poker and applying it to VR.
Overall, it’s important to keep pushing through adversity at a video game startup. You’re up against multi-billion-dollar companies with endless resources and years of experience in the business. It will take time to build up a user community. The important thing is that you listen to their feedback and continue to improve your product. Even if you have a lot of the expertise required to make the game you’re passionate about, the collective knowledge of your users is sure to bring new ideas you would have never thought of! Here are some examples of how our case studies have overcome diversity.
When Prodigy first began, a large part of their focus was on coupling the game with biometric sensors to improve the user experience. Third-party facial recognition software would recognize microexpressions on your face and AI would be used to adjust the stimuli in the game according to how engaged the user is. Lo and behold, no one seemed to want this feature. When the game was doing well itself early on, parents and teachers were averse to having students monitored as they played. And this, the Prodigy team took that feedback and moved on without the feature.
One thing that Mahimker enjoys about making video games is that you have the ability to make mistakes. Software can be fixed when there are bugs, when the servers crash, or when a new update just isn’t what you thought it would be. That’s the beauty of it!
When communicating with his non-technical clients, Senson often found it difficult to communicate on what they wanted and how it could be made into a user-friendly game. He says that their instructions were often unusable and they didn’t really understand how to make instructions that applied to game development frameworks. This caused a lot of frustration between everyone involved.
As a result, Senson’s company and their clients found ways to make communication work better. One way was to have a project manager that was familiar with the components involved in game development; that way, they could translate the client’s ideas into a usable plan. He also tried to inform clients of how they could do a better job communicating their ideas to developers through familiarizing themselves with the basics of object orientation and UI design.
During his first two years of building up Lucky VR, Lande struggled to get funding for the project. Many investors avoid investing in vices, like gambling, unless they had previous success in the field already. Funny enough, he ended up self-funding the business using his winnings from playing poker!
- Use prototypes as a way to let users try your product and spread the word about it before releasing your consumer-ready product
- C++ is the most common language used in development while Unity is one of the most popular professional game development platforms; there are, however, simpler platforms for new developers that don’t require coding but can still make polished games
- Making your game compatible with a variety of devices helps you reach a wider audience but can lead to low-quality versions of your game on some devices if you don’t program each independently
- Agile methodologies are becoming the norm in game development but some small-scale projects can be planned on paper up-front
- Collecting and acting on user feedback is essential, since your success relies on the enjoyment and loyalty of your users
- When your game deals with sensitive data, make sure you take the right steps to protect it
- When developing a game, you need to be knowledgeable of the subject matter, what makes a good game, and how to research what the customers want
- There are a variety of helpful tools available to make communication, asset creation, and wireframing much easier
- Continually updating the game by fixing bugs or adding new features keeps users coming back
- You will be faced with a lot of adversity as a video game startup; look to your users for guidance on how the game can be improved