Interview with the Father of Cocos Creator
2020.06.12 by COCOS
Interviews

When we started building a new program that would support the games of the future, Cocos knew it needed help finding an amazing engineer to help build the next generation development studio for the Cocos engine. Luckily we have Jare Guo, our Senior Technical Director. Jare has been one of the leaders in the development of Cocos Creator from the beginning and probably said to be the father of the project. With his team, they are currently working to create the next iteration of Cocos Creator. But we had a chance to interview him about the work, gaming life, and being a part of Cocos.

You're a gamer, right? What games are you into?

I'm really into story-driven adventure games. Games like "To The Moon" by Freebird Games. Maybe it's because I'm a game maker myself, so it's harder to appreciate the gameplay itself when playing the game. So I'd rather pay more attention to the content and experience of the game, rather than the way it's played. I want to see something more focused on the traditional forms of entertainment.

What got you into the game industry?

I learned Visual Basic in high school, so I had some basic programming skills. Then I bought an electronic dictionary, not realizing that it happened to support for BASIC. I read the product manual for it, found some tutorials on the Internet, and got into a flurry of game programming action. Then when I got into college, I picked Software Engineering & Game Development as my major. So the game industry was the only option for my career.

How did you get a job at Cocos and how did you start building Cocos Creator?

Back in 2014, two of my friends (Johnny, Nantas) and I founded a company called Firebox. We developed a new JavaScript engine called Fireball. Fireball is a complete package of game development tools and workflow that supports entity-components, script development, data-driven, scene editing, game previewing, and editing all in one editor. Sounds familiar? Yes, it is the predecessor of Cocos Creator. (That's why we still use '.fire' as the scene extname in Cocos Creator) The last version of Fireball is v0.5. After that, our company was acquired by Cocos, and that's how I get my job. After joining Cocos in 2015, we replaced the underlying renderer of Fireball with Cocos2d-JS, and merged tons of Cocos APIs with Fireball, and released it as Cocos Creator v0.6 as its first internal company version. We later published our first public version of Creator as v0.7.

Why do you enjoy building a game engine?

I like delicate things. I like making tools, polishing things, making people's life easier. Of course, it is very difficult to successfully productize and commercialize a "real" engine on my own. Not only do I need to achieve the highest possible performance on each gaming platform, I'd have to smooth out the differences between platforms, have tools that consider the needs of all levels of users, and features that consider different usage scenarios.

Without the full collaboration of mine and the Cocos' technical support team, QA team, community developers, editor and engine team, building Cocos Creator wouldn't be as fun.

What are some of the best things you enjoy about your job?

Cocos is a fantastic place to work where there is a spirit of openness, freedom, and mutual support is very rare in Chinese companies. I get the opportunity to learn more about corporate governance, product commercialization. I have met many extraordinary people here, and I have learned a lot of new things from them and discovered where I need to improve. I'm sure everyone will find this, at Cocos you can always find people who share the same interests as you and learn a lot of different things from them.

What are some of the coolest projects you saw from people using Cocos Creator?

Here's a list of my favorite projects:

欢乐枪战 (Mobile)
Wolves of the Desert (Mobile)
最强魔斗士 3D (WeChat mini app)
워 오브 다크:지옥의 성 (Mobile)
See the source image
狼人杀 (Mobile)
广场传奇 3D (Mobile)

What are some of the future plans you hope to accomplish with the engine?

In the short term, first, of course, is to continue to refine some of the engine's shortcomings and allow the engine to support more categories of game development. In the future, I'm trying to make the editor more user-friendly for multiplayer collaboration, preferably with the ability to support multiple people editing a game online in real-time. Also, integrate automated resource distribution capabilities for the editor to simplify online game development and allow the engine to run on more platforms.

When is Cocos Creator 3.0 coming out?

I can't tell you the final date, but we are planning on having it ready by the end of the summer. There are a lot of new features that I think a lot of people will get excited about, so we hope people will be as excited as we are when we introduce them. Panda already has a presentation coming out soon to share some of the features in the next few weeks as well as him sharing some of it at WN Hub a few months ago.