Gamasutra often speaks with established developers at major studios. But as we have all come to recognize, vital perspectives and talent also come from independent creators.
In the spirit of recognizing that, Gamasutra arranged a roundtable discussion between three of the major innovators in the shoot-em-up genre. These are:
- Canadian-based Jonathan Mak, creator of PS3 PlayStation Network hit and Independent Games Festival multi-award winner - also now available on PC - Everyday Shooter.
- Japanese native Kenta Cho of ABA Games, the prolific creator whose Tumiki Fighters was recently upgraded to the Wii as Blast Works: Build, Trade, Destroy.
- The pseudonymous Japanese creator Omega, whose game Every Extend formed the basis of Q Entertainment's Every Extend Extra (PSP) and E4: Every Extend Extra Extreme (Xbox Live Arcade).
While their circumstances and game designs are different, their independent visions have all been compelling enough to reach the wider world on contemporary console platforms.
Facilitating a discussion which took place in Japanese and English, here Game Developer Magazine editor in chief Brandon Sheffield leads a free-form, casual, and candid discussion with the unassuming creators of these exciting new games.
How was the music for Everyday Shooter created?
Kenta Cho: I think sometimes the acoustic guitar is difficult to match to the game, like the 2D shooting.
Jonathan Mak: Well, sometimes I make the song before I make the game...
JM: Yeah, sometimes after, sometimes before. Sometimes it's visual first, so...
Do you always make the songs after the game?
KC: Always after. I personally upgrade my own game and think about the beat of the music, and then add sound, and adjust the background music to the gameplay.
And you do the opposite? Do you then adjust gameplay to the music?
JM: Well, it's not... yeah. It actually happens like all at once.
JM: If you play level four, you'll know what I'm talking about. It's a lot slower.
KC: The music I listen to every day is techno music. I like the music like progressive house or Detroit techno.
JM: You use ACID [Music Studio software] right? You use ACID?
KC: ACID? Yes, I use ACID.
JM: And then you have samples? Loops?
KC: Yeah, many, many samples.
JM: Do you make the loops?
KC: No, I only sample them from CDs. I don't have the ability to write chords, or loops.
JM: Can I? Can I write loops for you?
KC: (laughs) It's very nice of you. (continues to laugh)
JM: I'll do it.
That's cool. You should to it.
JM: Oh, also maybe if you like the game, maybe we can create "singles". So, like you know how with a music album, you can create singles? And release it on PSN, so that might be something to put together, and put it on PSN.
Like a single, one level, 10 minute shooter, you know. So maybe we can make one up. Might be interesting, might not be. Might be bad.
Do you have any interest in putting your games on PSN or a console?
KC: Yeah, I have interest.
JM: I know someone from Sony who wants to put your game on console - Tumiki Fighters.
KC: Tumiki Fighters. Ah, that's not for Sony, but for Wii. But that's very nice, if I can play my game on PSN or PS3.
ABA Games' Tumiki Fighters
JM: Yeah, but you have to do work to put it on. It's a bit of work. This took like three months, but because the widescreen was a problem and it took a little bit longer, but I can help you.
You program in D, right?
KC: Yeah, I program in D and it caused some problems importing into other consoles.
Why do you use D?
KC: D is... I don't know that I could've written the program in C++, because its template is very dangerous and dirty programming. I mainly like to write programs in Java, and D has the same semantics as Java, and also D can create and execute files...
JM: It compiles to C++, right?
KC: There are some utilities that's that kind of conversion, but it's not used for the big projects - it's a very, very simple utility.
When you created the [Japanese Bandai-created handheld] WonderSwan version, what language did you use? For the WonderWitch development tool.
KC: For WonderWitch, I used simple C. And recently I mainly write games in ActionScript or Flash.
Oh, I see. Interesting... most curious.
KC: I'd like to challenge another language, to create games.
How long does it take you to make each game?
KC: It depends on the size of the game, but most of the games take six months. The first three months is spent playing many, many prototypes, destroying all of them, and another three months is making one game into a full game that can be released to the public.
JM: And you have a day job too, right?
KC: Yeah, I have a day job. So after, I need to work mainly on the weekend.
JM: Oh, okay. Not a lot of time.
How many hours would you say, for one game?
KC: Umm... I don't know (laughs).
How long did it take to develop the original PC Every Extend?
Omega: Three months.
KC: It's hard to tell in terms of time.
O: (laughs) The first month, because it was my first DirectX project, using a Windows program that we used to draw 3D polygons and exercising model techniques.
The next month involved making the prototypes and playing them with friends. The last month was used creating finishing parts, making the boss and two levels and many other things.
This game started as a contest entry, right? You made it for a contest.
O: That's right.
You went to college at the time, right? So you went to college and made games...
O: I had to do them at the same time (laughs). I didn't go to campus much.
O: Every day I played and made games.
I want to ask everyone - how do you design bullet patterns?
KC: Hmm... bullet patterns...
JM: I look at Kenta Cho's games.
KC: You're stealing!
O: Yes, yes, yes.
O: Yes. I play lots of games and I copy the bullet patterns that I think are good. (laughs)
KC: When I thought about designing my language, BulletML, that describes bullet patterns, I wanted to make bullet patterns like the ones in the Cave shooter called Progear. It has very unique bullet patterns.
The bullets fire other bullets and the firing direction changes dynamically. So I want to model that kind of movement of each bullet, and figure out how to write down these patterns in XML.
So that's why you created [special bullet-specific scripting language] BulletML?
Do you use BulletML?
JM: No. Actually there's not a lot of bullets in my games.
That's true, just enemies.
JM: Just mostly formations. I couldn't tell you how I create...
KC: Yeah, I know. BulletML is too complicated for most games.
JM: Yeah, I like simple, simple enemies with simple predictable behavior. Then it's easy to...
KC: Yeah, yeah, yeah...
O: You don't have to create a game that actively uses BulletML. When you try to make an easy game, it takes too much time to introduce BulletML.
KC: I had some difficulty writing the parser to BulletML that drives the complicated pattern of the bullets. Many people don't have to write such uncontrollable, complicated bullet turns.
JM: One time I tried doing, instead of BulletML, I used Perlin noise. Do you know Perlin noise?
KC: Perlin noise?
JM: A noise function. Sort of like random but not... So on one axis is parameters, and then apply the noise function on that and that creates the bullet pattern, but it's fifty-fifty. Sometimes really good, sometimes fairly bad, so...
KC: (laughs) It's very difficult to control good bullet patterns or bad, terrible ones.
JM: I like, what I like to do is - each thing in the game has its own code that runs it. So instead of bullets, because bullets are very simple behavior. It's still simple, but you can get more complex behavior if you hard-code the enemy behavior. So like on the fourth level there are birds that come at you, when you shoot them they fly away, so that's how I do it.
Would you consider your enemy attack formations to be AI or set scripts?
KC: I have interest in writing some kind of AI that controls enemies, that are called boids, that control bullets.
O: Boid is a nice algorithm.
KC: Yeah, it can create very complicated interesting patterns, but it's very difficult to control the moving pattern of the enemies.
JM: I'm always too lazy to learn. I'm a very lazy programmer so I'm just like, whatever's easier, right? So is the algorithm difficult to use? I mean, is the algorithm itself difficult, or is it just hard to control?
KC: I think it's not that complicated and very easy to write down in code, but controlling its behavior is very difficult.
JM: I find that even the simplest rules are enough to create very interesting patterns. Like here, let me show you. [pulls out laptop]
JM: Okay, so on the plane to Japan I wrote this little thing, it's just a little [demo in]... Processing, have you used Processing?
KC: What's Processing?
JM: Processing's awesome. Very easy. So like, five hours. So, can you see the red? So, see - it's very simple behavior. They follow you but then they move away, but it makes it so that, you know, it's still really easy to dodge, but still difficult enough that you have to concentrate.
KC: Yeah, yeah, yeah. Very interesting.
JM: So just very simple rules, and you already get this complex interaction.
Do they just follow for a set period of time?
JM: Well, random.
JM: Well that's what I learned from [Kenta's game] PARSEC47.
ABA Games' PARSEC47
JM: Random is your friend.
KC: Yeah, random is a friend.
JM: So in the end when you collect eight, you eat them.
KC: (laughs) Sometimes the range of enemy movement...
JM: Yeah, so if you go out of range then they stop moving, so it's very simple, but, I don't know, I think that, simple rules, complex behavior.
[To Jon Mak] Do you have any questions for Kenta Cho or Omega?
JM: No, I just have praise.
Well, that's good too.
JM: What do you think about... I have this theory that - okay, so a lot of modern games now have set piece gaming, you know, like Heavenly Sword or something. Scripted events happen, so my theory is that you can have scripted events, but you inject... some sort of randomness, and then every time you play that scripted event again it's always new. So that's, I don't know, have you ever thought of creating sort of randomized scripted events? Cause I notice all your games are completely random.
KC: I think randomness is very important. Especially since I write all the games by myself and I test play my games continuously, I like randomness. Also because the developer can't know how my game... the behavior of the game changes dynamically every time.
JM: That's good, because I really like random, but have you thought of a scripted event that is random? You know what I mean? So like, on the last level it's like there were those spinning things and they go away and the boss comes, but it's still random. What do you think about that?
KC: I tend to write the pattern or script in my games myself, so I try to have minimum sets of script in the minimum sets of algorithm in my game, and another sequence generated from my program. Also, I'm not good at writing scripts or events in my games, so I try to write simple games with random dynamic patterns, but also can be enjoyed by the player; those kinds of random sequences.
Do you have scripts for your game Omega-san? Could you help me explain?
KC: Do you make types of games where you insert randomness into a script, or games where you don't create scripts, or keep scripts to a minimum?
O: I only used scripts for Map, the platforming action game I made in the beginning of the year, and the game I made right before Every Extend, Marunage. Everything else is done by program with numbers to determine properties of the characters.
Yeah, he didn't use scripts before Every Extend.
JM: Did he get money for Every Extend?
O: (laughs and nods)
But not for E4 (Every Extend Extra Extreme for Xbox Live Arcade), right?
KC: You don't know? Is it a secret?
O: It's probably better not to say (laughs).
KC: It's a secret.
O: But I'm happy that a new game under the same series came out.
Q Entertainment's Every Extend Extra Extreme
But you're not working with Q Entertainment now right?
O: I'm working at a different company now.
What kind of company?
O: At a network company.
Is that so? Do it relate to games?
O: It's close to games, but not games.
Have you made games up until now?
O: I guess (laughs). Sometimes I slack off or drop the ball halfway. Yeah. I make them, and I don't make them... on and off.
KC: I also have many games that stop at prototype (laughs).
O: Many prototypes.
Do you like or dislike the term "doujin game"? Because in the US we refer to your games and your games as doujin games. Is it a good word or a bad word? [Ed. note: doujin is a word that refers to fan-made content in Japanese; it has something of a "fanboy" connotation.]
KC: Ahh, I understand. I don't think it's a bad word and I know it's very difficult to explain the difference between freeware games and indie games. I don't have a bad impression about calling my games doujin. Yeah, I don't particularly mind. Do you have resistance against your games being called doujin games?
O: Because I think what we're doing (compared to the mainstream) is essentially the same, I don't think much of it. The only thing is if you say "doujin" people usually think it's a anime character-based game, so it's a little it's a little bit different in that respect.
It's not like that in America. So I've started using that term in English, example when talking about Kenta Cho's games. Before that, the term was almost never used in the U.S., so in America doujin games refers to all indie games.
KC: Perhaps doujin is used in the context of independent games in Japan.
Yes, independent games in Japan. So anyway, also do many of you in this independent game industry in Japan know each other? Do you talk to each other and share ideas and stuff?
JM: Share like a community.
KC: Community. Umm...
JM: I saw an indie game shop, a doujin shop in [Tokyo electronics district] Akihabara.
Messe Sanoh? That place is like the only place you can get doujin games, but also it's like a total porn shop.
KC: (laughs) But this community is different. Our community is creating games and distributing these games on the web, but many people who create doujin games use distributors like Messe Sanoh or comic markets, and I think there is no connection between these communities. I don't know about doujin game communities.
JM: Did you meet Omega before?
But what about like, someone like, do you know Murasame?
KC: Yes, I do.
Murasame is kind of in between, because he's got anime characters, but also releases demos on the web is very shooting game focused. It seems like there's some crossover.
KC: Yeah. I first met Murasame in a WonderWitch contest (laughs).
Oh really? He made Dicing Knight. So with the web-based creators, is there a community?
KC: Our community is for the people who create 2D shooters on the web. I don't know about communities of any other kind of games.
You go to [amateur-created comics convention] Comiket?
O: Yes, I go.
I see. So doujin game is probably an okay term to you (laugh).
So Comic Market is like the biggest place to buy doujin games for like everyone I can see.
And I think everyone sells all the doujin games there, so it seems like a good opportunity to meet each other.
BS: I guess most people do that to meet each other, it sounds like. So what do you think about the possibility of an independent game web portal in Japan?
KC: In Japan there is no culture to sell games on the web... so many people use Comiket or Messe Sanoh to sell their own games. I don't know why there isn't such a kind of culture in the indie game community. There are probably more independent game companies in Japan, but now I think it's very difficult to sell my games on the web.
KC: Yeah, it's for shareware.
Well, I think if someone made a web portal where you could sell your game, your games and his all in one place, I think it would be pretty good, but in Japan you don't often use credit cards to buy things on the web.
JM: How do you buy things on the web?
You have to pay at a convenience store like 7-Eleven, or buy a prepaid card.
JM: Oh weird. It's like those Microsoft points.
You can sort of now on Amazon Japan and stuff, but it's not so easy. So like if I want to buy Murasame's game, I have to go to Messe Sanoh. I can't buy it online, which is weird.
So like, people like us in the west can't buy it.
KC: Yes. It's a big problem for doujin games. People overseas can't play that many good doujin games. Some shooters are very good, with very nice gameplay, very nice music, but...