Industry best practices

Although there are plenty of styles and standards out there, most developers like to maintain some common standards to create stability in the game development procedure. Let's discuss some of these area of standards commonly practiced by the industry:

  • Design standards
  • Programming standards
  • Testing standards

Design standards

Design and concepts vary for every game. The best design standard practice is to make it properly documented along with scope for improvement. The document must be clear enough for the users to understand. No matter what the concept is, developers cannot implement it without a proper understanding of the standard.

The design scope must not be so widely open that it can change the entire game; this causes serious delay in production time. However, it should always have a limited scope to improve the production time over time with ideas.

Design must specify the target genre and audience along with a valid reason. This should also include probable target hardware platforms.

For Android development, mobile gaming is the largest industry in the present day. So, most Android developers mainly have their focus on mobile games. However, designers should always leave scope for the game to be deployed on other platforms, such as wearables, consoles, and so on.

Programming standards

Programming is the execution of the design. It is the most significant part of the production of any game. A standard piece of code should be readable, modular, and properly documented. Previously, there were two programming approaches: procedural and object-oriented. In the case of the modern day gaming industry, developers follow an object-oriented approach. For this reason, programming standards have changed a lot. Previously, it was common practice to use m_ and l_ as prefixes to variables to indicate their status in the object-oriented structure. There were a few other notations such as i, f, and b and so on to indicate variable types.

Modern day standards follow mainly the Camel and Pascal casing system for their naming convention. Common practice is to use Pascal casing for all classes, interfaces, enums, events, structures, namespaces, and method names, and other elements should use the Camel casing system.

Camel casing in programming language means that the first letter of a name should be in lowercase, which is specifically Lower CamelCase. The Pascal casing system states that the first letter should be capitalized, which is termed Upper CamelCase.

There is no limitation technically to the number of arguments in a method or the number of words per line while programming in any language. However, common industry practice says that the number of arguments should be within eight, and the number of letters per line of coding should not exceed 20.

The reason for this manual limitation is to have less complexity and better readability of the code. For the same reason, a method body should be limited to 200 lines, and a split class structure is always preferred.

Testing standards

Testing is the validation process for the implementation of the design. Testing also checks the development standard, and it also ensures the quality of the game.

In most cases, there are mainly two parts of testing procedure involved, automated testing and manual testing. The programmer must write the automated testing code for checking the core development. This part is called the test code, which must not be included in the main development project. It requires dedicated testers to carry out manual testing. Their job is to ensure the quality of the game from the user point of view.

Most game development companies follow a checklist for the testing procedure. This checklist often contains defined test cases. Test cases are mainly defined by the developer and designer, and testers need to execute these cases. We will discuss testing in detail in a later chapter.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.219.220.22