- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1256 lines
41 KiB
Plaintext
1256 lines
41 KiB
Plaintext
Episode: 4343
|
|
Title: HPR4343: Interviewing the Redot engine Founder
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr4343/hpr4343.mp3
|
|
Transcribed: 2025-10-25 23:24:04
|
|
|
|
---
|
|
|
|
This is Hacker Public Radio Episode 4343 for Wednesday the 26th of March 2025.
|
|
Today's show is entitled, Interviewing the Redot Engine Fender.
|
|
It is part of the series' interviews.
|
|
It is hosted by Celeste and is about 64 minutes long.
|
|
It carries an explicit flag.
|
|
The summary is, discussing the project birth.
|
|
In this future, other engines and dining into GPL licenses.
|
|
Today's show is licensed under a Creative Commons Attribution Non-Commercial Share Like License.
|
|
Hi everyone and welcome to this new episode of Hacker Public Radio.
|
|
Today we have a new guest.
|
|
This is the first interview for me and his first interview at Hacker Public Radio.
|
|
He is the founder of a famous, I mean, hopefully famous, fork of the Godot Engine.
|
|
That's a free and open source game engine.
|
|
And yeah, we have the pleasure to have here, Andrew.
|
|
Hey, how are you?
|
|
That's right, I'm fine.
|
|
Yeah, I'm fine. I'm fine. I'm just arrived with the train.
|
|
So, quite a long trip, but I'm fine.
|
|
So, let's start with the very basic question, because the audience might know Godot,
|
|
but probably not Rido.
|
|
First of all, how do you call the project Rido, but I don't.
|
|
So, I normally say Rido or Rido.
|
|
A lot of people say Rido, you know, Rido.
|
|
It's the same situation with pronouncing Godot.
|
|
Nobody really knows how to pronounce it, so they just make stuff up.
|
|
So, we've just kind of continued the tradition of not knowing how to really pronounce it.
|
|
Okay, fair enough, fair enough.
|
|
So, why was this project this fork even started?
|
|
I mean, stocking a fork and maintaining is a lot of work, definitely.
|
|
Oh yeah, you're not wrong.
|
|
So, forks in general have a distinguished history of forking for dissatisfational reasons.
|
|
We'll say.
|
|
And, you know, that's kind of part for the course, really.
|
|
So, at least for me, there were originally four of us that forked it,
|
|
that got together and started the fork.
|
|
And so, originally, at least for me, it was due to kind of the way things were going,
|
|
as far as it not being a community driven anymore as much,
|
|
more catering to the corporate sponsorships and, you know, building features
|
|
that they want and neglecting a lot of the community driven stuff.
|
|
And that's still the case.
|
|
We've actually put forward a couple of fixes for a couple of things,
|
|
and those things have been shot down in favor of, well, in one case,
|
|
we put forward a fix for a packet loss problem for multiplayer games.
|
|
And that was shot down in favor of a PR that they made themselves several days later for the same thing,
|
|
which they've had to actually fix multiple times now,
|
|
and where our fix still works.
|
|
But it's just a situation where there's less community focus
|
|
on the fixes and things. I mean, Gadosa, it's an open source project,
|
|
and they should be more accepting of code coming in from the community,
|
|
and less concerned with what is being proposed or worked on.
|
|
They're now paying people full time to work on it.
|
|
So, you know, the people that are getting paid should really be working on implementing stuff
|
|
that the community is asking for. And in our opinion, it's less so now at this point.
|
|
The other issue and the other reason that we fought was the kind of state of the community.
|
|
All of this, this whole backlash and stuff started around a kind of a stupid tweet.
|
|
Yeah, I heard it. I am in the Italian Godore group.
|
|
So I witnessed the situation unfolding live.
|
|
I don't directly have Twitter.
|
|
Yeah, the reaction of the social media manager was almost childish, I can say,
|
|
because having different opinion in a group in a community is the basic principle,
|
|
I think, of the free end of resources after.
|
|
So people from different parts of the world, different religions,
|
|
different political opinions, that all can work together towards a tool.
|
|
They can all freely use.
|
|
While blocking and banning people for simply asking them to focus on the tool instead of politics is quite absurd to me.
|
|
So yeah, there was a big debate even in the Italian group.
|
|
Okay, so people agreed some people not.
|
|
That's kind of how it went.
|
|
There was, you know, obviously a big debate around it.
|
|
And for people who maybe haven't heard of this or don't know what the situation was,
|
|
the Godot Foundation brought on some people, including a community manager,
|
|
who is relatively new to the Godot ecosystem.
|
|
The other thing is, Godot, I guess around that same time, made a new discord,
|
|
because there was a previous discord that they did consider their official discord,
|
|
which was called Godot Cafe.
|
|
A lot of people get it wrong and they say, well, it was never official at one time.
|
|
It was their official discord.
|
|
And so when that gentleman, the guy who ran that, made some very off-color remarks, we'll say,
|
|
they disavowed the whole discord at some point and made their own official discord
|
|
and had a community manager to run it.
|
|
And I had started noticing some things before the backlash,
|
|
because I've been in both the Cafe and now the official Godot Discord for rather long periods of time.
|
|
You know, I've been on and off using Godot since 2014 when it first opened sourced.
|
|
Yeah, from the very start, one of the yearly adopters.
|
|
Yeah, pretty much.
|
|
I was a big fan of it and I still am.
|
|
And so I've noticed the discord kind of starting to cater to certain groups.
|
|
You know, a game engine discord should be about the game engine.
|
|
You know, people can have their differences of opinions and their different standpoints and viewpoints and political views.
|
|
And that's okay.
|
|
But the discord itself shouldn't cater to any of those things.
|
|
And they'd more and more been catering to different groups,
|
|
whether you want to call them minority groups or whatever.
|
|
If you go and take a look at Godot's official discord,
|
|
the very first thing you're met with in the,
|
|
I think it's the general section, not the general section, but like the server introductory section.
|
|
There are certain rooms that are specified to certain groups.
|
|
And people that are not in those groups are not allowed in those rooms.
|
|
And to me, that's exclusionary, that's not inclusionary.
|
|
Yeah, so instead of having a neutral group where everyone can discuss, they subdivided it, basically.
|
|
Exactly.
|
|
Okay, okay.
|
|
Yeah.
|
|
So, you know, there's discord in a long time.
|
|
Okay.
|
|
Yeah.
|
|
And that's okay.
|
|
Okay.
|
|
It's just kind of a symptom of the whole thing, really.
|
|
The outlook of the manager running the thing.
|
|
And so when this pretty much nobody made a tweet on Twitter about game engines or woke,
|
|
you know, and only woke people will use them, which is ridiculous.
|
|
And, you know, the community manager said, oh, you know, the game engines are woke now.
|
|
Well, show us all your woke games pound woke up or hashtag woke up.
|
|
To people that just use a game engine for a game engine, they don't want to see all that kind of stuff.
|
|
They don't want to, you know, they don't want to see like their product, as they see it,
|
|
catering to specific groups of people, just make it about, you know,
|
|
make it about the engine or make it, you know, just, you know, just stay neutral.
|
|
Does that make sense?
|
|
Yeah.
|
|
Yeah.
|
|
Don't pick a side.
|
|
Absolutely.
|
|
And so when they did that, they essentially picked a side without maybe even realizing that's what they were doing,
|
|
which caused backlash.
|
|
But instead of just kind of brushing it off, you know, whoopsie, you know, we made it boo-boo.
|
|
Sorry about that.
|
|
Move on.
|
|
They doubled down on it and started banning and blocking and all these kinds of things,
|
|
which created more of a shit storm than just a stupid tweet would have.
|
|
Okay.
|
|
So I tried to sum up.
|
|
So basically, as I understood it, there was already a need for a fork that you noticed about the
|
|
management of the priority of features.
|
|
And then these old Twitter drama was very useful as a trigger to decide to start it.
|
|
Right?
|
|
Yeah.
|
|
Yeah.
|
|
That was pretty much the trigger, so to speak.
|
|
Okay.
|
|
So, just to curiosity, how is the redo project now?
|
|
It's doing quite well.
|
|
Our discord is well over 10,000 now, I think, which is, I mean, quite large in terms of discord.
|
|
I don't think we're quite at, you know, a good O levels yet, but I mean, just having a discord of over 10,000 in a matter of months is a pretty big deal.
|
|
Yeah.
|
|
I know.
|
|
So you got your Twitter account hacked, so you have followers.
|
|
That happens when multiple people handle something and, yeah.
|
|
Yeah.
|
|
We did lose the original Twitter account, but that's okay.
|
|
We're re-bounding.
|
|
I think our current one is almost up to 4,000 now.
|
|
Wow.
|
|
Yeah.
|
|
Yeah.
|
|
A good number for something started.
|
|
It's still not a good number.
|
|
Yeah.
|
|
Yeah, it's still not a bad number.
|
|
You know, that's not the, that's not too bad.
|
|
And I think our YouTube account is maybe 4,000.
|
|
I think it's a little over 4,000.
|
|
I think, last I checked.
|
|
And again, pretty good for being a early, still being early in the project.
|
|
It was only, you know, it's only been, you know, four or five months or so.
|
|
Yeah, absolutely.
|
|
I think the project's doing quite well.
|
|
We've got multiple projects going on, actually.
|
|
It's not just a fork of the engine anymore.
|
|
I mean, that it is still a fork, of course.
|
|
And we have a stable branch that we focus on keeping up to,
|
|
basically keeping up to par with Kado and then adding some bug fixes and things on top of it.
|
|
But we're also putting more focus on what we are currently calling experimental,
|
|
which that either might change or we might do releases with different names.
|
|
We haven't decided what direction we're taking it on that.
|
|
But our focus on that is to actually add in new features.
|
|
But do it in such a way that we could pull them over into stable if we wanted to.
|
|
Okay, so it's a testing area for anything that needs some breaking.
|
|
So that you can later decide to bring it inside the main project.
|
|
We could either bring it inside the main project.
|
|
Most likely we will do releases with that experimental fork,
|
|
which is actually a fork of our own fork, if that makes sense.
|
|
And so, yeah, we're currently building some GD script features,
|
|
some things that the community is asked for, such as structs and traits and increment,
|
|
or the things, those are three things we're working on at the moment.
|
|
That's what we have the people for.
|
|
I think structs and traits are just about done.
|
|
This brings me to a little question.
|
|
The main thing I'm thinking about this redo godo thing,
|
|
and it's the same thing that happens with many other forks of open source project,
|
|
you have a stranger relationship of cooperation, but also competition,
|
|
and that's strange to maintain.
|
|
I want to ask you how do you want to apply it as a strategy, I can say,
|
|
because on one hand, you need a competitive edge,
|
|
something different that can make people choose your project instead of the other.
|
|
But at the same time, you can copy from each other at any time.
|
|
Sure.
|
|
You can spend months implementing a feature, then it's a very good feature,
|
|
and it gets merged in the two hours into the godo.
|
|
How do you...
|
|
That's kind of the nature of open source, though.
|
|
The whole idea behind open source is that you can take it into whatever you want with it,
|
|
including pulling freshly made features and right into your own project.
|
|
Open source was made for forks.
|
|
It's kind of designed that way.
|
|
We're not...
|
|
I don't know that we're in direct competition.
|
|
Obviously, we don't have that big of a team, so what we focus on
|
|
has to be different than what they focus on.
|
|
We don't have full-time developers, although we do have some people that
|
|
put in some crazy hours still.
|
|
They can put in what they want to put in,
|
|
and they're not bound by a schedule, or in a lot of ways,
|
|
they're not even bound by...
|
|
We don't decide what they work on per se.
|
|
They get to kind of pick.
|
|
If there's something they see that they like,
|
|
that they would like to implement, they can do that.
|
|
Now, we try to pick things.
|
|
We have some core team members that make decisions on what the core team works on,
|
|
but it's not enforcing anybody to work on something that doesn't interest them.
|
|
If you do that, they lose interest if it's a job.
|
|
Exactly.
|
|
They are volunteers as long as they can decide what to do,
|
|
but if you want them to do something, you have to pay them, obviously.
|
|
There has to be interest there for people to want to work on something.
|
|
I think that's why you're starting to see some...
|
|
I don't know if you've noticed the Linux issues lately with the rust and sea maintainers.
|
|
They started to lose more sea maintainers.
|
|
They lost two the last couple of days, maybe.
|
|
I saw some news recently where a couple of sea maintainers dropped off
|
|
or decided to quit maintaining a section because they don't want to have to deal with two code bases.
|
|
They don't want to deal with rust.
|
|
I don't blame them, but because, again, they're not getting paid for this.
|
|
They're working on what they want to work on.
|
|
If it's something they don't want to work on, they just won't do it.
|
|
That's the nature of open source.
|
|
When you have people that are giving up their time freely,
|
|
they can pick and choose if they want to participate or not.
|
|
If it just doesn't interest them anymore, they don't feel needed.
|
|
They'll drop off.
|
|
It's finding a balance of interesting things to work on.
|
|
We take tons and tons of ideas from the community
|
|
and see what is feasible that we can turn into features.
|
|
We're just really getting started.
|
|
Our first probably four months was dedicated to getting off the ground.
|
|
A lot of people wondered why we didn't come out the door with brand new features.
|
|
Why aren't we so different from Gadoo?
|
|
Why should we choose you?
|
|
We're a fork. We're not a business.
|
|
We don't care.
|
|
If you would like to use us because in the existing state that it's in,
|
|
which is pretty close to Gadoo on our stable,
|
|
and we have a good community,
|
|
and we're not going to ban you for having a different opinion,
|
|
then great.
|
|
If you want to wait and see what we do down the road, good for you.
|
|
You can do that too.
|
|
We're not going to carry either way.
|
|
Redo.
|
|
We've recommended other engines.
|
|
When people have asked about default in our Discord,
|
|
yeah, I like default.
|
|
I've actually had conversations with one of the maintainers on default.
|
|
Good bunch of people.
|
|
What's that?
|
|
default is a great 2D, mostly 2D engine.
|
|
I think it's actually a 3D engine with more 2D features than anything.
|
|
I think they're starting to work.
|
|
How does it spend?
|
|
How it sounds, DEFOLD.
|
|
Okay, okay, okay, default.
|
|
Fun, fun, fun.
|
|
Yeah, it's a good engine.
|
|
Got some good people.
|
|
I don't think they have a giant amount of maintainers and developers.
|
|
It runs on consoles too.
|
|
That's actually what I had discussions with him about.
|
|
That's also one of the questions from the community I received to ask you
|
|
if there was any plan to have a video game console support,
|
|
even not through the official tools,
|
|
but maybe on DevKit, ARM Pro,
|
|
or any other open source tool chain for exporting.
|
|
With any of the console stuff,
|
|
you have to sign NDAs and all of that.
|
|
And default has a system in place so that once you are a developer,
|
|
and sign your NDAs and et cetera,
|
|
it issues you a key, I guess, some sort of key system
|
|
that they can either enter on there.
|
|
I'd have to look through my conversations,
|
|
but basically they make sure that you, the game developer,
|
|
are in the console program before they give you access to that,
|
|
to the ports.
|
|
Okay, so it's not something that you can do for homebrew games.
|
|
No, no, no.
|
|
It's official, but they're free.
|
|
They don't charge you for that access.
|
|
They just have to make sure that you're part of that program.
|
|
I don't know of any homebrew console ports out there,
|
|
but I'm sure there is.
|
|
I just don't have any, I don't really have any interest in that.
|
|
I am definitely interested in finding a way to provide console ports
|
|
for the community where that they aren't having to pay for,
|
|
but that's still kind of further out, I guess.
|
|
Plus, I don't know if you've paid much attention to consoles lately,
|
|
but I think the Nintendo Switch is probably going to that
|
|
and the Steam Deck are probably going to be the two I would personally focus on.
|
|
Microsoft or, you know, the Xbox is very much PC at this point,
|
|
so I don't really see a point, you know what I mean?
|
|
And then I'm not sure about Sony yet,
|
|
but I think Microsoft kind of wants to get out of the console hardware game,
|
|
but that's just kind of a feeling, I don't know if that's fact or not.
|
|
I also feel like they are like computers may put into a stylish box
|
|
with already made operating system,
|
|
but while the Nintendo consoles are much different from each other,
|
|
even.
|
|
Yeah, the Switches, like Nintendo is always kind of dance to their own tune,
|
|
so to speak.
|
|
They've never played the console war game with the other consoles.
|
|
They let Nintendo, they let Microsoft and Sony Duke it out,
|
|
and then they're just over here, you know, in the corner,
|
|
just doing their own shit, you know.
|
|
Sorry, I don't know if Cousin is allowed on here.
|
|
Yeah, yeah, yeah, we just have to put a flag.
|
|
Sorry, I just thought this.
|
|
But yeah, you know, you can cut that out if you want.
|
|
But yeah, Nintendo is very much its own beast,
|
|
and they just do their own thing.
|
|
They don't care so much about being top of the line, you know.
|
|
And they've decided that portable is kind of the way to go.
|
|
And I think they're right in that, especially with the popularity growing
|
|
of the Steam Deck and other other handhelds like it.
|
|
I think you're going to start to see a lot more people moving
|
|
to a PC gaming handheld than a box you have to, you know,
|
|
connect to your TV and leave it there.
|
|
It's a lot nicer to be able to have something that has the power to do both.
|
|
Yeah, but what you were saying actually, I was thinking,
|
|
yes, I know friends who had chosen between an Xbox and a Playstation,
|
|
but then they bought this switch anyway, because they see it as a different thing.
|
|
It's not in the same group, how to say.
|
|
Yeah, yeah, it's not in the finger.
|
|
Yeah, and you know, you want to play Nintendo games,
|
|
you have to be positioning strategy.
|
|
Yeah, yeah, so Nintendo like all of their,
|
|
and that's why Nintendo games don't tend to lose.
|
|
They don't depreciate in price, generally speaking,
|
|
because you can't play a Nintendo game for the most part.
|
|
That's not on an Nintendo.
|
|
Yeah, you can't buy a Mario game for your PC.
|
|
You can only get it for Nintendo.
|
|
They've kept the thing that used to be a draw for consoles,
|
|
which was exclusivity.
|
|
You used to be able to buy a Sony Playstation
|
|
and expect a pretty large library of only Sony Playstation games,
|
|
but Sony's finding that they're losing money by doing that.
|
|
And so they're putting their once-exclusive games on PC.
|
|
Yeah, and Microsoft is going into the exitly opposite direction
|
|
with their, how is it called, the pass?
|
|
The pass, the Xbox.
|
|
Yeah, something you can read.
|
|
The past thing, I know what you're talking about.
|
|
A pass you can pay monthly.
|
|
And you can play it on a PC or an Xbox.
|
|
And you have games also sometimes from...
|
|
I mean, you have a very, very wide variety of games.
|
|
Yes, they have games that come and go in a library,
|
|
like from different developers.
|
|
Okay, so back to redo.
|
|
We are here for death.
|
|
No, we're just here for conversation.
|
|
So, let's see the secret sheet of questions.
|
|
Oh, yeah, here.
|
|
Nice.
|
|
Have we even answered two of the questions?
|
|
Yeah, yeah, yeah, yeah.
|
|
Each question has branches.
|
|
So, I guess, as an official, are we going to do console ports?
|
|
The answer is, I would like to,
|
|
but it's too early to make any kind of decision on that.
|
|
Okay, so the answer might be sand pool requests.
|
|
Yes, sand pool requests.
|
|
And we will evaluate it.
|
|
I know there was a guy running Godot 3 on the 3DS.
|
|
Oh, yeah.
|
|
On YouTube, but there's enough.
|
|
It's a branch abandoned.
|
|
Oh, four times.
|
|
Yeah, it works.
|
|
Pretty nice to see it work, actually.
|
|
I didn't think it could work.
|
|
So, yeah, one of the...
|
|
You partially actually replied already to a question I had in my head.
|
|
Okay.
|
|
From the very beginning of the project.
|
|
About that having features that you spend months on,
|
|
being copied by Godot in a few minutes,
|
|
the question was,
|
|
have you discussed the possibility of going from a MIT license
|
|
to a GPL-style license?
|
|
For example, the LGPL.
|
|
I don't know if you're familiar with the various licenses.
|
|
Some of them.
|
|
Okay, okay.
|
|
Mainly because we've had people...
|
|
So, I'll say it was early on,
|
|
but one of our guys,
|
|
Jerry picked a PR from another fork.
|
|
And when doing that,
|
|
we always make sure everybody gets credit.
|
|
There's no credit loss.
|
|
It even says it when you Jerry pick code like that,
|
|
who it belonged to.
|
|
And they were very frustrated
|
|
that their work got Jerry picked to a different fork.
|
|
But you have to realize that when you're doing open source work,
|
|
your code can and most likely will get Jerry picked if it's good.
|
|
So, if anything, that should be a...
|
|
I won't say an honor, but kind of.
|
|
Like, somebody else thought your code was good enough to pick it and use it.
|
|
So, you've gone from being contributor
|
|
on one open source project to being contributor on multiple open source projects.
|
|
So, that's actually...
|
|
It's actually kind of cool.
|
|
But, yeah, it's...
|
|
Yeah, I appreciate the...
|
|
It's just the nature of open source.
|
|
If you are contributing to an open source code base,
|
|
your code is free to be used.
|
|
That's the point of it.
|
|
If you don't like that your code is used by other people,
|
|
then don't contribute it.
|
|
Yeah, I hate to sound harsh,
|
|
but that's kind of the way that open source works.
|
|
Yeah, I partially disagree with this because...
|
|
Oh, this would be interesting.
|
|
That's interesting.
|
|
I am...
|
|
You can't walk anymore then.
|
|
I don't have an account so I cannot be banned,
|
|
because I'm not comfortable.
|
|
I will be working anyway.
|
|
So, yeah, because the problem with the very permissing MIT licenses,
|
|
MIT-style licenses like the Godore redo
|
|
and many other projects too,
|
|
is that the only constraint they put
|
|
is you have to give credit and write
|
|
that the original project was MIT licensed.
|
|
But, after that, you can even turn it into proprietary software.
|
|
So, if you open an iPhone, for example,
|
|
and you go to the system settings
|
|
and information licensing and copyright
|
|
buried into 30 sub menus,
|
|
you see that even Apple,
|
|
Multibillion Company,
|
|
bases a lot of their work
|
|
on the unpaid contribution of people around the world.
|
|
And they have no obligation to keep it free and open source.
|
|
So, when you're doing a very useful library,
|
|
you hope to contribute to an open source,
|
|
to other open source projects.
|
|
It's fine.
|
|
But what happens afterwards is that if it's good,
|
|
it's an unpaid research and development team
|
|
for Apple and other big tech.
|
|
So, they base much of their work on that.
|
|
Yeah, it's not just Apple.
|
|
Yeah, yeah, yeah.
|
|
It's an example because every big company,
|
|
Google, Apple, Microsoft,
|
|
they're all built on open source projects.
|
|
Yeah, exactly.
|
|
So, that's why I try to stick to GPL licenses.
|
|
Sure, yeah.
|
|
Because in this way,
|
|
I can make sure that my code
|
|
will help other open source projects.
|
|
And if someone wants to incorporate it
|
|
into a proprietary software,
|
|
they have to get a different license from me
|
|
and maybe pay me.
|
|
I can decide if I agree or not.
|
|
Sure, yeah.
|
|
I mean, that's the decision you get to do.
|
|
You know, get to make.
|
|
Yeah, so, what I was thinking about the redo project
|
|
was maybe a proposal that will be discarded.
|
|
Okay, sure.
|
|
What about if it was an LGPL license project?
|
|
So, these are the advantages.
|
|
You can still pull code from Godo
|
|
because you can merge MIT license code
|
|
to a LGPL code project.
|
|
Godo cannot do the reverse
|
|
on the new features you develop.
|
|
Unless they also go with a copy of the license.
|
|
And there is another problem here.
|
|
If you have the normal GPL code
|
|
and you make a game,
|
|
the entire game should be GPL licensed.
|
|
And this can be a huge disadvantage.
|
|
Exactly, exactly.
|
|
And here comes the LGPL version,
|
|
which is the one used for libraries.
|
|
That says that if you make, for example, a game
|
|
or a software that uses a library under the LGPL,
|
|
you can even make a proprietary software
|
|
as long as you keep the library itself
|
|
that free and open source.
|
|
And if you make any improvements,
|
|
you have to share them too.
|
|
What happened to Godo,
|
|
which is a MIT license,
|
|
is that Siga made a Sonic game
|
|
and then they didn't contribute
|
|
even a single line of code back.
|
|
I don't know if that's true or not.
|
|
Really?
|
|
I'd be willing to bet that
|
|
that they have some people
|
|
that have contributed code.
|
|
In fact, I've talked to one gentleman
|
|
who worked on Sonic Colors
|
|
and he was a good old contributor.
|
|
So, you know, I don't know,
|
|
maybe officially they contributed back or not,
|
|
but I'll call it proxy.
|
|
Okay, okay, okay.
|
|
Certainly.
|
|
However, I see your point about the licenses.
|
|
The tricky part is definitely
|
|
when it comes to games,
|
|
because that's the problem
|
|
that the Blender game engine had
|
|
and why people stopped using it for games.
|
|
They couldn't actually release it
|
|
without including a license
|
|
that basically licensed their games
|
|
in a way that I'm trying to remember exactly,
|
|
but it wasn't like the MIT license,
|
|
you can basically,
|
|
all you have to do is include a little file
|
|
that has an MIT license in your game,
|
|
but it's not for the game.
|
|
You license your game however you want.
|
|
With some of these other licenses,
|
|
they're more restrictive
|
|
and so they cause more headache
|
|
when it comes to licensing
|
|
something made with something.
|
|
If that makes sense.
|
|
Yeah, Blender.
|
|
I think the Blender is GPL licensed
|
|
with the full GPL,
|
|
not with the library version, let's say.
|
|
Yeah.
|
|
So I've talked to some of the guys
|
|
from the BGE fork
|
|
and they can't,
|
|
I don't think they can change the license on that.
|
|
Let me see.
|
|
No, no, no.
|
|
No, I think they can't,
|
|
because you can realize
|
|
as a copy of the software
|
|
if all the authors agree.
|
|
Right.
|
|
And they're probably not going to get.
|
|
No, also if the software is very old,
|
|
some of them might already be dead.
|
|
So they can't agree.
|
|
Yeah, absolutely.
|
|
Yeah, yeah.
|
|
So that causes problems.
|
|
And copy right through
|
|
those are very, very long.
|
|
Here, let me listen to your link.
|
|
Yeah, you may already know about it,
|
|
but let's see.
|
|
Where do I put a link?
|
|
Do you have the chat below?
|
|
Here we go.
|
|
I found the chat.
|
|
Okay.
|
|
All right.
|
|
BGE.
|
|
BGE.
|
|
Oh, it's not clickable.
|
|
Yeah, it is,
|
|
but I'm opening it on the other computer
|
|
because the video call is on the laptop
|
|
and Chrome eats all the RAM.
|
|
Yeah, yeah.
|
|
So I don't want to risk crashing anything.
|
|
No, it makes sense.
|
|
Okay, so what's this link that you sent?
|
|
The UPBGE.
|
|
This is a blender game engine.
|
|
It's a, uh, somebody fork it
|
|
and built a, basically,
|
|
excuse me, they, they've built on,
|
|
they've kind of continued development
|
|
of the game engine side of blender.
|
|
Blender used to come with a built-in game engine.
|
|
And, um,
|
|
so they've, uh,
|
|
they've continued development on the game engine part.
|
|
And I don't know if, if they,
|
|
I don't know how it works on the get side
|
|
if they continue pulling from blender
|
|
or if this is kind of a stop
|
|
at a certain, uh,
|
|
I have no idea.
|
|
Version, you know what I mean?
|
|
Um, I don't know,
|
|
but let's see what Download says.
|
|
Yeah, I might also try to track the,
|
|
it's based on blender 3.6.2.
|
|
Mm-hmm.
|
|
I guess it's still in,
|
|
it's a stable version.
|
|
Yeah, also, I see, I see,
|
|
it's in heavy development.
|
|
Last comic, uh, seven hours ago.
|
|
Wow. Nice.
|
|
Yeah.
|
|
Did I even think anyone made a fork?
|
|
Wow. Thank you.
|
|
Yeah, yeah.
|
|
Yeah, no problem.
|
|
Um, and yeah, I've,
|
|
I've played with a lot of engines
|
|
and I kind of try to keep track
|
|
of as many of them as I can.
|
|
This was one that at one point in time
|
|
I was super interested in using.
|
|
Um, but I think
|
|
when it comes down to the licensing,
|
|
I think there's still hiccups with it.
|
|
So a lot of people kind of shy away from,
|
|
uh,
|
|
any kind of license that's going to require you
|
|
to license your game
|
|
in a certain fashion
|
|
and not be able to license it how you want.
|
|
And I think that's the default choice
|
|
for not having to do that is the MIT license.
|
|
Yeah, I'm checking now that the link you sent
|
|
and yeah, that blender game engine
|
|
is also have the same,
|
|
it has the same copyright license
|
|
of the main blender project,
|
|
which is the full GPL license.
|
|
So yeah, if you make a game we did
|
|
and produce a single binary
|
|
or ship it together,
|
|
the GPL license should apply to the whole package.
|
|
Yeah, and for the way I understand it
|
|
and just,
|
|
and I could be completely wrong.
|
|
So it's okay, you know, just prefacing it.
|
|
Um, the way I understood it,
|
|
you like steam won't take games
|
|
that are licensed under GPL.
|
|
But I don't know that's a fact.
|
|
So, you know, don't quote me.
|
|
Yeah, it's maybe, it's maybe, it's maybe.
|
|
Uh, I know that,
|
|
you know, if it wasn't,
|
|
if it wasn't, uh,
|
|
but what it,
|
|
what that does is it limits the types of games you could make.
|
|
So if you require your,
|
|
if you're making like a multiplayer game,
|
|
where you have to have like anti-cheat stuff
|
|
and all this kind of thing built in,
|
|
you know, uh,
|
|
you don't want people to have access to the source code of the game.
|
|
But if your game is licensed with GPL,
|
|
that's kind of an issue.
|
|
Yeah, yeah, that's why my point was about the,
|
|
uh, LGPL, the lesser GPL,
|
|
the other type of license, yeah.
|
|
Yeah, it's a type explicitly made
|
|
so that, uh, when you merge,
|
|
for example, you make a game,
|
|
and the, uh, license the game,
|
|
how you want.
|
|
Mm-hmm.
|
|
But the engine itself
|
|
should stick to the same LGPL license.
|
|
So you cannot take the engine itself
|
|
and make it close the source.
|
|
But you can know what are you,
|
|
whatever you want with the whole video game,
|
|
as long as you comply with that.
|
|
Mm-hmm.
|
|
Interesting.
|
|
Yeah.
|
|
I'd be curious how that,
|
|
how that kind of pans out,
|
|
um,
|
|
as far as, like, using an engine,
|
|
like, UPPGE, for instance,
|
|
where the game engine is in the...
|
|
Yeah, it's all smooth.
|
|
Yeah, yeah, yeah.
|
|
Yeah, so that,
|
|
I don't, you know, as far as I know,
|
|
there's not really a way to get around it
|
|
unless there's some kind of packaging system
|
|
you can do to close things off,
|
|
but, um,
|
|
but yeah, I don't know.
|
|
Mm-hmm.
|
|
Looks pretty cool, though.
|
|
Ha-ha.
|
|
Uh, it would be nice to have a game engine inside, uh,
|
|
inside your three modeling software.
|
|
Ha-ha, yeah.
|
|
But maybe it was too much,
|
|
even for Blender,
|
|
because I really like that Blender
|
|
is a five different programs in one.
|
|
Even Adobe had to do five different programs
|
|
to...
|
|
Yeah.
|
|
Uh, one for each part of the pipeline
|
|
of the production pipeline.
|
|
Uh, while Blender has the entire production pipeline
|
|
of a movie inside the same program
|
|
with the same file format,
|
|
with the same license,
|
|
with the same tool,
|
|
with the same shortcuts.
|
|
That's so wonderful.
|
|
Yeah.
|
|
You can literally go from sketching
|
|
to drawing textures,
|
|
to modeling,
|
|
to, uh,
|
|
even video editing inside Blender.
|
|
Mm-hmm.
|
|
Yeah, pretty well, huh?
|
|
Absolutely, absolutely.
|
|
So,
|
|
uh, one of the other questions from the community,
|
|
uh,
|
|
is,
|
|
let's say I want to use, uh, redo.
|
|
Okay, one doubt,
|
|
two doubts people might have,
|
|
is,
|
|
uh, what are the skills of the team,
|
|
so that we are sure you can handle
|
|
this, uh, big codebase?
|
|
And, yeah, it's a very good question,
|
|
I can say.
|
|
And, uh,
|
|
and also,
|
|
making a game can take years.
|
|
So,
|
|
uh, people want to have the engine
|
|
stick around for enough time
|
|
that the game is complete.
|
|
What's your plan for,
|
|
for long-term sustainability of the project?
|
|
So, that's actually why we made a stable version,
|
|
instead of just blasting off
|
|
with new features here and there.
|
|
Um, because when you do that,
|
|
you, on one hand,
|
|
you kind of destabilize things where,
|
|
um, you know,
|
|
because everybody's expecting new,
|
|
new this, new that,
|
|
but what if, you know,
|
|
what if you,
|
|
um, if you build all these new features
|
|
and then you lose the people that built them,
|
|
or you don't have people that can maintain them,
|
|
you know, all these kinds of things.
|
|
That's why we built a stable branch,
|
|
so that people can come and,
|
|
you know, and use,
|
|
uh, use Redot
|
|
and not have to worry about
|
|
their projects
|
|
getting bored by something we did.
|
|
Does that make sense?
|
|
So,
|
|
when we make changes,
|
|
currently, when we've made changes,
|
|
they've been somewhat small,
|
|
but, you know, quality of life things.
|
|
Excuse me.
|
|
Um,
|
|
and the changes haven't been so big that they broke core.
|
|
So, anything that we do with stable,
|
|
uh, we make sure that it doesn't break the core,
|
|
so that,
|
|
if someone brings their project
|
|
directly in from Godot,
|
|
it will work.
|
|
You are still coming.
|
|
So, you have still compatibility with the main project so far.
|
|
Right.
|
|
So, we're keeping stable, compatible.
|
|
Okay.
|
|
Okay. So,
|
|
then we have this complete other project over here
|
|
on the left or right,
|
|
whichever side you want,
|
|
whichever side you prefer,
|
|
where we can make bigger changes,
|
|
you know, and try things out
|
|
and see what could work,
|
|
what might not work,
|
|
we can break things, you know.
|
|
And then we're not worried about breaking people's projects,
|
|
because they're not
|
|
using
|
|
our, you know,
|
|
our tests ground.
|
|
And then, you know,
|
|
we release some features on it
|
|
that work, that work well.
|
|
Um, we'll do a build of it
|
|
and that people can play around with it
|
|
and test it out more,
|
|
see, you know, if it continues to work,
|
|
see where we need to make changes,
|
|
things of that nature.
|
|
But those will be, you know,
|
|
new features, things that don't exist currently.
|
|
Um, things of that nature.
|
|
I think it makes more sense to do that
|
|
than it does for us to just
|
|
tear up stable
|
|
and then expect people to come over,
|
|
you know,
|
|
hopefully,
|
|
we're around a long time and,
|
|
you know, continue to do this.
|
|
But, uh, if we've broken stuff,
|
|
you know, and we don't have somebody
|
|
to maintain something and then it breaks,
|
|
well, then people are screwed.
|
|
So, our
|
|
current plan is to keep stable,
|
|
stable, you know,
|
|
keep it up with, keep it,
|
|
keep it up with existing, you know,
|
|
make some quality of life changes
|
|
and things on top that we can do
|
|
that won't break core.
|
|
And then we have a complete other project
|
|
that we can do more groundbreaking things with.
|
|
Um, we've got a
|
|
launcher in the works that we're,
|
|
you know, we're working on,
|
|
uh, which will have like project
|
|
management and a bunch of other stuff,
|
|
uh,
|
|
that it's currently planned, but not
|
|
in a state to, you know, discuss yet.
|
|
Um, we've got, uh,
|
|
uh,
|
|
GD script stuff we're working on,
|
|
which I think I mentioned earlier.
|
|
Yeah, yeah.
|
|
Um, which some of those are, are getting
|
|
close to finish to a point where we can
|
|
do a release and test them out and make sure
|
|
they're, you know, they function,
|
|
um, properly.
|
|
Uh, and, uh,
|
|
yeah, we're just going to keep building up from there.
|
|
So we're still kind of at an early stage
|
|
as far as
|
|
doing things outside
|
|
the realm of stable.
|
|
But, you know,
|
|
we're making progress.
|
|
Yeah, I think I will play with the GD script
|
|
improvements, because
|
|
one of the main
|
|
improvements in
|
|
with the recent GD script is that they had, uh,
|
|
uh,
|
|
better type hints.
|
|
Uh, I really like a strict typing.
|
|
So even in GD script, I tried,
|
|
I tried to type everything,
|
|
uh, other types to every variable.
|
|
And, uh,
|
|
yeah.
|
|
Yeah, types, types are important.
|
|
Yeah, yeah, absolutely.
|
|
Um,
|
|
so I recently discovered a fork of
|
|
GD, uh,
|
|
where they've built
|
|
Kotlin into it.
|
|
Uh,
|
|
very much how, how the C sharp,
|
|
um, system works.
|
|
Um, so,
|
|
I was pretty excited about that,
|
|
because I love Kotlin.
|
|
Um,
|
|
I tried it once,
|
|
but only because I was forced to
|
|
withdraw the app development, but
|
|
sure.
|
|
I like that kind of the thing, but, um,
|
|
I thought it was cool to see Kotlin more.
|
|
Um, and I like types.
|
|
So,
|
|
yeah, I like types so much that I use rust.
|
|
Usually.
|
|
Yeah,
|
|
it's a pain in the neck when, uh,
|
|
you have to fight the compiler.
|
|
You're one of them guys trying to force rust
|
|
into the links, Colonel, aren't you?
|
|
Actually,
|
|
I'm quite
|
|
a typical, because I also really love C.
|
|
Nice.
|
|
C is, um,
|
|
it's so clean.
|
|
Yeah.
|
|
It is.
|
|
It doesn't need any changing.
|
|
Yeah, it needs.
|
|
I mean, if there was,
|
|
I tried to check every, uh,
|
|
improved C language,
|
|
but they are all dead, basically.
|
|
Uh, or they had too many features.
|
|
While,
|
|
so I just keep plugging along.
|
|
Yeah, I really dream something that, uh,
|
|
is as simple as C,
|
|
and they only fix the, uh,
|
|
the very needed, uh,
|
|
little changes,
|
|
like having a different operator
|
|
for, uh,
|
|
as you, the different operator
|
|
is useful for the audience,
|
|
uh,
|
|
that when you declare a variable, uh,
|
|
with the malloc, for example,
|
|
or open a file,
|
|
you can write there,
|
|
write a different operator,
|
|
and, uh,
|
|
and write the closed statements,
|
|
and they get run automatically
|
|
at the end of the scope,
|
|
both if you, uh,
|
|
if the scope ends, uh,
|
|
normally,
|
|
both if you have an early return,
|
|
a condition, uh,
|
|
the memory is freed up,
|
|
anyway, and that's a very,
|
|
very simple, uh,
|
|
change,
|
|
and, and, uh,
|
|
I read they were actually thinking
|
|
to add it to the standard,
|
|
but they eventually,
|
|
eventually, uh, didn't.
|
|
Yeah, uh, yeah, it's a very simple change
|
|
that, uh,
|
|
is very compatible with how C works.
|
|
Sure.
|
|
And, yeah,
|
|
I really like C.
|
|
The main metaphor with C is, uh,
|
|
let me check a translation, sorry.
|
|
No, you're okay.
|
|
Um, first need to think the Italian word,
|
|
and translate.
|
|
What, uh, what kind of software do you work on?
|
|
Ah, I make, uh,
|
|
museum multimedia installations.
|
|
Okay.
|
|
So, I do a lot of, uh,
|
|
things from scratch,
|
|
and I even used Godot, uh,
|
|
for, uh,
|
|
interactive thing with, uh,
|
|
four projectors on, uh, walls,
|
|
and sensors.
|
|
And, uh,
|
|
while other stuff was made,
|
|
directly in C,
|
|
they were able with many lamps,
|
|
and, uh,
|
|
there were some, uh,
|
|
audio recording from the actors of a theater, uh,
|
|
where this table was put into.
|
|
Yeah.
|
|
And, when you hover the hand over one of the lamps,
|
|
uh, an audio starts,
|
|
and that lamp, uh,
|
|
starts, uh,
|
|
changing brightness,
|
|
uh,
|
|
proportionally to the volume of the voice,
|
|
um, of the actor.
|
|
So, you have this blinking table,
|
|
with, uh,
|
|
each lamp, uh,
|
|
being driven by the audio volume of,
|
|
uh, voice,
|
|
and that was, uh,
|
|
running C.
|
|
Okay.
|
|
Uh,
|
|
nice.
|
|
Yeah, so,
|
|
for me, C is like an artisan making a statue.
|
|
With, uh,
|
|
yeah, by hand,
|
|
it's a really long work,
|
|
a lot of expertise,
|
|
but the final result is so,
|
|
optimized that,
|
|
uh,
|
|
a CNC machine would be automatic,
|
|
but it won't reach the same level of optimization.
|
|
Wow, that's cool.
|
|
That's how easy.
|
|
Have you played around with the
|
|
internals of the engine at all?
|
|
Okay.
|
|
Also, C++ is, uh,
|
|
I stay away from C++.
|
|
Yeah, it's, uh,
|
|
not my biggest, uh,
|
|
it's not fun for me.
|
|
Yeah, because,
|
|
they did so much stuff that, uh,
|
|
uh, uh,
|
|
even people I know that
|
|
use C++ at work,
|
|
they stick to C++, uh,
|
|
uh, uh,
|
|
20?
|
|
Or, uh,
|
|
some, uh,
|
|
even ELA,
|
|
or, um,
|
|
yeah, I think it goes on 17, I think.
|
|
Yeah, or maybe they use a new version,
|
|
but then they forbid internally
|
|
to use some of the features,
|
|
so they don't have all the features,
|
|
all the features
|
|
available,
|
|
at the same time,
|
|
for all the developers combined,
|
|
because the complexity
|
|
is, uh,
|
|
so I'll give you a little bit of, uh,
|
|
I don't know,
|
|
I guess, some internal discussion
|
|
just for fun.
|
|
So one of the things that we've been
|
|
sort of just kicking around,
|
|
and it's just, like, rough idea,
|
|
uh, one of the guys that,
|
|
one of the C++ guys
|
|
brought it up,
|
|
and, uh, we've just been kicking it,
|
|
kicking the can to see.
|
|
We think
|
|
about, um,
|
|
let me think how to,
|
|
how to put it, exactly.
|
|
Um, basically writing it in C,
|
|
so that it makes it easier to add other languages, um,
|
|
to the engine, um,
|
|
instead of, so,
|
|
are you familiar with, uh,
|
|
with, um,
|
|
OpenGL?
|
|
Unbeads.
|
|
Okay, so OpenGL is written in C,
|
|
and so a lot of people can take that,
|
|
and, um,
|
|
bind other languages to it,
|
|
so I've used it with Kotlin and Java,
|
|
um, and things like that,
|
|
makes it much easier,
|
|
uh, so,
|
|
we've been kind of talking about,
|
|
seeing if there's maybe a way to do that,
|
|
with, uh, Kado,
|
|
um,
|
|
writing a wrapper of its C.
|
|
Yeah, it may be a good way,
|
|
because, uh, even in one using Rust,
|
|
uh, uh,
|
|
uh, interfacing with C is easy,
|
|
because it's, uh,
|
|
you have to pay attention,
|
|
but it is predictable,
|
|
and also,
|
|
every feature of Rust
|
|
can be represented
|
|
as a C construct,
|
|
while, uh,
|
|
complex Rust constructs,
|
|
are not, uh,
|
|
one-to-one,
|
|
equal to complex,
|
|
uh, uh,
|
|
C++ constructs,
|
|
so the only way to go from one to another,
|
|
uh, reliably, is to,
|
|
uh,
|
|
convert it into a
|
|
some low-level C,
|
|
and very compatible stuff,
|
|
and then,
|
|
see it on the other side,
|
|
uh,
|
|
uh,
|
|
there are some tools to try to automate
|
|
the interaction with C++,
|
|
yeah, uh,
|
|
but yeah, I think it's called ABI,
|
|
uh, no, sorry,
|
|
something binary interface,
|
|
I can remember,
|
|
uh,
|
|
I'll see if I can google it,
|
|
application binary interface,
|
|
application binary interface,
|
|
I think,
|
|
and,
|
|
and that's how,
|
|
I think, uh,
|
|
programs can be called, uh,
|
|
things in libraries,
|
|
compiled,
|
|
and, uh,
|
|
send data,
|
|
and interacting some way,
|
|
but I'm not an expert on this,
|
|
so maybe someone in the combat,
|
|
will, uh,
|
|
help clarify.
|
|
Yeah, yeah.
|
|
Okay, I think, uh,
|
|
tell me how wacky an idea it is,
|
|
and,
|
|
yeah, either that, or they'll
|
|
tell me how wacky an idea that is.
|
|
Yeah, so thank you for your time,
|
|
and, uh,
|
|
for your insights into the project,
|
|
so, where people can download it,
|
|
and, uh,
|
|
let's say,
|
|
hide to the audience,
|
|
with, uh, uh,
|
|
a motto of redo,
|
|
or,
|
|
Sure.
|
|
So you can,
|
|
you can get redo,
|
|
redo, redo,
|
|
at, uh,
|
|
re.engine.org,
|
|
um,
|
|
I'll send you the links if you made them.
|
|
Um, we also,
|
|
uh,
|
|
we also have a,
|
|
I think a beta android version on itch,
|
|
um,
|
|
so we've had a bunch of people get it from there,
|
|
we're still trying to get,
|
|
it put up on Google Play,
|
|
um, I think we're getting pretty close, though.
|
|
Um, yeah, um,
|
|
I think,
|
|
redo underscore engine on,
|
|
xTwitter,
|
|
and,
|
|
I mean, we're,
|
|
we're on a couple other places, too.
|
|
I think we're on blue sky.
|
|
Uh, we're on rumble,
|
|
also, and YouTube.
|
|
Um, but yeah,
|
|
that's, that's pretty much it, I think.
|
|
So, yeah, drop in, say hello,
|
|
you can, you can tag at
|
|
endeavours, um,
|
|
A-N-D-E-R-V-S.
|
|
I think I spelled it right.
|
|
I spelled it wrong, A-N-D.
|
|
You can send the link,
|
|
and I can write it in the, uh,
|
|
A-N-D-E-V-R-S.
|
|
Yeah, come on.
|
|
I'm also on x,
|
|
and, uh, I do have a YouTube channel that,
|
|
is not super active yet, um,
|
|
my podcast is more, has, uh,
|
|
more on, like, Spotify and stuff like that.
|
|
So, I haven't, uh,
|
|
I haven't put up a lot of episodes on YouTube.
|
|
Okay, so what's the, uh,
|
|
redo motto, this log-un?
|
|
The, uh,
|
|
redo-un?
|
|
Your game, your rules.
|
|
Okay, thank you.
|
|
Thank you to anyone, everyone,
|
|
listening, and, uh, see you next time.
|
|
Bye, thank you, Andrew.
|
|
See you, thank you.
|
|
You have been listening to
|
|
Hacker Public Radio
|
|
at Hacker Public Radio,
|
|
does work.
|
|
Today's show was contributed by
|
|
a HBO listener like yourself.
|
|
If you ever thought of recording a podcast,
|
|
on our contribute link to find out
|
|
how easy it really is,
|
|
hosting for HBR has been
|
|
kindly provided by
|
|
an honesthost.com,
|
|
the internet archive, and our
|
|
sync.net.
|
|
On the Sadois status, today's show is
|
|
released under Creative Commons,
|
|
Attribution 4.0
|
|
International License.
|