From the course: 2D Game Design and Development Essential Training

How to choose a framework

From the course: 2D Game Design and Development Essential Training

Start my 1-month free trial

How to choose a framework

- [Instructor] Whether you are a seasoned game developer, or just getting started making your own 2D games, chances are you're going to need a good game framework to build upon. Picking the right framework will help you focus on building the actual game instead of the tools you need to develop it. You may be asking, what is a game framework? And a game framework could be as simple as a collection of code packed into a library in a specific language like JavaScript, or a more complex system of scripts, tools, and workflows built on a specific platform. Wikipedia's definition of a game engine is a software framework designed for creating and developing video games. Developers use them to create games for consoles, mobile devices, and personal computers. The advantages of using a game engine is that you can build for the actual game engine itself, and if the game engine runs on other platforms, your game should automatically work on those platforms as well. And more complex game engines allow you to scale your development across multiple developers so that everyone can work in the same fashion. Well, why would we use a game framework? One of the most important things when building a game is to not reinvent the wheel. Developers tend to come up with solutions for problems that have already been solved. You could spend an incredible amount of time building a renderer that works the same on desktop as it would on mobile, but instead, by leveraging a framework that has code to do this for you, you can focus on what actually gets displayed in your game instead. The other advantage of a framework is that it offers something called a workflow. The definition of a workflow is that it consists of an orchestrated and repeatable pattern of business activities enabled by a systematic organization of resources into a process that transforms material, provides services, or processes information. Well, what does that mean in English? In related to game development, a workflow could be as simple as putting all of your artwork in an artwork folder, and all of your code in a scripts folder. Or, it could be more complex by using things such as code generation in order to sketch out and build out the basic infrastructure of your games, it could allow you to templatize the process of developing a game. And most importantly, once you find a framework that has a workflow you're comfortable with, it'll not only speed up your development, but give you a consistent development environment and process that you can reproduce for multiple games. A workflow is also critical when working with other developers. This way, everybody is doing things the same exact way. Here are some things to look for in a game framework. The first thing is that a framework should help speed up the development of a game. Again, like I said, you want to spend all of your time making the game, and not the tools. Two, you want to make sure that the framework has good documentation and an active community to help answer questions. This is important especially if the game engine is still under development, or changes from version to version. Not only do you want to make sure that you can find the documentation and the help you need in order to use it, but that other people are also using the game engine to publish games, to test it out, and to offer up support and best practices to help you along your way. The third thing is to make sure that it's easy to pick up and matches your skill level. You'll look for drag-and-drop for non-coders, and lower-level access for seasoned developers. Find an engine that matches the way that you like to develop will also make you more comfortable and more eager to learn how the framework works, and give you more confidence in building your own game. And finally, the fourth thing you want to look for is that it enables easy multi-platform distribution, which allows you to get your new game on as many devices as possible. While it's not always easy to support a game on multiple platforms, as someone starting out building games, you want to make sure that the framework you pick can publish not only to your desired platform, but if you choose to support additional platforms, let's say you want to support mobile down the line, or web, you don't want to have to recode the entire game in a different language for a different engine. So it's important to figure out which platforms you want your game to be on, and to pick a game framework that supports all those platforms from the start. Once you've found the right framework, you'll be able to get started building the game you want and spend less time on actually building the foundation you need to get started.

Contents