Indie Developer Brings His Dream Game To Steam In Five Months
2022.01.17 by COCOS
Cocos Creator 2D Interviews

Recently, a Chinese text adventure and strategy card game, "Fantasy of Cao Cao," has appeared on Steam's "Hot Coming Soon" list and was officially released on January 14. In the game, players will play an anti-social otaku reincarnated as Cao Cao, one of China's most significant leaders during the Three Kingdom period. Along with the historical context, they will encounter and battle eight female characters famous at the time and collect battle cards from your wins.

The game is set with multiple branch lines, and the player's choice will affect the story's development. Eventually, it will lead to two general endings: the "historical ending" that follows history or the "dream ending" of dominating the world and eradicating Sima Yi, a constant competitor to Cao Cao during this period. In addition, there is a hidden "real fantasy ending," which requires players to meet some special conditions to trigger.

In addition to the beautiful script based on the real history of the Three Kingdoms, "Fantasy of Cao Cao" also has a large number of exquisite paintings, CG animations, voice acting, and more. The excellent art and music put together create a beautiful game world.

"Fantasy of Cao Cao" is the first game that independent game developer Sonny made with Cocos Creator in 5 months after leaving his job at Tencent. During this period of time, he went from consulting historical materials, writing stories, developing, contacting art, dubbing, and sharing development logs on social media until he finally successfully listed it on Steam this past week. We were able to talk to Sonny about being on the road to independent game development.

Cocos: Please introduce yourself first.

Sonny: Hello everyone, my name is Sonny, a post-90s globe-trotting game developer. I used to work as a senior project manager in Tencent WeChat Pay. After I resigned in April last year, I started an entrepreneurial project, which was not very successful. In August, I came out to make a game by myself. After more than 5 months of exploration, the first game, "Fantasy of Cao Cao," will finally launch on Steam, which is a small achievement.

C: Why did you choose to quit your job and start an independent game instead?

S: I think it's just an unhappy being there, the same reasons people often share, such as serious overtime work, lack of sense of accomplishment, etc. I worked at Tencent for three years, and this year I finally wanted to say: No, I have to go. I wanted to come out and try it myself and go all the way to see what it would be like. As for making games, I actually didn't overthink about it. I happened to chat about this with a friend in August. In addition, I always had the idea of ​​making games before, but I didn't have a chance, so I wanted to try it out.

C: The protagonist of "Fantasy of Cao Cao" is set as an anti-social guy who died suddenly. Is this design related to your feelings or experiences?

S: Haha, maybe a little. This setting also helps show an improved life for the player. Because each of us has troubles or troubles in our lives, the protagonist in the game is troubled by the harsh criticism of work and leadership, and in reality, we may all be depressed because of some other things. The primary purpose of my game is to let players forget these troubles and pressures in real life. At least we are allowed to enjoy our lives by playing someone else in the game.

C: What unique thoughts/creatives are there in the overall gameplay or design?

S: I think the most significant creative point is in the plot design. When I was writing this story, I studied the complete history of the Three Kingdoms, including the background stories and life experiences of Cao Cao and various female characters, and then incorporated my own ideas and adaptations, creating a combination of reality. If the game script of "Fantasy of Cao Cao" was released, I think the player thinks the plot is not very reasonable at first glance, but when they look back at it, they think it seems very interesting!

C: In the past few months, you have also regularly shared the development progress on your personal account "Sonny Games" on bilibili. One playback on a single video has exceeded 100,000 views. What gains have this sharing brought you?

S: At first, I saw other developers' sharing videos on bilibili, so I also tried to make a straightforward demo, recorded the first video, and uploaded it. Still, I didn't expect the playback volume to be very high, which made me more determined to make this determination to make the game. In the past few months, I have developed from Monday to Friday every week, reviewed the week's progress on Saturday, and made a development log for sharing on bilibili. Once a week, some broadcasts were long and some less. On the one handit is equivalent to publicity in advance. On the other, it can also get in touch with some potential players and gain the initial core fans. You can communicate with them and listen to the feedback and suggestions for the game.

Some publishing companies came to me after seeing the video during this period. However, I still did not choose to cooperate with them because it was the first game, and I also wanted to try the parts of publishing and to promote it myself. But by chance, I signed with a distribution platform, and the platform used their media resources to help promote it, which also helped a lot in promoting the game.

C: Why did you choose to use Cocos Creator for development? What are the strengths and weaknesses of the engine? 

S: Because I used JavaScript to develop the front-end before, Cocos Creator also used JavaScript. For me, I can get started right away, and the engine itself is relatively simple and convenient. This is one of the biggest reasons for me to choose Cocos Creator. In addition, I am also making a game for the first time, so I did not use very complicated and advanced technology. Basically, I flipped through the documents and checked the Internet, and it was ok.

I think there are two less convenient points:

One is on the ease of development. Although the engine uses the concept of rendering from data to view that is now used in the front-end, it is not like those modern frameworks - such as vue, react, etc., where the page is updated directly after changing the data. You still have to assign values to one node at a time, which is not very convenient.

The second is that there is no official support for publishing directly to Steam. I've looked up a lot of information and still haven't found out how to do it. I was about to collapse. I thought it was hopeless, but coincidentally I found a solution and finally managed to publish the game to Steam.

C: Can you share the strategy of building a Steam game on PC?

S: After searching for information, I found that if a game developed by Cocos Creator who want to be released to Steam, two things need to be solved:

  • Packaging into PC application: Cocos exports to the web, then packages it through electron and communicates through ipcMain/ipcRender that comes with electron.
  • Get through the Steam SDK, link the Steam SDK by building GreenWorks, and introduce GreenWorks with electron.

When I was packing the Steam SDK, a critical package was not well packaged, and then I looked through the official readme document and found a foreign friend who was very kind and completely spontaneous. He put every version, including windows, etc. When all the SDK packages corresponding to the platform are ready, we can download them directly without having to build them ourselves. That's how I finally got through the Steam sdk road.

Greenworks build files adapted to each version of electron:

https://greenworks-prebuilds.armaldio.xyz/

Two reference articles about Cocos' release to Steam:

Exporting Cocos Creator Games to Steam

How To Port Your HTML5 Game to Steam

C: In addition to the technical aspects, what else should be paid attention to when publishing games on Steam?

S: Another thing to pay attention to is the review and listing. Steam has two rounds of review. One is that you need to publish your game's store page. The first round review will be relatively easy; the second round of review is that the official team will make a very special review for your game app content before the game goes online. A detailed review will also check against the description on the store page to see if there is any discrepancy or disqualification. For example, the characters in my game are dressed in sexy clothes. Steam will define it as adult content and require it to be indicated on the store page, but in fact, this may deviate from the adult content that domestic players understand. So when doing a release, review it, and please pay attention to making these changes.

Then the most critical point, if your game wants to sell well on Steam, there is an essential data point called "Wishlist." Be sure to start promoting the game as early as possible to get your potential players to wishlist the game. There are two advantages to the wishlist. About ten days before the game is launched, Steam will have a list of "popular upcoming." If your wishlist reaches a certain number (I guess it is about 10,000), your game will be on this list, get a broader range of exposure, and let more potential players see it; the second is that the wishlist data can help you estimate game sales.

So my suggestion is to start promotion as soon as possible. It is possible that after the first demo comes out, you can quickly make the store page and tell everyone that you are going to do such a thing. At this time, you are actually starting to accumulate your potential fans.

C: Based on your recent experience in developing "Fantasy of Cao Cao," what qualities do you think an independent game developer needs to possess?

S: Those very mature commercial teams have very professional people who can do a good job of the graphics, the music is good, and everything is well done. But I think one thing is that when they do this thing, they may be business-driven and data-driven, and the games produced by doing this may lack some "soul," which is why I personally don't like to play some AAA masterpieces.

As an independent developer, I think the most important thing is that your game must have a "soul." Whether you are attentive or have your own characteristics in the game, players who have played your demo or tested it can all feel it. If you have these things, you are probably halfway there. And the other half is that you have a lot to deal with as an indie developer. In addition to game development, art cooperation, and music cooperation, there are also online releases and fan operations after the game is developed. This is a very, very comprehensive thing. So if you want to do such a thing, you must first ask yourself whether you have enough comprehensive ability. Of course, some people will say: I just make games, I don't care about anything else. This is naturally possible, but it will be challenging because you have no way to work behind closed doors. If you want to go wide and far, these things must be experienced.

C: Do you have any plans for game development in the future?

S: I hope to make a new game every year from now on. Now I have roughly planned the next two or three games. For example, I will have at least two more generations of "Fantasy of Cao Cao." I will add more gameplay and strategy to it. Then I've come up with some other ideas recently, which I'll make in the future.