Podchaser Logo
Home
Developing Blasphemous II with David Erosa and Dani Márquez

Developing Blasphemous II with David Erosa and Dani Márquez

Released Wednesday, 3rd April 2024
Good episode? Give it some love!
Developing Blasphemous II with David Erosa and Dani Márquez

Developing Blasphemous II with David Erosa and Dani Márquez

Developing Blasphemous II with David Erosa and Dani Márquez

Developing Blasphemous II with David Erosa and Dani Márquez

Wednesday, 3rd April 2024
Good episode? Give it some love!
Rate Episode

Episode Transcript

Transcripts are displayed as originally observed. Some content, including advertisements may have changed.

Use Ctrl + F to search

0:00

Blasphemous and Blasphemous 2 are

0:02

Metroidvania action-adventure games developed by the

0:04

Spanish studio The Game Kitchen. The

0:08

games have a stunning, distinctive pixel

0:10

art style and atmospheric world which

0:12

is inspired by Spanish folklore and

0:14

religious themes. They are known

0:16

for their challenging combat and intricate level design.

0:19

David Arroza is the lead producer

0:21

and Danny Marquez is a senior

0:24

programmer on Blasphemous David

0:26

and Danny join the show today

0:28

to talk about designing the game

0:30

systems, the game's development framework, engineering

0:33

character movement, console optimizations, and more.

0:35

Joe Nash is a developer,

0:37

educator, and award-winning community builder

0:40

who has worked at companies

0:42

including GitHub, Twilio, Unity, and

0:44

PayPal. Joe got his start

0:46

in software development by creating mods and running

0:48

servers for Gary's mod. And

0:50

game development remains his favorite way to experience

0:52

and explore new technologies and concepts. Welcome

1:07

to Software Engineering Daily. I'm your host for

1:09

today's episode, Joe Nash, and today I'm joined

1:11

by David Arroza and Daniel Marquez of

1:13

The Game Kitchen, creators of Blasphemous and its

1:16

recent sequel, Blasphemous 2. David

1:18

and Daniel, welcome to the show. Thank you for joining

1:20

me today. Hi. Thank

1:22

you. David. I

1:26

am the producer for Blasphemous 2.

1:29

With us is Danny. Danny.

1:32

Yeah. I'm Daniel. Danny.

1:35

I'm one of the programmers of the game. Awesome. Thank

1:37

you for putting out your job titles as well. Very helpful and

1:39

very excited to talk to you today about Blasphemous 2, which I've

1:42

been playing quite a lot of in the lead up to this.

1:44

So I guess to kick us off, you know, you mentioned

1:47

your roles there. We've got a producer and a programmer. Can

1:49

you talk a little bit about what it is you do

1:51

at The Game Kitchen and also on Blasphemous? Well,

1:54

I always joke by describing my

1:56

job as I Try

1:59

to prevent people. The ball from.

2:01

You. Know. Tearing. Each.

2:03

Other about. The

2:06

police or Raleigh's trying to

2:08

get in sync every of

2:10

the different aspects that are

2:12

involved in game development so

2:14

you have to know a

2:16

little bit about programming. A

2:18

little bit about our tiny

2:21

may show audio to the

2:23

very non off how all

2:25

these different areas are related.

2:27

during the development of a game. And

2:30

the dependencies that are. Involved.

2:33

And to get to agreements

2:36

with our publisher in order

2:38

to keep everyone happy. About

2:40

the progress of the game. So.

2:43

Let's. Say that it's my

2:45

fault. better angle differ. Everything

2:48

that is sense really working.

2:50

That's mine. Responsibility.

2:53

Survey. Relevancy with Les mis your the

2:55

tennis and once had a whole seat

2:58

while I was on the premises for

3:00

a blessing was one that was Modi

3:02

see Oh please the court and Ceo

3:04

and director of to to the of

3:06

I did the troll for blessings to.

3:09

Awesome! And. Danny urls the

3:11

program yeah well as a programmer

3:14

race a wide variety else. Stuff

3:16

but mainly in this game.

3:19

I was responsible for Sistema.

3:22

Let's say architecture. Yeah we

3:24

know we also rendering the

3:26

stuff too, but mainly systems

3:29

and architects of. Also

3:31

has launched into that sucks you haven't

3:33

played for the games, can introduce bus

3:35

miss to toss and I guess the

3:37

wider world of blasphemous as I would

3:39

be so. Little. Blossom is.

3:42

the second game is so

3:44

much we've been yeah game

3:46

the first one was more

3:48

on actual performance some people

3:50

call it ah souls like

3:52

game that wasn't really the

3:54

original intention but you know

3:56

people gave it's that description

3:58

but blossoms do pure

4:01

metroidvania game that

4:03

is based on a

4:05

lot of this Spanish culture.

4:08

It's a dark

4:10

fantasy inspired by Spanish

4:13

painting, architecture, or

4:16

religion. In spare, we

4:18

try to avoid direct, you know,

4:21

direct references to any kind

4:23

of religion, but the inspiration

4:25

is in there. Awesome. Yeah, I

4:27

have to confess, I didn't know about a

4:29

lot of the associated iconography before I played

4:31

the game. And when you know, while I

4:33

was like looking at other interviews about the

4:35

game, and Levi saw you comment on Spanish

4:37

Holy Week and another one, and I looked

4:39

at the images in Spanish Holy Week, I

4:41

was just like, Oh, okay, I get it

4:44

now. I understand. I understand the aesthetic vibe.

4:46

I'd highly friendly listeners haven't seen it. Definitely

4:48

look it up. Definitely.

4:50

So I guess on to the implementation of the game. What

4:53

is Thomas to built in what we talking in terms

4:55

of engine and technologies? Well,

4:58

it's built upon Unity engine.

5:01

We are using pretty okay,

5:03

some plugins here and there, but

5:05

almost everything is with the bias

5:08

from scratch in unity. Yeah,

5:11

that's we told

5:13

from zero. Okay, we didn't

5:15

reuse anything from the first part. I

5:18

had to say I was in on the first

5:20

last month. So we

5:22

build this from the ground up upon

5:24

unity. Awesome. Yeah, I mean, that was

5:26

one of the areas I was really interested in that as

5:28

you approach a sequel, you know,

5:31

especially when there's a lot of shared aesthetic,

5:33

it's still you know, they're to decide to call the

5:35

platform and etc. How you think about code reuse? How

5:37

you think about, hey, are we building on the previous

5:39

game? Is it starting scratch? What was that process like

5:41

with going from last month's one to two? What

5:44

I have to say, like, just because I

5:47

wasn't there on the first one, I

5:50

can answer really with much,

5:52

you know, I

5:55

don't know the truth or the correct answer,

5:57

but this one from we

5:59

are making I'm sure

6:01

this one is reusable. Okay.

6:04

So we didn't make the same mistake again.

6:07

I know the reason because I

6:09

was there during the development

6:11

of the three DLCs. When

6:14

we made the decision to

6:16

start the sequel, one

6:18

of the discussions was, of course, what do

6:20

we do? Do we reuse

6:22

the old framework that we

6:24

built for the first game? Or

6:28

should we start from scratch?

6:30

And this is a really

6:32

tricky decision because, of

6:34

course, on one hand, you have

6:37

the whole game already built. Most

6:40

people will think that this is just a

6:42

matter of, let's say, switching assets. But

6:45

the harsh truth is that we

6:47

wanted to explore many design

6:49

paths that would

6:52

be maybe not impossible but

6:55

really difficult to implement

6:57

using the old framework. For

7:00

example, we only had one weapon in

7:02

Blood famous one, and we have three

7:04

of those in the sequel. And that's

7:06

something that I find I

7:09

can even start imagining how would

7:11

that be implemented. Also,

7:14

there were many really

7:16

important things for the

7:18

gameplay feeling, mainly the

7:21

controller of the character, that

7:23

were not great in Blood famous

7:25

one. When the game was

7:27

released, we are aware that it could

7:30

be really improved and the controller was

7:32

improved for the DLCs. But

7:35

we knew we could do

7:37

that better. But the

7:39

only way to do it was to start

7:41

from scratch. This is

7:43

something that we are asked about quite

7:46

frequently. Why did you start

7:48

a new project from scratch instead

7:50

of reusing Blood famous code? It's

7:53

something that we can't really recommend

7:55

to everyone. It's a

7:58

risky decision. And

8:01

we can guarantee that

8:03

everyone would success in

8:06

making this. So it's not something that we

8:08

would recommend. We took the

8:10

risk and it turned out okay,

8:14

but it could not

8:16

have been this way. Yeah, it's very interesting. I

8:18

think a lot of folks would

8:21

be surprised to hear that like adding extra weapons is such

8:23

a huge constraint. But I guess if you've got a design

8:25

of a game that's, you know, not assuming there's any

8:27

reason to switch weapons from the start, it's ready by

8:29

10. As

8:36

a listener of Software Engineering Daily, you

8:39

understand the impact of generative AI. On

8:42

the podcast, we've covered many exciting aspects

8:44

of gen AI technologies, as well as

8:46

the new vulnerabilities and risks they bring.

8:49

HackerOne's AI Red teaming addresses the

8:51

novel challenges of AI safety and

8:53

security for businesses launching new AI

8:56

deployments. Their approach involves stress

8:58

testing AI models and deployments to make

9:00

sure they can't be tricked into providing

9:03

information beyond their intended use, and that

9:05

security flaws can't be exploited to access

9:07

confidential data or systems. Within

9:09

the HackerOne community, over 750

9:12

active hackers specialize in prompt hacking

9:14

and other AI security and safety

9:16

testing. In a single recent engagement,

9:18

a team of 18 HackerOne hackers

9:21

quickly identified 26 valid

9:23

findings within the initial 24 hours, and

9:26

accumulated over 100 valid findings

9:29

in the two-week engagement. HackerOne

9:31

offers strategic flexibility, rapid deployment,

9:34

and a hybrid talent strategy.

9:36

Learn more at hackerone.com/AI. That's

9:39

hackerone.com/AI.

9:50

I want to follow up on something that

9:52

Danny said, and to your last point there

9:54

that you wouldn't recommend starting Code from Scratch.

9:57

Danny, you mentioned that Blasphemous 2 has been

9:59

built to... be reusable into the future. Can

10:01

you talk a little bit about some of the ways that

10:03

that's happened? Okay, let's say

10:05

we build the features around,

10:09

how can I say, let's use

10:11

the term that Unity make

10:13

it trendy, like the data

10:15

oriented dots technology, something like

10:17

that, which you

10:20

said in our framework, it's

10:22

okay, don't take me like

10:25

expert, but it's like an array of

10:28

stuff. Okay, and we built

10:30

our engine around

10:32

modules. Okay, let's say the managers of

10:34

system, but just manage

10:36

stuff. Okay, and you let's

10:39

say you just have to add or remove

10:41

modules in order to

10:43

implement a feature this way, for example, let's

10:45

say some basic example.

10:49

And say you want platforms that

10:51

when the player stand on it on

10:53

them, they dissolve,

10:55

they collapse, we build this

10:58

module, okay, that's the component

11:00

of that

11:02

when the player stand still, that

11:04

will disappear. Okay, so we want

11:06

to remove it, just we

11:09

don't our, let's say config table,

11:11

we remove that module. And

11:14

nothing is executed. So

11:16

that's our first stepping

11:19

stone. Let's say like, this

11:21

way, with that in

11:24

mind, build all

11:26

the features, okay, so we can

11:28

build features that in the

11:30

end, they are easy to remove. Okay,

11:34

maybe we made a little harder to implement.

11:36

But then it's just a

11:38

tool, okay, I don't want this feature

11:40

anymore. So remove it from the core

11:42

of the game. So

11:44

that's one of the basis

11:47

on how we build the

11:50

framework. Okay, awesome. Yeah, we

11:52

could say that plus one was

11:54

like monolithic kernel show, plus two

11:56

is more modular. Okay, yeah, I'm

11:58

more like I know. that's

12:01

oriented like, okay, you got

12:03

a system, you got components, and the

12:06

system will be internally implemented

12:10

how hard that you want, but it's

12:12

like an array of components. So then

12:14

you have the game is nothing more,

12:16

our logic engine, our logic

12:19

game is nothing more than a for loop with

12:22

a deterministic order of modules,

12:24

okay, that platforms that

12:27

disappear, okay, player movements, input,

12:30

reading input, et cetera, et cetera, awesome.

12:40

Let's face it, no one likes writing

12:42

or maintaining documentation, but when you start

12:44

a technical project or pick up a

12:46

new task, missing information can cost you

12:48

valuable time. Gitbook is a technical knowledge

12:50

platform that fills that information gap, making

12:52

it easy for your team to capture,

12:54

maintain, and find information from a single

12:56

source of truth. Here's a couple of

12:58

examples. With Git Sync, you can set

13:00

up a two-way sync between your repo

13:02

and Gitbook, so you can turn markdown

13:04

files into awesome user-friendly docs. And if

13:06

you make a change in your code

13:08

base or a technical writer updates the

13:10

docs in Gitbook, the edits sync between the

13:12

two automatically. Or what about when you need

13:14

to find something in your knowledge base? Forget

13:16

about searching, just ask Gitbook AI, you'll get

13:19

a neat summarized answer sourced directly from your

13:21

docs. Those are just a few examples of

13:23

what Gitbook can do, but it has plenty

13:25

more tricks up its sleeve. So why not

13:27

give it a try? Head to gitbook.com to

13:30

find out more. So

13:39

it's been a little while, I don't think I've touched

13:41

Unity properly since 2016, but

13:43

it sounds to me, the Unity.sync sounds to

13:45

me like an entity component system, is that

13:47

correct? This is everything from the VCS? Awesome,

13:50

perfect. I understand, awesome. That's great. So

13:53

with that in mind, I guess like when you're thinking

13:56

about we want this game to be reusable, and this might be

13:58

a question that I'm not allowed to ask, but is that... just

14:00

for future DLCs or are you talking like

14:02

other games entirely outside the blasphemous universe? Is

14:04

that or is it like you know we

14:06

just want to make sure we do another

14:08

blasphemous we're not writing from scratch without committing

14:11

to doing another blasphemous. That would be the

14:13

ideal situation. But

14:15

theoretically in other games too in

14:17

fact some modules are are

14:20

being reused in our prototypes. Awesome

14:23

very cool. So during that David

14:25

you mentioned the movement which was one of the

14:27

things that like when you look at you know

14:29

blasphemous players talking about blasphemous 2 certain people are

14:31

talking about the control and the movement being like

14:33

super improved. You said that was you know a

14:35

bit of a complicated process. Can you talk a

14:37

little bit about what the problems were with like

14:39

the control in blasphemous 1 and how you overcome

14:42

those for 2? I'm here

14:44

I about the same situation that

14:47

Danny I wasn't doing the development of

14:49

blasphemous 1. I was one of the backers

14:52

of the Kickstarter and I already knew that. That

14:54

is awesome that is a journey. Yeah

14:56

no we were friends we knew each

14:59

other I already knew Danny as well

15:01

on that time but I've heard about

15:04

that and I had to deal with

15:06

the code during the DLCs. So

15:09

the reason is that blasphemous

15:11

was the first platformer

15:14

game that was made in the

15:16

game kitchen. The previous game the last

15:18

door is a point and

15:20

click adventure game which has nothing to do

15:23

with this kind of games. So

15:25

this code was written by

15:27

Paco who I hope doesn't

15:30

listen to this but

15:32

he's the one that tells this story.

15:35

So it was made you

15:38

know like they could it's not something

15:40

that they had experience with it was

15:42

the first game that Paco made so

15:44

that was the best effort that

15:47

could be put into the

15:49

game with the resources that

15:51

they had which were not

15:53

many you know. I'm money

15:57

even having a Kickstarter that was

15:59

successful. It's not as

16:02

much money as people think. Money

16:04

flies when you talk about

16:06

game development. It's

16:09

something that we really

16:11

wanted to improve in the sense that,

16:13

hey, now we know what we want

16:16

to do with the controller. And

16:18

I think that we could, Danny,

16:21

correct me with this, but I think

16:23

that we got even a little bit

16:25

obsessed with the controller or the character.

16:28

I can do it a little trick

16:31

if I hope I try my best

16:33

again with the language where the character

16:35

controller can, let's say, something of

16:37

its basic implementation is

16:39

the character with the controller, obviously.

16:42

The character is like

16:44

the physical appearance, the

16:46

locomotion and the animation support, that's

16:48

the character. Then you've got the

16:51

controller, that is the

16:53

inputs, and the logic

16:55

you do with that input and with

16:58

the queries from the locomotion and from

17:00

the chart. So we

17:03

wanted to improve

17:05

this a little. As I said,

17:08

let's go

17:10

in a little deeper and say, okay, character

17:13

controller, not the character,

17:15

not the character, just this,

17:17

another module. Let's say locomotion,

17:20

say animation, inputs, say

17:23

the logic you do with that thing. And

17:26

then that logic we

17:28

divided with something we

17:30

call abilities and

17:32

these abilities are nothing more than

17:34

states that can

17:37

be executed concurrently or

17:39

exclusively. So we got

17:41

what I call, I

17:44

think I didn't invent

17:46

it, like hierarchy, finite,

17:48

concurrent state machine. Okay.

17:52

The controller itself, what

17:54

it does is manage

17:58

these abilities. Like,

18:01

for example, jump,

18:03

when you jump, you cannot

18:05

crouch. When

18:08

the ability of jumping

18:10

is executed, it blocks

18:13

the ability to jump. But,

18:16

for example, you can

18:18

attack, so that can be

18:20

executed concurrently along with

18:22

the jump. This

18:24

way, you've got kind

18:26

of flexibility. You can

18:29

scale and match the complexity of the

18:31

controls, because then

18:34

inside each ability, on

18:36

each stage, you can implement it as

18:39

a stable chain to say so. That's why

18:42

it's hierarchical. But inside that

18:44

ability, you can do more or less

18:47

whatever you want in order to do

18:50

the behavior or make the character

18:52

do what you want. So

18:55

we've got the inputs,

18:57

the locomotion, the animation part,

19:00

and the abilities. And just

19:03

our control, just manage,

19:06

then you

19:08

can execute right

19:11

now, but you can interrupt this

19:13

one with this ability, and

19:15

things like that. So

19:18

with that approach, I think we

19:20

made something that

19:23

works pretty well. Yeah. Much

19:26

better. In Blasphemy 1, for

19:28

example, I remember the ladder climbing

19:31

ability. For trying to find

19:33

a book on the ladder

19:35

climbing, you had to check on

19:37

three or four different places, including

19:39

the animator state matching, which

19:43

was a nightmare, because I

19:45

think that Paco did, but

19:48

it was almost impossible for

19:50

anyone that was in Paco to try

19:52

to deal with the controller issues. Now,

19:56

with the architecture that Danny

19:58

and the rest of the team made. It's

20:01

way more easy. I

20:04

was going to say to fix issues, but

20:07

there are no issues. WorkOS

20:17

is a modern identity platform built for

20:20

B2B SaaS. It provides

20:22

seamless APIs for authentication, user identity,

20:24

and complex enterprise features like SSO

20:26

and SCIM provisioning. It's a drop-in

20:28

replacement for Auth0 and supports up

20:31

to 1 million monthly active users

20:33

for free. It's perfect for B2B

20:35

SaaS companies frustrated with high costs,

20:37

opaque pricing, and lack of enterprise

20:40

capabilities supported by legacy Auth vendors.

20:42

The APIs are flexible and easy

20:44

to use, designed to provide an

20:46

effortless experience from your first user

20:48

all the way to your largest enterprise

20:51

customer. Today, hundreds of high-growth scaleups are

20:53

already powered by WorkOS, including ones you

20:55

probably know, like Vercel, Webflow, and Loom.

20:58

Check out workos.com/SED to

21:00

learn more. Thank

21:58

you. that

22:01

game because it's really

22:03

cool how the interruptions of

22:06

each attack are done. And,

22:09

excuse me, I wanted that

22:11

kind of flexibility that, okay,

22:14

you can interrupt this ability. For example,

22:16

the dash, you can, from this frame

22:18

to this frame, you can interrupt that

22:20

with the jump. Or you

22:22

can interrupt this with this attack. So

22:25

you can do, I don't

22:27

know the, that I try

22:29

to do, you know, the, like

22:32

the, the lunch, lunch, lunch, and things

22:34

like that. We

22:37

made that, okay, we built a

22:40

bunch of tools around the frames,

22:43

like the heat frames or the

22:45

cancellation frames. That

22:48

was part of the main

22:51

objective. That's awesome. Yeah, I started

22:53

with the big mace, Verdicto. And

22:56

then the first weapon I unlocked was

22:58

the pair of rapiers. And it really suddenly

23:00

felt like I went from like, oh, you

23:02

know, I'm just going around smashing stuff. And

23:04

that's a relatively simple to like, oh, suddenly

23:07

I need to be caring about interrupts and,

23:09

you know, doing fancy tricks with when I

23:11

pull off different attacks and dashes and lunges.

23:13

It was a really like striking, striking gameplay

23:15

transition, which actually, I guess, do you want

23:18

to introduce the three weapons and how they

23:20

influence the gameplay, whichever one works? Something

23:23

that we knew for sure, we had

23:25

a lot of, you know,

23:27

doubts about what we want

23:29

to do with the sequel, but something

23:32

that we knew for sure was about

23:34

having multiplayer weapons. We

23:36

weren't sure how many of

23:38

those, but that is

23:40

something that we definitely wanted to

23:42

explore. And also

23:44

the community have asked about that

23:47

a few times. Hey, it would

23:49

be cool if we could use different weapons. And

23:52

it was really hard trying to do

23:54

something that could compare to

23:57

the weapon of the first game because

23:59

that's where. mea culpa was

24:01

kind of iconic to the game. So

24:04

we had to try to

24:07

find something that matches that

24:09

sense of wonder of the

24:12

first weapon. And that's

24:14

where the answer we,

24:16

you know, code names for the weapons

24:18

and the elements of the game are

24:21

stuck in our head. And yeah, I

24:23

have to think a lot about the

24:25

real, you know, the public names

24:27

of the weapons. Is that

24:29

the same thing? The single source

24:32

that's the pair

24:34

of rapiers. We

24:37

call rosary blade is the

24:39

internal name for the rosary

24:44

blade. Yeah. Awesome. We

24:46

have a lot of game development is full

24:48

of silly

24:52

names. Yeah. I don't

24:54

see this sometimes. So

24:57

that weapon is kind of

25:00

like that causing of the mea culpa

25:03

because they really

25:05

share the move set. So

25:08

there we had the, let's

25:10

say, mea culpa. But

25:13

then we wanted to have

25:15

more variety of gameplay.

25:17

So that means we need

25:20

something really powerful, but

25:22

slow. So you have to

25:24

really commit when you decide to attack

25:26

with it. That's the, ah,

25:29

the sensor. That's the

25:31

rosary blade. Okay. So the one big sword, the rosary blade,

25:46

is the replacement for mea

25:48

culpa. Okay. Yeah. Yeah. It's

25:51

really embarrassing when you come

25:54

to these interviews and you don't know

25:56

the real name of the stuff in

25:58

your game. or as

26:00

a big fan of name driven development, I'm

26:02

really enjoying hearing the internal code names and

26:04

picturing how they came about. But

26:06

sometimes people ask us about something and

26:08

we are like, I don't know what

26:10

you're talking about. So yeah,

26:14

I forgot the name again.

26:16

The sensor is really heavy

26:18

and it punches with a

26:21

lot of power and it's really powerful

26:23

and it has this spinning

26:25

that acts that feel

26:28

really nicely, but it's

26:30

kind of slow. So you have to be careful

26:32

when you use it because once you

26:34

commit to attacking with it, you

26:37

are, we say that you are

26:39

sold to the enemy. You are

26:41

at his mercy. On

26:43

the other side, we have the pair of

26:46

repairs, which are which is

26:50

blazing fast, but deals

26:53

a little bit less damage.

26:56

And that's, you know, the three

26:58

approaches that we wanted to try

27:01

with the three weapons. We

27:03

find the three is a proper amount of

27:05

weapons to have in this kind of game.

27:08

We could talk during

27:10

hours about the weapon

27:13

switching feature. Yeah,

27:16

that was the first moment when I realized

27:18

how quick it wants to change weapon and

27:20

how you were expected to change in midair

27:22

to continue moving. For example, that was the

27:24

moment where I was like, oh, the skill

27:26

ceiling on this game is so much higher

27:28

than I had appreciated so far. Like it

27:30

suddenly feels very, yeah, like you have to

27:32

understand a lot. The mechanics for

27:34

changing the weapon, I think, correct

27:36

me, Danny, was it four

27:39

or five iterations of

27:41

the weapon exchange? I

27:44

don't remember, but I have to say that the difficult

27:47

part wasn't the technical,

27:50

it's like the feeling was

27:53

more like, okay, that doesn't feel

27:56

great. Let's try another thing. And

27:58

then another thing. and let's try

28:01

stopping the game for, you know,

28:04

half a second or let's slow

28:06

down time. Let's pop up this

28:10

wheel, this selection. I

28:13

guess just to give an example for listeners who

28:15

haven't played, so like a case where this might

28:18

come in, for example, the pair of rapiers, you

28:20

can use those to ride these like currents of

28:22

light. And then at the end of that, there

28:24

might be a bell you have to smash with

28:26

the sensor. So you have to, while you're mid-air,

28:29

change from the rapiers to the mace really quickly

28:31

after having done this jump. So I can see

28:33

why you'd be experimenting with, you know, delays or

28:35

wheels, et cetera. That's really interesting. Yeah, but

28:38

that introduce, you know, for

28:40

example, slowing down time introduce the problem

28:42

of, hey, people can

28:44

use these two-bit bosses way

28:47

easier that we intended because they

28:49

can slow down time and have

28:52

time to dodge projectiles or

28:54

to think about what to

28:56

do. So this

28:59

was maybe one

29:01

of the most challenging aspects

29:04

of the game, one of

29:07

the most not. We'll

29:09

come back to what the most was, but I

29:11

guess one, while we're on the weapons, one thing

29:14

that I think is really interesting, you know, you

29:16

described the games of Metroidvania. So, you know, this

29:18

idea of gaining equipment and abilities to unlock new

29:20

areas, but you do that through the weapons as

29:22

well. They're not just like, hey, I've got weapon

29:24

in my inventory. I have a new style of

29:26

tack. They're also your navigation ability, your obstacle clearing

29:29

ability. And then you can choose any of them

29:31

to start with. So like that just seems like

29:33

a whole heap of design problems, like the layout

29:35

of the world, which areas can people do

29:37

first? What order do they get the weapons in?

29:39

How did that decision to give the players that

29:42

much flexibility came up, come about? And how on

29:44

earth did you start dealing with that? That's

29:46

one of those situations in which

29:50

maybe you make the decision before knowing

29:53

the consequences. Truth

29:55

is that we knew what we

29:58

were assuming when we decided to

30:00

play. give players that selection

30:02

of weapons. It

30:05

was quite a challenge for the whole

30:07

team and design because

30:10

they had to take into account that

30:12

players could go three

30:14

or four different bosses when they

30:16

started playing the game. So you have to be

30:18

able to traverse the world with any

30:21

of the weapons. And you have

30:23

to be able to beat the

30:25

three first bosses with any of

30:27

the weapons. It was an interesting

30:29

challenge, but I think

30:31

that it was worth it. Yeah,

30:34

I would definitely say so. Yeah, it's one of those things where

30:36

as you're playing a game and you realize kind of what is

30:39

happening and how things

30:41

would play out if you restarted the game, it was

30:43

one of those elements where I was like, oh, this

30:46

is very interesting. So you mentioned that the weapons weren't

30:48

the hardest technical challenge you faced, which I have

30:50

to ask, what was the hardest challenge? Don't

30:53

get me wrong, but we are doing a

30:55

little indie game. We are not doing a

30:57

higher AA game. So just just take it

30:59

with a grain of salt. Maybe

31:02

the one of the things I found difficult

31:07

was we weren't in

31:09

charge of the port, but Switch

31:13

has some memory

31:15

limitations. Our

31:18

artists tend to use

31:21

really large textures.

31:23

So that was a

31:25

little challenge. And

31:28

also remember

31:31

that 5.6 weren't as smooth as we wanted, but

31:38

that was not in

31:40

Switch, that a little, but

31:43

it was just with simple optimizations and level

31:45

of detail with 5.6. That

31:47

was more than, okay, but in

31:51

PlayStation 4, that

31:54

was really interesting. Truth be

31:56

told, I didn't know how

31:58

much optimization to do.

32:02

Luckily, one of the guys

32:05

from the 14 team got an answer

32:07

from Unity, which I

32:10

don't know how it works

32:14

because it was like, use

32:16

that instead, move the 5.6 thread

32:20

on a different thread. Because

32:22

they were facing with the issue of having

32:25

zones of the game which

32:27

were running at 60FPS

32:30

on the Switch that

32:32

dropped to 40 on the PS4. Wow,

32:35

that's not the order round I would have expected, yeah. That

32:39

was our reaction. We were, you

32:41

know, the Xbox One and PS4 version

32:43

were released a couple of

32:46

months after the release of the game and

32:48

we were pretty confident about

32:50

the performance of the game on

32:52

those platforms. But when the

32:55

producer of the console port told

32:57

me, hey, we are hitting a severe

33:00

raindrop on many zones

33:03

of the game on PS4, I thought that

33:06

he was joking, you know. Ah,

33:09

this is a console programmer

33:11

joke that he's making fun of

33:13

me. But no, he showed

33:15

me the benchmarks of the different zones.

33:17

It was true. There was a huge

33:19

drop in performance on PS4. And

33:22

when you don't know the

33:25

reason, it's something that when I

33:27

read it, I was like, I

33:30

have no idea. I don't know how

33:32

much or how, I

33:34

don't know what to do in order to help them. It

33:37

turned out to be, as you said, something

33:39

from the internals of

33:42

Unity, how it managed different threads or

33:44

something like that. I

33:46

can't do any less retest or

33:48

I can't do any

33:50

less use of the physics.

33:54

We implemented like, okay, it was very basic,

33:56

but it was a level of detail. Okay.

33:58

When the enemies are not on

34:01

screen. Like they likely

34:04

pop it just either or they use a

34:07

little, for example, is that five

34:10

or three rate as just one

34:12

and it's just

34:14

the bare minimum we can do anything

34:17

more. Because if we do less,

34:19

it's like the leaf NPC

34:21

or the enemy just ill

34:23

and the player will notice it. The

34:27

world freezes when you're off when you're not on that screen,

34:29

right? Yeah. Fascinating. Yeah. Console

34:31

porting has been widely discussed on

34:33

social media and stuff recently because

34:35

of Godot and Godot not having,

34:38

not coming with like facilities for

34:40

compiling the console like Unity does.

34:42

And it just seems so

34:44

many obscure complexities that you need to ask

34:47

the console developers or porting houses to help

34:49

with, right? That seems like

34:51

an impenetrable issue. Fascinating. So

34:54

earlier you mentioned the bosses and I wanted to

34:56

ask a little bit about that because in this

34:58

type of game, with the combat system and I

35:00

guess like the, as you said, players have kind

35:03

of given it a soul's like label on the

35:05

first one. Obviously players are very sensitive to boss

35:07

design and building a satisfying boss as a whole

35:09

thing. Like how did you approach the boss design

35:12

for this game? Did you have a particular ethos

35:14

on what you wanted them to feel like? This

35:17

is kind of hard to answer

35:19

first because it's not our direct

35:22

area, but I can

35:24

say that basically

35:26

the whole team is

35:28

always involved in nearly every aspect

35:31

of the game. Art

35:33

enemies, how the game feels. Bosses

35:36

is one of those places

35:38

in which everyone has something to say,

35:41

mainly from the creative

35:43

direction of the game where

35:45

we strive for the bosses to be related

35:48

to the song. They are appearing trying

35:50

to be meaningful for

35:53

the whole story, the

35:55

game for the lore. So we try

35:57

to approach those in a way. that

36:00

they add to the game. They are

36:03

not in there just for the

36:05

sake of being a boss in

36:07

the middle of a palace or in the

36:09

middle of a basement. They have

36:11

a reason to be there and they

36:13

contribute to the lore of the whole

36:15

game. So the design

36:18

has to be something that is

36:20

split between creative direction

36:22

and game design. And they work

36:25

together into defining what's

36:27

going to be the aspect of this boss,

36:29

what role does it play on

36:31

the story that we are telling. From that

36:33

point, they keep working together to

36:36

define how it should be. Should this

36:39

be a humanoid, a human sized

36:41

boss? Should it be huge? Does

36:44

it fly? Does it have multiple? I

36:47

think we don't have flying. Well, yes,

36:49

we have one flying boss, which

36:52

is, I don't know the real name,

36:54

but it's Susone. Maybe it's Susone,

36:57

the real name. I think

36:59

another one was the... I

37:02

was going to say the

37:04

girl in the elevators. I

37:07

don't remember the name. It's not a girl,

37:09

but a ghost. Ghost girl, okay.

37:12

Yeah, I guess it also depends on

37:14

your definition of flying. The embroidery, I would

37:16

just does a flying thing at points, right?

37:18

Yeah, that's a really popular

37:20

boss. And I like her a

37:23

lot. We have our

37:25

favorites as well in the studio. As

37:29

an interior feature, I remember

37:31

with the bosses and enemies,

37:33

for example, in the game, you can

37:35

change because when you build

37:37

a boss, maybe you can try some

37:41

behaviors in order to see if

37:43

the animations are the incorrect leader or something

37:46

like that. The game has a

37:48

hidden feature that you can change the

37:51

controls to that character

37:54

and play a little, test

37:56

it a little. Also, it wasn't

37:58

really useful. It

38:00

was there and I used maybe

38:02

twice, but it was there. Awesome.

38:07

Just to say, another

38:09

feature we had in

38:11

order to test the bosses. That is great to

38:13

hear. There are so many, you know, you spoke about

38:16

the iterations for things like the movement and the controls

38:18

and the weapons and things like,

38:21

you know, bosses and platforming

38:24

segments or another area where I imagine there

38:26

must be so much testing and

38:28

iteration for feel. As like, you know,

38:30

as you mentioned, as like an indie studio, as a

38:32

smaller studio, what does that testing look like? Like, I

38:34

think people tend to imagine focus groups and, you know,

38:37

huge open betas and that kind of thing. But what

38:39

does it look like for a studio of your size?

38:41

Well, it's

38:43

not until the game is mostly

38:46

done that we don't

38:48

start testing in the studio. I

38:50

think that the first play testing suggestion was a

38:53

year before the release. I think it was August

38:55

22. That

38:58

was the first time we had someone

39:00

from outside of the studio to come

39:02

and play the game. And

39:06

that was some point in which you

39:08

are supposed not to be

39:10

changing many things because

39:13

we had the content complete and

39:15

the gold version. The content complete

39:18

was in April, maybe

39:20

23. And what was the

39:22

total development time? It was 37 months.

39:27

Very producer answer. I

39:29

remember that people tend to say three years,

39:31

but it started in July.

39:34

So no, it was 37. So

39:37

it was in August and the

39:39

content complete was set

39:42

for February or April 23.

39:46

And the gold version for

39:48

I think it was May, 1st

39:51

of May, something like that. So

39:53

there wasn't really a lot

39:56

of time to make important

39:58

changes. So,

40:00

we did change things based

40:03

on that playtesting session. Well,

40:06

of course, a playtesting is not the

40:08

same as a QA session. The

40:10

publisher starts with

40:12

the QA of things

40:15

very early in the development

40:17

process, but we, you know,

40:19

that's technical testing.

40:21

We wanted to see the reaction from

40:24

players. Yeah. Making sure the

40:26

game doesn't break and that kind of thing, right?

40:28

Yeah. What we wanted to

40:30

test was the reaction of people

40:32

who hasn't been playing the game here

40:35

in front of their faces

40:37

for two years because

40:40

it's because you have been playing the game

40:42

forever. You lose perspective

40:44

of the game and

40:46

you fail to see the

40:48

mistakes or the things that could

40:51

be improved. So, there's this moment

40:53

in which you need fresh eyes

40:55

on the game. So, we brought

40:57

people to the studio. I

41:00

think it was like 12 people,

41:03

people that we knew. Most

41:05

of them we knew personally. But

41:08

when you make these kind of testing

41:10

sessions, you don't need a

41:12

fan who will be

41:14

happy with whatever they

41:16

play because they are excited to

41:19

try the sequel of the game so

41:21

everything will look great. Well,

41:23

we wanted to have people who

41:25

are really brutally

41:27

honest. I hate

41:30

her. Yeah. Excellent.

41:34

So, yeah, we contacted these

41:36

people who were, some of them were

41:38

friends of us, asked them

41:40

to be brutally honest with the game.

41:42

And from that session, we

41:44

got a lot of

41:47

good feedback that we implemented. As

41:50

long as the feedback that we got was related

41:52

to the weapon change system, I

41:55

remember we give them pen and paper

41:57

so they can write down their... thoughts

42:00

and their comments, then they

42:02

feel a form online with

42:04

their thoughts. And there

42:06

was something, one of the players left

42:09

the paper on the desk and

42:12

there was this comment. I'm trying

42:14

to translate it. Sorry for my friends in

42:16

here, but it said,

42:18

weapon changing, motherfucker.

42:21

Excellent. So

42:23

when we saw this, we were suspecting

42:25

that the system wasn't

42:27

really what people expected, but

42:31

that phrase, that comment, confirmed

42:34

it. That was in

42:36

August and then we have another

42:38

playtesting session in February. I

42:41

think it was February, barely a month

42:43

before the content complete, which

42:45

was really risky. It

42:49

was barely a month before

42:51

delivering the alpha of the

42:53

game. So there was not enough

42:55

time to make huge changes.

42:59

But being as we

43:01

are, we made big

43:03

changes in some systems

43:05

that we weren't really happy about

43:08

like some things that maybe

43:10

people take for granted like, when

43:12

did you save the game? But

43:15

if I have explored this

43:18

huge amount of the map and then I die,

43:21

do I have to go through the whole

43:23

map again or is this progress saved and

43:26

you keep every item that you already found? Because

43:29

this, which seems pretty obvious,

43:32

wasn't that obvious during development.

43:35

That's one of the things that we

43:37

changed with that playtesting session. I

43:40

think that we weren't saving the progress. After

43:42

dying, people got really angry

43:45

about that during the playtesting session

43:47

because you had to remember, ah,

43:49

if I went to this place

43:51

and I picked this item and

43:54

then I had, I don't know, money

43:56

in this place and this boss is

43:58

over here. We entered

44:00

in kind of a crisis

44:02

state in the team because

44:05

we needed to fix that, but

44:08

we weren't sure what

44:11

to do. At the end,

44:13

it's like with the weapon chains,

44:15

the solution, the final decision is

44:18

something that after it's made, it

44:21

looks pretty obvious, simple,

44:24

but it wasn't. One of

44:26

the versions of the When

44:28

Saving Game was the

44:31

classic Metroid or Castlevania

44:33

approach that if you

44:35

save on a broom, or

44:37

the play idea in our case,

44:40

and when you die, you appear there

44:42

like you were never there except the

44:45

guild. So it was

44:47

like this is a little weird. You

44:51

restore the state, but the guild is there. That

44:54

doesn't have much sense. Because the guild

44:56

is on a song of the map that you

44:58

haven't discovered yet because we were removing

45:00

the progress on the map. That

45:03

was one of the first versions. Yeah, I get it. Okay,

45:07

for listeners, so when you die in Lastmas

45:09

2, you gain guilt and that changes like

45:11

mechanics and different like what abilities you have

45:13

and how much mana, etc. Yeah.

45:16

Okay, that makes sense. Yeah. Yeah,

45:18

sorry. For a moment there, I was like,

45:20

I thought you were saying that the guild always appears somewhere you

45:23

haven't been and I was like, wait, did I just completely miss

45:25

that on my playthrough? No, I understand. No,

45:27

I mean, you roll back to that progress. Yeah,

45:30

okay. But it was like, okay, the idea

45:32

now sounds obvious, but a lot

45:34

of games implement like we did,

45:37

like we tried them and

45:39

it just works. But when

45:41

we tried, it didn't work for us. Yeah.

45:44

So it changed enough for the Metroid formula

45:46

that you've broken a standard element of it.

45:49

That sounds obvious, but it's not so obvious

45:51

because if for Metroid

45:53

works, why it doesn't work for

45:55

us? Yeah. And you've ended

45:58

up with, I guess, a checkpoint system that I... I

46:00

guess is the only souls-like, well,

46:02

one of the most souls-like remnants where you kind of

46:04

have this like, you know, you save at a checkpoint

46:06

and that's where you come back and then you have

46:08

to go get your pick up your guilt in a

46:11

very kind of, you know, yeah. Awesome way. Perfect.

46:14

Wonderful. We are getting close to time. So I wanted

46:16

to ask a couple of questions to wrap up and

46:18

I guess the first one, do you keep an eye

46:21

on the speed running scene for the last most two?

46:23

You mentioned earlier that players, you know, being conscious that

46:25

players will break things. Do you pay attention to what

46:27

they're up to? Honestly, I

46:29

keep an eye on the community

46:32

in general, mostly Reddit. Most

46:34

of the people from the team are not

46:37

really, don't really interact with the

46:39

community, but there are people who

46:41

are constantly interacting with social media,

46:43

but most of us don't. We

46:45

see what people comment about the

46:47

game and what they want us

46:49

to do with the game. This

46:52

morning, I sent the lead programmer

46:54

thread from Reddit in which someone

46:56

was talking about the progress of

46:59

the rapier and dagger and

47:01

hey, check this and see how

47:03

much reason this person has. But

47:05

for the speed running scene, I

47:08

haven't seen anything just for Blastmas

47:11

2. Okay. We

47:13

did for Blastmas 1 and I

47:15

remember that the first speed

47:18

run that we saw as a team, I

47:20

was cooking on the kitchen and

47:22

I had my iPad on the side

47:24

and I was checking the speed run and

47:26

I was like, how is he

47:29

doing that? Okay. What

47:31

was that jump? Because there was a

47:33

book on the jumping,

47:36

let's say system because Blastmas 1

47:38

didn't even have proper systems that

47:41

allow players to jump in an

47:43

infinite amount of distance.

47:46

But I haven't seen that for Blastmas

47:48

2. It's not that it

47:51

doesn't exist. I'm sorry. I

47:53

don't know. Now I'm curious.

47:55

When we finish this, I will go

47:57

and check. this

48:00

run, there was a really fast run that

48:02

got submitted for games done quick. But I

48:04

believe the reason it got rejected was because

48:06

you patched it. And I don't think you

48:08

patched it intentionally, but a patch you released

48:11

fixed the run. So there is

48:13

some there's some quick runs. We made only

48:15

one update to the game. And

48:17

honestly, I don't remember. It

48:19

was a sub 40 minute run. And then

48:21

the first the patch fixed it, which is

48:24

Yeah, I remember it. It was something like

48:26

pass the game when the Ah,

48:28

the room switching. When you do

48:30

the launch attack with Rosary blade,

48:33

you could use or something like

48:35

that. Or with prayer that with the time.

48:38

Yeah, I remember that. And I

48:41

did that myself when I saw

48:43

it, which sends you off words.

48:45

Yeah. Yeah, that's when

48:47

we passed. Yeah. Yeah. Amazing.

48:50

So I guess inevitable question. And it's totally okay

48:52

if you can't. But can you share anything about

48:55

what's next to Blasphemous 2 or you know, what

48:57

else the game kitchen is working on? As

48:59

a company, I can say that the game

49:01

kitchen is working on multiplayer projects. Some

49:04

of those are public like the

49:06

VR platform that has been built.

49:09

But sadly, or likely,

49:12

most of the games are not most

49:14

of the projects are not public yet.

49:17

As for Blasphemous 2, after

49:19

the release of the game and the

49:21

update, we took a

49:23

really long holidays.

49:27

Most of the team, those who could afford, I'm

49:30

sorry for that because he's one of

49:32

the people who couldn't and I didn't

49:35

took as many days as

49:37

I suppose to

49:40

have. Blasphemous 2 started really soon after Blasphemous

49:42

1, right? There wasn't much gap between

49:44

the two of them. That's something that we

49:46

didn't talk about. But Blasphemous 2 started the

49:49

development where we were working on the

49:51

three DLCs. Yes,

49:53

you were long overdue holiday. So Blasphemous 2

49:55

started in July 2020. Yeah. The first DLC.

50:00

was released, you can't

50:02

remember. I made a presentation not long

50:04

ago and I had to check all

50:06

the dates because I totally forgot. I

50:09

think it was February 21. I think it was more

50:13

than a year or maybe September 2020, October.

50:16

I'm sorry, I can't remember. I had to

50:19

check Wikipedia the last time. So

50:21

yeah, we overlapped the

50:24

two developments. Yeah, very overjoyed. You

50:27

took a lot of time after last semester and

50:29

still thinking about that. When we came back from

50:31

holidays, then we started talking with

50:34

Mauricio and with our publisher about

50:36

the future of the game. We

50:38

haven't behind anything yet. If

50:41

we had, I couldn't say so. Absolutely. Had to try,

50:43

had to try. Yeah, I

50:48

know. I know. For sure, there's always

50:50

things that teams

50:53

want to add to a

50:55

game. I don't know who said

50:57

this, but games are not finished,

50:59

but abandoned. So we

51:01

will not abandon it

51:04

yet. That

51:06

feels truer than ever in the

51:08

age of games being patched online. Long

51:10

gone are the areas where you shipped a cartridge

51:12

and didn't have to think about it ever again.

51:14

Perfect. Well, thank you both so much. This has

51:17

been delightful. It's always nice to learn more about

51:19

how the games we play are built. So thank

51:21

you both for your time today. Thank you, Joe.

51:23

Thank you for having us. Thank you for

51:25

having us.

Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features