skip to content
Podcast cover art for Building an Indie Game Studio with Christoph Nakazawa
Podcast

Building an Indie Game Studio with Christoph Nakazawa

From open-source MooTools to a new JS-powered indie game, Christoph Nakazawa explores his developer journey and game design insights

Open .md

Episode Description

Christoph Nakazawa shares his journey from MooTools contributor to indie game developer building Athena Crisis with JavaScript, React, and CSS in Tokyo.

Episode Summary

In this episode of JavaScript Jam, Christoph Nakazawa traces his path from a teenage coder in Austria experimenting with RPG Maker and web forums to becoming a key contributor to MooTools, one of the early influential JavaScript libraries. He recounts how the MooTools community connected him with figures who went on to shape modern web development, including Guillermo Rauch and Sebastian Markbåge, and reflects on lessons learned about open source community building — particularly the importance of beginner-friendly documentation and welcoming contributors of all skill levels. Christoph then explains his transition from a decade at Facebook, where he worked on tools like Jest, Yarn, and Metro, to founding an indie game studio in Tokyo. His game, Athena Crisis, is a turn-based strategy game built entirely with JavaScript, React, and CSS — no traditional game engine involved. He describes how persistent immutable data structures power a declarative game state that React renders with minimal bugs, and discusses the personal motivations behind the career shift: being present for his young children and honoring the ambitions of his teenage self while ensuring his future self has no regrets. The game is set to be published by a company founded by GitHub co-founder Chris Wanstrath.

Chapters

00:00:00 - Introduction and Early Coding Origins

The episode opens with the hosts welcoming Christoph Nakazawa from Remix Conf. Christoph introduces himself as an indie game developer living in Tokyo who is building his game entirely in JavaScript, marking a significant but connected departure from his previous career. He shares how his coding journey began around age 10 with RPG Maker, a Japanese 2D game editor with visual scripting.

From RPG Maker, Christoph's curiosity led him to building websites. He describes learning HTML through view-source, using Microsoft FrontPage and Dreamweaver, discovering iframes as his first approach to reusable layouts, and eventually picking up PHP. These early experiments as a German-speaking teenager navigating English-language resources laid the groundwork for everything that followed.

00:05:51 - The MooTools Era and Open Source Lessons

Christoph explains how he discovered Valerio Proietti's MooFX animation library and eventually joined the MooTools project, one of the earliest JavaScript frameworks. He recalls the pre-GitHub era of Subversion, the innovative dependency-aware custom download system MooTools offered, and how the community became an early GitHub adopter in 2008. The project attracted developers who would go on to lead major initiatives at companies like Facebook and Vercel.

The conversation turns to lessons learned from MooTools about open source community management. Christoph reflects on how the team's initial attitude of dismissing beginner questions was counterproductive, and how those experiences shaped his belief that open source projects must be beginner-friendly. He highlights the undervalued role of documentation contributors and praises the React docs as a gold standard, noting that many of these community-building principles trace back to hard-won lessons from the MooTools days.

00:17:07 - Athena Crisis: A Modern Retro Game

Christoph introduces Athena Crisis, the turn-based strategy game he's building. He describes it as a pixel-art experience reminiscent of Advance Wars for Game Boy Advance, where players compete on varied maps trying to capture opponents' headquarters or eliminate their units. The game supports multiplayer configurations of up to seven players or AI opponents, and includes both single-player campaigns and a hybrid multiplayer mode.

He discusses the game's name — drawn from his habit of naming code modules after Greek gods — and hints at a storyline that will unfold across roughly 30 campaign maps with individual characters. Christoph shares his creative philosophy, expressing a desire to craft a human-made artistic experience rather than leaning heavily on AI-generated content, and mentions he's searching for a writer to help develop the narrative.

00:27:00 - Monetization, Family, and Personal Philosophy

The discussion shifts to business strategy and personal motivation. Christoph explains his plan to sell the game at a single price across Mac, Windows, iOS, and Android, avoiding the freemium model. He reveals that GitHub co-founder Chris Wanstrath's new publishing company will publish the game. The hosts and Christoph also discuss the potential for pre-sales and early supporter rewards.

Christoph shares the deeply personal reasons behind his career change: wanting to be present for his two young daughters during their formative years, and a framework of satisfying three versions of himself — his current self pursuing meaningful work, his teenage self who dreamed of making games, and his future 80-year-old self who should have no regrets. This philosophy drove him from engineering management back to hands-on coding, initially as late-night therapy sessions that gradually evolved into a full company.

00:34:20 - Technical Architecture and the Power of the Web

Christoph breaks down the technical architecture of Athena Crisis. The entire game is built with React, the DOM, and CSS — no WebGL or traditional game engine. Every unit on the map is a React component, and the game state is modeled using persistent immutable data structures inspired by Lee Byron's Immutable.js concepts. Actions are executed against the state to produce new states, which React then efficiently renders by diffing the changes.

This approach yields remarkable stability; at a recent indie game show, players used the game all day without a single gameplay bug. Christoph explains how fog-of-war mechanics parallel the privacy rules he built at Facebook, and emphasizes his front-end-first development philosophy — building polished UI with subtle CSS transitions from the start rather than tacking it on at the end. He closes by sharing where listeners can find the game and sign up for early access at athenacrisis.com.

Transcript

00:00:00 - Scott Steinlage

Welcome.

00:00:01 - Anthony Campolo

Welcome to JavaScript Jam, the podcast.

00:00:05 - Christoph Nakazawa

Yeah, buddy.

00:00:05 - Anthony Campolo

We are not live.

00:00:06 - Scott Steinlage

We're live in person.

00:00:08 - Anthony Campolo

We're live in the liveness, but not live on the internet.

00:00:13 - Christoph Nakazawa

Right.

00:00:14 - Scott Steinlage

So it's been a couple weeks since... since, yeah.

00:00:18 - Anthony Campolo

A couple weeks is when you put out an episode every week. What are you talking about?

00:00:21 - Scott Steinlage

Since the conference.

00:00:23 - Anthony Campolo

Oh, right. Okay, let's not do that.

00:00:24 - Christoph Nakazawa

All right.

00:00:26 - Anthony Campolo

We have here with us Christoph Nakazawa, who will be joining us from Remix Conf. We're going to be talking about the game he is creating, a little bit of his background as well. So, Christoph, thank you for joining us. Why don't you let our listeners know who you are, what you do, and a little bit of how you got here.

00:00:45 - Christoph Nakazawa

Yeah, I'm Christoph, as you said. Thanks for introducing me. Thanks for having me. I am now an indie game developer living in Tokyo, which is quite a big departure from what I used to do.

00:00:57 - Anthony Campolo

Seems like a good place to live if you want to be an indie game developer.

00:01:00 - Christoph Nakazawa

Yeah, yeah, it's a good place to live in general, but also, yeah, I guess a good place to be when you want to make video games. And I said it's a big departure from what I used to do, but I'm still sticking with JavaScript. So everything that I'm building is built from scratch with JavaScript.

00:01:17 - Anthony Campolo

Always bet on JavaScript. That's what I've heard.

00:01:19 - Christoph Nakazawa

Absolutely.

00:01:20 - Anthony Campolo

Great. So I'll be curious to hear a little bit about how you got into coding. Some of your background, you've worked on some very, very well-known projects such as MooTools, which people who are big into web history will know. MooTools allegedly created everything first, I've heard.

00:01:38 - Christoph Nakazawa

I don't think that's necessarily true. It's also kind of funny when you work on these projects, you don't ever think that they're going to be useful, or that they'll stick around, or that anyone will remember them in the future, or that

00:01:50 - Anthony Campolo

even legends will be written about them.

00:01:51 - Christoph Nakazawa

Yeah, maybe. But the thing is that you don't think about that it will be part of history, but anything you work on, it kind of sticks with you. Not just the experience that you get from working on it and maybe the friends that you make, but also just the stories about it. So it's pretty wild thinking about how long ago that was and that people still remember that. So yeah, the way I got into coding was... and the interesting thing about how now I'm a video game developer is that when I was 10, 11, 12, I started using this program called RPG Maker. I don't know if you've ever heard of that. It's this 2D kind of game engine editor where you can create your own RPGs, which is actually created by a Japanese company.

00:02:37 - Anthony Campolo

And I'll say straight up that I know absolutely nothing about game development. So you'll be teaching me a lot within this conversation.

00:02:45 - Christoph Nakazawa

Right, right, right. So it was like, I think... I'm not even sure if it was translated to English, or if some people hacked the Japanese version and translated it, and that's how I got it. I have absolutely no idea. But there was this huge German community, as I'm from Austria, of people who made RPGs with this thing. It was this kind of editor, a Windows program, so it wasn't on the web. You'd download it, and then you had this 2D editor where you put things on the map, you draw, you place your character. And then it had scripting, but not like you could code. You just put things together. You could make loops, but with this kind of visual scripting language where you click buttons and compose your program. And when I was 10 or 11, I really didn't get most of that, but I was dabbling. Then the way I was learning about it was through forums on the internet or websites. And then I was like, I want to make websites.

00:03:38 - Christoph Nakazawa

And so the way I really learned how to code was by, you know, I was 12 years old and I just did right-click and View Source. And I'm like, oh, that looks cool. And then I used Microsoft FrontPage and Dreamweaver. I don't know if you've ever used those.

00:03:50 - Anthony Campolo

I used Dreamweaver because I took a web design class when I was in high school. This would have been 2007. And they taught us with Dreamweaver. Looking back, I wish I had just learned HTML, but it was able to create a website, so it worked for sure.

00:04:06 - Christoph Nakazawa

Yep. Yeah, I used them, but I pretty quickly wasn't satisfied with their editing experience. I switched over to the code panel, and thankfully there were some... My English wasn't that good at the time. I think it's still not that good. But at the time, yeah, I had to teach myself how to do that through the internet, right? So there were some German resources where I could read up on how HTML works, and CSS was still kind of fairly early, and JavaScript. For me, when I was 12 years old, it was a big jump. My first website was just a bunch of HTML pages, and the header and the footer and the sidebar were just copy-pasted across those HTML pages. Then at some point I learned about iframes. The funny thing is that my first more dynamic website had this top-level thing with four iframes. It was a header iframe and the sidebar iframe and the content and then the footer iframe.

00:05:03 - Christoph Nakazawa

And then over time I learned about PHP. Then the interesting thing happened where somebody showed me, like, oh, here's an if statement and here's how you include some code or HTML. If somebody requests this page, you output your about page. Or if they request the blog post page, you output the blog post. For the longest time I didn't understand more about coding than that, but I just tried to keep making things. And I kind of moved away from making games for desktop computers, like RPGs or something, to making websites. Somehow I was able to figure out JavaScript, and I came across this, I would say, group of misfits that built this really cool JavaScript library. So it started all with MooFX, which was one of the first web animation frameworks.

00:05:51 - Anthony Campolo

And this predates even GitHub. Right? Where was this code even living?

00:05:55 - Christoph Nakazawa

Yeah, it was just living on this... There was this guy called Valerio Proietti, and he's from Rome, from Italy. And it lived basically on his hard drive, and he just put it up on the internet, and it was like, this is like three kilobytes and this is an animation library.

00:06:08 - Anthony Campolo

You just download a zip and just run it.

00:06:10 - Christoph Nakazawa

That's exactly, yeah. But then the interesting thing was that I started using all his stuff, and then he built a lot of these libraries and put them together and called them MooTools. That's when a bunch of people that I'm luckily still friends with today, they all joined that project. It was tough for me to switch from primarily speaking German to suddenly being in this English-speaking environment. And we were on an IRC chat, and we were actually using Subversion. So that came along. And I don't know if anybody remembers,

00:06:41 - Anthony Campolo

but it's like Subversion being a version control that is not Git and that many people migrated off of to Git.

00:06:47 - Christoph Nakazawa

Exactly, yeah. So the interesting thing is Git actually started existing around that time, but nobody knew about it until GitHub came out in 2008, right? And the MooTools group was actually an early adopter. My GitHub account I created in 2008, like a month or two after GitHub came out, because one of the MooTools folks was like, we got to use this. And everybody's like, no, we're really happy with Subversion, but that changed within a month or two. The interesting thing is that at first I didn't really contribute to MooTools, but what was so fascinating was that Valerio, the creator of MooTools, when you went on the MooTools website, you could pick the pieces of MooTools that you wanted to download. I think that's almost unthinkable today, that you would go on a... Nowadays you install your NPM package and it's like, okay, my bundle bloated by a megabyte, and it's like whatever, right? Obviously we care about it. But back then all these libraries, they were like one kilobyte or two kilobytes. And the intelligent thing that Valerio did was you go on the MooTools website and you can download this mootools.js, and that was the thing that had everything.

00:07:43 - Christoph Nakazawa

But you could go on this custom download page and pick the pieces that you wanted. So you could say, oh, I only care about the animations, or I only care about this kind of class constructor thing, or I care about extending my classes with events. So you could add on things that you wanted, or strip out things that you didn't want. That was the thing where I was like, man, this is so cool. Because he had individual JS files, but they knew the dependencies between each other, because if you're like, oh, I want events for classes, it would also select the class package. So my first email, my first reach-out to him, was like, hey, what is this cool thing that you have where you manage dependencies in JavaScript? And that was like in 2006, I think. That was the first email. That's how I got into it. And he sent me this PHP file, and it's like, this is my bundler. That was the first bundler that I ever used and customized, and I used it for all the things that I built at that time.

00:08:37 - Scott Steinlage

That's awesome.

00:08:39 - Anthony Campolo

Very cool. So then how did you transition that into like a career in tech?

00:08:44 - Christoph Nakazawa

Yeah, that's a great question. So the interesting thing is that I built two things at the time. I built web-based JavaScript games. They were mostly text games or they had simple 2D graphics, but they were not animated. There were no animations. I had one game where the only animation was the cursor, so you could see where the cursor is. That was kind of the level of animation. There were Flash games, and they all looked amazing, but I was never into closed environments like that. The thing that I was so into was this original idea of open source. And I think we can get back to that later with stuff that I worked on. But there was Linus Torvalds. For all the things that he might say on the internet and how he works as a contributor, how he might insult people, he has some really core principles and he wrote books about it. I think the book was called Just for Fun or something.

00:09:33 - Christoph Nakazawa

So the fact that he's doing open source just for fun, but it's also like, hey, this is useful to me and it might be useful to you, and you just put it up there, nowadays on GitHub, and you're like, okay, if you like it, please use it. I was so into that. So I was in this MooTools community and I just wanted to give back. I was building games, I was building a social network just for my friends, and it was all in German. I never thought about... I was a teenager, I was like 16, 17.

00:09:59 - Anthony Campolo

So that's really interesting that even back then there was an open source community that was in a non-English-speaking language.

00:10:06 - Christoph Nakazawa

Yeah, yeah. Well, the MooTools folks were all speaking English. But that book, I think, was translated to German, so I read it in German. I think this is something that in the tech community isn't really acknowledged: how hard it is for most people in the world to even learn English, to be productive in English-speaking environments.

00:10:24 - Anthony Campolo

And our programming languages are all like, the keywords are all in English, and that can be very challenging, I'm sure.

00:10:30 - Christoph Nakazawa

Oh yeah. I mean, it's weird. A lot of words that I learned from programming languages in English, they mean so much more to me in the context of a programming language. And later on I'm like, oh, this is actually a word that you use

00:10:40 - Scott Steinlage

in the language. That reminds me of that episode that we had with Chris, and he was talking about how, like, the dollar symbol and he was using,

00:10:49 - Anthony Campolo

you know, he's like, why not the pound symbol, right?

00:10:52 - Christoph Nakazawa

Yeah, yeah, kind of like that. Yeah. And so the thing was that I was building all these things, and then by just working with other people and building MooTools, I think there's a lot of stuff that we did wrong then. So we learned also about how not to do open source properly. What are some examples? Yeah, I think one thing is that we had a forum, and I think MooTools was always kind of like, this is for the advanced developer, right? And there weren't that many advanced JavaScript developers. We weren't either in that sense, right? Everybody was kind of learning.

00:11:23 - Anthony Campolo

That's an interesting parallel to right now. I follow Theo in his community and he does the same thing where he says, like, if you're a beginner, that's okay, you can join. But this is not really a beginner space. This is a space for senior developers. He specifically wants to make a space for that. And I think that's there's a lot of value to that because for people who are beginners and want to get in, there's a million communities for you, but it can be hard to like find where are the other developers who've been doing this for a while and could help me level up.

00:11:52 - Christoph Nakazawa

Right. Yeah, it's certainly interesting, and I feel like that's how we all started out. So just for context, for people who haven't heard about MooTools, there were folks like Guillermo Rauch, the CEO of Vercel. Ryan Florence was around, maybe not on the team but always around. There was Tom Occhino, who led React.org at Facebook for a long time. Sebastian Markbåge, who is the tech lead on React. Yeah.

00:12:13 - Anthony Campolo

Say it's like, for a music comparison, like the Factory, like Andy Warhol had this group of musicians which was like the Velvet Underground, and they spread out to make like a million bands. You see this a lot in the music industry, where you'll have this tight-knit group of people who are very into a thing and are very talented and may or may not get exposure, but then they go and seed a million different projects.

00:12:38 - Christoph Nakazawa

Absolutely. And it's also really fascinating just to track where people pop up and what they end up doing down the line. So if you were talking about the whole intermediate thing, and MooTools was supposed to be for intermediate folks, through those learnings I actually believe that nowadays you should make everything as beginner-friendly as possible. I would blame the frameworks or the communities if they are not accepting. Obviously you might want to have a private community for something, but if you're making something that's open source, then it has to be beginner-friendly or otherwise it's not worth it.

00:13:10 - Anthony Campolo

I very much agree with that. I think that making something open to everyone and letting people come with their own experience level and trying to figure out how to make it work for them, like, I'm very big on that and I understand why some communities want to be a little more like senior developers only because they feel like they don't really have their own space. But like, I very much agree with you that I think that a space should be welcoming to people of all experience levels.

00:13:35 - Christoph Nakazawa

Yeah. Because I guess the thing that... and that's what we learned at MooTools, where we had this forum and then we were just kind of not helping people out. They were reasonable questions. We were like, oh, you just don't get it. Just read the manual, right? That kind of stuff. Just read the docs, and like I

00:13:47 - Anthony Campolo

think like, okay, sure, yeah.

00:13:49 - Christoph Nakazawa

And all of those things, we all learned that as this MooTools developer team, right? None of us got paid to work on MooTools. It wasn't like a thing that you got paid to work on open source

00:13:58 - Anthony Campolo

at the time. There was no company.

00:13:59 - Christoph Nakazawa

Yeah, there was no company, right.

00:14:00 - Anthony Campolo

Company-funded open source.

00:14:01 - Christoph Nakazawa

Exactly.

00:14:02 - Anthony Campolo

Today all these open source projects are all funded by venture capital and stuff like that. That was not a thing at all back then.

00:14:07 - Christoph Nakazawa

Exactly. And we were like 15 or so different people. Some of them worked at big companies, some of them had their own startups. Some of them, like Guillermo and I, were teenagers, right? We met when he and I were like 16, 17 or something like that.

00:14:18 - Anthony Campolo

That's so crazy.

00:14:19 - Christoph Nakazawa

Yeah. Exactly. So our agenda, we didn't have an agenda. We were just like, we built this because it's cool, right? So we learned a lot. What the people there learned, I think, is also that when you build a community you cannot say, hey, this is only for advanced use cases or something. Usually it's not that the user is dumb or cannot understand it, right? It's usually the framework's fault, or the people who work on the framework, if somebody cannot understand it. And this is one of the things that Vercel is doing. They're building new things into Next.js, and they're like, we want to bring everyone on this journey with us, right? So they're trying to write really good documentation. Dan Abramov's documentation, primarily what he wrote for the new React docs, and I know the rest of the React team was also heavily involved, but that's the best example I've ever seen of a documentation website for an open-source project. It's just this incredible level of detail. It has all the information that you need, maybe not some new features, but if you want to use React, it's this thing where you read it and it's never too long, and then it's like, oh, I have a thought, but what about this?

00:15:21 - Christoph Nakazawa

And you scroll down and it explains exactly this thing, and it's just absolutely perfect. I think a lot of these learnings go back to this early open-source work that a bunch of us in the community did back then, where we did it wrong and now we know how to do it better.

00:15:34 - Anthony Campolo

Yeah, writing good docs, it's an art form and it requires a very specific skill set. It requires both being able to explain things in a beginner friendly way, which itself requires understanding the beginner mindset. And that's something that senior developers really struggle with is being able to think back to what was it like when I didn't know anything and how would I explain this to someone who doesn't know anything? Because you have so much context.

00:16:01 - Christoph Nakazawa

Yeah, exactly. This is actually a good example where there are a lot of people that come to open-source projects and they're like, I don't know what code I could write to help out here, but I'm good with documentation. Quite often those people feel like, oh, is my skill even worth it or not? The thing is, if you are really good at explaining things, if you're good at breaking things down and understanding complex concepts and bringing people along with you, any open-source project will be so lucky to have you. I can just think about Jest or Yarn or Metro, when we worked on those, how useful it was that some people were super excited to help with the documentation. That's one of the most powerful things you can do. Also, if you get started by doing that in open source, you usually get such a deep appreciation of the thing that you're documenting that that makes you a more effective contributor to the project itself. It's just something that I want to say: we just don't have enough folks that can do that.

00:16:54 - Christoph Nakazawa

And I feel like there are a lot of folks that would be really good at it, but feel intimidated by thinking that might not be a good enough contribution, when it's in fact super appreciated by all the maintainers of all the projects.

00:17:06 - Anthony Campolo

Yeah, definitely. Great. So why don't we get into what you're working on today? You're building a modern retro game called Athena Crisis. So what does that mean?

00:17:17 - Christoph Nakazawa

Yeah, exactly. So I worked on MooTools, and then somehow many of the MooTools folks got scooped up by Facebook somehow, right? So there was Tom Occhino. He was the first one, and I was his intern actually at Facebook, so I was the second one. I was building social networks that were actually very similar to Facebook, but I was a teenager, I was in high school, and I was just building that for my friends. I never really thought about monetizing. I just ran them on my own servers that I paid for or something. So Facebook sounded like just such an incredible place to be at. And so 10 years later I thought, okay, I'm kind of done with the social networking part. I did something else for a while. But what I really realized, especially after having two children, is that I want to work on the things that I really deeply care about. Because there's this thing where you can spend so much time of your life working, and then you're like, oh, shit, I missed this really big event in my children's life, right?

00:18:17 - Christoph Nakazawa

And then you end up just working, working, working. And then you think back, like, what was I even doing? I don't even remember what I was doing. All I remember is that I missed that moment, right?

00:18:26 - Anthony Campolo

It just reminds me of... there's this movie, Walk Hard. It's a parody of music biopics. And Dewey at one point was like, listen, I'm gonna miss some birthdays. I'm gonna miss some births, okay?

00:18:38 - Christoph Nakazawa

Right. Yeah, yeah. So it was just this thing where our second daughter Lena was born like a year ago. And I just thought, I want to have an excuse when I'm not around. I want to have an excuse for my two kids and also my wife to say I wasn't around because I was working on something that really, really deeply matters to me. Going back to what I wanted to do as a teenager, I wanted to build social networks and games, and I still love both of those things. I just feel like I have kind of maxed out on social networks a little bit more. So now it's really time to go back to games.

00:19:11 - Anthony Campolo

What are the games that you love? What are the games that you look back on and are really pivotal for you? Because I'm not a gamer. Like I said, I don't know anything about game development. I played a lot of games growing up, though.

00:19:22 - Christoph Nakazawa

Okay. Yeah. So I think my earliest memory is playing Mario on the original Nintendo when I was like 4 years old or something. Somebody in the family had it, like,

00:19:32 - Anthony Campolo

for me it was Mario on the Game Boy.

00:19:33 - Christoph Nakazawa

But yeah, yeah, that was just like, wow, you can play video games. That was the thing.

00:19:38 - Scott Steinlage

Right.

00:19:39 - Anthony Campolo

Like this button and the thing on the screen.

00:19:40 - Christoph Nakazawa

Exactly, right?

00:19:41 - Anthony Campolo

Yeah, it was incredible.

00:19:42 - Christoph Nakazawa

Yeah. And then I think I played a lot of... I was always kind of a Nintendo fan. I had all the consoles. I played Donkey Kong on the Super Nintendo. That was hugely influential to me. And then also Nintendo 64, I played a lot of games there. But what I really loved was two games on the Game Boy Advance, and one of them was called Advance Wars and the other one was called Golden Sun.

00:20:05 - Anthony Campolo

Right on. Yeah. So those are both turn-based RPGs, which makes sense why you're building a turn-based RPG.

00:20:11 - Christoph Nakazawa

Exactly. Yeah. So Advance Wars is this kind of thing where I'm like, can I build this game with web technology, just with JavaScript and CSS?

00:20:18 - Anthony Campolo

Real quick, Scott, what were your games growing up?

00:20:21 - Scott Steinlage

I mean, a lot of similar stuff actually. Funny thing is, my dad, I don't know, I guess he just hung on to it, but we had an Atari. That was the first game system I ever played, you know, playing Battleship or playing... I can't remember that one, but Asteroids, that was one, like Pong or whatever. And then, as life went on a little bit, we got a Sega Genesis. I played Sonic, of course, yeah. Aladdin, like flying that magic carpet. Dude, that was difficult as heck, for real. Stuff like that. And then a lot of my friends did have a lot of the Nintendo systems, and so we played N64, Perfect Dark, blah, blah, blah, all kinds of stuff. So yeah, pretty much that realm.

00:21:15 - Anthony Campolo

And we should say, for listeners who maybe aren't as game-literate as us, what is a turn-based RPG? It's a very specific term, right?

00:21:23 - Christoph Nakazawa

Yeah, it's not really like an RPG, what I'm building. RPG is a role-playing game, right? Usually it's like you walk around a big world and you experience some story. The game that I'm making is more a turn-based strategy. The way you can imagine it is you playing chess but with pixel art. And instead of having a predefined board, you have different maps and different biomes. So you might be in a volcano world or in a desert or in a snow world. So it kind of looks like a prettier and maybe more complex version of chess. I know chess is super complex.

00:21:55 - Anthony Campolo

What about like [unclear], do you know that game?

00:21:57 - Christoph Nakazawa

Don't know that one. Okay.

00:21:58 - Anthony Campolo

That's another turn-based strategy type game. Might be somewhat similar. So what is the gameplay like? If someone is playing this game, what are they doing?

00:22:08 - Christoph Nakazawa

Right, yeah. So basically you can play up to seven people or AI. You can play 1 versus 1 or 1 versus 3 or 2 versus 2. You can make any sort of matchup and any set of human players or AI. Then you get your units and you go and try to take over the headquarters of the other player or destroy all their units. The thing I'm actually not super happy about is that I'm totally a pacifist and I'm kind of making a war game, and I'm actually not excited about that. But when you're making a

00:22:44 - Anthony Campolo

game, no one was harmed in the making of this game.

00:22:46 - Christoph Nakazawa

Yeah, absolutely. Yeah, absolutely. And so I don't feel super comfortable with that part. But on the other hand, it's very hard to make a game like that where you have to take over something or destroy the other player. And chess in that sense is also not a war game, right? So I'm obviously not making it very graphic. Yeah, exactly. So you have to take over, kick another unit off the board. I just really love that art style and the artists that I'm working with, and that's what we came up with.

00:23:19 - Anthony Campolo

I'm looking at the front page right now, and it's such a retro look. I'd be curious though, what does the name mean? Why Athena Crisis?

00:23:26 - Christoph Nakazawa

Right. Yeah. So actually that goes back to... I don't know if you ever watched The Expanse or read the book series. It's called The Expanse.

00:23:33 - Anthony Campolo

The Expanse. I've heard of it.

00:23:34 - Christoph Nakazawa

Yeah.

00:23:35 - Anthony Campolo

I have not personally read it.

00:23:36 - Christoph Nakazawa

Yeah. So it's not necessarily that I was just inspired by that and tried to rip it off, but all the books that have this kind of two nouns, or something like that, kind of coupled together, where you read the book and it makes sense but it doesn't actually come up in the book. For some reason when I started coding, I named everything after Greek gods. So I have a monorepo, and every part of the game is named after a Greek god. I'd never do that.

00:24:01 - Anthony Campolo

I'm like, where Athena comes in. The Greek goddess Athena.

00:24:05 - Christoph Nakazawa

Exactly. Yeah. So when I'm coding I always use the most descriptive names, never one-character variable names. So this is totally out of character. But I'm like, okay, I have this thing that is all these data structures and this thing that's the AI or something, and so I just named them after Greek gods. Then I'm like, okay, now I need something else that I put together. So that's more sort of how I came up with the name. What it means, I cannot really tell you yet because that's going to be part of the game when it actually comes out.

00:24:33 - Anthony Campolo

Interesting. So is there like a storyline to the game?

00:24:35 - Christoph Nakazawa

Exactly.

00:24:36 - Anthony Campolo

Writing-wise, what would someone expect getting into the storyline of the game?

00:24:42 - Christoph Nakazawa

Yeah, so that's... I actually have a lot of ideas. I have ideas for the overall story and ideas for the individual campaign maps. So basically the way it works is there's single-player and there's multiplayer, and there's actually a hybrid mode where you might have people coming into your single-player game. So there's going to be maps strung together where, let's say there's 30 different maps that you play over the course, and it gets more difficult. You explore different environments and stuff happens, and there are individual characters that are going to be focused on. So I'm currently actually looking for a writer to help me out on that. I'm not a Hollywood writer that could just come up with, oh my God, this is the next Breaking Bad or something.

00:25:23 - Anthony Campolo

If you're making a game, yeah, I was going to say it's good to kind of partner with people who are writers. But actually, as Scott is saying here, you don't even really necessarily need a writer anymore if you just use ChatGPT.

00:25:37 - Christoph Nakazawa

Yeah. You know, maybe down the line. I'm... I love all...

00:25:41 - Anthony Campolo

It'll get you farther than you think.

00:25:42 - Christoph Nakazawa

Yeah, that's true. I use it a lot for brainstorming, not necessarily for the story, but for certain things and just boilerplate dialogue.

00:25:50 - Anthony Campolo

You know, you hire a writer to kind of tweak it, make it a little bit nicer, but it'll get you pretty dang far.

00:25:56 - Christoph Nakazawa

Yeah, no, that's true. I'm excited about all the advancements in AI, but I'm still trying to think of this as a human-created piece of art, and I'm trying to craft an experience that... this is going to be my business. I'm going to sell you this game, right, if you want to buy it. So the idea here is that it's actually crafted by humans, which most games in the past were also. I'm not against using AI, but I've actually shifted my mindset much more into: what is the purpose of humans in this new world? I was never an artist in that sense, but now I feel like I'm looking much more at myself as somebody trying to create a piece of art and a crafted experience that an AI just cannot do yet, right? So I'm hoping... yeah, in a way, right? I think you're right, it could get me pretty far and it could be pretty average, but I would like to aim for higher than pretty average.

00:26:56 - Scott Steinlage

Before we go down the AI path, because I think this could go far.

00:27:00 - Christoph Nakazawa

But

00:27:03 - Scott Steinlage

what are your plans for the future, for monetization? Is it selling the game or is it in-game purchases? How are you going about that, and are you tying back to your roots of open source with any of this stuff?

00:27:20 - Christoph Nakazawa

Yeah. So this is the super interesting question because it's actually really hard to answer, and if I had the answers, then it would be much easier.

00:27:26 - Anthony Campolo

If you had the answers, you'd be rich already.

00:27:28 - Christoph Nakazawa

Yeah, right. Yeah. If you have a time travel machine, it would be so much easier, right? So we were talking about favorite video games from the past, right? And so the way I got into it was like, I want to just... There were probably 200 people that built a game like this 20 years ago. I was thinking, can I just do the programming all by myself, hire artists, like pixel artists and music artists? And thankfully, as you see, I found some that can really run with the ideas that I had and create something that looks modern but also retro, right?

00:27:57 - Anthony Campolo

Yeah, it looks awesome. From what I look at the website, it's a really cool look, and it makes me very nostalgic for playing Super Nintendo games.

00:28:05 - Scott Steinlage

Yeah, the maps definitely look Mario-ish.

00:28:07 - Christoph Nakazawa

Yeah, exactly. It's interesting that I never thought about it, but it's actually, yeah, Super Mario Brothers 3. It kind of is inspired by that. So the point I'm trying to make is that we're talking about video games, and there's some that were really influential for me growing up. But the way I feel about gaming now is that there's different types of gaming, right? There's games like Elden Ring. I don't know if you played it, but nowadays that would be my favorite game of all time. I've not played many video games recently, but that game just has such a rich depth where it's like, you know, this is just amazing. And I spent more than 100 hours playing it, which there's no other game in the last 10 years that I did that with. So that is incredible amounts of depth. Then other games have an IP and that's always going to be popular. That's like Pokemon or Mario, right? Nintendo makes amazing games, but that sells easily, right?

00:28:57 - Christoph Nakazawa

And then the third angle is freemium games, and they don't have win conditions. You have it on your phone and you tap something all the time and maybe pay some money or you wait.

00:29:08 - Anthony Campolo

Games, right.

00:29:08 - Christoph Nakazawa

So there's a lot of money in that space. That's why they exist, right? But it's not something that I want to go for. I'd much rather go for creating an IP or making an experience that has some amount of depth. That is where it gets really hard because you have Elden Ring, which is a major AAA game that has a big studio behind it and probably a thousand or more people working on it. So now the question is, as a single developer who has a bunch of artists working with him, how deep of an experience can I actually build that feels like, okay, this is an experience? That's what I'm trying to do.

00:29:42 - Anthony Campolo

And it sounds like you didn't consider necessarily making a console game. You want this to be a web game, is that right?

00:29:49 - Christoph Nakazawa

It is not going to be a web game in the sense that it's just in a browser. You can play it on the web, and I have it on my phone right now. You can play it on your laptop. So it's going to be on Mac, Windows, iOS, and Android.

00:30:02 - Anthony Campolo

So more of a desktop game.

00:30:03 - Christoph Nakazawa

More of a desktop, yeah, but also mobile. Most likely it'll have one price, and you'll pay for that. That's how I'm going to try to monetize it.

00:30:16 - Scott Steinlage

Yeah. Since you can use it on mobile devices, there's a lot of parts of the world like Indonesia or South Asia or wherever that don't have desktops. They don't have PCs, they just have a mobile device. They just have an Android, you know, like 70% of them. So when you say, yes, we do have this being able to be used on mobile devices, are you thinking mobile first, or how is your development process?

00:30:43 - Christoph Nakazawa

Right. So yeah, I guess now we can go into more of the technical details, right?

00:30:47 - Scott Steinlage

Sure.

00:30:47 - Christoph Nakazawa

The constraint I put on myself is that... so basically it was a year ago and we had Lena, and I thought it's awesome to have two children and they're both the best thing that ever happened to me. Next to my wife, those are the three best things that ever happened to me. But also, looking after kids, as you know, is just so hard. It's the most rewarding and the hardest thing I've ever done. So I just had to start coding again on the side. I've been an engineering manager for the past six or seven years. I was coding at Facebook when I was there, but hadn't done as much. Given that I started coding as a teenager as a hobby, it's still that thing where I'm like, this is what relaxes me. So maybe instead of sleeping, I started coding like 1 hour, 2 hours, maybe sometimes 4 hours at night, which wasn't good for my sleep, but just me in the darkness maybe, with my headphones, listening to music and just writing code.

00:31:38 - Christoph Nakazawa

Right. That gave me so much balance, and I didn't even think about building anything from it. More like, I want to just build this. I built games back then, but I never knew how to build an AI, so I just tried to build that from scratch. That's kind of how I started. Then I put some constraints on myself, for no good reason, maybe very bad reasons, but because it was kind of a research art project or a meditation, if you will. The decision I made was I'm only allowed to use dependencies on the layer directly below me that I understand so much that I could rewrite them if I had to. It's not like I will wake up and I'm like, okay, I'm going to write a React. It doesn't work like that. But I know enough about React, having been at Facebook at the time, I was in the same team where the React group was, and I was managing JavaScript infra, that I could wake up and be like, I can build something reasonably compatible.

00:32:23 - Christoph Nakazawa

Right. And so I use React and Relay, which is the GraphQL client library that Facebook built. And I use Facebook's translation library because that's actually still what I think is the best one that ever existed. And I use GraphQL, Prisma, Pothos, which is a GraphQL library, and all these things.

00:32:41 - Anthony Campolo

Sweet stack.

00:32:42 - Christoph Nakazawa

Yeah, it is. And I have type safety all the way from my database to the client. So the thing is that I don't understand game engines, and so the only way I could use one is if I built one from scratch. And I chose to build one with JavaScript and React and the DOM and CSS.

00:32:56 - Scott Steinlage

Wow. So these limitations, these restrictions you put on yourself, it almost sounded like at first that it was because you're just trying to make this a therapeutic thing for yourself, right? And really just kind of maybe free up some mental space or something while gaining some mental capacity at the same time. I don't know, just all kinds of things, but like a therapy session for yourself. It's very much like journaling almost. Anthony and I were kind of talking about this before, how journaling your thoughts, your feelings, what you got going on mentally can be very therapeutic, almost like you're giving yourself a counseling session, right?

00:33:33 - Christoph Nakazawa

Yeah.

00:33:33 - Scott Steinlage

And if coding is your thing, then maybe you're kind of just letting it out that way. So when you put these restrictions on yourself, it was almost like, look, I'm not going to get into a new technology. I'm not going to try and learn any of that, because that's not going to make this fun for me. It's not going to be therapeutic anymore. So now you've got this thing that is a therapy session, plus something cool is about to come out of it, right?

00:33:56 - Christoph Nakazawa

Yeah. So that's... yeah, I realized I didn't answer your question. The idea was that I want to make something that is not mobile first and not desktop first. It works the same way on both. So, you know, everything first. That's the great thing about the web. You just get that for free if you stick some constraints on yourself of, like, I'm only using pointer events and I'm not using hover. I have some things where you have to hover right now, and it works better on desktop than on

00:34:20 - Anthony Campolo

Maybe agnostic is the ultimate challenge.

00:34:23 - Christoph Nakazawa

Exactly. Yeah. It's not easy, right? But what you're saying, yeah, it's good that I didn't want to learn something new, but actually that was really the point because I used everything that I understood to learn something new that I didn't know about.

00:34:33 - Scott Steinlage

Created something new.

00:34:34 - Christoph Nakazawa

Yeah. But also, I never knew how to build an AI. It also has fog of war, these areas that you cannot see. And that's almost like privacy rules, because actually all that stuff is on the server. So when you play against other players, you don't want to leak the game state of what you're not allowed to see, right? Because that defeats the purpose and then people can cheat. So now I have all these different fields on my map and some are visible and some are not. It's crazy thinking, oh, that's kind of like privacy rules when I was working at Facebook, where it's like I'm posting something to only my friends and only five people can see it and other people cannot see it, and so make sure you can't

00:35:09 - Anthony Campolo

cross-site script it.

00:35:10 - Christoph Nakazawa

Exactly. So yeah, I was trying to learn how to build certain things I never got to build before. And now I guess the point is, yeah, I've created something from it and I have to actually change to be a little bit more pragmatic about what I'm doing.

00:35:24 - Scott Steinlage

That's so cool though. That's awesome how that came from just trying to be more of yourself.

00:35:31 - Christoph Nakazawa

Yeah, for sure. Yeah. And there were multiple things that I learned over the last year, and that is what led me to starting a company and trying to build a video game company in Tokyo. Two major things. One is... my older daughter Mia, she's five years old now, and I read this article that by the time a child turns 12 years old, that child will already have spent 75% of all their time with their parent, because after that you only see them for birthdays, and they have their own life, and that's fantastic. But I just thought, wow, she's already five. A lot of that time is front-loaded because the younger they are, the more time they need with their parents because they're dependent on them. She's becoming more and more independent, and so I just want to be there. I don't want to be stuck in meetings.

00:36:23 - Christoph Nakazawa

I want to have much more control over my own time so that I can be there for the good moments. I don't mind working at night or on the weekends if that means I can pick her up from school and hang out in the park with her. So that was one. Then the other one was that there are three versions of myself that I need to make happy. First off, obviously I'm doing everything for my family, but there are three versions of myself that I need to make happy. One is to be happy overall, fulfilled over the course of my lifetime. So one is obviously the current version. It's like, this is what I want to do right now. Even if it's hard, this is the hardest thing I want to do, and this makes me happy. Then the other version of myself is my teenage self. And that guy was like, damn, you're building video games. How fun is that? Because the teenage self is always the one that's trying to find who they are.

00:37:10 - Christoph Nakazawa

Right. So a lot of values, maybe a lot of stuff is dumb, but a lot of it is also like, damn, this is who I used to be, right? And I'm still trying to be like that, an improved version of that.

00:37:20 - Anthony Campolo

Hopefully [unclear] was going to be a famous musician.

00:37:22 - Christoph Nakazawa

Yeah.

00:37:23 - Anthony Campolo

Tell him otherwise, that's what he was going to be.

00:37:25 - Christoph Nakazawa

Yeah. But then the other thing, to counterbalance that, is to think of my maybe 80-year-old self, and that person should not have any regrets, right? So if I'm 80 and I'm like, I started a video game company and it didn't work out, and then I went and took another job somewhere, that person would be like, great, glad that I tried it, right? But if I'm like, I wish I had done this at some point in my life, it kind of sucks that I never did. What am I going to do, start a video game company when I'm 80, right? So those are the three versions and some of the decisions or principles that I kind of built up over the last year on how I want to make decisions going forward, now that I also have a family.

00:38:04 - Scott Steinlage

That makes 100% sense. I can relate with the whole family aspect of things, for sure. Having a daughter who's five, a son who just turned four yesterday, and a three-month-old. Yeah.

00:38:14 - Christoph Nakazawa

Thanks. Amazing. Wow. Congratulations. That's a lot of work, yeah.

00:38:18 - Scott Steinlage

So I understand where you're coming from 100%. And by the way, if you're 80 and you're listening to this, it's not too late. You can do it.

00:38:25 - Christoph Nakazawa

No, definitely.

00:38:28 - Anthony Campolo

Okay.

00:38:29 - Christoph Nakazawa

Even if you're 50 or 60, like

00:38:30 - Scott Steinlage

what, Oprah Winfrey didn't start her stuff till she was like 50.

00:38:33 - Anthony Campolo

I mean, and Oprah Winfrey is one of our biggest listeners.

00:38:36 - Scott Steinlage

Yeah, of course she is. Yeah, duh.

00:38:38 - Christoph Nakazawa

Absolutely. And I didn't mean it in that way. Like, you know, ideally you can still do things when you're older. Totally, right? But you should also not regret things.

00:38:45 - Scott Steinlage

You know, I understand where you're coming from.

00:38:46 - Christoph Nakazawa

Yeah.

00:38:46 - Anthony Campolo

So I'd be curious. Is this something that people could play today? If not, what is the timeline on when someone can expect to be able to interact with this game?

00:38:57 - Christoph Nakazawa

Right. So yeah, if you go to the website, you can sign up for early access, and I'm hoping that I'll be in some sort of alpha/beta state over the course of the summer. I don't want to talk about the release date too much yet. I'm thinking it'll be late this year, but it might slip a

00:39:11 - Anthony Campolo

little bit, because sometime in the next year.

00:39:12 - Christoph Nakazawa

Yeah, there's this big difference from, hey, this was a meditative thing and I'm going to ship it, whatever, to, oh, this is actually what I'm going to do as my job. I started a company and I learned how to incorporate a company in Japan, which is actually incredibly hard. So there's a lot of admin work associated with all that stuff. But also I have more motivation to make a really good product rather than like, I just built this and ship it. So it might not come out at that earliest time that I was hoping for, maybe September. It might take a little bit longer. Next to that, I'm trying to open source as much as I can. But then there's this whole thing of, I built everything from scratch and I want to open source some of the things that were useful to me. But I also just want to build the game and ship it, right? This is this whole thing where a lot of video game developers say they want to build their own engine to build their game, but then all you end up doing is building an engine and not shipping a game.

00:40:05 - Scott Steinlage

So I got a question for you. Maybe you probably have thought of this, but in all seriousness, what about pre-selling it? Have you thought about that process? Just to give you an analogy, like a Kickstarter thing, but not Kickstarter. You could just kind of kickstart it yourself, something like that.

00:40:26 - Christoph Nakazawa

Yeah, absolutely. I am thinking about this. So there will definitely be some sort of pre-sale for the people that sign up because I want to give discounts to people that are supporting

00:40:35 - Scott Steinlage

cool things in the game.

00:40:37 - Christoph Nakazawa

Exactly. Yeah. I want to make sure that people who support me from early on also get something out of that. The thing that is amazing, and that also changed the equation quite a lot, is that one of GitHub's co-founders, Chris Wanstrath, recently started a video game publishing company, and I was lucky that we could sign. So his company is going to publish the game once it's released. I'm really excited about that.

00:41:03 - Anthony Campolo

Very cool.

00:41:04 - Scott Steinlage

That is very cool.

00:41:05 - Anthony Campolo

Are there other things you would like to speak about in the game or the process of creating the game, or just anything else you want to talk about?

00:41:11 - Christoph Nakazawa

Yeah, so the thing I think that's really the craziest part about it is that it's really all JavaScript and CSS and React. There's no WebGL in it. I'm not going to promise right here that by the time it ships there will be no WebGL in it because, as I said, I have to be more pragmatic. But you're seeing, like...

00:41:29 - Anthony Campolo

Let's nerd out real quick. What would be required to use WebGL that you can't do with React?

00:41:35 - Christoph Nakazawa

Oh, it's mostly about performance. React is absolutely fantastic. And so you see the map there, right? And whoever is listening, maybe encouraged to

00:41:43 - Anthony Campolo

just check out what it looks like, athenacrisis.com.

00:41:46 - Christoph Nakazawa

Yes, thank you. Yeah. So basically you have a map and you have some units on the map and there's a 2D grid, right? All those units are DOM nodes and they're all React components. So when they're moving around, the way it works is there's immutable persistent state. This is the thing where I was learning so much. So I don't know if you remember, but Lee Byron used to work at Facebook for a long time and created GraphQL, right? And he built Immutable.js. That's something that people don't use as much nowadays anymore because there are newer solutions and mutable state libraries. But for this game I thought the smartest way to implement any action in the game is to use persistent data structures with immutable data. So the idea is that the whole game state is one data structure and then you execute actions against this game state, kind of like a reducer.

00:42:41 - Christoph Nakazawa

Yeah, in a way, yeah. But I'm not using reducers. I'm not a big fan, actually.

00:42:45 - Anthony Campolo

So I mean, conceptually.

00:42:47 - Christoph Nakazawa

Yeah, yeah, basically. If you're looking at it from a front-end perspective, you're executing actions against some state, right? So you want to move a unit from position 1, 2 in a 2D grid, from x and y to 3, 4. Then you just execute a move action against the map, and then there's some imperative code that changes the map and gives you back a new map state. But the cool thing is that because they're persistent data structures, I can very easily keep 10,000 game states in memory with almost no overhead, because only the difference between two states will actually cause additional memory usage. So first off, that reduces the amount of memory that I'm using both on the server and the client. But second, the cool thing is I can feed this data structure into the tree of my React component and that will just render the entire game state. And if something changes, React will just figure out, oh, what's the difference? And it's like, oh, I guess I have to move this unit from here to there. So the entire game state is declarative.

00:43:44 - Christoph Nakazawa

That's something I'm really excited about, which also is maybe... it's not a real-time game, it's turn-based, so it's much easier to do. But if you look at all the recent AAA games, they're using all these old, gigantic, amazing, and also feature-rich 3D game engines. But they have so many bugs. They have visual bugs, they crash, they're slow, they have all these issues because people just don't really understand, when there's 1,000 people working on it with very little or the wrong version control and all this imperative code. So what I was trying to do here is, can I find the right data structures to model the game state so that there are actually no bugs or very few bugs? And of course there are some, and not everything is working. But we recently did an indie game show, my wife and I, and we had two stations and there were people playing the game from 10 a.m. to 6 p.m. the whole day on both stations, and there was not a single gameplay bug. The game isn't even finished and there's still lots of issues.

00:44:40 - Christoph Nakazawa

But that's something where it's like, okay, this model really works for building a turn-based video game, which

00:44:46 - Scott Steinlage

makes it that much easier for an individual person like yourself to be able to continue to build this thing out.

00:44:52 - Christoph Nakazawa

Exactly. Yeah.

00:44:53 - Scott Steinlage

Yeah, that's awesome. And you just may change the world of gaming altogether.

00:45:00 - Christoph Nakazawa

We'll see. I'll definitely just create some really good docs for it. Yeah, from the front-end perspective, that's definitely something I'm looking at. It's so hard in video game engines to make good UI. As a teenager, as an engineer at Facebook, I was a front-end engineer. Yes, I did work on tooling a lot. But I care so much about how an app or tool, like Jest at the time, makes you feel when you use it. I want people to feel like, oh yeah, I'm trusting this tool with my tests and I feel good about it, right? So when I'm building a front end like a video game, I want that UI to just feel right. CSS just gives you everything for free. So pretty much everything in the game has very subtle transitions, very subtle animations on it. So I cannot build something where at the end it's like, I'm going to go build the UI now that the data model is done and I'm just going to polish this.

00:45:53 - Christoph Nakazawa

I'm like, I have to build the UI almost before anything else.

00:45:56 - Scott Steinlage

I love that actually because that's how I feel about a lot of things. That's why I love front end so much more than anything back end and I just tend to be attracted to it more, because I feel like I can do that and I have that visual and I can feel what I'm doing essentially. But yeah, that's really cool.

00:46:13 - Christoph Nakazawa

Yeah, exactly. One thing that I was recently working on during the last few days, during all these conferences, is the scenario editor where when you go on a campaign map you have characters talking to each other, right? And you have to define which character talks about what stuff, and there are different portraits, different reactions, kind of like emojis, for those characters. You have to make those decisions and then put together a dialogue, right? I try to just make the best possible front end to make those dialogues, even though at the moment I'm the only developer, right? But it saves so much time to be able to create the story inside of the game itself rather than writing code and trying to have to look up what is the portrait here and there.

00:46:57 - Anthony Campolo

Yeah.

00:46:57 - Christoph Nakazawa

So I'm always trying to build the right tooling and have the tooling also have a good user experience as well.

00:47:02 - Scott Steinlage

Yeah. Makes you capable of building something from a more artistic perspective, like you were talking about before, which is super cool.

00:47:12 - Christoph Nakazawa

Awesome.

00:47:12 - Anthony Campolo

Well, I think this might close it out for us. Let's see, anything else you want to speak about? Otherwise, feel free to let our listeners know: where can they find you online? Where can they find your game?

00:47:23 - Christoph Nakazawa

Yeah, so as you said earlier, it's athenacrisis.com. You can also just Google Athena Crisis. Usually easier. You'll find it.

00:47:30 - Anthony Campolo

What about you?

00:47:31 - Christoph Nakazawa

Yeah. Oh yeah, you can find me on Twitter. I guess it's cpojer. You can also just look for my name, Christoph Nakazawa.

00:47:38 - Anthony Campolo

You'll.

00:47:38 - Christoph Nakazawa

You'll find me.

00:47:38 - Anthony Campolo

Awesome. Well, thank you, man. This is a super interesting conversation. You have a really fascinating background. You're building a really cool project. So shout out to Kent, who is the one who helped us put this together. And yeah, I very much recommend listeners check out your profile and check out your games. I think it'll be pretty interesting to play.

00:47:57 - Christoph Nakazawa

Thank you so much.

00:47:58 - Scott Steinlage

Absolutely. Yeah. Thank you, man, for joining us. It was a great conversation.

On this pageJump to section