South America isn’t what a lot of gamers think about when it comes to gaming. Most press usually comes out of North America, China, Japan, or European countries. But Cocos has been working hard to learn about and discover amazing stories of game developers building games in some of the most amazing places.
Danilo Ganzella aka debugChicken is a developer in São Paulo, Brazil, one of the biggest cities in the world, and has been doing amazing things with Cocos Creator, building a game we recently featured in our Cocos Showcase.
We met with debugChicken on our Discord server and have been very impressed with his first Cocos Creator game, Wirewalk, a game where you save the world from an evil virus taking over the world’s internet. This dungeon-crawler game has a style gamers may be familiar with and great chiptune music to listen to during your journey.
One of the most amazing things about his game is that not only it works on mobile, it will be one of the first games using Cocos Creator to go up on Steam, the world’s largest PC gaming marketplace. He even gave us an amazing write up so that you can export your games to the PC!
We had a chance to talk with Danilo Ganzella about his early days of programming, why he’s using Cocos Creator and what it took for him to build his latest game.
Cocos: So, what got you into building video games?
Danilo: The first time I came in contact with building video games whas when I was 14. I was at a friend's house when he showed me a project he's been working on RPG Maker 2000. I was amazed to see that and quickly wanted to build my own game. At first, I built a game that was terrible, it was called "By the power of Teena" and was unbeatable. I didn't even playtest it once and the game was too hard. And I even burned it to a CD and printed a cover. It was fun to see something made by me.
I then built a few parody games that featured some of my friends from school and it was hilarious. Then I built a Metal Gear Solid 3 fangame, called "Semi-Metal Gear Solid 3" which I still find has some good jokes to this day. Then I made a zelda fan game called, "The Legend of Zelda - The Silver Master Sword". The thing is, RPG Maker is not suitable for Action-RPGs, but it's doable with a real lot of workarounds. I learned these workarounds by looking at the code of another fan project called "Zelda, Essence of Nature". I liked the result very much. I was 16 by the time I finished working on this Zelda fan Game.
It's weird to think that Wirewalk still uses a similar structure to RPG maker 2000. Inside the code, I even call the character 'hero' because that is what it's called in RPG maker.
C: What got you building your game in Cocos Creator instead of other game engines?
D: There were some great advantages from using Cocos Creator. First, because it was an engine 100% focused on 2D prior to Cocos Creator 3.0. I wanted to develop a 2D game so I would not have to deal with anything 3D, like 3D cameras, 3D vectors, light, unnecessary menus, etc. Second, because I wanted my game to be run in the browser. I was able to build some tools by myself to help the development, using web libraries, like color selectors and the such. Third, because I was able to import some libraries from JS, like bezier libs and easing libs, to make my work easier. Fourth, because I could customize the engine the way I liked, since it’s open-source, I would, for example, fix audio issues in chrome to make pixel perfect run properly. Fifth, I think writing shaders was also easier because Cocos is very straightforward with that, compared to other more complex game engines.
C: Speaking about sound, we love the music in the game. Who helped you out in sound design?
D: The sound design is made by Danielle Serranú. She is a great partner and is really giving her all on this project. She brought a lot of value with many ideas and she's always giving purpose to the notes and chaining everything together to make an awesome product. I'm very lucky she accepted to make the audio for my game, it's easy to say she was the addition it needed to be as good as it is.
C: Tell us a bit about your game?
D: Well if that's not obvious enough, the protagonist is me as a girl. It's me as I wanted to be but really I can't. It's somewhat like the superflat Japanese art movement in a sense. It's located in a city because that's what I know. It plays like an old Gameboy Zelda game because that's what I liked to play. In the end, it's a top-down dungeon crawler with funny text. But I really poured myself into this. Every part of this game tells who I am. Some things are, like in a dream, out of place. But everything's there. Wirewalk is a remix of me in a sense. And not just the good things: you have to play to know what I'm talking about. But there's like no pixel out of place, because I'm very OCD with that. It's the best of me. Well, not the best, but the best that can exist in reality at least for now.
C: Since you said it’s about you, you must have a lot of real-life inspiration for the game?
D: There are so many. The game is actually just a big patchwork of my experiences and lots of other games/media and ideas/suggestions from people. Sometimes I even put the people themselves in the game. But I'd say the main inspiration was The Legend of Zelda series on the Game Boy. I liked the old style like Link's Awakening much more because you can't explore the whole world at once. It's much better that way. Because I suffer from severe anxiety and I'm a huge maximizer, playing new games like Breath of the Wild makes me miserable. My brain is just frying with an unholy amount of data that I can't ignore, and it's constantly recreating better logistics to do everything at the same time and I can't bear to lose anything.
There are a LOT of references in the game: Hermes and Renato (Brazilian TV Series), Tcheco (Brazil Video Game Character), Cersibon (Brazilian comics), The hitchhiker's guide to the galaxy (book), Twin peaks (TV series), Serial Experiments Lain (Anime), Wonder Egg Priority (Anime).
There are also many elements of other games Like Mega Man Legends and Saga Frontier. There's a lot of people that help me with the previously mentioned prototypes that somehow made some impact on the final version. Even the dog in the game is from a real-life dog called “Joaninha” that lived in the house of an ex-girlfriend. I really loved that dog. But the dog has passed away. I miss Joaninha to this day. Fun fact, “Joaninha” is Portuguese for ladybug.
C: Wow, that’s a lot of references to Brazil! What’s it like being a game developer in Brazil?
D: Brazil is too big and too diverse. The reality of each person varies GREATLY. For example, only 1% of Brazil is able to speak English. I can speak English and Japanese to a good extent, so I know I'm an exception. Anyway, I still need a full-time day job to support myself as a "regular" programmer, as it's too risky to depend on my game success. When I first got into the game industry at 19, I joined one of the very few enterprises that existed. It was named "Kidguru" and launched the first Brazilian game on the Playstation 3 store, called Freekscape.
Today, the scenario has changed a lot. There are a lot of enterprises and opportunities, some making big money like Aquiris - with both awesome pay-for-hire and authorial games. Working as a game developer usually gives you half the paycheck than being a non-game programmer. There are other enterprises making big money like PlayKids with their massive hit PKXD, focusing on the kids market, but they are still an exception to the rule. There are some incentives from the state, at least in São Paulo, but usually, there is not enough money for everyone, and only the visually impressive games make it from what I've seen.
It's hard to blame anyone -- it's too difficult and too subjective to select projects that are good ideas. So my pixel game would never be selected to receive funding. I had to do it all by myself. But I liked it. No strings attached, no deadlines, helped a lot with my mental state.
C: You said there is a lot of humor in your previous games. Did you do the same for Wirewalk
D: Yes. I tried my best with the wording to make the dialogue interesting and humorous. Usually, I really dislike long dull dialogues on RPGs. Some developers try to make everything look a bit way too serious. I never thought games as a medium could compete with cinema in this aspect. That’s why I try to bring funny text like Earthbound or Undertale to the mix, but also adding my own references and style. The text is very localized, sometimes the text varies greatly between Portuguese and English to produce the same desired effect.
C: So that’s why you decided to do this game as an indie developer?
D: It was a life dream I had. The first serious attempt at doing it I did in 2012, when I was 23. I’ve tried to attempt it many times before I was satisfied with this game -- I have so many unfinished "wirewalks". I'd say a dozen. I finally could make something that I liked and was proud of. I had to abandon ideas and many things I liked from these prototypes so I could focus on something I could truly do.
Still, there are so many people more talented than me, even in Brazil, I still feel ashamed to some extent. I find my work incredibly mediocre when I compare my work to others (at least visually). But I could say that my project is good enough now not to be ashamed to make it public. I’m receiving a lot of great feedback. Besides, it's very hard for me to form bonds with people -- I’m a person that is very lonely and that doesn't like to bother other people. So I could never do it with anybody else. I for example cannot work with someone watching me.
C: One thing we found amazing about your game is that you built it only for the PC and for Steam. How did you get that to happen?
D: At first I thought of publishing the game on as many platforms as possible. But then I noticed that my game relies too much on precise movement, and playing it without physical buttons was really annoying. Playing it on the keyboard or joypad is ok. I am still looking forward to porting the game for handhelds with buttons like the Nintendo Switch, and hopefully, the new Cocos 3.X will be able to help with that soon.
How are you able to get your game into Steam using Cocos Creator?
D: I was able to do that using Node.js. Specifically these two tools: Electron and Greenworks. Electron is a great tool that allows us to embed HTML5 Applications in Desktop Applications. They achieve it by running a Google Chrome webview which will handle the rendering of the html/canvas & javascript execution. Greenworks is an interface for Node.JS that works with and that allows us to communicate with the Steamworks API and thus be able to publish games on Steam.
You can check the details in this blog post.
C: Where can we find your game?
D: You can find my game at https://www.wirewalkgame.com, the steam page is https://store.steampowered.com/app/1636700/Wirewalk/
C: What advice would you give to indie devs getting into Cocos Creator?
D: I guess knowing javascript/typescript. If you are used to languages like C++ as I was more used to, the difference is astounding. You really have to think differently in a new scripted language. But besides that, do not be afraid of being the first to do something. Customize the engine, try to make the workflow more efficient before doing things the hard way. Even if your plan doesn't pay off all the time, when it does, you will be able to speed your development time. Be bold.