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.