As an aspect of entertainment life, games are being played by more and more people, most of whom are players.
They love a game, or they are fascinated by the story, the beautiful scenery, the beautiful music, the role-playing, the cool skills, the interesting tasks, but most of them probably don’t understand how such a fun game is made.
It’s also important for new players who want to try this industry to have an overall understanding of game development and production.
Next I will elaborate from several aspects respectively.
A basic knowledge game is simply an application that runs on a PC or a mobile device and that players interact with for entertainment purposes. Let’s take a look at the various engines used in the game and the terminology associated with the game.
The game engine
Game engine is the main programming interface of game development, it provides developers with a variety of tools to develop the game, the core component of the game system can be edited and real-time graphics system, its purpose is to allow developers to quickly make games without having to start from scratch.
The game engine includes rendering engine, physics engine, collision detection system, network engine, sound engine, scripting engine, animation, scene management and so on.
Rendering engine: it can render the objects and scenes in the game. The characters in the game are all calculated and displayed to the screen in real time through the rendering engine, such as the model, animation, light and shadow, special effects and so on.
Physics engine: Make objects move according to certain rules. For example, when a character jumps, the built-in gravity determines how high it bounces and how fast it falls.
Collision detection system: It can detect the edges of objects and prevent them from passing through each other when two 3D objects are together.
Network engine: Is responsible for the communication between the player and the device, processing signals from the keyboard, mouse, and other peripherals. If the game is networked, it is also used to manage the communication between the client and the server;
Lua Engine: Lua is the server engine for Lua, a lightweight embedded scripting language widely used in online game development.
In general, a game is composed of engine and resources, resources including images, sound, animation, etc., the game engine is like a engine, controls the operation of the game, it calls the game resources according to the game design rules in turn.
The game of nouns
Cd-key: Serial number or anti-theft password of the game;
BugFree: Test management platform, an open source, Web-based bug tracking tool;
Ping: indicates the time between sending data from the client to the server and receiving feedback data from the server, measured in ms. If the Ping value is high, the delay will be felt.
Proxy Server: Proxy Server, the Proxy network users to obtain network information;
PU: paying users;
RU: registered user;
AU: Active users;
DAU: Average daily active users;
CCU: Number of people online at the same time;
PCU: Maximum number of concurrent online users;
ACU: Average number of simultaneous online users;
ARPPU: Average revenue of paying players;
Closed beta: Game testing with a limited number of users, used for preliminary verification of technology and game products, with a small user scale;
Internal testing: Internal game testing for a certain number of users, mainly used to detect the game pressure and whether the function is buggy;
Open beta: An open online game test that is open to all users.
Types of games
There are many classification methods of the game, which can be divided by terminal, content, camera type, player fighting object, number of players, etc. Among them, it is the most intuitive to divide by content, which can quickly anchor the scope of the game according to the elements of the game.
By terminal: console games (TV games), client games, web games, mobile games;
By photography type: 2D games, 2.5 games, 3D games;
PVE: PlayerVsEnvironment, PVP: PlayerVsPlayer;
Singe-player games, Muti-player games, Massive Multiplayer Online games
Game development process In a narrow sense, game development is the programming department for the relevant game program writing, in a broad sense, is the entire game production process, including the staffing of multiple departments. Below is a typical game development team.
The team consists of four departments, namely planning, art, programming, and producer. Each department is responsible for different tasks and coordinates the development of the entire game.
Planning is the soul of the team, also points to perform planning, data planning, performance planning, resource planning, etc, they mainly analyze the game plot, background design, various rules of the game is described and the formula to determine, to maintenance of all kinds of information form, special effects, action of the game are collected and put forward requirements, such as UI design and relevant configuration model.
Program is of the same flesh and blood of the team, also can be subdivided to give priority to the program, the client, server engine, engine 3 d program, AI, scripts, and database programs, etc., they are responsible for determining program data structure, completion method of the planning scheme, will plan put forward by the various requirements for application, and provide good editing tools for game development process.
Art is the skin of the team, which can be subdivided into original character painting, character modeling, material mapping, character action, scene animation, etc. They are mainly responsible for the visual style of the whole game, as well as the design of character model action, etc.
The producer is mainly responsible for the external coordination of the game, including market research, game development schedule, game copyright, game promotion, game release and music and sound material management.
The following is the organization chart of a foreign game research and development team, you can refer to it.
The various phases of game development
To a game producer, every game has to go through various phases from birth to death. The following are typical examples that are generally applicable, but not every game has to go through all phases.
Concept period: the whole concept of the game is determined, what kind of game to make, what the theme clues are;
Prototyping: This is the time to create a prototype of the game, to experience the design concept of the game, and to correct and improve any deficiencies;
Promotion period: At this time, the publisher of the game development direction promotes the product, showing the design concept of the game, the main selling point, how the product ADAPTS to the market demand, the feasibility of the product development and the specific implementation plan to the investors;
Preparation period: This period mainly deals with the business and legal matters involved in the game project, such as game patent, script copyright, brand trademark, etc., so as to organize the development team to make a general plan, determine the tools and other details needed for game development;
Production: This is the main stage of game production, where 3D models, scenes, cutscenes, graphics rendering and sound recording are completed, and the game engine and resources are fully integrated during this stage.
Quality assurance period: This is the QA or testing period of the game, mainly used to ensure that the game features are intact, so as to find and fix various bugs and errors;
Generation period of master disk: During this period, the saved game is delivered to the platform manufacturers for testing and testing. The testing standards of each platform manufacturer are different. During this period, the game needs to be constantly tested and improved, Bug fixed, and ready for market release.
Operation and maintenance: This is the period when the game continues to operate after release, and during the operation, problems are discovered, fixed, and updated. This is a long process.
Project process
The complete development process of a game can be summed up into five steps, as shown in the figure below.
Market research can be divided into three parts,
1) “brainstorm” before the research, let as many people as possible to come up with as many creative ideas and record them, so as to confirm in the process of market research, do not meet the exclusion;
2) Write planning draft, so that each member of the project team has a general understanding of the project to be developed and has a clear goal;
3) Do market research and analysis on each draft and decide whether to develop the game or not. There are two main aspects of market research: the target audience (players) and the cost of development.
Requirement analysis mainly involves writing a requirement analysis book, which mainly includes three aspects:
1) Planning requirements
Planning division of labor: including script, value, interface, implementation, etc.
Schedule control: Should always pay attention to the control of time and development schedule, need to write a special project schedule summary table.
2) Art needs
Scene: including the game map, small scene and other aspects;
Characters: player characters, important NPCS (player teammates, quests, main plot NPCS, etc.), minor NPCS (passers-by, villagers, etc.), monsters, bosses, etc.
Animation: Animation estimates vary from company to company. If the company’s ability is limited, the production of animation can consider outsourcing;
Props: The main consideration is whether to adopt a paper doll system;
1. A full-body aspect of a figure;
Stills &CG: The need for stills and CG in the game is not required.
Avatar: The production needs of the avatar of the character, including the expression of the character, including joy, anger, sorrow, joy and sadness and other expressions;
Interface: requirements of the interface, including the main interface, sub-interfaces, screen interface, beginning interface, END interface, save and load interface, etc.
Dynamic objects: these include torches, lighting and other aspects of the game that can be present;
Scroll: Also known as scroll bar. Depending on the situation of the game to determine the specific needs;
Move chart: Depending on the specific situation of the game development, decide if there is a need for this;
Editor graphics: Graphics requirements for various editors, such as level editors, map editors, etc.
Particle effects: The need for 3D particle effects;
Posters: including the production needs of the game posters, posters and other aspects;
Game packaging: making the cover packaging of the game client;
Illustrations: The production requirements of illustrations in the game manual;
Disc guide: the production requirements of the disc guide on the game client;
Official website: Production requirements for the official website of the game.
3) Program requirements
Map editor: including the editor’s functional requirements, various data requirements, etc.
Particle editor: Requirements for particle editor;
Built-in games: including the requirements of various mini-games within the game;
Functions: including the requirements of various program functions, technical parameters, data, collision detection, AI and other aspects that may appear in the game;
System requirements: including requirements for system importers such as upgrade system, prop system, and move system.
The project development step is to organize the resources of the whole game project through the engine, and fully integrate the game’s structure, functions and each logic module.
This is where the schedule and schedule of game development becomes clear, and this is where making full use of various development tools makes development much more efficient.
The Beta release process consists of two large formal tests, Alpha and Beta. The former means the game is functional and process-complete, QA customises a test plan for the game, testers submit bugs to the database, and developers and designers fix the bugs.
The latter means that the various resources in the game have been completed, the product has been finalized, and later it is just a matter of fixing bugs. After these two test fixes, you get the Release to be released.
The Gold Release process involves developing various patches for the game, updates for the game, and official bundles and add-ons.
Choosing the right tools can save money on a game project, improve the quality of work, reduce project risk, and keep the entire team focused to make the game fun.
Program tool software
OpenGL ES — OpenGL has long been the industry standard for high quality 2D/3D graphics performance across a wide range of devices. OpenGL ES provides a low-level API interface between a software application and a software graphics engine.
IncrediBuild – This development tool greatly increases the speed of VS/VC builds and builds, effectively reducing the time needed for incremental builds. It uses distributed build technology, which makes use of other computers’ resources to build quickly within the corporate network. This is a great tool for developers;
VS2013 — Microsoft’s VS integrated development environment has been the basic software for game production for many years, with friendly interface and complete functions, which can greatly improve the coding speed and workflow;
Visual Assist X — this is a plug-in that introduces powerful editing functions. It is fully integrated into the C++IDE environment, which can greatly improve the development process. However, some ides already integrate the plug-in, so you don’t need to install it manually.
Direct X — it’s one of the many industry standards that Microsoft has built in the past. It’s a Windows technology that allows you to play games or watch videos with higher quality graphics and sound, and it has multiple components, Such as Direct3D, DirectSound, DirectPlay, DirectInput and so on.
Art tools
There are more art tools than programming software, so it’s important to be careful when choosing art software during game development to facilitate the smooth progress of the project.
Maya – One of the industry’s preferred 3D animation software, Maya is very powerful for high-end computer composition and can handle almost all 3D work.
Such as model building, animation, rendering, film effects and so on. But its shortcoming also lies in its polygon modeling tool is not very ideal;
3D Studio Max — the mainstream leader in 3D programming in game development, its polygon modeling tool is the best of all 3D programming tools, and it is extremely efficient to develop with it;
PhotoShop CS — This software is widely used in game production and is a must have for game production. It is used at all stages of game development, from pre-production to completion and marketing. Artists use it to create game environments and characters, and planners use it to draw level plans and interface diagrams.
FaceGen Modeller — A 3D FaceGen Modeller tool that allows you to create multiple characters for your game and quickly model their faces and heads in a realistic manner.
Zbrush — This tool features art models that represent the process of creating traditional art. Zbrush is a great tool for creating realistic multi-lateral models of environments.
Granny — Granny can be used as a mass output tool for the game, and can be used for all art items including models, renderings, and cutscenes. It generates normals and texture maps and is an engine interpretation tool.
Game Component Tools
The game component is the basic environment architecture of a game, such as the construction of diagrams, scenes, and geometric configurations, also known as middleware.
Havok — this is an advanced physics engine that allows games to simulate reality and make games very realistic;
Gamebryo is a powerful, stable, real-time 3D graphics engine that has made it a commercial success with its powerful rendering engine and motion processing system.
Quazal — This is a network architecture middleware that is used to create massively multiplayer online games. Other similar middleware is Big World.
Sound tools
Sound is an important part of a game, so it’s important to choose the right tools. As a game developer, it’s important to understand the limitations of various tools. There are many professional audio tools available, including Nuendo, Vegas, Logic, ProTools, Peak, GameCODA, SoundForge, and more.
Scenario-building tools:
Unreal Engine — A geishene game development Engine with a full-fledged level editor, cutscene system, 3D graphics and AI;
Source – This engine provides new technology for character animation. Advanced AI, light rendering, live action graphics are great. The engine also includes advanced physics engine.
Daily management tools in the process of game development involves more affairs, (mobile games, page games and so on are the same) the content is also more complex, with a good use of daily management tools can effectively improve work efficiency. Here are some of the more commonly used tools:
MicroSoft Excel — it makes it easy for developers to track and manage the progress of multiple game development departments. Developers must be familiar with it to be able to use it with ease.
Daily Delta Reports — A key to the success of a project is the use of daily delta Reports, in which each team member hands in a daily list of what he or she has accomplished for the day. This process reporting method can be concise, convenient and effective to track the progress of the project;
Source control reports and Version control reports — Most of the current version control tools are SVN, Perforce, Git, etc. It is important for game developers to take the time to familiarize themselves with the software’s functions and usage before using it. Otherwise, they may make unnecessary mistakes. Resulting in a decline in work efficiency;
Use a WiKi – it is a collaborative document, a tool for brainstorming and creativity, and the best way to manage design documentation. A WiKi is your best choice when your team cannot set up an internal LAN to manage the various records and design processes, or when setting up a LAN is too much work.
Ok, about the relevant knowledge of game development, I will introduce here. Game development involves too much knowledge too much, I here is just a general to do an introduction, I hope to have some help for you, the content of the article inevitably has a lot of shortcomings, also ask you to give advice.