#1 Building Fun Games vs Games That Are Fun to Build - Filip Hráček of Giant Robot Game
00;00;00;00 - 00;00;33;21
Unknown
Some things are just like inherently fun to work on, but not fun to play. And you, of course, have to make sure that the game is fun to play. So they implemented a Maslow's hierarchy of needs in this MMO. And guess what happens? Nobody cared. Hey there. This is inside the project. Welcome to the very first episode. In this podcast, I sit down with passionate people, building interesting projects, and for about an hour or so I'm trying to understand how they approach building these things.
00;00;33;23 - 00;00;52;27
Unknown
This episode I'm talking to Phillip, a friend of mine who I've met at various conferences when he was working at Google for the flutter team. He quit his job after working there for 14 years to focus on his own endeavors. He released his first game title called Knights of San Francisco, and he's now working on his second game, Giant Robot Game.
00;00;52;29 - 00;01;32;11
Unknown
Enjoy the episode. Thanks for having me. First of all, and Giant Robot Game is my second game that I'm hoping to publish. Well, soon ish and it is about, well, it place as a, as, let's say Diablo, you know, like, you see your big giant robot, that's you, and you're fighting other giant robots, and you see it from the top and it's tactical and, I clearly have still problems explaining what exactly it is.
00;01;32;24 - 00;02;09;25
Unknown
Because I don't have, like, the elevator pitch for it. But, yeah, it's it's, 2D simulation of giant robot battles. That's that's what it is. So how did you kind of start with the project? What kind of led up to you starting to work on giant robot game? Well, I actually have to to kind of give you a winding answer because it starts with the previous game, which is the Knights of San Francisco, which is a very different genre.
00;02;09;26 - 00;02;55;02
Unknown
It was like a text, RPG game for mobile, turn based. Everything. Is this, like, everything is different, but, the, the idea of that game and also gender board game is that I like games that are playgrounds and that give you stories to tell, like the one of the coolest things that I can think of from when I was a kid, but also from now is when I say like, hey, like I did this in a game, I was cool or, even that just with games, like someone plays with Lego and something happens during that and that that's and that's cool.
00;02;55;08 - 00;03;26;09
Unknown
Instead of a story that is inside the game, you know? So like, I like stories that you create yourself. Well. And with Knights of San Francisco, I thought, okay, so there is all these, tabletop, role playing games, right? Like Dungeons and Dragons and all of this and, and, let's say 80s people started converting them to computers, clearly, because it was kind of like an obvious choice with your playing, I don't know.
00;03;26;09 - 00;03;53;02
Unknown
Do you play Dungeons and Dragons or anything like that? Have you played any of them before? A few times, but I wasn't really into that for too long. But yeah, I've played it a few times. Yeah, yeah. So you know like it's I'm not also playing it like that now, but like the, the idea of sitting around a table and telling a story that comes from some kind of a system or like some kind of rules, is very appealing to me.
00;03;53;02 - 00;04;30;04
Unknown
And it's also very, well, very new in a sense. And, but, you know, if you think about the 1980s and, Dungeons and Dragons of that era, all the tabletop role playing games were very math heavy, and so it made sense to convert the math into computer games. Right? So from that era on, I think we have these role playing games that are very heavily into, into numbers.
00;04;30;04 - 00;05;06;24
Unknown
So like, and again, I'm going to talk about games that you may not know or may know. I don't know, but like Skyrim. Right. Or something like this. You have someone with strength 40 and agility 13 and then you have the hit points and you know, it's it's a math, game, which is great and I love it, but but it's not the same as a tabletop RPG, especially the modern ones where, where fights are not like I take 15 hit points from your 20.
00;05;07;05 - 00;05;35;09
Unknown
But fights are more like I slash your hand and now you, you know, either your hand is, detached from your body, or at least you dropped your sword or whatever, right. And I think that's closer to how we like to talk about. It's more realistic, but it's also, closer to how we talk about combat and and just generally everything.
00;05;35;09 - 00;06;18;02
Unknown
Right? We're we're not like, well, he he was in a bar fight and got 13 punches in the hat. But, even if he did. But but what we talk about is like, yeah, he was fighting. And then the last sponge was like, right into the eye, and then he fell down and so on. So that was the idea of nice, of San Francisco trying to make a game where you have fights that are like that, and also like, you can just walk around the very small environment that I prepared for the people and be pretty open in what to do there.
00;06;18;18 - 00;06;46;04
Unknown
But like when you are fighting and when you're interacting, it's more about these, like, big, meaningful changes to the game world instead of just, like, doing some, math changes to, to some stat or something like this. Right. Well, and then after I, I finished Knights of San Francisco, I kind of hated it. Like like really like I was it was.
00;06;46;12 - 00;07;13;19
Unknown
We can talk about this later, but I was completely just over it. After spending many years on on working on it, I really didn't want to think or read or anything about it anymore. But I still kind of this idea of, of these games percolated, and I was still thinking, okay, what's next? It should be something different.
00;07;14;13 - 00;07;48;10
Unknown
And then I realized I still like the idea of, like, let's say, you know, shooting someone's leg, and then the person will not be able to use the leg. The. But of course, this works in fantasy, when you have, like, necromancers, like the Knights of San Francisco. But it doesn't work in, like, any realistic, the, you know, topic, like you can if if someone shoots your leg, you just go down.
00;07;48;10 - 00;08;15;03
Unknown
That's it. But it does work when you have giant robots. So sorry for the long winded way, but but that's basically how I, how I thought about. Okay, so, like, if you have giant robots now, you suddenly again can have like a, almost like a realistic world. But in that game it still can be a fight between, let's say, two robots and they exchange fire or whatever.
00;08;15;05 - 00;08;43;21
Unknown
But then one of them loses an arm, and the other one takes the arm and then does something with this. And that's kind of the, the that's the kinds of stories that they love to, to enable. It's a very interesting dexterity. Yeah. I think like a lot of games, try to emulate you being able to do a lot of things like they implement features for interacting with pets and different things.
00;08;44;19 - 00;09;04;24
Unknown
But it's like really hard to allow people to do all the things because first of you, as a game designer, you need to make sure that all the things kind of work together, like people cannot just abuses one system to destroy everything else. And on the other end you have to implement all of this. So how did you deal with, like, the millions of possibilities?
00;09;04;24 - 00;09;21;20
Unknown
I remember back in the day I played through Knights of San Francisco was a really fun experience. And I yeah, I noticed there's a lot of different things you could do. How do you deal? How did you deal with and how are you dealing with all those possibilities from a technical perspective and also from like a game design perspective?
00;09;21;21 - 00;09;52;28
Unknown
Yeah, yeah, this is really hard. And this is basically what I struggle with. And the reason that Gen Robot game is still in development and not already out there. Because I, I'm the kind of game designer that is also a game developer, and I like to work on things that are complex and systemic. You know, there's definitely there are great games that are not systemic at all.
00;09;53;14 - 00;10;27;12
Unknown
And, and I love to play them, but I just don't want to build them. So, so this is a constant struggle. Like, like, I know in both the games, Giant Robots game and Knights of San Francisco, that I could have made them, like, simpler. But I didn't, but what I would, I had to understand after, like, six years of working on Knights of San Francisco, is that it's like at some point you have to be harsh.
00;10;27;14 - 00;10;56;04
Unknown
And, so the only reason I actually finished and published the game was that I started writing down all the things that I want in the game, but also basically being a product manager about it, like saying like, okay, so this will take this much of this damage. And then projecting towards like, how long would it take, to, to, to actually finish the game that I want to finish.
00;10;56;06 - 00;11;26;18
Unknown
And I saw like, you know, another three years at least with just the things that I had in mind. And so I had to cut and, but and when and I also had to and this is like a big point for me. I had to commit like this is very easy for in game development in any other project to just say to just drop it, you know, to, to be like, oh, this was an interesting learning experience.
00;11;26;21 - 00;11;48;10
Unknown
I learned a lot, blah, blah, blah. But I'm not gonna finish it. But here I said, no, I'm totally gonna finish it. And so I had to start dropping. Yeah. Oh yeah, I certainly did. Dropping to bunch of times. I started so many games where this grandiose idea of it's gonna be obviously an open world MMO or whatever.
00;11;48;14 - 00;12;18;11
Unknown
Yes. And up to some point it's like, okay, I mean, good progress, but to finish this, it's going to take this amount of time and it's just not feasible. But going back to kind of, this committing and, working on a project, did you do any prototyping for, Knights of San Francisco? Like, did you have, like a very first version where it was you have this idea and you had something finished you gave to a friends or family to to test?
00;12;18;29 - 00;12;42;03
Unknown
Yeah. That's that's the best scenario, right? Like, if you can, have something to to give to someone to play. I have a I try to do this a lot, like, right now, I just, I just did this, like sending the playtests to, to some people with gender, but game. But that's still very late. That much later than normally.
00;12;42;04 - 00;13;07;25
Unknown
Right. Like, normally people will make games, will make something in a week and then they will play this, that and that. And if that doesn't work, then they won't continue, right? Well, I have like the, the games I want to make are like very systemic and they just don't work. They just don't work for years. And then they do hopefully.
00;13;08;20 - 00;13;30;08
Unknown
So, if I, I did have like the first weekend, I remember the first weekend I worked on nights of San Francisco. I had something that you could play, because it's really a, like a text game, right? So, so, like, why not? But it made no sense to, to test it with anyone because it didn't do anything.
00;13;30;08 - 00;14;15;21
Unknown
Right. So I had to start, you know, implementing all these systems that interacted. And then when they start interacting, then it makes an interesting experience, I think. But but before that, no, with Gender Robot game, it's kind of similar. I, I could have made something, a lot sooner and I, and I kind of did, but, but but then like the, I think the appeal of the game is really in the systems and the how everything, you know, like, you, put a forest on fire and then the, thing, in it overheats and explodes and, you know, all that things that you have to implement.
00;14;15;21 - 00;14;43;01
Unknown
All of that. Oh, yeah. Yeah. But that said, like, for example, I really like in game development, to go to meet ups of game developers and show the show of an early version to a game developer. There. The reason I do this is that, first of all, it's like they're not your friend, or like their friend, but but then not like, you know, family and friends that that always tell you.
00;14;43;01 - 00;15;13;12
Unknown
Yeah. This is great. So they can be a little more harsh, which is good. Second, they see past the things that are on done or not done yet, you know? So while a normal gamer will look at a game and they, they will be like, let's do gray or whatever you don't want to like, you can hear that, but it's not really important for you in like the first two weeks of, of your development.
00;15;13;14 - 00;15;54;17
Unknown
So a game developer knows how an early game looks like so they can be like, yeah, I get that. This is terrible. But that's fine. Like, I also have games like that. But they immediately talk about mechanics and things like that. And of course, yeah. In a way, it was interesting because I had a version of the game that was very fun, but very actually, it was like, you know, like when in games you can strafe, you can just like, instead of going straight in towards the enemy, you go in a different direction and then shoot in that direction onto the enemy.
00;15;54;17 - 00;16;24;10
Unknown
And then that way you, get less hit. So that worked really well at some point because I didn't have a targeting computer implement. And, and so like the, the enemies were really stupid. They would just shoot at where you were, at the time. And so that was a very effective strategy, which made it very fun because you are like, you know, going around in places, but also made it really shallow, like you just just going around in circles.
00;16;24;10 - 00;16;45;29
Unknown
That's it. You know, maybe there would be like more enemies and more sides and then it would be harder, but still shallow. So I thought, no, I, I'm not gonna go that way. And so like, I made it purposefully less fun, by like, implementing, like an actual targeting computer, which was also, a lot of work, but also fun work.
00;16;47;01 - 00;17;05;14
Unknown
But, yeah, it it it had, it had to go the way that I like to go, which is simulation. Oh, yeah, a toy gear. So also talking about the, going to meet up. So I was at a game developer meetup the other day, and I didn't present anything. I just was there as a listener and visitor.
00;17;05;24 - 00;17;25;28
Unknown
But there were a couple of people, showcasing their game, and there was this one game in particular that was really interesting. It looked very, very basic, like it was done in a week and it was like, if you really think about games and compared to, I don't know, Skyrim, GTA or whatever, obviously it was nowhere near that was very simple.
00;17;25;28 - 00;17;50;11
Unknown
But it was kind of was starting to be fun. So I told them that ads. Yeah, this needs a lot of polishing to actually, I don't know, be fun for, for some time, but this is a great start. And I think if you did some development, you can kind of see where the fun started. I think we chatted about that briefly a couple months ago, where I was asking, how do you determine what is actually, fun?
00;17;50;11 - 00;18;10;22
Unknown
Because I think in comparison to, for example, a website or an app that tries to solve a very particular problem, it's very easy to determine, okay, this solves a problem. It may not look pretty, may not be fast, it may not be even good. But it it solves this issue. But which games? What is the issue? The issue is fun.
00;18;10;22 - 00;18;40;10
Unknown
And how do you solve fun? There's so many aspects of it. I feel like there's graphics, there's smoothness, there's, interaction, all those different things. So I feel like prototyping games can be especially hard to because there's so many more factors to keep. And so I think that's a very good piece of advice to kind of talk to experienced people who kind of know what if something has potential or if something is like, well, good try.
00;18;40;10 - 00;19;09;08
Unknown
But maybe, maybe there's something else. Yeah, yeah. It's is you're making a great point because, I also I remember the reason I started going to game development meetups was when I was still in Silicon Valley. There were a lot of meetups there, and some of them are game developer meetups. And the way they did it was great because it was like they had no program.
00;19;09;08 - 00;19;34;24
Unknown
It was just people meeting at a bar with their games and just showing to each other. Right. It's a very it's a different culture, like the in in America, in I think in Central Europe it would work less well because we're kind of shy and nobody wants to start speaking and showing off their stuff. In the US, it's kind of natural to just like go and hey, like, look at my stuff.
00;19;35;03 - 00;20;17;08
Unknown
And and that's great. I think, and I remember, I think the first time I was on such a meetup, I didn't have a game. But I looked at someone's game that was, platformer. Right? And this person, like, didn't understand that they wanted the platformer to be pure. I think, but pure from the programing perspective, I remember this is Silicon Valley, but but like, so they were like, well, the platformer needs to be like super responsive and like, there needs to be no mass, no momentum for to for the player.
00;20;17;10 - 00;20;49;24
Unknown
And so on and so forth. And by looking at that and playing his game, I realized how, you know, games are lies. They they like good games the way that, for example, you know, Super Mario is fun or whatever. Celeste is fun is because it likes you all the time. It makes all these exceptions to physics, that make it so much better and so much more fun to play, you know?
00;20;49;28 - 00;21;12;08
Unknown
And I realized I do this even with my game like Giant robot game, which is a simulation. I still say I still say it's simulation, even though it's, you know, futuristic blah, blah, blah, and 2D but it it's, you know, it's it's simulation, but I still do things like, okay, I'm not implementing the physics the way physics actually work.
00;21;12;20 - 00;21;38;08
Unknown
I do them a little differently. Like, I kind of help things to look nice and, fun, you know, like, one one of the things that I do, and that's, clearly not from my head, but, is that when you have an explosion, explosions are fun, right? So, so explosions, kind of like, almost like teleport.
00;21;38;27 - 00;22;01;18
Unknown
If, like, you can see this also in other games where, where the explosion starts growing and normal physics would just say they start growing and growing and then they dissipate, but instead the the explosion starts going and then kind of jumps into a bigger explosion, like, almost like from one frame to another. So it's like rebirth.
00;22;01;20 - 00;22;33;01
Unknown
And that somehow makes it much more impactful and interesting. And it's it has nothing to do with, oh, actual physics and reality, but it's it's fun. So, so yeah, I don't know, like, of course I don't know if, like how to how to make games actually fun. I don't think anybody knows. But as you said, it's really important to start with, a prototype and talking to people, showing it to people, letting them play.
00;22;34;17 - 00;22;57;16
Unknown
Yeah. Ideally, if you don't have like a system, a game because. Yeah. Just, to to get back to the core of what makes a game fun. I read a very fun thing the other day on the internet where, the game kind of encapsulates it, tries to take something and take tries to take the funnest part out of it.
00;22;57;18 - 00;23;14;26
Unknown
What I mean by that, there's a lot of games in the simulation area where it's like, you can drive a bus, you can fly a plane, you can have your own, forum and stuff like this. That's some work. Kind of people do that for a living. They get paid for it. They need to do that. And here we are.
00;23;14;26 - 00;23;31;15
Unknown
People play a paying to play a game where they can work. Why is that? Because those games were able to take this activity, which is in theory, it's fun, but there's a lot of hard labor. There's a lot of things that are not fun. You have to do, I don't know your taxes. If you want to have a form.
00;23;31;18 - 00;24;09;26
Unknown
Not fun stuff. And those games take the most fun part is just taking a big vehicle and driving through some cornfield and taking the fun bits and pieces from here and there, from reality, and mashing them all together in this big fun bowl, I think. Yeah, I love these games and I like that. Like, for example, the the company that makes, truck simulators is, is here in the Czech Republic and, and they, I think they hit like the, the ideal scenario where like almost like nobody actually wants to drive trucks.
00;24;09;26 - 00;24;30;29
Unknown
I think like like the real like the real work is really hard. It's long hours and so on and so forth. But but there's a nice think about it where, where you just like, you know, that's kind of freedom and like, you have this big rig and so on and so forth, but and so I have one of these games, Euro Truck Simulator.
00;24;31;01 - 00;24;57;28
Unknown
And in that game you can play it and you just do the routes. But the, the fun part is that it's so, so like like you go from, I don't know, Berlin to Munich. And normally that would be, I don't know, four hours. I don't actually know, something like that. But there it's like, you know, in ten minutes you're there.
00;24;57;28 - 00;25;33;17
Unknown
But do you see all the cool stuff, you know, so, like, you just go and, and there's like, junction and and then so it's so, as you say, like they take everything else out of it. They just keep the fun part and then make it bigger and, and then, it works. So, so yeah. And the other part about simulation that I like is, that they kind of let you play in your own, on your own, instead of pushing you, towards something so you can kind of relax more easily.
00;25;33;28 - 00;25;57;26
Unknown
This is why, for example, like flight simulators there it can just fly around for as long as I want. And when I'm bored, I can go. Go away. There is not. It's like. Yeah, it's it's relaxing. And so, that can be another reason why we play games. Oh, yeah, I fully agree. I also really like that your take on simulation games.
00;25;57;26 - 00;26;27;11
Unknown
I'm also big fan of kind of this whole simulation Lego style Minecraft do your own thing because for me, like a game, if there's a story to it, it's it's more similar for me at least, like a movie, where somebody put a lot of effort in conveying the story, this idea, this emotion. Whereas when I, for example, play games, would be more interested in what can I, as a player kind of create.
00;26;27;11 - 00;26;52;09
Unknown
It's come up with. I think it's really fascinating. Also, looking at a lot of different games where players just come up with new concepts and, and things where the developers never thought about and are like, okay, that's creative. And I, I think that's really, really, fun. I'm now wondering, like if it's something that could be like, almost like a psychological profile, what kind of games you like?
00;26;52;18 - 00;27;21;12
Unknown
Because I, I think there are I think, for example, if you ask developers about their favorite games, they would often say something like Minecraft or Factorio or like just things that are kind of systemic and you can play with, while that I don't think that's like, necessarily the case for everyone else, although of course, Minecraft is very, very, very, very popular anyway.
00;27;21;15 - 00;27;51;09
Unknown
But yeah, yeah, I like, any game, but it's, the, the simulator, like kind of the playground or sandbox games. Give me more. Just kind of, yeah. A feeling of of play, I guess. Yeah. More. More than just watching something. You're right. Yeah, I totally agree. Talking about games besides Knights of San Francisco and giant Robot games, I know you have had a bunch of smaller projects that were also released.
00;27;51;18 - 00;28;11;18
Unknown
Just replay the game. The lunar lander game the other day, which I think I played when you first released it, if that makes sense. I think I played it before, and, when preparing, I looked at your side, and I was like, oh, I remember this game. And I was like, stuck in there for 20 minutes and trying to, like, honestly learn.
00;28;11;18 - 00;28;38;28
Unknown
Okay, the lunar lander game, it's basically a lunar lander where you have this control of the space keys and you, can control the thrust of, like, this 2D thing. And it's kind of doable. Easy if you just want to lift up and, go back down. But you don't have a lot of time to accomplish these missions, and, I don't know, have you ever achieved going from the far position to, like, the other side of the map?
00;28;38;28 - 00;29;04;24
Unknown
I tried it so many times and it's so difficult. Yeah. Well, okay. So yeah, this is another reason you want to, test with players because I, it was obviously some, some of the missions that it gives you are impossible. Because I just like, randomly put, you know, things around, but, but yeah, it's like I played it so much that I could, pretty easily, like, landed somewhere.
00;29;05;04 - 00;29;36;13
Unknown
Yeah. It's it's, the thing was that the reason I made lander was that, actually, it was like a tech demo. Almost. I wanted a game where, if you're, like, in a meeting and you are, you can, like, only like you clearly can only use 50% of your brain and still be as productive as before. You just want to play something on your in your browser, right?
00;29;36;28 - 00;30;20;07
Unknown
But you only need to use to because you're on a laptop, so, you can't use the mouse. So basically was like, like, what can I make that is a browser game that would be, playable on keyboard only on a laptop. Would you have like very short play sessions? But still be kind of fun and replayable and, and then I realized, well, I to make it like this, especially like for, for bored students, I also need to make it very, performant, like, like I, I can just redraw normal games, redraw the whole screen every frame.
00;30;20;09 - 00;30;52;12
Unknown
I can do that. So like the main innovation, technical innovation of blender is that I only I only really like old like very old games. I only really redraw like a very small part of the screen. Everything else is, is static and so, so that that made it possible. I don't actually know. Maybe if if I use current tech, it would be just as efficient if I, you know, redraw drew the whole screen every, every time.
00;30;52;17 - 00;31;19;08
Unknown
But back at that point it was like very, very small CPU. And energy usage and still, having a game like that. Yeah. But yeah, I didn't finish because by doing this route, it was very hard to change anything afterwards. It was like a pretty complex game for such a simple game mechanic. And so I don't even.
00;31;19;09 - 00;31;42;00
Unknown
Yeah, it's it's kind of finished, but but I wanted a lot more from it. And then I kind of, kept it in my back pocket and never looked at it again. Hopefully. But I still sometimes think about it because I think it has potential to be like, you know, like just just a game that you just want to play for, for five minutes and then go about your things or.
00;31;42;01 - 00;32;03;18
Unknown
Yeah, for sure. Like, I really like these small PlayStations. You were able to, in theory, shut it off after every successful landing. But now you want to do one more until this explodes. Speaking of other tech, what did you write it in? Oh, dart. Yeah. Oh, yeah. Yeah. And canvas. So? So back then there was not really.
00;32;03;18 - 00;32;28;25
Unknown
I mean, it's not that long ago, but but I don't think like the current, you know, WebGL and everything is in WebGL on, on web. And definitely not Wasm or anything like this. That wasn't the time for it. So, so yeah, it's, it's like pure dart and kind of. Oh, wow. Okay, I didn't know, what what kind of different side projects that you have before.
00;32;28;25 - 00;33;01;19
Unknown
What were, what is your things that you tried? Yeah. Well, I, the, so Knights of San Francisco came from like, a very long, development process that started literally eight years before I finished Knights of San Francisco. And it was just, I was a really big fan of game books, which were like, kind of choose your adventure books, with the with some internal mechanics.
00;33;01;21 - 00;33;30;09
Unknown
And, and I had, the idea of bringing them to the mobile phone, which was not very, I would have to say it was not unique, like a lot of other people had the same idea. They did it much better than I, and I dragged my feet because it was just like something that I did, and, you know, you know, on the weekends, but, yeah, like, slowly and surely I started adding more, more systems and features to to that.
00;33;30;09 - 00;33;59;02
Unknown
And that's why that's why San Francisco is, is what it is. But yeah, that's, that's what I remember about that. I also, here's the thing. When you're a software engineer and you're making games, there's you're always on a cliff of becoming, game engine designer. And. Yeah, and a game engine developer. And this has been hard on me as well.
00;33;59;02 - 00;34;27;01
Unknown
Like, for example, the Knights of San Francisco was supposed to be this huge thing called EA Game Book, which would be like, like, like this SDK basically for making these games. It's still out there. It's on GitHub. You can use it, but it's, but every time someone says, I want to use it, I tell them, look like I don't, I can't even I don't have time to even, like, tell you what, what to do.
00;34;27;03 - 00;35;10;02
Unknown
You know, there's a read me, but that's it. And, no, no maintenance, nothing. So, so, this is the same with nice. I mean, giant robot game, where, of course, I could have just use something like unity. Maybe. And it would probably work, as well. But, I wanted to make, you know, I wanted more control, but there there is a question of, like, how much is it about control and how and how much is it about just like, kind of keeping in your element, and for game developers, that's definitely programing.
00;35;10;04 - 00;35;32;21
Unknown
That's one thing that I always say. Maybe you heard me say it before, but but like, people love the idea of game design, like, oh, I'm going to make games because I like game design. But that's the idea of game design is not the reality of game design. Game design sucks. It's yes. It's so hard. It's so frustrating.
00;35;32;21 - 00;36;08;12
Unknown
It's so unknowable. Like like, you know, like if you have a problem on a computer and you're a software engineer, it can be frustrating, but you generally know where to go, what to do. Like, you know, given enough time, you will solve it. And generally with, like with some backtracking, but not much. Right? It with game design, it's very much possible to come up with an idea, then work on it for two months and then realizing it sucks and nobody likes it because it's not fun and there's no way to know before that.
00;36;08;14 - 00;36;30;27
Unknown
And then you can. And also, there's no way to know if it's salvageable, if you can, like, just tweak one thing and then it immediately makes sense. Or if you have to just like go back to the drawing board. It's just so unknowable and and so frustrating. And then also there's like all this content generation is just like, you know, boring, boring grinding stuff.
00;36;31;00 - 00;36;58;28
Unknown
That's that's game design. And so, so people like me will start making a game. The start is always great because you're the it literally grows under your, hands, right? Like, like things start work. Making sense. You're making a lot of progress every day. But then once you start, working on the more, you know, like.
00;36;59;06 - 00;37;23;22
Unknown
Okay, so how do I explain this to the player? How how do I keep the player entertained for, more than five seconds and so and so forth? Then it starts hard. And so instead you're like, maybe I should, like, maybe the thing that will make this better is if I optimize the marching squares algorithm, it's like the satisfaction is just so much higher because you can measure it.
00;37;23;22 - 00;37;45;09
Unknown
You, you know, okay, this algorithm takes like 20 milliseconds. And if I do this code change and it will only take ten milliseconds. And it's like there's instant feedback with game design for me. Also game design did a couple of smaller, game project and was always sort of with this one big idea, like, it's going to be great and why did nobody think of this before?
00;37;45;11 - 00;38;13;03
Unknown
And then game design starts and it just tells you, nope, you can't do this, because that doesn't make sense. That sucks. That's too I don't know what to grind the. That's too easy. That's too boring. And at the end, your, for me at least a lot of times it was like, okay, I had this unique idea, and now I'm kind of stuck with something that feels very mainstream, where I don't have to implement it myself because I can just play this other game that doesn't trailer.
00;38;13;06 - 00;38;36;05
Unknown
Right. So I told you, I feel you on this. Yeah. Let's make my my favorite anecdote about this is, and this is a kind of similar where, you have to recognize what's fun for you as a game designer, developer, and what's fun for the player, right? Some things are just, like, inherently fun to work on, but not fun to play.
00;38;36;05 - 00;39;01;07
Unknown
And you, of course, have to make sure that the game is fun to play. Or interesting to play at least. So one wants to think like this was, I think it was like an MMO, called Conan. I've never played it, but but it it was where they realized that or they had this idea of like, okay, so we have this world game world full of creatures and people and so on.
00;39;01;09 - 00;39;32;03
Unknown
So how do we make sure that the creatures behave intelligently? We will, we will make a system that simulates the, kind of the psychology of basically every human being or every being. Okay. The Maslow's hierarchy of needs, maybe you've heard of it. It's like the it's kind of this pyramid where it's like, you know, if you're if you're at the bottom, you want to, like, survive, right?
00;39;32;03 - 00;39;53;10
Unknown
But then if your survival need is satisfied, then you go to like, thinks, like, okay, I want to have more food. And at the very top of the pyramid you have things like self expression, right? So like you're you're not going to try to like draw Mona Lisa if you're hungry kind of thing. And so and so yeah.
00;39;53;10 - 00;40;20;00
Unknown
So they implemented a Maslow's hierarchy of needs while in this MMO. And guess what happens. Nobody cared. No, none. None of the players cared that this this happens. And instead they just had like this very, very complex thing that was very hard to debug and very hard to, to move. And the players were not like did not see any like feature that would come out of it.
00;40;20;03 - 00;40;47;28
Unknown
Because if you're if you start working on something like this, you're like, oh, this will be great. We will have all these kind of emergent behaviors of like, you know, I don't know, like a squirrel making one or Lisa or whatever. I don't know, something like it sounds so fascinating. But then in reality, 99.99% of the time is just works like a normal, regular, you know, state machine, or at the from the outside.
00;40;48;00 - 00;41;20;16
Unknown
But is much more complex and, more error prone. So in the end, they had to scratch everything and went to something like, state machine. So, yeah, I try to remember this a lot, not only in game development, but in general development, where things sometimes seem very interesting for the developer. But, the more valuable thing for the user would be to just, like, go with something much easier and and simpler.
00;41;20;18 - 00;41;44;11
Unknown
I also think it's always interesting or important to kind of balance this. If, you only work on stuff that is interesting for a user, then you probably have great business. But maybe you as a developer kind of lose yourself in the project. I feel like in different project, you also try to find this balance of of course, I don't want to just build an engine just to have fun.
00;41;44;11 - 00;42;15;11
Unknown
I want to finish something. But the other hand, I don't want to do business research all day and, to do something that is not fun at all. So, yeah, I think finding the balance of having fun yourself and providing something that is fun for the players and users, is kind of interesting to balance the balance. I like that you use the word balance because that's exactly where where stance like like you have all these companies again like Silicon Valley, right?
00;42;15;16 - 00;42;54;07
Unknown
So you have companies like Oracle that definitely don't care about like how much their how much fun their developers have. On the other hand, like, I remember talking to a startup in San Francisco where they would make, they would make software for like, they were like a software studio. They would make software for, clients, and they would say, okay, so we're we're making software only in the most hyped current technologies, because we can hire easily for people that want to make, things in this.
00;42;54;09 - 00;43;18;19
Unknown
And we know that we will be rewriting from scratch in two years anyway. So in another technology, because and that's what was their business model. That's how they were able to have highly motivated, probably not as well paid developers, but who wanted to be like, oh my God, I can make like the, you know, mobile app in rust or whatever.
00;43;18;25 - 00;43;46;12
Unknown
And and they did this and then, you know, two years later everyone's like, okay, so yeah, this is work. Let's try something else. Yeah. So balance is is the key. I also think it it can make sense sometimes and it can also be a competitive advantage because if you like, do it from a very technical from a very businessy perspective, you kind of lose I feel like the, the innovation you kind of go mainstream.
00;43;46;12 - 00;44;08;22
Unknown
You do what everybody else is doing because that makes sense. The data showing the players like these are these things, but if you kind of try something different, that is kind of unique. Then I think, yeah, that's why a balance, if you do something completely unique that nobody will even understand, that's bad. If you do something that is so generic, everybody has played it tens, tens of thousands of times before.
00;44;08;25 - 00;44;33;04
Unknown
It's also bad. Yeah, I always, I always also that's another thing again here with, with game development, I always say, look, the most successful game of all times, Minecraft was made in a technology that was like that. If you ask any game developer at the time if it's a good idea to make a 3D game in Java, they would be like, what are you talking about?
00;44;33;04 - 00;45;02;02
Unknown
This crazy and and and yet it's the most you know, I know that they rewrote it, but but the the fact that the this this this guy was able to make, make a game that now has like billions of dollars of revenue, is probably because he wasn't afraid to, to do something. So to, to use a technology that was not, meant for games, but and he was able to do something with it that, that couldn't be done otherwise.
00;45;02;04 - 00;45;24;06
Unknown
Like they, they rewrote it in C plus plus. But the real version that all the players, still plays the Java version because that allows you to do mods. So I actually kind of started with my programing career with creating mods for Minecraft in Java. So we were able to decompile this thing, watch some tutorials and add some new ores and all the fun stuff.
00;45;24;09 - 00;45;49;17
Unknown
Yeah, that's exactly it. Yeah. And and so that's I think what made Java I mean, what made Minecraft so popular was first of all, Java allowed him to just put Minecraft on a website. And so like, I remember like the first time I played Minecraft was like in a Java applet in a website. Yeah, it was free.
00;45;49;23 - 00;46;10;01
Unknown
Like the free version was just like, you could just like open a website, play Minecraft. There was something that no other thing at the time could do. And obviously it was something that you could, like bring people to, to, to get interested. And second, as you say it, it was very easy for, for him to, to add mods, and mod support.
00;46;10;13 - 00;46;39;23
Unknown
I mean, probably not him. There was but anyway, I think people just did it. Like they never really supported people just decompiled because just just because Java. Yes. And what was the other thing. Yeah. And then like, I, I also heard that the, the guy who did this, made a terrible job of the software engineering, like, apparently it was terrible, like the the, you know, the, like the code was really bad.
00;46;39;26 - 00;47;06;16
Unknown
But that's another thing that I like people to understand it, you need to balance this. Like if you. Yes, there are definitely games out there that are like made in pure functional style and everything is beautiful, but nobody plays them. And yes, there are also games that might have been great, but that I have such terrible, software engineering practices that they don't even work.
00;47;07;06 - 00;47;36;28
Unknown
So, but you have to kind of balance it because, like, nobody cares about the elegance of your code. If you're, you know, if you're five years late after everyone else or if you don't finish. Yeah, for sure. I also think this is a very good segue way. Also, the Java Apple thingy. One thing I really like about also Flutter and Dart being able to write games in is that you can run anywhere, you can run desktop, you can run a mobile, but more importantly, you can also run in web.
00;47;36;28 - 00;47;58;27
Unknown
It's very easy to kind of, get something up and running. What I also really value is you mentioned the for for the lander game, you are able to just started a meeting. You can do a quick, quick game and it starts up quickly. So there's especially with like unity games I'm not sure I don't even think Unreal Engine can export.
00;47;59;00 - 00;48;18;19
Unknown
Maybe I'm wrong. I don't think so. Yeah. But even with unity games like it's it isn't too bad, but there's still this couple of seconds of loading. I feel like flutter has this magic thing here. If your game can run or deal with the limitation that is giving you, it can be really powerful. And I know you have.
00;48;18;19 - 00;48;38;02
Unknown
You star in flutter lots, in both of your games. The giant robot game and and that's of certain. Francisco, what are your experiences with using something that is traditionally not directly meant for games back in the games? I know nowadays it's being pushed more. How was your experience with it or how is your experience with it?
00;48;38;02 - 00;49;03;02
Unknown
Yeah, well, I think I always say that, flutter is a great, tool for game developers who are kind of software engineers because there's definitely a kind of game developers who kind of want, you know, GameMaker or unity, where you do a lot of the things with, clicking and, and, and content and that makes a lot of sense.
00;49;03;03 - 00;49;37;18
Unknown
A lot of really, really good games are are done this way. But then you have all these games like Slay the Spire Bilateral, you know, papers, please, that that are made by basically software engineers who kind of like. Yes, they, they often are also artists, but they, they want to write things down in a, in a code, you know, and, I'm, I'm one of those people and I think, with, especially with flame which is a package for flutter that makes, making games easier.
00;49;37;24 - 00;50;06;06
Unknown
I think it's basically, like 90% of genres out there are possible to make in flutter. And it, and if you are this kind of developer who wants to mostly write code and, and not, you know, play around in an IDE, then, I think it's, it's, it's a good it's, it's a good, choice.
00;50;06;15 - 00;50;36;07
Unknown
That said, I don't want to oversell it, right. Like, like for a lot of people, this would be the, like, the obvious choice would be something like Gordo or Unity or Unreal, especially if you do anything 3D. Also not not a great idea to to use flutter, I think, but, but yeah, flutter is great for making 2D and making guys, and a lot of games are 2D and UI heavy.
00;50;36;17 - 00;51;03;01
Unknown
So I think that that, that kind of, is where it is. Yeah. I also think, was really fitting where you said it's for software engineers who want to make games instead of like, game designers. I did some Unity and Godot before, and both are nice. I like them like you. You have your UI. You can do a lot of things really quickly, like it has some great tile sheets, support you can add in animations, you can see the stuff, right?
00;51;03;01 - 00;51;23;03
Unknown
An editor. But I was always a bit annoyed by all the constraints I was given. Like I didn't really like how the component system of unity, for example, worked or the notes, since I was always annoyed by why are these, is it no. Or it's it's scenes. And I was always annoyed by why a player needs to be seen.
00;51;23;03 - 00;51;43;13
Unknown
I want it to be like an object, not a scene. And those are the things that you have full control over. If you do the code yourself. On the other hand, it's, dangerous. I can also say I build a small side project a few years ago where I wanted to have this kind of top down to the bullet hell shooter, and I essentially reimplemented everything from scratch in the end.
00;51;43;13 - 00;52;03;14
Unknown
Yeah, yeah, it's working on an engine. I really liked the way that the X entity component system was kind of structured. I still think it's great, but there were so many simple things that were hard to do, but there were some hard things that were simple to do. It was kind of in this weird spot. Yeah. X I have two minds about it.
00;52;03;14 - 00;52;30;29
Unknown
Like, like I also got very, so, so maybe for the, for the listener because we're going very, like, in-depth right now. But but the X entity component system is where you have it's a game development paradigm, a guess where, entities are separate from their components and from their systems. So like an entity is just like, has basically just an ID, right?
00;52;30;29 - 00;52;54;00
Unknown
So like that it's an entity, which happens to be player, but it's, IDs 99, and then this entity only has some things attached that call to components. So for example, okay, I'm, I'm like a, like, what could that be? You know, I have velocity and I have, you know, I can carry stuff and so on and so forth.
00;52;54;04 - 00;53;23;04
Unknown
And then systems are just functions that take these entities and their components and, and act on them. Right. The, the original reason why X exists is because of, data locality is like, you know, if you have like a huge game with a lot of entities, you want all the all of these things or components right next to each other and just like, you know, go go through them instead of jumping around the memory.
00;53;24;02 - 00;53;49;20
Unknown
So in, in places like, dog, this doesn't really, you know, give you much, but it's an elegant kind of like an, a elegant solution. But to be honest, for example, I studied, gender with game as an X, game, and, and then I just said, you know what? I'm just going to use, normal, you know, object oriented programing and that that has worked for me.
00;53;50;03 - 00;54;17;15
Unknown
So there are, the thing with X is indirection. It's like, you know, sometimes you don't know what actually where, where this happened with, with with object oriented programing, it can be good and bad. But the good thing is, often when something breaks, you know exactly where. And it's very easy to do the stack trace things and, and, and know what would happen with X.
00;54;17;15 - 00;54;41;03
Unknown
You're like, okay, this this is broken. But how did that data get corrupted? You know, like like, why is this component missing? And, unless you have something like, you know, time rewind or whatever, which I don't have then then you're screwed. You don't know what's happened. Yeah. For sure. Like, for some things, it can feel really elegant.
00;54;41;06 - 00;55;02;23
Unknown
But sometimes that like, the most stupid and simple things, you just want to execute a piece of code. When something happens in a normal object oriented world, you would have a callback, some collision happened, or something easy done. And X you have to figure out, okay, like I don't have some code running for something. I need to do it through these components and all these things.
00;55;03;28 - 00;55;41;02
Unknown
But I think it's great to kind of have the perspectives of the different worlds and kind of pick the best of all of them. Yeah. Yeah, yeah, definitely. Like like, for example, I learned the hard way. I think a lot of programmers learned the hard way like that. You don't want to, do the, kind of the lecture stuff like, like in computer science where, like, you know, you have a vehicle and then, car implements a vehicle and then, you know, like, just, inheritance is is useful, but it's often just like, an elegant.
00;55;41;03 - 00;56;05;09
Unknown
It it sounds very elegant, but then in most cases, it's it's just it can be a headache, like, you know, like you want to, short inheritance structures and, composition over inheritance, all these things. That might not seem, you know, like the less type safe, I guess, or whatever, but the they're just like, more useful. So.
00;56;05;09 - 00;56;32;10
Unknown
Yeah. Yeah. For sure. Yeah. Inheritance. I feel like sometimes it's it's elegant until it isn't. Yeah. If it goes too deep and you need to do this one change or your perfect world assumptions fall apart and you need to do a big refactor. Yeah. Is there anything special you were doing in Giant robot game? Where you think that, that's something that you would usually not hear about or.
00;56;32;26 - 00;57;05;09
Unknown
So. So first of all, I wanted the game to look like, you know, science fictional interfaces from movies and, and a lot of these are, kind of, inspired by old computers. I think, you know, if you, if you look at Batman or, I don't know, Star Wars, their computer interfaces are very kind of old, you know, like, like black and white or three colors and old 3D.
00;57;05;16 - 00;57;30;18
Unknown
And so for me, I also wanted to do that. And so I, had to implement my own 3D, kind of renderer, which I based. To be clear, I didn't write it from scratch. I based it on flutter underscore cube, which is a Pac-Man. But I heavily modified it so that it looks like a 1970s, 3D rendering thing.
00;57;30;21 - 00;58;19;24
Unknown
And, to Z, I learned a lot about, like, how, how to render things in 3D, I guess, like on the very, very basic level, I also just this week I made big, performance improvement by basically just like, inspired by, data locality. And just by, you know, moving my data about the 3D object into a big, you big typed data list, and just keep it in there, which makes it very, you know, like, non-dominant, the, you know, it's like all you rewrite things on the fly and and it's, but but it's it's fast and and it, does consume memory.
00;58;19;26 - 00;58;53;23
Unknown
So so I did that. And that taught me a lot about kind of low level programing. Or I don't know if it taught me a lot, but but I after a long time, I, I had the chance to, to practice it, which was nice. But, I think the most interesting thing that I learned, is marching squares, and actually implementing marching squares, which is where you have some kind of like a field, like for in my game, it's smoke.
00;58;53;29 - 00;59;29;25
Unknown
Right. So you have like, high definition smoke. Throughout the map. And that is very variable, like the smoke is, there's winds and and little ebbs and everything. And you have to or I, I, decided to, to, to show it as vectors because the whole game is kind of vector graphics space. Right. And so for that, that's, that's a great, thing for, for watching squares.
00;59;29;28 - 01;00;04;02
Unknown
And I realized that that despite being pretty high level programing language is fast enough to, to do this. And, and so, I'm actually looking forward to moving more of the systems into matching squares because it just first of all, it looks nicer. And also it's kind of, eraser is, the fact that there are tiles in the game and, which makes it more assimilationist, because you're, you're less likely to, to notice that.
01;00;04;02 - 01;00;26;23
Unknown
Oh, this is like, okay, I'm on a tile and that other person is on the tile. Oh, it's just a battle ground. Then, things are, you know, moving around, so. So, yeah. So, marching squares is, and by the way, I also thought about, hey, marching squares would be really cool for the lander game. If I.
01;00;26;23 - 01;00;55;12
Unknown
And with having, you know, the terrain being dynamic and being able to, like, drill down and, you know, making explosions like that, it would be really fun. So. So, yeah, matching squares set me up for that. Awesome. So I think we're slowly approaching the end of the episode. Is there anything else you wanted to talk about or you have?
01;00;55;12 - 01;01;19;25
Unknown
Well, do you want to do you want to talk about your games? I don't I didn't want to like, you know, switch sides, but, I'd be interested. Well, it was mostly a couple of small prototypes, which I've kind of tested on myself and also on a couple friends, and they never reached kind of the the, the, the response or like the fun level I was hoping for.
01;01;19;25 - 01;01;41;19
Unknown
So it was a small project, which I don't consider a fail because most are small, like 1 or 2 week projects were. I tried something, so I had this one game where also very similar, idea that you have your land or something that you can play throughout the day, something that doesn't require a lot of attention, but can kind of give you a bit of fun here and there.
01;01;41;21 - 01;02;09;28
Unknown
So one prototype was, what if I took Minecraft and just cut everything out? That was in the UI? So basically Minecraft without Minecraft. So I had the small, kind of idle game where you would cook stuff, you would craft stuff, and everything would take time. So you would queue your cooking's, you could close the browser tab, you could come back like an hour later and you had, I don't know, some fish ready, which you can then use to, to, to eat during mining and so on.
01;02;11;03 - 01;02;43;27
Unknown
Of course I didn't publish it. I just use Minecraft assets for that. Wow. So that was one small prototype I did, and the other was very interesting genre, which I, I think I read online or read somewhere. It was I tried if an idle game and a deck builder game could fit together. So where you would have a deck builder, a typical where you would play cards, you would could damage monsters, something along the lines that slay the spire, but something that plays itself.
01;02;43;27 - 01;03;05;20
Unknown
So you essentially you do not play the cards yourself, but you just design the deck. You design the type of deck you want to play against certain type of monster, and you would try to maximize your efficiency. Oh, okay. Yeah. So I actually had a very, I would say high fidelity prototype, which was I think I set a deadline for two weeks.
01;03;06;11 - 01;03;28;07
Unknown
Maybe I'll share it at some point. It wasn't really too much fun. It was alright, but yeah, game design kicked. I was like, I have this issue, I have this issue, I have this issue. I don't know how to fix it. Yeah, I think I will probably release it. You should in next couple weeks.
01;03;28;10 - 01;03;44;21
Unknown
It's it's it's kind of polished. It's written in flutter also with the idea of exporting it for a web which is just so accessible. For example, if you post your game on itch.io, which is the site where people can download and play games, when I go on the site to kind of get inspiration or see what other people are building.
01;03;44;23 - 01;04;03;27
Unknown
If I see a download link for I most on Mac, so most of the games only support windows. Yeah, but like if there is a game that I can just click one button and play right away, the chances of me doing that is like exponentially higher than kind of downloading something, installing it, like trusting the person that this is a right to download.
01;04;04;27 - 01;04;27;00
Unknown
So yeah, I also have another, like a couple of other game ideas or themes like you have with the, the text based stuff, which would be a whole other topic to dive in. So maybe, maybe another episode, but those two were more recent ones, which I think I worked on a couple of months ago. Yeah.
01;04;27;01 - 01;04;51;26
Unknown
That's great. I like that you, you know, like, I, I really, appreciate when people have side projects when they actually not just think about them, but actually, like, implement them, even if that you don't need to. Of course, finish everything that you start. But like, just like, you know, putting them into a state where you know that it would work or not is really, really cool.
01;04;51;26 - 01;05;12;23
Unknown
And I would really, definitely like to, to see the game, especially if it's a web game. I'm actually looking at like, you know, a flutter versus, you know, unity and Godot. This is something that I will hopefully see, you know, in the next week or two, like, kind of trying to benchmark where flutter is in comparison to these.
01;05;12;25 - 01;05;55;27
Unknown
And, on the web, obviously, like the Startup Times, and, requirements for, for the server are completely different. Like, flutter game can start even like on a slow connection in few seconds, a godo game. You have to have a special server, that does the, you know, shared array buffer thing. And it takes, and it downloads, even if it's a very small game, it downloads like 60 megs or of something, you know, so, so looking at especially these like little games on the web, I think is is a kind of superpower for flutter.
01;05;55;29 - 01;06;34;25
Unknown
Yeah. So sure. Yeah. Yeah. Cool. I agree. So I think, we're pretty much done. How can people follow what you're doing? You said something about a giant robot game. Coming to some playtesting stage. How can people who are interested, get to know more? Well, thanks for asking that, by the way. But, but, yeah, there is, if you just go to Giant Robot Gamescom, there is a link to steam, which is probably where the, the main or only place where I will be kind of, making the game available.
01;06;34;29 - 01;07;03;26
Unknown
So if you're on steam, you can already, you know, put it into your wishlist or whatever. There is also a link to a discord server where I talk to, like the people who are, like, really interested in this and really want to get to keep in touch. And, otherwise, Philip H dot net is is my site where, you know, I have a bunch of I need to make, hard decisions because I have way too many things where you can follow me.
01;07;04;13 - 01;07;26;28
Unknown
From from Mastodon Twitter. I have a mailing list and whatnot. But, yeah, I take your pick, I will, I will, keep you updated. People can just follow you on all of those sites, so don't worry. I know what I have. For me, it's kind of hard to even, like, remember all of this is what I need to update it.
01;07;27;00 - 01;07;52;20
Unknown
Cool. Thanks. There was. This is fun. Awesome. Here. The next, next, episode for sure. Thanks so much for being here. Was a really fun episode to to record together. And thanks everybody else for listening and see you next time.