In short
Podcast Notes: Building an Indie Hit in Godot with Jay Baylis and Tom Coxon
Episode Overview
- Podcast Title: Software Engineering Daily
- Episode Title: Building an Indie Hit in Godot with Jay Baylis and Tom Coxon
- Description: This episode features discussions with Jay Baylis and Tom Coxon, the creators of *Cassette Beasts*, a turn-based monster-battling RPG developed using the open-source Godot Engine. The conversation covers game development, the unique mechanics of *Cassette Beasts*, and the challenges and advantages of using Godot.
Key Participants
- Jay Baylis: Art, writing, narrative, and animation for *Cassette Beasts*.
- Tom Coxon: Programming and lead on game design for *Cassette Beasts*.
- Joe Nash: Host; a developer and educator with experience in various tech companies.
Development Background
- Bitten Studio: The indie studio created by Jay and Tom, initially formed to work on side projects, including *Lenders Inception*.
- Collaboration: Jay contributed art to Tom's side project, leading to a partnership that resulted in *Cassette Beasts*.
Game Overview
- Cassette Beasts:
- A monster-collecting RPG inspired by Pokémon, featuring unique mechanics where players can record monsters onto cassette tapes and transform into them.
- The game also incorporates elements from other genres (e.g., Zelda), emphasizing character development over pet simulations.
Game Design Philosophy
- Genre Exploration:
- The creators aimed to explore the monster-collecting genre without fear of competing with giants like Pokémon, targeting underserved areas of the market.
- Focused on character development and player engagement rather than traditional pet simulation dynamics.
Unique Gameplay Mechanics
- Monster Recording and Transformation:
- Players can transform into monsters they record, allowing for character-driven narratives rather than just pet ownership.
- Elemental Interactions:
- Different elemental types and their interactions add depth to combat, evolving traditional mechanics found in games like Pokémon.
- Example: Glass Shards debuff and fire/water interactions enhance strategic complexity.
- Fusion System:
- Players can fuse monsters, creating a variety of combinations through a paper doll system.
- This approach allows for a vast range of unique monster designs while being manageable for a small team.
Technology and Engine Choice
- Godot Engine:
- Chose Godot for its simplicity and ease of use compared to other engines like Unreal.
- The decision was influenced by the need to streamline development and extend features easily.
- Custom Modifications:
- Developers made changes to the Godot engine to improve performance for their specific use case.
- Jay and Tom have contributed to the Godot community by sharing fixes and plugins.
Localization Challenges
- Translation Considerations:
- Careful thought went into the localization process, ensuring cultural context and meaning were retained across different languages.
- The game features numerous puns and cultural references that required creative translation.
Post-Launch Support and DLC
- Ongoing Development:
- Released multiple updates and DLCs, including free content and paid expansions.
- The success of the game and community support influenced the extent and nature of post-launch content.
- Balancing Future Projects:
- The developers consider how ongoing support for *Cassette Beasts* impacts the potential for future titles.
Mobile Porting
- Challenges with Mobile:
- Adapting UI for mobile devices proved to be the biggest technical challenge due to different player expectations and input methods.
- The team relied on the expertise of their publisher and porting partners to navigate these challenges effectively.
Future Directions
- Upcoming Projects:
- While they hinted at having ideas for future projects, details were not disclosed.
- The creators expressed excitement about continuing to engage with their community and explore new game ideas.
Conclusion Jay and Tom's discussion highlights the creative and technical processes behind developing *Cassette Beasts*. Their journey underscores the importance of understanding market dynamics, player expectations, and the balance between staying true to artistic vision while addressing commercial realities in game development.
Written by AI. May contain mistakes. Listen to the episode to check what was said.
Transcript
Automatic transcript. May contain errors.0:00Cassette Beasts is a turn-based monster battling RPG that lets players record creatures onto cassette tapes and transform into them during battle. The game was an indie hit and is also one of the most successful games built with the open-source Godot engine. Jay Bayliss and Tom Coxon are the creators of Cassette Beasts at Bitten Studio. They join the show with Joe Nash to talk about the development of their game. Joe Nash is a developer, educator, and award-winning community builder who has worked at companies including GitHub, Twilio, Unity, and PayPal. Joe got his start in software development by creating mods and running servers for Gary's mod.
0:38And game development remains his favorite way to experience and explore new technologies and concepts.
0:56Jay and Tom, welcome to the show. Thank you for joining me today. Hey, thanks for having us. Hi Joe, thanks for having us. so to kick off we've mentioned your creators of the game cassette beasts and you are an indie outfit of two folks so i think it'll be useful to start with covering your areas of concern and what you both do on the studio jay do you want to kick off yeah sure so we're a small team we're actually three full-time members now we were two for the majority of the development of cassette beasts i am not a technical man i do art and writing and narrative things and words and animation and all that.
1:30So I tend to handle the visual side of things. And I'm Tom. I tend to do the programming and take the lead on game design. But obviously, as a small team, our roles overlap quite often. Yeah, absolutely. I can imagine that. Any small company is, I imagine, if you've noticed a problem or find a thing, congratulations, it's now your thing to fix situation going on between the team, right? So how did you two start working together? So what was the genesis of Bit and Studio? What was your first collaboration? So Tom and I both worked at a game developer and Tom was working on a game called Lenders Inception which was kind of like a side passion project and at some point I kind of jumped in and was like hey do you want some art from this?
2:09This looks really cool, it looks fun and it kind of grew from there. Would you say that's right Tom? Yeah that was a part-time project for a long time and then in late 2019 we took that full time. We released it in 2020 while we were starting work on cassette beasts awesome so actually just briefly i guess on tech on that tom so cassette beast as we'll talk about is kind of a notable and standout title in the godot universe as being a big commercial hit on the godot engine one of the earlier ones was lenders inception already or did you decide to play with godot on that point or was that a different stack i played with a bunch of engines over the years lenders inception was actually a completely custom engine written in java so i made all my mistakes in that game and learned to do better for the next one i think making a custom engine some people enjoy it obviously but it was a mistake for us it really dragged the game out for years on end right yeah and i think that's very normal for a game that starts as a side project from what i've heard and good to exercise those demons early as you say get the temptation to build out of your system of course yeah this diving into Cassette Beast.
3:15So folks unfamiliar, Jay, can you briefly describe Cassette Beast for us? Yeah, Cassette Beast, it's a monster collecting, or I guess it's more accurate to say monster recording RPG in the kind of spirit of games like Pokemon, but there's lots of things mixed in there. You know, it's got some kind of Zelda open world elements. Yeah. And it's kind of this weird game about transforming into monsters using cassette players. And yeah. Yeah. Perfect. And what led you to create a game in this genre? Did you set out to create a game in the monster collecting genre or was it just that that became the best genre to represent the ideas you wanted to capture, if that makes sense?
3:52So, I mean, as Tom said, you know, we went full time in 2019 and starting a game studio isn't just like an artistic venture. It's a commercial and it's a venture in terms of like, okay, how do we make a business? So we had a lot of discussion and we sat down for a long time and we kind of discussed what's the intersection between what we're passionate about and also from the business side of things what you know markets might be underserved what genres maybe aren't being explored enough and we had a bunch of ideas for games we didn't jump immediately to cassette beasts but one thing we kept coming back to was this idea of like I think it's best way to frame it is like no one is afraid of making an FPS game because Call of duty is so big but everyone is afraid to make games about collecting monsters because pokemon is so big it was not necessarily a case of like let's clone this game you know people use games like clones or pokemon like it's more like there's a genre space in gaming that is really really popular pokemon is the most popular media entity on the planet and no one's really making games to explore like different things you can do in that space and i think if you've played cassette beasts you'll know actually it does its own things in a lot of different ways but it kind of comes back to this core element of like people there was like a really cool aspect of the core of that you know finding creatures and beasts and being able to kind of convert those encounters into part of your arsenal and then what kind of space can we explore with that so we kind of ended up coming back to this idea and being like okay what can our thing be how can we make it kind of its own thing how can we get stand out and a big thing was like okay if we're looking at Pokemon but you're looking at Digimon as well these games often go for this idea of being almost like fantastical pet simulators so we were like what if you took this genre but didn't try and compete in that pet sim space and took it in a very different direction one thing I think we found when we were playing around on developing Leonard's Inception is we really liked working on characters and kind of developing characters.
5:59So there's this idea of like, what can we do to emphasize character development in this genre space? And how do we make that intersect with the kind of thing we're talking about, you know, collecting monsters and stuff? And we came on this idea of like, well, okay, you can transform into the monsters. That means that you and the characters are center stage, you know, it's not pets. It's not a theoretical pet sim. The focus can stay on those characters and those humans and you can bond with them. and that's just kind of all snowballs from there you know i think once we kind of landed on that it all kind of fell into place in a lot of ways yeah there were several other genres that we were considering but cassette beast came together so quickly and it was so strong that it seemed silly to do anything else nice awesome yeah that's fascinating especially the point about how people talk about fps and quarter duty versus pokemon in this genre is really really interesting and yeah i really like that i think actually you expressed this in another interview but your approach of cassette beasts and that you know you becoming the collectible is like also just you spoke about how it got around some of like the trickier aspects of the genre in the past about you know just like capturing animals and making them like fight for stuff which i think is a really important aspect and obviously it's one of the enduring sources of memes for pokemon that weird like sordid history of it so i think your take on it is really clever and the rpg elements are really fantastic so you spoke a lot there about how you approached entering this space of a really representative standout in pokemon and like how you differentiate yourself from it in terms of the narrative and I guess the genre elements, the leading with the RPG and the relationships.
7:27One of the things I'm really interested in as well is how you've played with the systems. Because on the surface, if you're just first having a look at cassette piece, it's like, okay, there are monsters, there are types, there's turn-based battles, but you've taken what feels like you've kept enough of those systems that players of Pokemon and Digimon recognize what's going on, but then you've one-upped a lot of them in a lot of ways and it's pushed on those barriers. Can you talk about some of the systems in the game and how you play with those concepts? So one of the things I've got in mind here is the interactions between types.
7:54Like I think, was it the Glass Shards debuff example is one that I think is really interesting. It's like that type thing. I think also there's a similar one with like, is it with Fire and Water as well? Does something similar? That's kind of where I'm thinking. I'll say Fusions as well, but we'll come to Fusions in a second. Well, Jay and I were fans of Pokemon from a very young age. when we started working on Cassette Beast, we already had 20 years worth of ideas built up to use. Yeah, I mean, when you think about the elemental systems in games like Pokemon, they're meant to be kind of, it's an introduction RPG for younger players.
8:29It's meant to be kind of like a one-step system of, you know, if your opponent is water, then you use electric. It's kind of like a one-step strategy that's easy enough for kids to remember. And then the strategy kind of plays out in that way. if you remember this intersection of elements then it's pretty straightforward and you win the game that's just you have to do the correct one on your list but you know we were very much coming at this from a point of view of we might have an older audience you know an audience who's much more familiar with other rpgs as well and how do you take that core iconography of elements you know fire poison lightning and how do you put a spin on it that adds a layer of extra tactical complexity to keep things interesting and keep you feeling like you're learning new things.
9:12Obviously, as much as we like Pokemon, we didn't actually approach this game from point of view of starting with something that exists already and manipulating it from there and changing the design from there. We started from the base scratch, a blank slate of we've got these points of iconography. What interesting stuff can we do with that? And I think I remember talking to you, Tom, about games like Divinity Original Thin 2 and Genshin Impact that have these interesting like oh if you place the surface down then you can set fire to that surface and there's other games in the whole world of rpgs that do cool stuff with elements and i was like how can we bleed into those ideas and see what we can do in the turn-based combat space and i think it kind of evolved from that exploration awesome so yeah i mean it's kind of a similar thing one of the really interesting features which draws a lot of baffled reddit friends which i absolutely love is your monster fusion system so the idea that you've got these two partners on the screen and all the battles and they can combine to make one monster for a short period as far as i've at least seen in my limited exposure this works between every monster and how you have tens of thousands of combinations and any monster can combine with any other monster which from a asset perspective is an absolute nightmare so i imagine there's some degree of procedural generation going on in the system is that correct yeah yeah that's right we get some people ask us if the game uses ai to create these these fusions but it's a lot simpler than that actually they're basically just paper dolls.
10:32Jay makes body parts for each of the fusions, one set of body parts for each species in the game. And then the system takes some parts from one species and some parts from another species and combines them to make the fusion. What you get is a system where the output grows quadratically in relation to the amount of assets that we have to create, which is a pretty efficient way for us to generate content as a small indie team. Yeah, I mean, early on, going back to before when I was talking about the inception of Cassette Beasts there was this idea of like well we need to have a USP we need to have something that no one else in this space will do or beat us to or you know the big competitors can't do for whatever reason and this idea of fusion is very ingrained in kind of like monster design fan culture and Pokemon fan culture Digimon fan culture Persona you know the idea of like you could put these two guys together and they can fusion dance and make a brand new monster.
11:32Tom and I had worked with procedural systems. A Lenders Inception is an extended experiment with procedural systems. And we both find it very interesting to kind of explore and use projects to explore new ways to use procedural generation in interesting ways. And that was the kind of point in the game where we used procedural generation here. And then this paper doll system was advantageous to us because the pixel art presentation of the game made that viable. if we had gone for a higher fidelity 3D art approach. I don't know how viable it would have been, but I think our approach of the particular kind of art style and fidelity of our assets we were using just kind of lent itself well to being able to do it.
12:12It does mean you get a lot of horrible looking fusion monsters, but I consider that like a feature, not a bug. Yeah, that seems natural, right? Like that would happen. I mean, we've all seen, you guys are from the UK, you know what's going on with dogs over there at the moment. This is realistic, a realistic system to me. awesome see it i guess to get into the engine stuff so tom you mentioned you would you know for lems inception you started playing a bunch of engines and obviously for cassette beasts you did settle on godot was it godot 3.4 at the time i'm trying to remember what the time we started i think it was good at 3.1 but we've ended up on 3.5 cool awesome what led you to choose godot after that experimentation phase yeah so early on in cassette beast development we were experimenting with a few different engines.
12:55Unreal and Godot were the big ones, but I quickly grew to like Godot a lot more than Unreal. Godot is so straightforward and so simple in its concepts that I was able to learn how to use it in the amount of time it took to build Unreal Engine from source. So that's a big point in its favor. But there's a lot we can actually say here about what Godot does great. Obviously, Godot is very straightforward to extend the engine because the editor that you use to create the games is basically a Godot game itself. So all the skills and all the concepts you learn working on games you can also use to extend the engine and the editor.
13:28GD's script is probably one of my favorite features in the engine. I know a lot of C-Sharp developers like to turn up their nose at it, but C-Sharp was not designed for game development. It's built on top of garbage collection, which can cause pauses to happen at random points in the game's runtime. If your game is running at 60 frames per second, then you've got 16 milliseconds in each frame to do everything. And if a garbage collection pause comes along and takes 100 milliseconds, it's a big pause. It's a big issue. So game developers tend to jump through a lot of hoops when they're using C-sharp, like object pooling, things like that, to avoid allocations during a frame in the hopes to avoid a garbage collection pause.
14:08But I think if parts of your language are that hazardous that you have to avoid them, maybe you need to accept that it's the language itself. It is garbage in need of collection. Very well put. But I think that's also a really interesting point because I know that I saw a lot of that. When Godot got very popular in the wake of the Unity disaster a couple of years ago, obviously a lot of people moving from Unity were talking about C Sharp and like how good it is in Unity, not recognizing how much Unity had invested in tackling these language problems for their specific engine and that that's not just free work available to every other engine that uses it.
14:39So that's a very well-made point. So I'm sure you've got more points of why you chose Godot, but you mentioned something that I just want to come to briefly because it's something that you've spoken about in the past and things really interesting. So in your Godot showcase entry, you spoke about part of your early explanation was seeing how you could build plugins and tools for Godot. And as you said, you kind of get for free just by learning to use Godot. But it's like one of my favorite features of the engine is you can just throw this tag at the top of a script and now it's an engine script, which is really, really cool.
15:05What kind of plugins and tooling have you built or did you build for Godot in those early stages? What kind of internal tooling have you grown around the game as you've gone? Yeah, there are a lot of little tools that we've built. Probably the most important one we have is for localization support. So Godot has localization support built in. But in my opinion, localization is not just a checkbox that you can tick. You need to think really hard about to what extent you're going to support it. We've worked on games in the past and found that for really good translations, what you need is for your translation team to know the full context in which the string is going to be used.
15:40So they need to know things like who is speaking, if it's dialogue, what their gender is, what else is going to be on the screen at the same time. They need to know the explanations for jokes because jokes in the English language are not always obvious to non-native English speakers. So one of the things I did quite early on was build a custom CSV format for our translation files that allows us to associate a comment with every single string at the moment in time we add it into the game. And then an input plugin to support that. And it was a lot of work, but the translation team have repeatedly praised us for this, for including so much detail of all the strings.
16:14and i think it shows because players have also praised the game for the quality of its translations that's awesome very cool yeah i guess very important and just the nature of the genre aside just from the rpg elements and the text and the dialogue you've got all the move sets and the combat and i imagine all that kind of stuff is a nightmare for localization a lot of puns like a good third of the strings in the game are puns and we've had to kind of like write notes where we explain like this i'm trying to think of example like this monster is gin and tonic this This is called Gin and Tonic because it's like the drink gin and tonic.
16:45Yeah. Gin is like genie. It's a deeply British game. And I hadn't thought about that from a localization perspective before. And I think we were very much in this mindset of like, be liberal with translating these things into different jokes for different regions, which apparently is quite tough to be fair. We've had the feedback that it was quite challenging on that front, but I think it goes the extra mile. Yeah. Fantastic. I mean, this feels like we could just pause and think about it for ages, but like, have you had, so, you know, you've got that, you mentioned on the cultural context around jokes is important i know in some localizations they just don't even try to translate it they just find like a local humor equivalent and translate it into like they localize the culture not just the language have you had any examples where like a name has had to full-on change to something different because it just doesn't work outside of like in that language or is it be more or less faithful i mean every single monster has more or less an entirely different name for every single language cool and it's really fun i mean i don't like i don't really speak other languages but i know enough where you can kind of scroll through and see like southpaw who is a wolf who is a boxer is called like lupunch in like french in french it means like wolf and then punch so they've done wordplay that i can like recognize enough and i can be like oh that's maybe better than my original name actually and like it's very fun and kind of rewarding to see that it's interesting i'll write dialogue and then i'll see other writers essentially translators localizers are writers in their own sense and put their own spin on things and and it's interesting to me to imagine that there's a whole version of cassette beasts or multiple versions of the whole script that I will never appreciate because I don't speak those languages I know there's a few examples of like local cultural terminology and stuff adapted for characters that only works in that language versus a really British one you're a professional software engineer vibes won't cut it augment code is the only ai assistant built for real engineering teams it ingests your entire repo millions of lines tens of thousands of files so every suggestion lands in context and keeps you in flow where other tools stall augment code sprints unlike vibe coding tools augment code is built for shipping to production and you don't have to switch tooling.
18:58Keep using VS Code, JetBrains, Android Studio, or even Vim. Don't hire an AI for vibes. Get the agent that knows you and your code base best. Start your free trial at augmentcode.com. We're in an era where replayability of RPGs is such that people already replay them many times different endings. Now I'm just imagining the culture of replaying for different languages to get all of the localized puns. Truly, truly cursed in time-consuming territory. So to come back to the engine aspect. So when you were talking about learning Godot there, you said something which I think was very revealing, which is you learned Godot in the time it took to build Unreal from source, which is interesting because you mentioned building Godot from source and modifying Godot in your Godot showcase.
19:41And approaching one of the strengths of Godot for you being that it's fully open source, you can get in and patch things that weren't working for you. Can you talk about some of the areas that you ran into roadblocks with Godot and what kind of things you were getting into the guts and fixing yourself? Yeah. So being able to modify Godot's source code is probably one of its biggest strengths. And the roadblocks that we ran into that led us to have to modify the engine are not unique to Godot either. They basically boil down to performance and bugs. So to speak about performance a little bit, every software engineer has heard Donald Knuth's quote, the premature optimization is the root of all evil, right?
20:19That's because until you've built the thing and profiled it, you don't know where the hotspots are going to be. And any optimization you do before you know where those are can just be making things worse. Well, I think that you can make the argument that any optimization of a game engine is premature optimization because every game has its hot spots in different places. So engine developers do a lot of work to make sure that their optimizations are good for most cases. But every game at some point is going to hit some kind of pathological case where performance gets really bad. We ran into a few of those.
20:53Godot has this grid map node for placing meshes on a three-dimensional grid, a bit like a tile map but in 3D. And the grid map node has an optimization to improve draw call performance in most cases. But because of the way we'd carved our map up into smaller chunks, that optimization was just making draw call performance a lot worse. So one of the modifications I made to Godot to support our game was just to disable the optimization we got a big boost out of that of course that kind of change doesn't generalize to other games so we can't contribute that change back it would just make things worse for other people that's really interesting because you know you said there's a lot of things you do which are probably like specific to you but like that is one where and we'll come back to this because i want to talk to jay you mentioned grim apps i think on masterdon at some point in your asset pipeline so we'll come back to this topic and how you're using them but that is one where i can imagine another game building worlds similar to yours you know they're doing like a zelda as well and using 3d things like imagine them running into it and like it's so difficult because your approach that probably is really useful for someone but actually you can't just slam into the core engine you can't make like a ui for it like have you interacted with the godot team or any like contributors around any of the changes you've made and like spoken to them about whether they should be included or is this like calls you've made based on how niche your stuff is?
22:16Yeah, so I mentioned sometimes you run into bugs. Updates can introduce new bugs and we try to work around them where we can because forking the engine is quite expensive in terms of maintaining it. You have to keep it up to date with every update in the future. But sometimes if you can't work around an engine bug, you need to be able to either patch it yourself and fix it or apply a fix from someone else's development branch, right? In the past, we have, in a few cases, fixed the bug ourselves and contributed the change back to the engine. It's very easy to make the case that that helps everyone yeah absolutely just this whole process is so fascinating you having your own fork engine with all these different feature changes and then also juggling bugs and patches and like other developers doing similar things for their games is there a back channel in some way like folks were running on the godot engine you said merging in a bug fix with someone else's branch how what's the discoverability there i guess is what i'm asking like how are you finding other people using the engine and their patches and their bug fixes or is it just keeping an eye on the repo and the forks yeah i think because i on the issue tracker on the github repo for Godot.
23:15Most of the time when we come across a bug, somebody else has already created a PR for it and they've got their own development branch that we can pull. There have been a few cases when people have contacted me over Twitter or Mastodon and asked me how we did something and I'll quite happily just send out a patch. It's very cool. It's like an aspect of game development. I mean, you know, we've heard from other game devs on the show who are still maintaining games years into the future on an old version of Unity and them having to deal with kind of similar issues. But I think the open source nature of Godot and how actively it's in development and the different things it's being used for make this particular problem really interesting.
23:47On that note, so you're still on 3.5 and you've been actively developing the game through Godot making what was a fairly major transition to 4.0 and now beyond. How have you found, well, I mean, I guess the fact is open source and development is still concluding and 3.5 completely removes these problems, but you're finding it still easy to work with 3.5? Have you felt any chafing at all not being on the latest versions? 3.5 is still quite stable. Yeah, it's remarkably stable for a project that is just supported by a community. Awesome. That's great to hear. So we mentioned gridmaps. So Jay, to jump over to you.
24:21So you've spoken quite a bit about your asset pipeline, which is really cool because it's a very hot topic in Godotland at the moment with Blender building a game right now specifically to work on refining the asset pipelines and the process of getting assets into the game. Can you talk a little bit about how you approached asset creation and getting it into the game in the engine for Cassette Beasts? Sure. So I guess that the background of this is that I come from a background of pixel art and animation. I had very little 3D experience. I've never worked on a 3D game before Cassette Beasts. It is useful to clarify that Cassette Beasts is a 3D game.
24:57You know, you have these pixel art characters projected on billboards in a 3D environment and 3D rendering. So there's a lot to kind of learn. And early on, when Tom was showing me Godot and its features, and there's this feature called Grid Map, which essentially, as Tom stated, you place down things like a tile map, but in 3D. And this was a nice onboarding opportunity for me for 3D because I understand tile maps and I can create this grass tile and then a ramp tile and I just have to move up, add another axis to this. Their pipeline for Cassette Beasts for the longest time was terrible. I was using this piece of software called Cubicle, which is essentially like a voxel editor where you can kind of essentially build 3D pixel art.
25:41Because, again, I'm coming at things very much. I'm a pixel artist. And then, you know, I'd export those and sometimes I have to export to Blender and then figure out how Blender works. Very early on, I didn't fundamentally understand how like UV mapping works on a basic level. And I think the transition of the pipeline of my 3D work got better over time. early game assets versus assets later on. And we kind of had like a DLC update called Peer of the Unknown, which is kind of like a premium DLC. And the kind of way I've laid out like textures and things is very nice compared to early on, where eventually I just moved away entirely from using Cubicle.
26:17And then I got comfortable enough with Blender. But this idea of, you know, we create these little modules, these tiles, and then put it into kind of like a tile palette that you can then place down. And it became, it was a pretty straightforward, if not inefficient or very inefficient at the time kind of a way of handling terrain so when you see a big flat plane of grass for all of them that being one flat plane that's like 80 different meshes that are identical placed next to each other perfectly aligned i think the grid map and the kind of pixel art approach to characters was a really uniquely good opportunity for me to kind of off board from my kind of 2d game mindset into 3d and it just so happened to work really well with this game that was visually reminiscent of, you know, like Game Boy Advance RPGs, you know, that use those tile systems and use that blocky look to them.
27:08And it just so happened to fit the genre that we were working with. So it was kind of like very useful for me. It was a very useful confluence of what we were going for in terms of the commercial product and also what I needed to know and what I could start knowing and what I could learn from there. I can say now, happily, I do know how to UV edit a 3D model, which is, you know, we're all learning. Yeah, that's awesome. I mean, as a learning experience, it sounds very valuable, but it's also just really cool that they have this 3D analog of 2D tools, because I feel like that's frequently a frustration from like folks entering game dev who learn through 2D is that like a lot of the 2D engines feel very manageable and intuitive and usable.
27:47And then you go to 3D and suddenly it's like, oh my God, I need to know calculus, right? Like it's just like a real jump. Yeah, I think the grid map system is very particular. I don't think it would work with most kind of 3D games, but it just happened to be that what we were working with was very ideal for it. and then there's even like optimizations there where i i was thinking very 2d mindset of very small individual tiles as i said a plane of grass can be 80 different meshes for no reason but like if i was now you know starting again i would probably use like larger tiles that have more detail in those individual chunks and then kind of make it a bit larger and you know these are the things that you learn as you go awesome so before we move on to i guess some of the evolution of the game just a kind of final thing on in godot land so you can set me to spend out for a while i don't know if you're thinking of moving on to next title yet but is godot an engine you're going to stick with in future or are you going back to exploring your options and thinking about it tom any thoughts yeah we're continuing to use godot since the release of cassette piece i've been working on a few plugins for godot 4 i've contributed terrain 3d which is a 3d height map based terrain manipulation plugin for godot and i'm working on some internal tooling for like cutscenes and localization.
29:01Perfect. That's awesome. Yeah, Train3D is very cool. It's definitely a really exciting project. Awesome to hear you're contributing to it. That's fantastic. Building agentic AI apps isn't just about choosing the best LLM. Agents need short-term memory, long-term recall, and lightning-fast retrieval. Without it, you're left with clunky prototypes that never scale. You know Redis, the world's fastest caching solution? It turns out fast data is the key to good context, and good context is essential for fast, accurate memory. It's what makes AI agents actually work with your data. Redis for AI, the right infrastructure, the right tools, the only way to scale.
29:35Learn more at redis.io slash genai. So before we get into asking a big question about what is in the future, let's talk about the trail for AcceptBeast. I'm glad you mentioned your commercial considerations at the beginning, Jay, because I think this is really fascinating. With indie studios who have smash hits, It's the decision of like, hey, do we keep pumping out content or when do we move on? Right. And I think that's something that I'm interested with Cassette Beast. Like you've released a lot of DLC. You mentioned some. You've released some free updates like the Gauntlet, etc. Were those always planned or did that come about as a reaction to the success?
30:08So to an extent, we knew that some level of post support keeps the ball rolling. It keeps, you know, to get very commercial, keeps the title evergreen. And also because of our pipeline. I mean, we talked a lot about Godot, but I think one thing that needs to be emphasized is the ease of Godot and the ease of the tooling allows us to make like, this is like an RPG with full quest lines and like a big world map and 140 something monsters and like dozens of bosses. And that like, we can make that with what was predominantly two full-time developers purely because the tooling was so good. And because we didn't go too overboard with the kind of graphical fidelity, we picked something that was very much in our lane.
30:51and we knew that this kind of like okay we can create content pretty fast it would be beneficial to you know support the game to a certain extent i think there was an early on thought of okay how long we would support that would depend on how well it's done and we had ideas for like i think the gauntlet train was an early on idea from tom of like well if the game has enough legs we'll eventually get around to doing this but it's not guaranteed and things like the peer of the unknown DLC was very much a case of, okay, we need to maybe have an experiment in premium DLC as a company. That was a useful experience.
Read the full transcript
31:25So to an extent, we knew there would be some support. There definitely wouldn't have been this much support post-release. And we're still working on content as well. We haven't wrapped up on that front, but there's more because that needs to come. But I don't think we would have gone this far if we didn't have the kind of support and enthusiasm from kind of the community for sure. Cool. Yeah. So, I mean, And I guess that leads me to the other question of like, for some games, the support goes on forever, I should say Evergreen. Like, how do you balance the temptation to keep doing it versus like moving on to the new title?
31:54When the call gets too strong, it's time to go. Like, what are you two thinking about that? It's not zero sum. Yeah. So yeah, the way we see it, everything we do that the community appreciates and likes helps launch whatever we end up doing next. Cool. Yeah, that makes sense. That makes sense. Yeah, it must be, especially having such a, I don't know, having a title like Set We Send Your Belt, it must be exciting to know you've got that community in that player base they're anticipating and scary i also imagine you've got that community with you now onto your next journey it must be very exciting oh definitely definitely so one area and you've ported loads of consoles and we've spoken on the show with devs in the past about how what a nightmare that is and i know it's all kind of trickiness with ndas and various things talking about it but one of the things we recently spoke to brian buckley with caves of cudds about is porting to mobile because i was aware of more games porting to mobile recently blattro obviously being a big one when he spoke about caves of cud going to mobile i was like that is ui insanity and i had a similar feeling realizing that cassette beast had landed on mobile so i wanted to chat to you about how that came about and i guess my first question is like what were the challenges for adapting the game if any to the small screen to the touchscreen medium i think that the ui is definitely the biggest technical and design issue that mobile ports face you can pretty easily make a ui that works for both pc and console because The input method is similar.
33:11The feedback method is similar. The player is sitting a similar distance from a similar size screen. But you have to throw all that out the window when it comes to mobile. It's a completely different beast. And honestly, Jay and I are pretty much out of our comfort zone with mobile. Yeah, I mean, I'm not a mobile gamer. I don't know what people want out of mobile games, I'd expect. I think Tom and I both, I think one of our advantages is that we're very plugged into kind of what people want in games and what people find interesting in games. but that all goes out the window when it comes to mobile i don't want people's standards or expectations are for anything and that's where you know our publisher raw fury and their kind of porting partners have been really useful to step in and help the ones essentially doing the port work we can obviously give feedback but to an extent there's a lot of questions where it's the answer is i don't know what players expect i don't play things on my phone yeah that's really interesting so i guess i want to dig into this technically as well but i guess just while we're talking about player expectation one of the things that it was actually bilatero that got me thinking about this originally is really interesting is the pricing again we're very commercial this episode but the pricing is really what's going on with like ports to mobile pricing was really fascinating like i think the balatro is like straight up like a quarter of the price of its desktop edition although it's more or less feature complete and i feel like that's very true for cassette beast as well there's like quite a drop in price you think you mentioned on the faq that there are some multiplayer is missing in this kind of thing but like how do you think about pricing for mobile is that just a reality of the market and what it will take or is it based on feature parity?
34:37These are things where a publisher really stepped in and they have their thoughts and basically came to us and be like, we think based on our experience in the mobile space, this is the right price. It's ultimately a case of what is expected from that market. If everyone is doing it, maybe that means there's a reason for it. I almost have this in my head. It's like, well, the phone screen is smaller and a TV is bigger. So a TV is more game. So if it's on your TV, it's bigger game. So that's worth more money. I don't know what the philosophy is but ultimately there just is a culture of games on mobile being cheaper and maybe there's also a trade-off of okay it won't have the as fully featured they won't have the highest end games won't be able to run on mobile and with that again it's very much just we defer to people who have more experience because i have no idea i'm just so unlike untethered to the world of mobile games for sure i have a theory that it's a result of the market forces that apple and google have unintentionally created by the design of the stores they surface everything that's free or free to play or less than a dollar and anything that's premium has a real tough time competing with that right so what you tend to see is premium games at a discount that are basically ports of games that have already broken even because nothing else can break even yeah that's very interesting i do also think yeah the psychology of small screen versus big screen probably definitely plays i was it's interesting as well because you know like again going back to the definition of the monster catching genre and pokemon being standout a lot of people's nostalgia you know you spoke about adult gamers and people who've experienced genre before obviously so many people's experience of that genre was through game boys and game board colors and small screens have you seen like is that in any way influencing the success of your game on mobile you see like players driven to the small screen for like nostalgia reasons at all yeah i mean a lot of the stuff that we see tends to be existing players and being like oh i've been feeling like another run of this let's get it on mobile so it's hard to know what the experience is for a new player it's interesting isn't it it's also interesting when you bring up the comparison to like i was thinking this recently with a comparison with you know handheld games i think about this with like ds games used to cost 30 pounds which is more than what we sell cassette beasts for but in my head cassette beasts is like a ds game scale but when it was on a ds there was something that felt very premium about that that made it feel more justifiable being a slightly higher price point than we even considering inflation have indie games today yeah that just makes me think like to bring on your point tom about whether like just the nintendo combining their like premium console and their handheld line into one in the switch whether that was inevitable because the mobile market has taken the bottom out of like the handheld space and so they needed to move their handheld games into a premium console level to continue charging the prices for it Anyway, this is going way out of scope.
37:26On to, you know, I know you said that obviously a lot of this stuff happens with porting houses nowadays, but were you aware of any technical challenges in taking the game to the mobile platforms? Did you have to input on anything, any, you know, constraints that had to be dealt with or any changes to the engine, that kind of thing? It's very evident that porting to mobile is not necessarily the one click solution, especially when you kind of see people talking about porting when it comes to hobbyist spaces, you know, reading comments on people talking about porting from Unity and Godot, because porting to Nintendo Switch, you have the benchmark for what a Nintendo Switch's capability is.
37:59But iPhone is not iPhone. As it turns out, there's like a million iPhones. I wasn't aware of how many iPhones there were and they all have different specs and this all becomes very challenging and even more so for Android. You're not dealing with an audience that is super technically capable. So, I mean, if you've got an older PC and you could buy a game on Steam and it doesn't run. There's kind of an understanding there that it's your device is too weak. But I don't think there's a culture of like, because again, mobile games tend to be lower fidelity. They tend to be a bit simpler games. I don't know if there's a culture of like, this game is too good for my phone.
38:39There's an understanding of everything runs on my phone. It's a phone. So I think there's definitely like a cultural difference between the two audiences, which makes it kind of challenging to kind of figure out what people expect and how they will react to kind of technical limitations. That's very interesting. That feels like that would be an iOS and Android divide. Like I feel like Android people would be cognizant of the specs of their phone. Yeah, I mean, very possible. It's almost like theory crafting trying to figure out what the reaction is going to be and what people think about their own hardware.
39:07Fascinating. Cool. Well, as we get towards the end of our time, just a couple of last questions. So one of the things that's really fun, I guess, about monster catching games in the modern era with Twitch streaming is the various weird challenges that have popped up. Nuzlocke being quite famous. I know there are Nuzlocke runs for a set piece. There's now Iron Man is like the new thing for Pokemon. Are you aware of any like challenge rules that's been played in a set piece? Do you have favorite rules for any of them? Yeah, we actually have custom game modes that Tom influenced, which is, you know, once you've beaten the game, you can essentially launch a new game and you can change all sorts of traits about the game.
39:46We have like randomizing modes. we've got what the equivalent of a nuzlocke would be where once your monster tape breaks it's permanently broken and the randomizer modes you can kind of change movesets of monsters and also the elements and also where they spawn in the game so you can have like very very variable experience i find it more fun playing through a randomized run than playing through like the vanilla game mode because then one of the features in cassette beasts is that certain monsters when you record them you get world abilities the you know traversal abilities like a metroidvania but And then with randomizers, the starting area can give you like the end game wall climbability.
40:23And suddenly the whole game changes, which is really exciting and really fun to play through. I've seen videos of players playing through self-implosed challenges and then kind of doing battle reports of how their adventure went with those. It's very fun. I think the nature of the kind of elemental interactions as well makes these different versions of the game even more chaotic. because then suddenly you've got a monster that's ordinarily fire type, but now it's poison type. And how does that affect the chemistry and how you think about the chemistry? Also, like there are, you know, static encounters against certain boss characters.
40:56But if their types are now different, then the status effects that those static boss encounters are inflicting will be different. And then suddenly you might find a boss encounter much more challenging and much easier based on how this is played out. So it's kind of an anticipation of like, well, what's going to be screwed around with now when I run through the game a second time. Awesome. Yeah, I haven't got that far into the game yet to know about those modes. That's awesome. Great to hear. I love the, again, just your point of like entering the genre means you get to play with those things and make them first class parts of the game, which is very cool.
41:25So yeah, I guess that always leaves me with the worst question whenever I talk to any game dev. What's next for your studio and your endeavors? Well, I don't know what time this is going to be releasing. There may or may not be news at some point in time about what we're working on. We've got some cool stuff in the pipeline for Cassette piece. beyond that who can say you know i think we know what we'll eventually be moving on to but we're not public with that kind of stuff and we're happy to take our time with things if needs be perfect hopefully that wasn't too corporate an answer no no that's very fair a very fair answer to my needlessly trying to bait people into revealing information questions but yeah jay and thomas been a pleasure thank you so much for joining us today and chatting about your wonderful game and yeah thank you so much thanks for having us
42:11Thank you.
From the publisher
Cassette Beasts is a turn-based monster-battling RPG that lets players record creatures onto cassette tapes and transform into them during battle. The game was an indie hit, and is also one of the most successful games built with the open source Godot Engine. Jay Baylis and Tom Coxon are the creators of Cassette Beasts at
The post Building an Indie Hit in Godot with Jay Baylis and Tom Coxon appeared first on Software Engineering Daily.
