Unity3D game development path: work summary in January, unity3d Game Development

Source: Internet
Author: User

Unity3D game development path: work summary in January, unity3d Game Development

I have been working in the company for a month without knowing it. What happens every day in this month is my ordinary and ordinary life. As a program programmer, when my college students started calling me a programmer, I knew that I was about to step on this road. I may feel lucky and lonely compared to my college classmates! I don't need to sample and monitor in various factories like they do, but at the same time I will feel lonely as I am getting farther and farther away from everyone. Every day I get off work as a bus and return to my place of residence. I simply take care of my own life. It's not too slow, but I will always be alone in the dark. This is my choice, and I never regret it, even during this period of time, I believe these will be temporary and will always get better and better.

My first job was not as ambitious as I thought. It was a comprehensive project that integrated 3D roaming, Web and e-commerce. But I want to say that I am trying to do this well. After the concept of Internet + has been well known, the combination of traditional industries and the Internet has filled people with imagination about their future lives, in this process, traditional industries that are eager to enter the Internet + age are emerging. However, when the traditional industry tries to enter the Internet industry, I don't know how much the traditional industry operator knows about the Internet industry. My first job was translated into three different versions in my family. I think this is a microcosm of the traditional industry's understanding of the Internet industry, that is, traditional industries do not know the Internet industry. When they want to do internet +, they may be more enthusiastic in their minds!

One of my friends told me that when you are at the crossroads between the traditional industry and the Internet industry, you must first learn and master the operation modes of the traditional industry with an empty mind, then try to combine it with the Internet. However, the actual situation is that when these traditional industry operators have the idea of entering the Internet industry, they may not look at this idea from the Internet industry, even one-sided thinking that this project has become a success, we only need two or three technical people. This idea is actually terrible. Taking the company as an example, since I entered the company, the company has never conducted a technical evaluation and Project Discussion on the project to be done, most of the company's art does not even know the existence of such a project, but does not even know what kind of technology the model should be applied to and how it will be presented to users. What I see is that models are made every day and night in the company. I think this is the result of a hot leader's head. I probably know what to do, but I have no detailed thoughts on how to implement the project and what resources are required to implement the project. I haven't seen any written plans or solutions for such a long time in my company. Most of the time, we are working together. Then, when I find any problems, I will go back and modify them, the attitude of a leader has never been accurate. If you think that you can learn from it, you must implement the Program and art. You do not know what you want to do when you plan to change your mind. I should be an ordinary employee legally in the company, but in many cases I have to assume the role of project manager. In this case, I may gain more technical experience than ordinary employees, but from the perspective of long-term development, it will only make me more tired of my current life and hope to leave the company one day earlier!

1. Who should have the final say about the project?

In an unplanned team, art and programs are like the two forces that are not under fire. Although as a programmer, I refuse to allow planning to lead the program. In today's online gaming era, there are basically no research plans for history, humanities, religion, and other fields in China. In the past, developing a game may take a long time to study relevant materials in the construction of the game's world view. However, today, when planning office software, the focus of planning attention is no longer the deep content of the game world view. Where do you focus? It may be all about the profit of the game and the design of various game system values. I don't want to explain this too much, because everyone knows what is going on! Well, now the problem is that we are in an unplanned team, the program may lose confidence in the requirements of art after several projects have been modified, because it is obviously less difficult for ordinary people as art to ask for it than it solves the problem. However, if we do it according to the program idea, the art may not accept the aesthetic of the program, because from my own perspective, programs prefer pure and concise things and focus more on solving problems. It is usually considered after these problems are considered.

After I entered the company, I basically experienced the baptism of these two ways of doing things. At the beginning, I talked about the general idea with the technology side, and then I made the first prototype (version 1.0 ), as a result, this idea is totally different from the company's idea. Therefore, version 1.0 is being killed. Next, art proposed to do the UI first, and then we re-examine this project while waiting for them to do the UI. During that time, we ran to the next office every day, the girl in the office looked up every time she saw me. What do I do every day? The answer is communication, communication with leaders, and art. The goal is to deepen the understanding of project requirements on the basis of mutual communication. After the art UI is developed, we are ready to implement the UI. When the result is half done, the leader says that the UI design is unqualified and is beaten back for re-creation, then we spent a week in a meeting to discuss the problem. From the very beginning, I was not eligible to participate in a company meeting, but I had to attend every meeting. I don't know whether this is a good thing or a bad thing for me, it's because I finally have the right to speak. It's because I often have a crush on art. In short, I can't help talking about it every time I finish it.

Well, when you look at the official website, I just want to tell you the truth that is simple enough to never be simple: everything goes wrong. This means that we must make good planning before doing one thing. Game Development is a special test of teamwork, if we do not make sufficient preparations before the project is established, the above problems may easily occur. When I learned that the establishment of the xianjian project would take three months, I deeply felt how unreliable the decisions of these traditional industry operators were. Zhihu once saw a similar remark saying "everything is ready for the project, and a programmer is better." In fact, this sentence is often said by these extraordinary traditional industry operators, when you think that a project only requires several programmers, it just means that you are not familiar with the Internet industry!

2. Pig teammates

Many people around me who are playing LOL are all matching pig teammates. This situation is more common in project development. I don't know how art-based leaders think that the more programmers there are, the more project progress they will catch up. Project creation is not done by everyone. Each person gives several models and uses the cracked version of 3DsMax. In my opinion, the program should ensure quality on the basis of reasonable staffing.

First, personnel allocation should be reasonable, that is, the number of programmers should be reasonable. Second, the level difference should not be too great. If there are too many people, it may have a greater impact on the project code. Especially when there is a difference in programming style and technical level, it is reflected in various unknown bugs in the project. Why do we have little difference in level? Because the level difference is too big, first of all, communication within the team is a problem. Taking me as an example, both of my employees are trained in training courses, basically, the teacher gave a set of videos and followed the video to make a game. I have always been disgusted with learning game development through video, because you are learning a game engine instead of a tool software, although Unity3D provides a visual editor, it is always a game engine in my eyes, rather than something like Office or 3D software. So what do I want to talk about? What I want to talk about is not to regard programming as a fixed routine. People often directly copy the code in my blog to directly run the project, and then ask me what is going on after a variety of questions? In this case, the first question I asked is: can you understand what the code is? If the other party does not understand the meaning of the code, I usually first let it understand the meaning of the Code.

The art in our company is reluctant to touch Unity3D, because they feel that this game engine will increase their learning software costs, however, the fact is that this game engine is simpler than the software I have ever seen such as Max, Maya, and Blender, and the Unity3D free version can be used to develop simple games, I don't know how much it will take to clean any unscrupulous pirated or cracked software than the art mouth? In the final words, art is reluctant to try new things. Art always thinks that the models in Max will be lost after being exported to Unity3D, art always thinks that Max rendering is much better than Unity3D, but since you have chosen this engine as a project, I think art has a responsibility to understand this engine, I can accept that you allow programmers to help you fight for the UI. But do you want programmers to help you light, modify materials, and set scenes? I said that the engine such as unreal 4 was designed to edit checkpoints. Why can't you try to understand the engine? The answer is we need to make a model. Obviously, when the eyes of the art only stare at the tools and software at hand, the gap between you and them has been opened. If you have the ability and time, try to integrate capabilities other than programming into your own system. The future will be full of talents!

3. How to streamline the project

I think that software engineering like games should clarify their respective responsibilities at the beginning of project establishment. My idea is art to make materials, program to write related logic and external tools, and plan to use external tools to edit checkpoints.

Before I came to the company, I saw a Demo of this project written by a senior. At the beginning, there were only two scenes in this Demo. I initially respected this predecessor, I feel that this Demo is doing well. I even feel lucky if I can get some advice from my predecessors. However, when I talked to this predecessor and read the code he wrote, my respect for him gradually turned into contempt. Why? He proposed to the leader to use hard code to write the project. By studying the project he wrote, I found that his project was indeed written in hard code, as you can imagine, the only difference between the seven if strings in a script is that their tags are different. You can imagine that the names in a script are variable definitions in Chinese pinyin.

Aside from the project he wrote, it is more difficult than his Demo in terms of scale and responsibility, first, we need to create 35 scenarios, involving thousands of models and textures, rather than the Demo. Second, our final release platform is the Web Platform rather than the PC platform in the Demo. Writing hard code means giving up reuse and scalability, taking into account the present and not considering the future. However, this project must be scaled up. Do you need to re-write the code every time you add a new scenario, so when I talked to him about this solution, I gave it a Pass in front of him. Then he said that we should first make a Demo to see it, because we have accumulated some code before, therefore, on the basis of this part of code, we quickly completed a more flexible framework. The whole frame is to package the model separately and store it with the texture on the server, because the model and texture are common for different apartment types, because the configuration file is used to design a database-like structure, we only need to download some models and textures in the program, because both models and textures are stored on the server and only the relevant apartment model and configuration files are stored locally, the project volume is greatly compressed, which can solve the pressure on Web platform browsers, all scenarios are defined by the configuration file. Therefore, when you need to update a project, you only need to update the model, texture, and configuration file on the server, which improves the project update speed. In general, I am satisfied with the architecture I designed because it eliminates the superiority of hard code. At the same time, in order to reduce the workload of manual compilation of configuration files, packaging, and other processes, the whole process is semi-automated by writing plug-ins for Unity3D. Why is it semi-automated? This is because people do not have uniform and standardized habits or are difficult to unify and standardize when doing things. I have always stressed unification and standardization, but art always thinks that the requirements of programs are too harsh, but in fact, people who know programming understand that computer programs are just a simulation of a process, in addition, this process is limited. Therefore, when art says XXX is required, the programmer's heart is actually rejected, because for this purpose, he may need to write more than a dozen lines of repeated code. In order to satisfy the user's laziness and mental retardation, the leaders asked us to make all the objects in the apartment as dynamic as possible and give the user the greatest freedom, the result is that the programmer is deprived of the freedom to write a number of if or repeatedly call the same method, which is simply a devil!

Well, after writing so much, you may think this is not in line with my style as a programmer. What about a weekly technical blog? In fact, the use of technology depends entirely on the people who use the technology. Therefore, we should not only focus on the level of technology, but also on how to make the entire team efficient and smooth, because of the treasure of a thousand miles, it is destroyed by the ant's point. Although communication between teams seems to be political or formal, communication actually accounts for a considerable part of the project development process, so I hope you will be inspired by today's blog. Okay, go to bed, haha! This time was written today!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.