Review the company's client technology development for more than three years

Source: Internet
Author: User

      Three years ago, when the intelligent machine game broke out, I joined a few friends to join the entrepreneurial army of this era! Fortunately, we are still alive, behind the collapse of how many like our small companies, deep experience of the fierce market competition! A simple background, the following straight into the topic.   First year:      three years ago mobile game engine selection is really too little, basically is cocos2d-x and unity, but for the hardware conditions at that time, unity is still a little slow, And we first wanted to do 2D games (the first product is not afraid of doing so), so only cocos left. But after looking at the code of Cocos, still feel not very good, mainly because: 1, the rendering is not well enough, even the most basic material system is not, the rendering process is also written dead 2, cross-platform code is not unified, WP platform is independent, maintenance of the bottom is not to kill 3, no matching tools 4, Style and other do not like-_-(PS: Here is not to say Cocos Bad, the original is not mature enough, maybe it is not suitable for us, now develop into how is not very clear, 3.2 after no attention)       Just I was involved in the development of the engine, Also often focus on some open source engines (by the way: Urho3d is good), although the engine developed at the time did not succeed, but writing a 2D cross-platform engine should not be a problem. Finally, the core was finished (thanks to Cocos and BlackBerry gameplay, which helped solve a lot of platform-related problems), with C + + on the bottom, Lua on the top, and a simple material system, referring to unity to turn HLSL through the tools into GLSL. This is also our first time to do LUA binding (according to the game programming Essence 7 of the article modified over), the feeling is quite bold >-< with Lua, the purpose of the main two: 1, dynamic Update, in the operational stage played a great role in the dynamic add features, fix BUG2, reduce development costs, Not everyone can master C + +, do not get out of control       tools to take a bit of a coincidence, the scene and animation directly parse the Flash file and then into the engine internal format, UI editor with the Sony PSM Development Kit , like flash processing ideas, although not integrated environment so good, but also do. Others have also done some peripheral functions, such as using Breakpad to collect user crash reports.       Some places are not doing well, such as combat design, some places are too dependent on fill-in, such as Ai also did not do well, originally wanted to use the behavior tree, but because of the failure to understand how the whole to finally use the stateMachine. As a whole, for the first product, technical aspects of the basic standards!       show our entire project directory structure, engineering volume or not small, think back to the original day and night to dry, or pretty spell, I almost moved to:)   second year:      Because of the time-space hunter, fighting and other fighting products, we also follow the follow-up to make a model!       Because of the type of fighting, technical requirements are higher than the previous horizontal version of the RPG, feeling that if there is no decent editor with the development will be more difficult to engage in. It is a question of whether to continue to develop previous engines or find other tools. own development, want to make it easy to use the estimated time spent a lot, and did not find the right third-party tools, and the third-party tools too much trouble, they can not cooperate with the editor; Moreover, the development of mobile hardware is very fast, according to our expected 3D will become mainstream, The further development of the engine will inevitably drag the company's hind legs. After a variety of tradeoffs, unity was chosen as a technical basis for future products (although the 2D project was still chosen conservatively).      unity Editor is really powerful, well done can improve the entire development process, it is also determined that we will always use Unity's determination! But although it is easy to get started, it is a lot of pits, or some things are not familiar with will spend time.       Because of the LUA experience of the first project and the ability of LUA to flexibly respond to changes in demand as it operates, it is decided to embed LUA in unity. No suitable solution was found for a long time, until Ulua's appearance was mitigated, mainly performance issues. AI also finally to the behavior of the tree did try, but may be to understand the problem, use up or encounter a lot of problems, mainly with the animation related to this piece of processing is not very good, more stupid B is unity so many behavior tree plug-ins do not need to make an external open source tools. In short, it may be the first contact with this component of the engine, thinking has not completely turned around, the design took some detours! So there's nothing to say! Fortunately, the game is still done, the success of the online. ^_^   third year:      Although the second project development cycle is not long, but operation maintenance occupies nearly half a year time, the new project has not been able to start again. Although the new project did not start, then the market 3D game has been all over the ground, so there is no accident our next project is also, fortunately, the wise decision, haha.       Just this time some of my colleagues are free., we decided to re-comb unity and previous technologies to improve the development process. In the end, we came to an important conclusion: to develop online games like a single machine! Why do you say that, summarize our problems encountered in the process of the project: 1, because of technology, art, planning completely separate (the purpose is to facilitate art, planning and development, engineering secrecy), resulting in the integration of all things must rely on technology, even if it is planning to change the character from 10 to 100, or art modified a map, In the end, it takes the technology to get things into effect.     This leads to iterative slow, long cycle, and there is no initiative to mobilize planning and other kinds of criticism.     2, after all, Lua still has some performance problems (generally write UI logic is OK, but the writing core battle is well planned), but also want to be able to dynamically update the logic, the two conflicting. The biggest problem is the first, the main impact on the development progress. Finally our solution is: all professional with the same project, the technology is no longer the ultimate realization of the function, from the planning to do, technology to provide planning to achieve their ideas of various tools, and then let the planning to get, give full play to the creative planning! The previous process is: planning and demand-based technology to achieve planning requirements, planning and acceptance; The current process is: planning, demand-based technology provides tools, planning with tools to achieve their needs. The most obvious embodiment is: levels, skills, AI, tasks and other systems, tools to achieve a good plan after the basic want to do what you can do, no need to ask the technology, reduce the cost of communication and improve the product's innovative power.     Everything has two sides, the first need to plan a certain logical ability (practice down, as long as the plan is the intention to do, this is not a problem, but they will be very happy), and then to divide the best which is planned to do, which is the technology to do, and the technical level of control planning to make mistakes, or chaos. The overall practice is still satisfactory, and here are some of our bottom-up tools. In fact, it is to learn from the Unreal Kismet, Playermaker, Uscript, Cryengine3 flowgraph Tools, to create a unity platform for our own visual Footstep tools. So why re-create one, the first one is like Uscript too complex, playermaker is not strong enough, data-driven inconvenient (want to be able to update dynamically, in place of some LUA function). There is a picture of the truth, the following is our AI editors have the opportunity to introduce a bit more, here. We welcome you to explore the game development issues together, qq:277911234

Review the company's client technology development for more than three years

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.