Helping You Build Great Games Through The Help Of Our Panda
2021.02.08 by COCOS
Interviews

Cocos has been building game engines for over ten years, and keeping an engine running strong, smooth, and staying open-source takes a lot of time and exceptional people. The team is lucky to have found people who are passionate about building the best game engines in the world.

One person we want to share with you has not only been a crucial part in leading both the construction and maintenance of both the Cocos2d-JS and Cocos Creator engine, but has become a significant evangelist for the engine sharing his knowledge at events, in our message boards, and at conferences all over the world.

Though many might not know his real name, Huabin Ling, everyone at work knows him as “Panda”, our technical director. A gamer at heart, he has been working with Cocos since the early years, bringing about new platforms for the engine as well as becoming a key leader in the company.

As our technical director, Panda is in charge of our engine development, making sure Cocos Creator is up to date on technology as well as creating new technological advances with our engine. Before the release of Cocos Creator 3.0, we had a chance to talk to him about who he is, his vision for the engine, and the game industry himself.

Cocos:  So, how did you get the name Panda?

Panda: It's really an old story. I remember it was during high school, my classmates started to call me Panda because I wear glasses with large black frames, like the black eyes circles of the panda. Then as I become a programmer, my eye bags enhanced the impression even more.

C: Where did you study? I heard you were studying overseas.

P: I got my bachelor's degree in China, then continued my study in France. I wanted to go there because I loved the food and art and had the opportunity to go. I got my master's degree at the University of Lille, in a cold, rainy, but warm-hearted city in the north of France. I loved the city of Lille, so many happy memories there.

C: So did you start your first job in France?

P: After graduating, I started a small company with my business partner Marie Seygnerole; we wanted to provide a new reading experience and attraction for teenagers. Our approach was to add interactive gaming content along with a story, but it wasn’t successful.

Panda in France

C: Sorry to hear that. What did you do after that?

My startup was closed due to a lack of investment, so I start to search for opportunities in France, Canada, and China. At that time, I really wanted to enter the real gaming industry, especially the rising mobile gaming industry. Finally, instead of making games, I chose to help game developers by joining the Cocos team. I do love making games, but assisting the developers to make great games with a game engine is even more exciting.

C: Cocos is an exciting company. What was the atmosphere in Cocos when you got there?

When I started my career in Cocos in 2014, Cocos2d-x was the best game engine for mobile platforms. Everyone was very excited about the great games made with Cocos every year since the beginning. Me personally, for the first time in my life, my work can be seen and used by so many users. Users talk about our features and engine usage in our forum. I really enjoyed that.

C: How is the atmosphere now that you been here for a while?

The team had changed a lot. People come and go. I have also gone a long way from a JavaScript engine developer until now. I'm very proud to be able to build up our 3D engine team. I think the team at Cocos has also been upgraded to a whole new level during the last few years. More and more talented people joined us, and we have established some new values like "continuous learning," "Total transparency," etc. So I think, when I got here, Cocos was like a genius child with outstanding achievement while growing up. Even if he lost many opportunities, he now is definitely a grown man with a determined mind and practical approaches.

C: So, what was the biggest thing that you've worked on while at the company?

For personal work, I have maintained JavaScript binding for a while, designed the hot update technique and v2 renderer in Cocos Creator. I also founded the data binding strategy for the native renderer of Cocos Creator.

But like I said previously, the 3D engine team is my best product contributed to the company. Nothing can compare to that.

C: Speaking about the game engine, What is the biggest question developers ask you about it?

P: The question I get a lot is, "Can I build a ??? type game with Cocos?"

Cocos has been a traditional 2D game engine for a long time. In the meantime, mobile games have gone through a lot too. With more and more mid- to hardcore games being developed, 3D games have become the majority in the mobile game market. Without 3D features added to the engine, the possibility was indeed limited. Even if we added 3D features into Cocos2dx, there wasn't a powerful editing tool included.

With Cocos Creator 3.0 release, a full-featured 3D game engine, the possibility with Cocos is enormously extended. I believe we can cover more and more types of games and provide excellent development efficiency and runtime performance.

C: Do you think it's challenging to build the engine for JavaScript and TypeScript compared to the more common languages like C# or C++?

P: C# isn't a more common choice; it's just used in other engines.

TypeScript/JavaScript is also vastly used in all the HTML5 game engines. Cocos Creator is a unique engine using TS/JS, which supports cross-platform on HTML5 platforms, instant gaming platforms, and native mobile platforms. Scripting is a must for modern game development. It can significantly increase the efficiency and reduce the cost of game development. We are choosing TypeScript not only because we support the HTML5 platform but also because it's a great scripting language with an extraordinary eco-system.

Also, we have many experiences using JavaScript and its native binding solution. We firstly built JavaScript binding for Cocos2d-x in 2012 with Zynga's contribution. It has been used in Cocos2d-js and Cocos Creator, we have been continuously improving on the binding solution, and now it supports v8 and JavaScriptCore. I won't say it's a big challenge, but it's definitely our core advantage to build the engine with TypeScript/JavaScript.

C: We just released Cocos Creator 3.0. What should developers know about the new era of Cocos?

P: Cocos Creator 3.0 is not just a new update of Cocos Creator. It's a new generation of our engine. We added a complete set of basic 3D features: 3D model support for glTF 2.0 and FBX format, physically based rendering and lighting, material system, built-in forward render pipeline, skeletal animation and morph target animation, 3D particle system with GPU simulation, 3D physics with multi-backend support, terrain, and light map baking.

But most importantly, it's built with an entirely redesigned engine architecture and a stable 3D renderer. The 3D renderer is designed for the next generation graphic APIs - Vulkan and Metal. The render pipeline is also designed to be customizable. With the help of render pipeline and material system, all kinds of graphic styles can be achieved easily. Performance is also a key requirement for games. We have supported GPU-driven skeletal animation and particle simulation, improved data sharing solutions on native platforms can also significantly reduce the cost of JavaScript binding invocations.

v3.0 is a new start. We will continuously improve its usability, efficiency, and performance.

C: What projects are exciting you right now?

P: We have some great ambition when redesigning the renderer. The architecture has left a lot of space for future plans. I can't reveal too much for now, but I'm working on the multi-thread rendering, the current research is already showing great potential. I believe we can release the multi-thread version in 2021.

C: That's cool. Then what are some things you can share with the public that you are excited about for the future of Cocos?

P: Cocos is always focusing on improving game development. We will continue to bring better performance, lower development costs, and maximum flexibility for game developers. We hope users can use Cocos Creator as a swiss knife that fits their needs in many ways.

Besides the game industry, we are actually contributing to a lot of new domains, like education. It's likely that you will see Cocos expand to other industries and bring our 3D content creation ability as a super-efficient solution.

C: Nice to know we're doing great in education. It that your big vision for Cocos Creator for the next two years?

P: Not entirely. We want Cocos Creator to be an essential choice for mobile game development. We want to ensure Cocos Creator can satisfy all different kinds of game genres, from traditional 2d games to complex 3d games, from artistic stylized graphics to open world role playing. We will cover many of the services that developer from development to publish, distribution and finally monetization.

We’re also looking to expand Cocos more to different areas of the world. We’ve really thought of ourselves as a global game engine, and we want to give more to the global game community this year than we have in the past.

C: Are there anything else you want to say about the future of the game engine.

P: The performance on modern mobile devices hasn't been fully realized yet. We hope Cocos Creator can design the right solution and contribute to the open-source community.

We want to lower the cost of development. This means easy to learn, efficient to use, and excellent compatibility. With TypeScript, I believe our engine is one of the easiest to learn and build a game. We have also done a great job on platform compatibilities, but we still need a lot of hard work on compatibility with DCC tools.

The engine itself is totally open sourced. This already ensures excellent flexibility and control. The engine architecture is also targeting flexibility, like customizable render pipeline, material system, multi backend physics, etc. Plus the extension system of our editor will open more and more opportunities for developers to fully customize their workflow.


We want to thank Panda for his time and his work on improving Cocos. If you want to chat with him or ask questions, leave a question on the message board. He'd love to meet developers and learn what we can do to help you in your next game.