This article comes from NetEase cloud community.
July 31, the 2018 Yun Chuang Conference Game Forum was successfully held in Hangzhou International Expo Center 103B. This game forum focuses on new technologies and practices that may be driving major developments in the gaming industry, such as AR, blockchain, security, big data, and more.
Vincent Chan, technical director of Valley Games, said that the generalization of components can quickly improve game development efficiency
Valley Game Technical director Chen Zhen Hong made the "valley game how to create independent research and development line," the keynote speech, said the game manufacturers should establish platform department, to achieve the universal game research and development, to help the assembly line-type game.
The past development model project groups are independent of each other, so often faced with repetitive manufacturing wheels, repeat pits, no quality assurance and other issues, and the establishment of the technology Center can effectively break the deadlock. Vincent Chan said that the technology center is the platform department, which is the operation center between the various project groups, can generalize, optimize, summarize and refine the common modules of each project, and then provide to other projects with the same demand. With this embryonic form of continuous circulation, not only can optimize the entire research and development process, but also quickly occupy the market opportunity to grasp the product competitive advantage.
Chen Zhen, this platform department should have four characteristics.
The first feature, component development. The product development process can be disassembled into a quantified module, such as the bottom frame, core play, function system, and any game can be disassembled for these three modules.
- The underlying framework, including game manager, UI framework, Network module, resource module, hot update module, message event module, and so on, they are independent of each other, together constitute a game skeleton;
- Core play, different types of game core gameplay is not the same, you can use the action editor, Bullet editor, AI editor, map event editor and other tools to achieve generalization, to avoid duplication of work;
- function system, including landing payment, chat, character, equipment, etc., different game function system is not the same.
The second feature, tool automation. Game development will go through the stages of manual development to process and automation, but it is important to find the pain points in the development process, and to form tools such as cloud building, action Editor, map editor and so on. Among them, cloud building solves the problem of hand-travel packing, which simplifies the communication process and personnel workload.
The third feature, on-line standard. The core of the on-line standard is to disassemble and assemble the on-line preparation work to assist the project team to complete successfully, including performance optimization, model adaptation, channel access and so on, which is the necessary work to protect the game on-line.
The fourth characteristic, the quality control. In order to keep the game safe, we need to do a few thorough checks at some stage of development to see if it has such a problem, and then to solve these things.
Chen Zhen The last mention, in the game research and development so intense situation, how to develop a game as fast and secure as the assembly line, is to enhance the competitiveness of the company and personal competitiveness is very important things. and want to build a research and development pipeline, there are two ways to choose: The first line is the project research and development, divided into projects, research and development and the first three stages; the second line is the TDR review, which is reviewed by the Review Committee at all stages of the project.
The following is a transcript of Chen Zhen Hong's speech:
Ladies and gentlemen, good afternoon, everyone! I am Chen Zhen, technical director of Valley Games.
Today I share the theme is "valley game how to build independent research and development pipeline." Game research and Development is now more and more fierce, a game can not start from scratch, if you do a year or two to go online market opportunities are lost, like eating chicken games, come out the first paragraph, immediately out of the second, the third paragraph. So when you have an idea, how to ensure fast and high-quality research and development is the focus I share today.
In the past, the development model of the project group is independent of each other, so the project team does not inherit and accumulate. For example, project a starts from scratch and goes online, when Project V is going through this process. This has led to a variety of problems, including repetitive manufacturing of wheels, repeated pits, lack of quality assurance and so on. Because the project team is naturally a competitive relationship, and they also have a lot of progress in various aspects of the pressure, so it is very difficult to hope that they take the initiative to share experience.
How to break the situation? My approach is to set up a platform department, similar to the concept of a technology center, which is the center of operations between the various project groups. For example, project A will be a more generic module refers to the Platform Department, Platform Division for induction, optimization, summary, refinement, Project B at this time there is a demand, you can give this function to project B, project B reduced the development time, while the platform department constantly develop some new work, some features and tools to project A and project B and also reduced their time. This prototype is constantly circulating, and the whole process is more smooth.
Next I'll focus on how to do these things around the platform department.
First feature: Modular development. A product development process can be disassembled into a quantified module, the future of the game will not be developed from scratch, but from a product that has been developed on-line, or from the existing basic modules to assemble, to become a new game. As if you buy a computer, your needs can be disassembled into a hardware configuration, and then buy these hardware back for assembly, it can be used. To cite a case, "World 2" is a ARGP product, its disassembly from the large direction, large concept, can be disassembled into three parts: the bottom frame, the core play, function system. Any game, or most games, can be disassembled into these three modules.
The first is the underlying framework, the underlying framework includes game manager, UI framework, Network module, resource module, hot update module, message event module, and so on a variety of modules, they are independent of each other, and then make a game skeleton, similar to a building, they are the foundation, Only when these modules are stable can you build more patterns on top of them. The second is the core play, different types of game core gameplay is not the same, how to take this core play to dismantle it? What can be disassembled for a battle copy? On the one hand it wants to synchronize, you can choose to be true synchronous technology or install synchronous technology, on the other hand can also use the Editor: Action Editor, each character needs to have a variety of actions, as well as a variety of skills, you need to have a powerful tool to make planning more flexible to do this thing; Bullet Editor , decide whether the skill you release is an exposure or a shockwave; The AI editor will include the behavior of monsters, how to edit trees, and so on; In the Map event editor, some plot or battle traps are done through this, as well as lenses, datasheets, etc... After we have split these modules, we can completely generalize the next time we do this type of game. Some of the modules can also be used alone, such as an action game, you can put the action editor, Ai editor, and other modules do not need to move, so that will not be repetitive work. Finally, the function system, including the landing payment, chat, character, equipment, different game function system is not the same.
"Creator" is the company is currently studying, but also I am responsible for a new product, is open world + sandbox + large-scale multi-person + two times the narrative of a game. From the screen it is a game composed of a block, all the blocks and trees, and even the distant railings and so on all kinds of things, in this game can be destroyed or built. So if you're upset, you can cut down the whole hillside, the whole tree, or build a very nice house.
What do we do with the demolition of the creator? It can also be disassembled into several modules, including the underlying framework, core gameplay, and functional systems. We do this project, has a certain level of the underlying framework and the accumulation of core play, so the whole game when the project as long as the core play to solve the problem of stereotypes, the whole game of the embryonic form has been out. The focus is on the temporary reduction of the development period of half, so the premise is to plan not to change the requirements frequently.
Just said that different game types its core play is not the same, "creator" core in addition to fighting there are core play, do each core play when the technical research, a new game core play packaging use out, form a modular form. The difficulty of a game like ours is very large, because all the data, the terrain is generated dynamically, so it cannot be baked, it must be a terrain generated by data. So to solve a lot of problems, this process we encountered a lot of difficulties, such as large data volume, grid memory: The whole game we built a castle, the number of blocks used in the castle, furniture, etc. add up probably 40多万个, so the naked eye can see 40多万个 objects, it is very scary things , there are a lot of torch light, players can put their own torches, want to put how many torches can be, there is no limit, and seek the road, because the whole map range is large, pathfinding problem is also must solve the problem.
The type of the game is also a blue sea, so there are a lot of things in the process we are in the forefront of the attitude of the solution. In this, we have done a series of technical research. On the one hand, because the grid memory is relatively large, so we can not see the area of the grid or block and the connection between the square, the corresponding deletion, such as only the surface of the things you see. On the other hand, we will conduct a stereotyped approval, which will be merged in a small area instead of merging the whole area at once, and taking more emphasis on the control of the space force, so we probably use 16x16x16 as a grid. In addition, in solving a lot of torch light problems, we also customize the vertex light, to achieve the vertex color rendering ... By summarizing these practices, we can quickly make a second game.
The second feature, tool automation. In the process of game development, we will experience the stage from pure manual development to process to automation. This thing is not very difficult, the focus is how to find some pain points in the development process, and then make it into tools and development, so the understanding of research and development is very important.
What kind of tools do we have? The first is cloud building, which solves the hassle of hand-travel packaging. For example, the first planning will put forward the requirements of packaging, development in the process of packaging not only to run to the version of the first configuration of the environment, after the completion of the construction also after a long wait, hit the various parameters configuration, certificate configuration, profile configuration and so on, and then continue to package, build, to upload and install the download. The whole process is very cumbersome, so we do a one-click Package, you just need to pass a button, you can directly get a version.
As shown, it shows the time required for each build, averaging less than 10 minutes per app build. Through this foundation of things we also do a lot of peripheral applications, such as the alarm clock can be timed every night at 0 o'clock time to play a bag, the next morning when the work can be seen, know what the programmer did today and so on. There are other peripheral tools, such as resource updates, resource updates are a very complex feature, and we make it a tool flow that transforms complex systems into simple operations and applies similar ideas to game processes. For planning, you only need to deploy through this interface, and by deploying good information you can upload, update and download resources. There is also an SDK aggregation, which translates the repetitive workload into just one, which not only refers to the channels, but also includes many custom components, such as the Voice SDK or the Apple features Ark and so on, and we've made it into an SDK aggregator. As with cloud Building, when I click on the cloud build, I can choose the channel or component that I need to automatically aggregate it. The whole thing was hooked up when we first made the bottom frame.
In addition to some of the peripheral tools, in the game development also need to do some automated tools.
One is the action editor. One of our ideas in the game is to be as free as possible to plan thinking, planning through tools and templates can be realized by the function you want to do, and do not need to tell the program what you want to do, this communication cost is very large, but also limited the idea of planning. The action editor is divided into several modules: one is the definition of the role, including all the actions, States and events of the character, such as the specific general attack information, action pieces, trigger effects and so on, each event has a different editing panel, divided into various parameters of the configuration; the other is the definition of interruption, when the player clicked two skill a , there will be another attack skill, which can be cut to another action fragment by breaking the defined configuration. The two together form the entire action editor.
The second is the map editor. Map editing is one of the most important tools in game development, we specialize in two fine arts to do such things, effective in our powerful editor, so that the art in the editing of the map completely liberated a lot of mechanical, repetitive work. As shown, the right side is a variety of editing functions, such as paint brushes, other area selection and so on. The left side is one of the features, such as terrain generation, the editor will also have a number of terrain-generated templates, you can use the configuration template to automatically generate a village, grassland, desert or forest, on this basis to modify.
The purpose of the various editors is to liberate the workload of the personnel, whether it is the program, planning or art. And we have not only these several editors, but also more editors.
The third feature, on-line standard. A game on-line to do a lot of things, such as performance optimization, card detection, whether it is hot, will not memory flash and so on. The core of the on-line standard is to disassemble and assemble the on-line preparation work to assist the project team to complete successfully, including: Performance optimization, the project depth optimization, the problem to find out, and give recommendations report; Suitable for a variety of models to solve compatibility problems; channel access, do a variety of SDK access. This process is necessary to ensure the game on-line, but also similar to the idea of component development, the launch of some common work out of the platform department to do such things. Because these generalized work is done by a department, it can accumulate precipitation, so in the second project, you can have a lot of experience to solve the problem.
The fourth characteristic, the quality control. In order to keep the game safe, we need to do a few thorough checks at some stage of development to see if it has such a problem, and then to solve these things.
Finally, summarize what is said today.
If you want to build a development pipeline, there are two paths to choose from.
The first line is Project development, which is divided into three stages: project establishment, research and development, and pre-launch. When the project is set up, reduce the workload through the component, and in the development can use the cloud to build, package and other tools, in the process of continuous optimization of the overall project development efficiency, before the launch, to ensure the quality before the launch, such as performance optimization, model adaptation and so on a variety of general-purpose work. These actions are carried out in three different stages and will provide a comprehensive support for the project. The second line is the TDR review. The TDR review is comprised of a review committee, which should include technical experts from the Platform Department and experts from other projects to conduct a thorough inspection at some stage of the project. Detection should be divided into three times: after the project to do the first demo, the first Test when the overall performance and framework review, the entire game will be a more comprehensive test before the launch, different stages of the detection content is not the same.
So now in the game research and development so intense situation, how to develop a game as fast as the assembly line, the development of a guaranteed game, is to enhance the competitiveness of your company and personal competitiveness is very important things.
Thank you.
Free trial NetEase Cloud Easy Shield Security service.