Tech Over Tea - Chatting DOOM/Wolfenstein With ECWolf's Creator | Blzut3
Episode Date: April 24, 2026Today we have an early developer of the ZDoom project on and the creator of ECWolf to talk about the early days of the project and how all of this actually got started.==========Support The Channel===...=======► Patreon: https://www.patreon.com/brodierobertson► Paypal: https://www.paypal.me/BrodieRobertsonVideo► Amazon USA: https://amzn.to/3d5gykF► Other Methods: https://cointr.ee/brodierobertson==========Guest Links==========Website: https://maniacsvault.net/ecwolf/Super 3-D Noah's Ark: https://store.steampowered.com/app/371180/Super_3D_Noahs_Ark/==========Support The Show==========► Patreon: https://www.patreon.com/brodierobertson► Paypal: https://www.paypal.me/BrodieRobertsonVideo► Amazon USA: https://amzn.to/3d5gykF► Other Methods: https://cointr.ee/brodierobertson=========Video Platforms==========🎥 YouTube: https://www.youtube.com/channel/UCBq5p-xOla8xhnrbhu8AIAg=========Audio Release=========🎵 RSS: https://anchor.fm/s/149fd51c/podcast/rss🎵 Apple Podcast:https://podcasts.apple.com/us/podcast/tech-over-tea/id1501727953🎵 Spotify: https://open.spotify.com/show/3IfFpfzlLo7OPsEnl4gbdM🎵 Google Podcast: https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy8xNDlmZDUxYy9wb2RjYXN0L3Jzcw==🎵 Anchor: https://anchor.fm/tech-over-tea==========Social Media==========🎤 Discord:https://discord.gg/PkMRVn9🐦 Twitter: https://twitter.com/TechOverTeaShow📷 Instagram: https://www.instagram.com/techovertea/🌐 Mastodon:https://mastodon.social/web/accounts/1093345==========Credits==========🎨 Channel Art:All my art has was created by Supercozmanhttps://twitter.com/Supercozmanhttps://www.instagram.com/supercozman_draws/DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase we may receive a small commission or other compensation.
Transcript
Discussion (0)
Good morning, good day, and good evening.
I'm as well as your host, Brodie Robertson,
and I forgot to bring up that part of the overlay.
Ignoring that, today we have the maintainer.
This is like a, you might think of the random side topic,
the timing of this will get into that.
We're the maintainer of EC Wolfon,
who's also been involved in Z Doom in the past.
The reason why he's here is,
I got an email like seven months ago
during the whole GZ Doom situation
and I didn't see the email
I followed up
and now you're here
so introduce yourself and we'll go from there
Hi I'm Bielzat
Real name is Braden Oberzat
but usually just go by my nickname
just because the era of the internet that I'm from
so I was the third maintainer of ZDome
along with Grafzal and Randy
and that was started in, what was it, 2007, I believe it was.
I should have somewhere here.
Yeah, I started in December of 2007.
I was basically a drive-by contributor for a while,
contributed patches regularly enough that in 2010,
I was officially promoted to the maintainer.
So, yeah, it's working along.
side Graf who joined, surprisingly, only like two years before me in 2006.
I think Z-Doom started in 2005.
And then, shortly after Graff joined, there's one Z-Dium actually switched to using a version
control system.
Oh, was everyone just, like, winging it beforehand?
But beforehand, I mean, it was just Randy, so whenever you do it ever please, there
would be a zip file with the source code in it, and you just send patches.
Okay.
So yeah, in 2008, I started ECWolf, which is kind of an offshoot of the ZDoom project.
Officially, it's a fork of the Wolf 4SDL project.
But what I did was take some of the ZDome, I guess you would call it front end code,
and tie it into there, as well as bring in a bunch of the scripting capabilities that ZDome offered.
and present a very similar interface.
Some of the code is taken directly,
other than new from scratch,
but implement the same scripting formats.
And I still work on that to this day.
ZDoom was officially terminated by the Project Reader Randy
in 2016, December.
I think you said 2017 in the video just because it's rounding.
Maybe.
I don't recall yet.
It was a while ago.
go. But, yeah, so after that, I kind of took more of a sideline role. Part of that is due to
sort of disagreements with Graff, and part of that was just because I felt that I was more needed
for the Woffenstein 3D side of things, because at least at the time, I had the only maintained
source for it for Woffensstein 3D. Other products I worked on, Zandronom,
which is a multiplayer fork of ZDoom,
and the server browser for that Doomseeker.
And what else?
When I was in college,
I made contributions to the ISOC++ standard.
So I was partially responsible for the concepts,
TS in C++ plus 14,
which then I got merged in C++ plus 20.
So I have some contributions to GCCC,
as part of the Group Summer Code Program.
I think that's the main highlights.
I've had random side projects here and there,
but I think that pretty much covers the important ones.
Okay.
If I take a weird pause,
there's like your audio and video are completely desynced.
So I have to just listen and try to work out
when you're going to stop talking.
Just, I don't know if this is a disc,
thing or what's going on here, but I'll try not to cut you on. I do a bad enough job when
voice is synced. Yeah, unfortunately, I probably don't know. Oh, and now it re-synced. Okay,
fine. Whatever. Let's not talk about it anymore. Just don't, don't, if we don't address it,
it won't change again. So, when I looked up, like, you know, I, every time I have someone on
who's worked on a project, I go and dig around about the project.
When I was looking up EC-Wolf,
generally it was being considered, like, the best option to go with
when you want to go play Wolfenstein.
But, like, I think a good place to start here is
what is the deal with, like, all of these different options
in both Wolfenstein and with Doom
and all of these different source ports?
Like, most people probably know that the code was open-sourced at some point,
in history, you probably know the exact year. I don't have it on hand.
I don't have the exact date, but it was 1998 for Doom.
Okay. Um. Or 97, sorry. Right, right. Okay. So from there, it kind of opened up the floodgates
for people to do all these different things. But, like, what, like, why are there all these different
projects? What, what do people not agree on?
Uh, yeah, I think early on it was just sort of, uh, free for all for people to just, because,
I mean, there weren't any, so everybody started working at the same time.
So there was a large query of solar sports early on.
And by the way, the term source port was pretty much, I think, coined by the Doom community
because the source port, the original source release for Doom was for the Winnex version and not the DOS version.
So one of the first things that had to be done was porting the Winnex Doom source back to DOS.
And so hence the termed source port.
Mm-hmm.
One second.
Oh.
They do seem to get out.
Yeah.
Yeah.
Yeah.
So, in the early days of Doom source ports,
there was kind of more of an emphasis on feature development.
A lot of it was trying to backport features from the newer games,
such as Quake, back into Doom.
and I think that pretty much dominated the scene
until a source board called Chocolate Doom came about
and chocolate doom's thing is that it is like one-for-one bug compatible with the DOS version
so it kind of creates a clean code base that you can build additional things on to
but also very popular just for the purest uses their main port as well.
Right.
Okay.
So there's a whole bunch of off-streetes on that.
I think the three main branches of things are, of course, the Z-Doom family,
the Boom family, or probably it's more common we know it is now to date a PR Boom family,
and then Chocolate Doom.
Okay.
There are a bunch of others.
A lot of them are, yeah, a lot of the other one died.
A lot of the other ones are kind of not super popular at the moment.
I guess honorable mention to Edge, which was once a very popular report and then kind of disappeared for a while.
And then a couple of teams that revived it.
So I think they're doing decently well.
haven't really heard too many people using it as domain.
So it's kind of a lot of people just sort of,
I guess,
playing around with the code base.
And I guess it's probably the same,
it's probably the same with this as it is with anything else, right?
There's a lot of not invented here syndrome where it's like,
yes,
there is this other version that maybe does everything I want,
but I didn't do it.
So I want to do it.
I don't,
I don't know, we think it's so much not invented here syndrome, although there is certainly
a bit of that that has gone on as time went on.
Early on, I think there was a lot of just people like taking ideas from one and implementing
it in their own projects.
And, yeah, like, the early period only lasted probably until about 2003, and then Zedun became
pretty much the dominant port.
And even today, I would say that Zedium is probably the most popular port, second to the official fort from Bethesda.
And as a result, there's sort of been a faction that built in the community that's like anything that Zedium does, we want to do the opposite.
I think that's a tale as old as time when it comes to this kind of stuff.
I think it's getting better
now and I don't know if
any of that has to do with just the tensions
with the way that Grapp
has rubbed people
the wrong way in the community
Right
Yeah so we can
My understanding is there's like a very long history there
And even as someone kind of outside of that
Just doing
Going and looking at some of the stuff that's happened throughout history
Like there's the example that people bring up
of the
the mod competition
from
whatever year it was
where someone was
building a mod
that relied on
glitches
in a specific
version
and it didn't
work in
the project
he was working
on
so there was
like a whole
mess with that
but I'm sure
there's so much
more you can speak on
yeah
I mean
in part
in some ways
I think
the general
public perception
of him
and
the perception that developers have had working with them are somewhat disjoint.
I think the general public, what they most know is like they want a feature added to the port.
And so they put up their feature suggestion out and graph is the kind of person who isn't afraid to just tell people no.
Right, right, right.
Which is actually a pretty admirable skill because oftentimes people tend to be, tried to be a little too polite and things just sort of disappear off into the back.
ground. The problem is, I think he would not give any exposition on why it's a no.
Right, right.
So over time, he just sort of got this reputation of, oh, I'm going to suggest anything,
and he's just going to come in and say no, and that's the end of it.
But the realities, I think most of the time when he did that, there were either technical
reasons or it's one of those things where nobody that, none of the maintainers on the project
were going to work on it.
in any foreseeable future.
So what's the point in keeping the ticket open
if it's just going to rot there?
And if somebody is actually interested in submitting code,
they're going to do it whether or not the ticket's there.
Right, right.
And the developer side of things,
the problem mostly centered around
if there was something that he was not interested in.
So the most notable example is
one person that joined the team
and how to focus on multiplayer improvements in there.
Graf is a big single-player-only type of person.
Zedium has always had multiplayer support,
and I mean, we never had any,
I've never been any thought that it would be removed,
especially as long as somebody was maintaining it,
but something definitely went down.
I don't know all the specific details,
but I think
Graph was changing something that kept breaking
the multiplayer side of things and then
I assume he told the
developer that he didn't care that things were
breaking in so
the guy left the project
and yeah there are a couple of people that
joined the project and went and
every time it was because of disagreements
between Grapp and them
so
yeah but yeah I mean
Generally speaking, the Zidium product has been very open to whatever you're interested in working on, submit patches for it.
And, yeah, we're open to pigments taking whatever as long as it wasn't.
Because the Zemun product intended to maintain backward compatibility with mods.
So if we looked at something and we're like, yeah, this is probably going to be a problem down the road.
We would be objected for that, things like that.
Oh
This desync is gonna be
This desync is gonna be a nightmare
God damn it
So anyway
Moving on from that
Basically
A lot of the issue
kind of came down to
Not really wanting to
I guess not wanting to like document
why things
weren't going to happen.
It was like,
and in some cases,
I can imagine,
he probably had answered
the question somewhere,
but then didn't want to answer it again
and because it's like,
oh,
I already answered over here,
just go and find the thing
I already said at some point.
Yeah, yeah, quite often.
And I think other times
just generally just not wanting
to do the exposition part.
Sure.
Which is fine in some senses,
but yeah,
I mean,
it does sort of build up a reputation when you do it that way.
Right, right.
Yeah, I can definitely understand that.
But I don't know, like you've had first-hand experience there.
Like, what is, what was your general sort of perception there?
Like, was it fine sort of managing, like managing working with it?
Like, what was your personal experience with that?
Yeah.
So, yeah, the early days of ZDium, like when I first joined, there was basically no coordination at all.
We didn't even have a developer forum or anything like that.
There's no IRC channel or anything.
So I just started submitting patches.
Graph actually widely rejected my initial patch, and then I did some exposition that was just like, actually the feature is sort of isolated.
to its own little module.
So even if down the road there's issues,
we can just sort of create a new thing
and it just can live off on its own.
And then after that explanation,
he merged the patch.
And then, like I said, a couple years later,
I was given keys to the repository.
And at that point, I was free to work on whatever
I want and commit directly without any review
or anything like that.
And yeah, I mean, the supply
surprisingly for how little coordination that there was going on,
the ZDium project held together pretty well and for the most part was stable.
I mean, it is kind of funny looking at particular ZDium versions in hindsight
because, as I mentioned, the Xandronom project was forked off of it.
Whenever we would do a sync to a particular time in ZDium history,
and then the Zandronin project would say,
on that version for a while.
And it's like we'd find all these bugs that were fixed in later versions.
It's like, I don't remember this version being that buggy before.
But, yeah, so.
I guess what you have more time to look at it is like,
you start spotting a lot of things that you would never have found in the normal sort
of time frame.
Yeah.
So eventually we did get a developer forum, which included the three of us plus any
like drive-by contributors and stuff that for discussing things that did not need to be discussed in front of the peanut gallery
because, you know, sometimes you toss out an idea and then all of a sudden it blowing up is like,
how can dare they even think about removing this feature or whatever? It's like, you don't want to deal with that.
So that's most people that will be discussed in there. Let's see. In 2013, is,
one of the project switched to get, and that is pretty much what opened the floodgates to contributors.
Before that, we were mostly the three-person team and some occasional drive-bys.
After that, we quickly expanded to six or seven, depending on the specific time that you count.
and after
2016
a bunch more
people joined
including the current team
that's maintaining UZ Doom
So in those very early days
there just wasn't any
sort of really management
of the project
it was kind of just
And when you have like three people
you really don't need that much
in the way of management
yet makes things more convenient
to have source control
absolutely
and you should have source control.
But when everyone knows each other,
you can kind of get away with not really,
not really formalizing anything.
Yeah.
And it is interesting in the sense that the three of us
kind of all had the same general idea
on what Zedium is supposed to be,
even though there was not really any document
that said this is what it's supposed to be.
And the way I would describe that is Eden was always player-focused port,
so adding features that improved the quality of life,
which is kind of a thing that people get confused,
because, of course, we add all the modding features,
so how very fancy mods and turning Doom into completely new games.
But there would be features like people would want to disable the ability to do, like,
saved states or disabled the auto map and we would
and those were always hard nose from us because it's like
if that's an experience that the player wants
that's what they'll get.
If they don't want to cheat, they can just not press the button to cheat.
Right, right.
You don't force it on the player.
You just give the players who want to use it, the option to use it.
Yeah.
And yeah, like one of the things you'll see
throwing around in public with that Zem is sometimes described
is a new engine that happens to play Doom,
whereas the internal development team views it as,
it still is at the core of the Doom engine.
I think the way I would sort of describe it is
when we make enhancements,
the algorithms are mathematically the same
as what the original dream engine did,
but because the way computer precision works,
sometimes things don't exactly
calculate exactly the same
and so that's why ZDune doesn't support
like the demos that play
when you start up the game
so there is some
I guess this is also part of the reason why there's so many different
options there's some sort of
debate about what is the
most what is the correct
way to play it
do you want a pure experience
do you want a nice
fluid like what
what exactly you're looking for from this?
Right.
Yeah.
And the goal with ZDoom was that if you take someone like yourself
who isn't necessarily playing Doom every single day,
you'll start it up, you'll look at it,
you'll go just seems to play exactly like vanilla Doom
as far as I'm concerned.
But obviously the competitive people will notice things pretty quickly.
Like one of the probably more controversial,
changes is the change in the random number generator. So Doom had a fixed table of 256 values.
And Z Doom changed that to a proper pseudo-random number generator with Mersen Twister implementation.
The problem with that is the Doom random number generator is weighted in such a way that
the Super Shotgun actually does more damage in Vanilla Doom than it does in Z-Doom.
Right.
And conversely, like the BFG 9,000, the Final Boston,
the first game you can literally beat by just walking up to it and firing one shot,
whereas it takes two shots in Vanilla Doom because you wait out the random generator
roles just sort of come out.
Okay.
If we're getting into random number generation,
we have really,
really delved into the weeds of what makes it a good version of the game.
Right.
Yeah, like you go on like the Doom Wiki and there'll be a comparison of the source
ports and it will say like vanilla accuracy and zium will be marked low and like there's
some tension on that description i personally think it's fine because it's like yeah so
it's on the criteria that it's set forth like yeah zinum is a low accuracy port but in this case
low is still a pretty high bar as far as accuracy is concerned right okay okay so
Um, my, so let me see.
Um, one second.
So you have these like, uh, where is it? Where is it? Where is it? Where is it? There it.
So you have like the classic Doom games you can buy on Steam as well. And you can do the same thing with Wolfenstein.
If you would have just play what you have there, how does that experience differ from like what you're going to get?
in, you know, some of these, like, more popular source ports like, you know, GZ Doom and things like that now.
So the out-of-the-box port, since its software has gone back for Doom at least as well as Quake and Quake 2 and done updated port,
out of the box, there's probably not a huge difference.
The main thing you'll notice is like free look and jumping support, which is basically,
cheating in those games.
In hindsight, we probably would have had those disabled by default.
But again, backward compatibility.
There's years and years of mods that expect that jumping in free work.
And so, yeah, we're not going to just change something that breaks a bunch of stuff.
And again, for the most part, like, yeah, when you're playing the vanilla game,
some people like to have free work even though it allows
sequence breaking something just because it feels more natural than
to play and
you kind of have to go out of your way to do a sequence break with it
with jumping is kind of a different
story I think that's the one that we definitely would have disabled if we were to
do it all over again but so what was it that sort of got you
interested in working on this in the first place
place. So I was doing doom modding for many years prior to getting involved. The mod that I was
working on was called Jurassic Rip. And the project reader that wanted to change the status bar
to be more of what is seen in Heritage, where you have an inventory system weighed out. And
And there wasn't any way to really change it except for doing some weird hack with
Webble scripting that had some limitations.
And so I set out to, at first it was just a simple configuration to say, instead of using
the Doom status bar, used to one from Heretic.
and in hindsight I probably should have designed something a little bit more complete at first
because this simple script sort of organically grew into probably the most horrendous scripting language that was ever devised
and it's kind of amazing that so I want to think that Zedium has done really well is being very easy for people to get into
as far as modding.
And so there's a lot of people that don't know any programming
that will get into doing programming-like things
with ZDoom with very little effort.
And so one of the ways that that's accomplished
is that there's just a whole bunch of domain-specific languages
that do one thing very well.
And people that are seasoned programmers
consider that a fault because it's like,
why can't you just have one thing
that can do everything.
What's a good example
that I can show of like a reference
what the language looks like?
The best example would be
the decorate language.
Decorant.
Let's see if we can find it.
Decorate tutorial.
Yeah, here we go.
So, I mean, it's a pretty simple language.
starts with an actor keyword and give it a name.
Then there's a bunch of properties.
Most of the properties are self-explanatory.
Some of them probably have some arcane names because of historical reasons.
And then there's the animation table.
Yeah, I mean, for basic things,
the animation table doesn't look particularly scary.
But it's interesting because you end up basically,
programming and assembly language, but this is a language that is targeted toward people that don't know how to program.
But we managed to do it. In recent years, GZ Doom has changed to a language called ZScript, which has included imperative programming on top of that.
So things look a little bit more normal now, just a custom C-like language.
Let me see, create. Here we could create.
new projectiles. Okay. Oh, yeah, I see, I see. And I guess going back to the project
readership discussion a little bit, during the time that the project was called Z-Doom,
one of the things that was like a no touch from Randy to the main product reader was Z-Script.
That was supposed to be his personal project, and it's like we could do anything we want
as long as we didn't do that.
And eventually it got to the point where Randy was absent for a long period of time,
and it got to the point where this thing not getting done was becoming a hindrance.
And so Grapp basically decided he was just going to work on ZZ Doom going forwards,
and if something happened with ZDome, then we'll figure out what to do then.
So then Grapp went and implemented Z-Script himself.
and that's one
I think Randy
admitted that
she wasn't going to have
enough time to commit to it
so she terminated
project and just handed it over
to Grapp
and so that's pretty much
a story that went on there
so that early
that early changeover
was fairly
how did you say
like fairly calm
it's like I just don't have time
for this right now
you take it over
you're working on this more
Yeah
It is
You can probably read a little bit something
Into the fact that
She didn't depend over the ZDium name
That's fair
GZDN
But I don't know if there were any discussions
Between her and Graff
At the time
Or what I
Pretty much found out the same time
Everybody else was going there
Again going back to not being a whole lot
Of coordination in the project
At this point, who actually runs the whole like Z-Doom domain?
Because it's like you've got Z-Doom now links out to like a bunch of other things.
It's kind of like a meta project.
And all of the community around Z-Dome, it's just about these other forks of it.
Yeah, I'm not 100% sure who owns the ZDoom.org domain.
But yeah, one, Randy just continued the Z-Doom project.
the intention was to sort of turn the ZDoom.org site
into sort of an umbrella project for the descendants of ZDoom.
I think that sort of de facto just turned into the GZDoom website,
which kind of presented a situation when UZDeme happened,
and then it's like, so what do we do at the site?
And I'm thinking it was supposed to be an umbrella project,
so there's really no problem with presenting both of them there at the same time.
But obviously, E.C. Wolf would technically be under that umbrella, but I always had my own website,
so there was never really any pressure to move it to ZDome.org.
So I guess, yeah, how did ECWolf get started then?
How did that all come about?
Yeah, so E.C. Wolfenshire was literally started because Wolfenstein 3D did not have volume controls,
and I wanted to turn on
I wanted to independently control the sound effect volume
from the music volume.
And one thing led to another
and eventually I was maintaining a whole source point.
So yeah, ECWolf worked from Wolf for SDL.
And if that project didn't exist,
I don't think ECWolf would have,
even though these days I know enough assembly
that I probably could have worked through it.
the history of
Wolfenshire 3D source ports
is a bit more of a mess
so
I don't
I think the source code
would release around the same time
the Dume source code was released
but I don't know
off the top of my head when
let's see if we'll find out
July
July 21st
1995
no this initial
that's possible
a source code for the original
yeah
this I think that's right
July 21st 995 that's what I'm seeing
someone correct me
for wrong
um
and yeah so
a handful of source ports
came out of that but all of them
we wrote the vendor from scratch
and uh I think all of them were
open GL accelerated
now the interesting problem with that
is Wolfenstein 3D was programmed in such a way
that what the renderer showed fed back into the gameplay logic.
So, like, you couldn't pick up an item unless you were working at it.
Right. Right. Okay.
And so now if you change the renderer, you don't have that feedback anymore.
And so that creates a whole bunch of bugs in the game.
And so a lot of those early source ports were very buggy.
Even beyond weird issues, like, I know one of them there would be outlines around
every single graphic
and I'm sure that was just
some quirk of the drivers because
early video drivers were
not very stable
but
and it was
2006
somewhere around there
a guy named
under the area is Ripper
real name is Mortis Kvall
started a project
called Wolf 4GW, which forwarded the 16-bit code base to 32-bit DOS.
And then he took that project and turned it into a Wolf 4SD.
And so that got rid of the assembly code, but retained the software renderer.
And still it worked January the same way.
The Wolframs project did do enhancements, so it did get rid of the you need to look at an item
in order to pick it up.
and some of the render feedback stuff was removed but not all of it
is that one of those things because we talked about random number generation
is that one of those things that people argue about whether or not that's a good thing
or did everyone just kind of did everyone give up on complaining about that one
the wolfstein treaty community hasn't had as much choice in source sports
I think there has not quite as much argument with that said
with uh E.C. Wolf coming into the picture and uh basically
upending pretty much everything that that community knew.
So the Wuppensstein 3D community when I showed up on the scene was very tiny.
There were basically two forums, the Die Hard Wolfridge Forum and Wolf 3D Haven.
And both of them were basically a small town mentality.
So then you have me showing up with this source port that implements basic things like WASD
controls and making Wolfensstein 3D accessible to the masses.
And I basically faced V-a-mit rejection because I'm impeding on,
my impression is my rejection campaign with imposing on the small town
with all these people that are now coming in and asking why don't their mods work with my source for it,
even though, yeah, so the Wolfensign 3D modding community would most,
mostly based around direct hacking on the source code itself.
So every single mod is its own source port in a way.
Oh, God.
Okay.
Right.
So there kind of was a lot of source ports.
It's just not in the same sense as what you had with Doom.
Right.
They weren't interchangeable for,
but Doom,
you can, to a certain extent,
a large set of mods with any source port.
So,
so,
lost my train at that
uh...
Modding
Small Town
Rejection
Changing the game
You haven't got it
I lost it
I remember what the question was
Was it about choice
And
Oh it was
I don't even really exactly what I was
What the question was
At this point
I think it was just kind of
in general
like sort of the beginnings
V-C Wolf and
what was going on in Wolfstein community at the time
And then you asked something about
If there was as much debate
Oh yes yeah I brought up the random
Yeah feature complaints yeah
So the Wolfenside Community
Does Florida still
Have a diehard Wolfport SDL
Fan base
Even though it's
The source port has been unmaintained for years.
There's been a couple forks that have come off of it,
and all of them tried to keep the same name.
So it ended up being really confusing to figure out the history of all that,
because there's like three different project called Wolf for SGL.
I did convince one of them to finally rename their project to DD Wolf.
So that's at least solved.
But, yeah, none of them.
were blessed by the original developers, to the best of my knowledge,
anyways, because when ECWolf started, I was initially contributing back
anything that wasn't major gameplay changes.
I managed to get a couple patches, I think,
into the Welfare SDL code base before the developer just disappeared.
I was sending patches and just didn't get a response anymore.
So at that point, Wulfur or SDL was the
only maintained Wolf 3 resource port, and then EC Wolf took over is the only maintained one.
Now there's, I think, four reflection HLE, which is essentially a chocolate doom equivalent.
And I actually have made contribution to that because, to me, the main purpose of that kind of afford is for reference purposes.
So if there's some weird behavior, some of the behavior is like a memory corruption happens.
And it happens in a predictable way.
So certain mods can depend on that memory corruption to work.
And so what's handy about force like chocolate doom and whatnot is they'll capture that behavior and make it defined behavior.
Instead of crashing because that's what a modern operating system would do in the same situation.
and
yeah so the other one
as far as I know
one of the developers of the Wolf
for S to L.D. Wolf is still going
and as far as I know D.D. Wolf is still going
and then yeah there's E.C. Wolf
and I think that's the four that are still active
that I'm aware of.
Maybe this gets into like
even pre-source port stuff
but why do you think
there is such a big distinction
with Doom and Wool?
Wolfenstein here, where Doom has so much going on, but Wolfenstein even now is kind of still just a few projects here and there.
The main thing would be the assembly code.
Like I said, that was a big holdup for a lot of the early projects where they just got really buggy because the way that the original code was made.
the Doom's source code however was entirely C or
I know there were assembly code in there but I think there were C fallbacks
so you could just compile it out of the box on whatever
and so that made it much more accessible to develop for
the other thing is Wolfensscien's Siencrowd is a little bit of an acquired taste
and that it is way more primitive than Doom and that shows
I think
some people would have a better opinion in the game
if they stopped after episode three
instead of playing all 60 levels at once
a lot of people don't realize
that episode 4 or 3-6 is actually an expansion pack
and so
you end up playing through
this really long game
where pretty much the entire thing
is the same thing over and over again
and I think that burns out people
so I think there's just less interest in the game overall
but yeah the flip side of that is
since it was a primitive game, there's a lot of things that you can do to expand.
And to that end, like, ECWolf kind of gives more,
but your rises the triad vibe when you actually start modding it.
Where's the triad?
Why does that name ring the bell?
Oh, yes, yes, yes.
Okay, that's why.
I advised the triad did use the Wolfensign 3D engines, so far down the road,
my plan is for ECWolf to have support for that.
I guess I should mention ZDome and,
we'll just say
ZDium was one of the
early ports that actually merged
all the Doom Engine games into a single
engine. So that allowed
mod authors to take stuff from one game
into the other. And
that unlocked
a lot of power. A lot
of the reason why
the early ports didn't do the same
was because
a lot of the early ones used
the GPL license
whereas ZDium used the
original Doom source released licensed originally.
And so that gave us a bit more flexibility
at the cost of the usual things that you expect
with the GPL freedoms.
Although these days, it's kind of a dubious benefit.
Now that GZ Doom has been used for
probably like 30 some odd commercial games on Steam,
there end up being a question like,
Can these games come to consoles and the answer is no because of the GPL.
And if I could call out Valve for one second,
they really need to release their Steamworks API under a license
that is permissible through the GPL so we can stop doing these insane workarounds.
Workerounds in what way?
So, yeah, so there are Steamworks API as behind a NDA.
However, anybody can go to the Steam partner website and sign up
and then get a copy of it.
So why is there an MDA there?
I don't know.
And so that means that it's GPL incompatible
because you can't introduce any further restrictions.
And the way that games get around that is,
one, you could have a separate process
and then communicate through a socket
in order to bypass the GPL requirements.
Some other games just want to take the spirit of the GPL into account.
Nobody's going to complain
if you're just like, hey, there's just one thing.
The implementation on how to do this is very obvious,
and you can get a copy of it.
I just can't show you it because of the NDA.
And then there's also a thing,
someone I think re-implemented the API is like Open Steamworks,
so like you could implement it and just be like,
hey, technically I'm winking against that, but actually I'm not.
And then in the case of, so ECWolf is the,
official port for the Super 3D Nozark release on Steam and GOG.
And since ECWolf is dual licensed under both the original source license and the GPL,
and one before Ripper disappeared when I, so, yeah, Wolf for S.D.L. was originally,
only nominally under the original source license.
I asked Ripper if his intention was that it would be available under any license that
it software licensed it under and he said yeah so then i submitted a patch to add the gPL compile
option to it and uh yeah so because wisdom tree had a license with id software i'm not technically
beholden to the gpL in that case but we still follow the spirit because why not release the
source code so it's uh up on the uh ec wolf get hub so i you kind of brushed over it
If anyone who's unaware, can you just briefly explain Super 3D Noah's Ark?
Yeah, so in 1994 and 1995, a company called Wisdom Tree, also known as Color Dreams, I think,
Weiss and Steve Wolfenstein 3D engine from Id Software, and they were doing Christian Bible games,
primarily for the Nintendo consoles
unofficially, of course.
And so one of the games they put out
was a version
that you would call it a first-person shooter,
even though that term kind of fueled wrong in this context.
Yeah, yeah, yeah.
Called Super 3D Noah's Ark using the Wolfensine 3D engine,
specifically the Super Nintendo version.
The DOS version came out later
and kind of backported some of the features
from the Super Nintendo code back into the DOS code base.
Yeah, there is a little bit of a misconception going on
that it was done out of some sort of spite
for Nintendo forcing it to censor
the Super Nintendo version of Wolfensstein Treaty.
As far as Wisdom Tree is concerned, that is false.
They license it just like everybody else.
Whether Id Software felt it was funny
because of that reason specifically.
I can't comment.
But, yeah.
If you are curious about seeing any other
Wisdom Tree games,
AVGN, like 12 years ago,
did a Bible Games episode on that.
So go and check some of that out if you want to.
The one thing I'll say on that,
he did say that, like,
the game was just a re-skin of Wolfensine Treaty,
but Super 3D Noah's Ark
does have 30 unique levels
that were designed by some tree
team so it actually
is a new game
but yeah
choosing the same code
I think it's just cool
that someone made this
like that
like yeah it's kind of dumb
yeah it's like a weird thing
it's kind of
it's cool and fun that someone just went
and made this
and Doom had one of those as well
in the form of a check request
that was distributed in cereal boxes
back in the day
it is kind
it is cool that like
there
There were so many, so many things just built off of these engines back at that time.
And since then, there have been so many of these like full conversion mods where people
have made these entirely new games based, I think it's especially cool and someone does it
for, like, does it now.
They want to go back and rather than, you know, going and making a game in, you know,
a modern engine, like a Godot or something like that, they go and say, you know what, I'm
not going to try to replicate that style.
I'm just going to go all in and actually just build something off of that old code.
Yeah, in the case of Doom, a lot of it is those, those are people that just were modding for Doom
and eventually worked up to making a full-from-scratch game.
So, I mean, you already had the skill set, so why wouldn't you?
And the license allows you to release them commercially.
And so, yeah, that's pretty much how those come about.
It is really cool.
I think it's super cool that the code was even released in the first place.
Like that's just not really a thing that basically anyone does.
And by doing so, obviously it gave them a lot of like, you know,
I could imagine at the time there were probably articles that came out.
Like, wow, look, this is so cool.
They released the source code for their game.
But it's just cool that they sort of opened that up, opened that opportunity up,
because none of this would have been possible
if they didn't go and say,
okay, have fun with it.
Yeah.
Yeah, and, I mean, even the implications go beyond
just the have fun with the aspect.
Preserve it.
As I mentioned, there's like 30-some odd games that are using it commercially.
So I think it,
and like even outside of Doom,
I think I personally owe my career to having worked on ZDome.
So, yeah, just the widespread impact that's just a little gesture like that can have is pretty amazing.
You've talked a couple of times about EC-Wolf, sort of pulling in a lot of things from Z-Doom.
Like, what has been brought over there?
And, like, what does that sort of imply for what EC-Wolf is?
So as I mentioned, a lot of it is the front end stuff.
So mostly just has a generally same feel that Zedum had at least as of whenever I last synced with the code base,
which was quite a while ago at this point.
But in terms of like the scripting stuff, it's mostly just familiarity.
So someone can take their skills that they developed for them.
modding for the Z Doom and they instantly transfer over to EC Wolf because while the engines aren't
the same internally they still generally had the same design about them so I was able to take
some liberties and how the scripts work for Doom and transferred them over to the Wolfensine 3D
engine and there is no real loss and like accuracy.
in doing that.
So, with,
maybe this is a dumb question,
but what is there even
to do on a project like this?
Because obviously the games themselves
are ancient games,
you've worked on ECWil for so long now.
Like, is the project not just done?
Like, what is, what is there still to do?
Yeah, so for, for ECWil,
there's still a ton left to do.
After I completed college and went out into the real world,
I haven't had quite as much time to chew through my infinite backlog of things to do.
But, yeah, so right now, E.C. Wolfensign 3D., Spiro Destiny,
Super 3D, Noah's Ark, and then Wolfstone 3D and Wheat Hands from the...
There was an arcade cabinet that was included inside of,
the Wolfenstein 2 game that had an alternate reality version of Wolfenstein 3D where you play
as a German against the Americans. And so you could extract that from the game. And it turns out
they basically implemented the original 3D engine in those games. So, well, that's actually safe. I love that.
It's the same game data format. So when you extract them, it actually can just run in ECW.
there were a couple things that I had to add to support those, but it was very minor.
But, yeah, obviously those are the games that are very similar to each other.
I have the Mac version of Wolfenstein 3D, like half implemented.
So that need to be finished.
But then there are all the other games that use the Wolfensstein 3D engine that I need to get around in implementing,
which include Blake Stone, Corridor 7, Operation Body Count, and RISD Triad.
So the goal is to kind of just support everything.
Yep.
And that's the same thing that ZDome did well before.
I guess how much...
Well, what needs to kind of change in the code base to happen?
Like, why do the other games not just work?
What do they do differently that causes issues?
Yeah, so how...
Why is something to Wapenstein 3D engine would work?
because they would basically hand you the source code to Wolfensine 3D and the editing tools.
Now, the game data only includes, like, the graphics and the story text, stuff like that.
If you want to, like, change the behavior of how the monsters work, those all have to be done and see.
And so all these games have different game logic that need to be implemented.
Now, it still uses the same general framework, so it should all piece into the same scripting language that I have.
But all that logic need to be re-implemented into the engine.
Now, I did play a role when getting the Blackstone source code released.
I want to say that would have been around 2014.
There is a small problem in that Boykstone is GPL, whereas ECWolf is dual licensed, as I previously mentioned,
so I can't necessarily just take code from it.
But what I mostly need is like the high-level things and the animation tables,
which I don't think necessarily fall under copyright in that sense once they're translated into another scripting language.
So that should be fine.
Maybe one day
ECWolf will have to drop the
non-GPL license option, but
today's not that day, so
I guess
do you still enjoy
doing what you're doing?
You've done this for so long now.
It's
like
you got into
initially because you wanted to add a basic feature
and then expand it out from there, right?
So you never had
these initial goals to like
be the guy who basically
does Wolfenstein 3D
but now that's kind of
what the project has become
yeah
yeah
so far I haven't
really had burnout in
the literal sense
I think the
certainly the pace that things have been developed
would suggest that I do but
there's
and more behind the scene stuff that I've caused that more
than necessarily I don't want to work on
the project.
Right, right, right.
But, yeah, the thing that really keeps me going is just seeing people being enabled to
create things.
And, like, yeah, seeing people release games on Steam and building their careers off
of things is actually very rewarding to me.
Sorry.
So you also wanted to talk a bit about, which,
completely side tangent here.
You also wanted to talk about
Linux package distribution,
Linux software packaging.
So I guess
I don't really know where you wanted to go with that,
but I guess
how did you start using Linux? I guess
we can start from there.
Yeah, so I
started using Linux
before 2007
in servers.
May have used Red Hat Winix at one point, and then Windows when that came out.
My dad got a copy of that, so that was probably my first Winnex experience that I remember.
But taking the actual series, there was a time where Mandriva Linux was popular,
and I was running a home server off of that.
But in terms of desktop usage, in 2007, I was informed about Ubuntu, sort of tried it on and off for a little bit there,
but then committed to going to Winix full-time in 2008 with the release of Ubuntu 804.
And silly me, decided to pick the KDE4 remix option.
so I got the
full force of
all the bugs that came out of that
and surprisingly I'm still a KDE user to this day
so I mean
things are pretty well since KDE4
quite a bit
yeah and in
those days it's like yeah you pretty much had them
to install the PPA for the way that's KDE
to even have a usable system
but
yeah so
yeah
I got involved with
Zetium
in Zandronom.
Zandronom, at the time known as Skull Tag.
Oh, is that why I kept...
Okay, I looked up some stuff about...
Okay, that makes sense now.
Yeah.
I guess a quick tangent on that.
The Skull Tag Xandronom fork was a very similar thing
to the GZoom, UZDum happening.
The original developer, Carnival,
real name Brad Carney.
He went off, well,
the first thing that happened was
I think Skull Tag may have been like his first
programming project, and
as a result,
whenever there would be a new major version, it would be completely
related with bugs. The one where it was basically
usable. And
at the release of, I think
it was 9, version 0,000,
0.97b. The amount of bugs was so overwhelming that he quit the project.
I'm on the wiki page for Skoltag. One of the links here is controversy of 0.97B.
And after that, a developer using the pseudonym Torsemajo, real name is Benjamin, I forget his last name.
came onto the project and brought a very method,
I don't even know how to say that word,
a very conservative approach to progressing the project,
and so he was able to continue
as to get it more and more stable.
And at that point, it was still closed source,
and a couple of people, including my
myself joined the project.
And because it was closed source, we had to release Winix binaries in binary form.
And so that was basically our first experience.
Originally we went down the usual first device you hear is, oh, you got to build binaries
for every single distribution that's out there.
So the first release that we did for Winix, I think we supported three or four different
distros and had different binaries for each one.
And then we realized that the Ubuntu binary basically worked on every single one of them.
So we just eventually just stopped building a bunch of them and just only supported one.
From there, I think it was 2012, I decided for my own convenience and obviously the convenience
about everyone else to provide auto updates and I would essentially start my own PPA.
obviously not actually a PPA because I host myself
instead of through Ubensi's infrastructure
and so from there I've been building
Dubian packages officially for
many projects in that
project family there
and it became official
a couple years later with the
2.8.0 ZDoom release.
Obviously there was 2.8.1 and then the project terminated.
And then I was building
BZ Doom devian packages officially
until that project terminated.
The new ZDoom team
wants to distance themselves from
hand compiled and stuff and go to
CI only. And obviously they have their app image
now. So
whether they'll ever be an official dev packages
I'll have to be determined once I actually get...
Once I find time to get the project into a state
where I can build a Debian automatically.
And I think that's all I have to say for the initial part.
Yeah, I think going down the route of, like, CI and, like,
app images is totally fine for Linuxfield.
Like, I can see one to have, like, a proper Debian package,
but if you just want something that you know,
was going to work across everything.
You don't have to worry about anything.
Like, an app image is probably the best way to go about that.
Unless you got some thoughts there.
If you did some thoughts there, I'd love to hear it.
Yes, I definitely do have some thoughts.
So, and I want to practice this in saying that,
I think app image and flat pack are both great projects.
They do, I think,
people are a way to sort of hand wave the actual problems that are going on behind the scenes.
And I think that is slightly detrimental to kind of understanding the actual problem of Linux binary compatibility.
So, yeah, one of my criticisms whenever you see an article of, oh, Linux has terrible binary compatibility,
is pretty much all of them are G-Webc broke my binary,
but that's because I had a bug.
Right.
And I refuse to fix my bug.
And recently you did a video.
There was one blog that basically broke down that no, actually the problem is
you can't load like multiple gun times at the same time,
or like the C library or C++.
And, yeah, so I think what gets lost a lot is that,
binary compatibility on Linux is a multifaceted problem.
So there is that where Linux has basically a global symbol table for each running process.
And so what happens is if you require, if you ship like the C++ runtime and your GPU driver is,
is built on C++
but requires a newer C++ runtime.
Your C++ runtime is now conflicting
with the one for the GPU driver.
And
app image does not actually solve that
problem. I think
some people don't realize that there's a large list
of libraries that are excluded from being packaged
into the app image.
And so you're expected to provide those
from your system, but your system probably has
them installed anyway, so that's why it just looks
like it works. Right.
And a flat pack, on the other hand, solves it through isolation.
So they have a way that you can inject drivers that they compiled into your flat pack.
And so they can match the driver being run with the one that's on your host system,
even though it's not actually the same driver.
and
the other problem
that is
I think
it's one of those things where I go
it doesn't have to
be this way is that
the traditional distros
through policy will not include
like old ABI's
of versions of libraries
and so
like a new
new library
comes out, obviously the traditional distros typically will not ship that until the next major
release. But the next major release comes out. All the binaries are broken because you're relying on
the old ABI. Right. And new one's the only one that's provided. But there's no reason why they
can't provide the old one other than it would be a security problem because that's not maintained
anymore. That is one of the things where I feel like it would be easy to solve if people cared
enough. I feel like the
Nix OS commenters are going to be
scrambling down below about this.
Yeah.
I'm not super familiar with
how Nix works when you run it as your actual
operating system, but
obviously if you use the Nix of the Package Manager,
it's able to provide those things.
And in some ways it does solve
that problem. Yeah, it is
unfortunate that the main
distros don't.
One thing I have found is that
canonical seems to be
particularly good about
backwards compatibility. I don't know if it's
like an official policy, but
more often than not, I find that
they will do like a rolling
situation.
So an LTS
comes out. It will have
any ABI that the previous
two LTS has had in its repository.
So you can basically expect that your binary will work for five years, even through upgrades.
It's not always the case that that's true, but I have seen many times where they've had that allowance,
whereas like Debian seems to do more of a hard cutoff.
So if there is an ABI change, things just work.
Yeah, I mean, things like that can often be worked around just through different.
managing your dependencies, well, there's going to be a group of people in the comments that are going to be like,
oh, just static link everything. And, well, it doesn't work if you want to use your GPU driver because your GPU driver is dynamically linked.
And there's certain techniques that you can do. So like with the C++ runtime, you can kind of get two runtimes working by static linking the C++ runtime.
That doesn't work for a C runtime because it has a dynamic linking stuff built into it.
And then there's also a technique where you provide your whatever minimum version you need,
and then you provide a SHIM library that looks at through system copy
and sees it the system copy newer than the one I provide.
If so, use that.
Otherwise, use the one I provided.
Because generally speaking, if you, as long as you use whatever is to,
newest of the two things
Jen and we were.
Yeah, this is...
You mentioned Ubuntu there
and like with something like Ubuntu,
you can very easily solve that problem.
When you're dealing with something that rolls more
and a lot of distors that people tend to rely on
nowadays are, even if not explicitly rolling,
they are some like partially rolling system.
Like obviously,
Arch is everything's rolling,
free for all, go for it.
But even something like Fedora,
does have these point releases, still does roll through some of the updates and trying to provide
the set points that you know things are going to work on, basically is just not part of the
distribution model at all.
Yeah.
Yeah, I don't really think rolling versus not rolling changes anything there.
It's just a matter of policy.
What they probably should do is have.
like a second repo that you can opt into that's just like legacy compatibility.
Right. And so whenever a library goes, end of life, you put that package out to this other
repository. Build it as long as it still compiles. And if people don't care about, oh, there might
be a security vulnerability there, they can still pull in these libraries. And that would go a long way in
removing the field that
when it just breaks binaries all the time
because, yeah,
I mean,
I also see people like,
like, yeah, you can't run the Loki binaries anymore,
but you'd be surprised how many of them run
if you just preload the standard C++
library with LD preload,
and then they just fire right up,
even on the way just.
I think the...
So a lot of the time these are available,
but they usually, like,
relegaged the third-party repos.
So it's just, it's something you can do.
It's something that somebody cares about.
Like, there's users who are providing these old compatibility,
but it's just not something that's core to the distillery.
I think a lot of problems with Linux distiller's ultimately comes down to,
like, developers and funding.
So many problems pretty much just come down to that.
It's like, do we really care that much about legacy support?
that we're willing to sacrifice something else.
And for a lot of people,
the legacy support is less valuable
than what it would be trading for.
I reached up until now.
There's a lot more interested in Winnex,
and I think just generally more third-party packages.
Obviously, at the same time,
we're also moving to its immutable distros,
so is it going to be able to,
matter in the long term if we're immutable and we have to do basically the app image flat pack
thing anyways. Probably not. I don't know about that. I see there is a place for these. I don't know
if they're ever going to become like the primary distros that people rely on. Maybe things change,
but we have so much legacy documentation, legacy support built around.
these traditional systems that unless they can really provide some major value for the regular
user and maybe things change as more mainstream users take advantage of Linux but I don't
see a major shift that's going to happen with like the users that are currently there
personally I think that probably will end up being a shift maybe not
to precisely the immutable model that we know today.
But Mac OS currently is essentially an immutable operating system,
but it doesn't feel like one.
And I think we'll probably find some way to move into that general direction.
Actually, that's fair.
I think that's really fair.
The issue is it really feels like a different thing.
It...
Yeah.
Hmm.
Okay.
I'm certainly not going to say it's going to happen in the next five years probably.
It's going to be a long ways out.
Right, right.
There's probably a lot of cooling that need to be built around it.
But, yeah, I feel like even from the enterprise space, a lot of the issues that people have is just like managing drift.
And so, like, Red Hat has their Red Hat image mode now, which is their immutable version of well.
And so I suspect.
at some point they're going to try to push
Enterprise over to that
and I assume that's probably where most of the funding
for traditional distros these days comes from.
I think one of the issues that do exist
with the mutual systems that haven't really
been fully addressed, because we're getting
to the point where users-based
software is, it's getting better, right?
Like, Flatpack is a very popular format now.
A lot of things are available in that.
In a lot of cases, a lot of distros do provide
just nicks as a fullback.
you really need something.
But the problem that is there right now
is dealing with the kernel side,
dealing with those low-level changes
because if you don't have...
Say for example, you need Nvidia drivers, right?
You need to have a separate version
just for Nvidia.
And if you want to add in any additional kernel modules,
you're basically at a point where you're going
and effectively building your own distro at that point.
You've got to actually make your own kernel for that.
That's one of those problems where
I'm sure there's some discussion being had on how to address it with immutable systems
and this is not something that's going to affect most people
but for the power users right
I do think that there's
that still being kind of a mess and you kind of having to get into the weeds
of actually building your own your own images then
do make things more annoying than they need to be
yeah yeah I like that does
So it's certainly more tooling that need to be built around those.
And that's not really my area of expertise.
Fair, fair.
Yeah, going back to, like, the funding of distros
and being why they don't really handle the backward compatibility,
I would say my personal really hot take for Linux is that
distros should not be providing every single package under the sun.
So if we got rid of all of the stuff,
and the Ubuntu universe repository and focused all that effort onto legacy compatibility.
Yeah, I've brought this up to a number of...
See, when I talk to application developers, they agree with me.
When I talk to distro developers, they will give me a 10-minute discussion on why their distro is providing so much value by packaging every single possible thing.
Yeah, yeah
And I think there's definitely some merit there
Because if you're a distra maintainer
You're going to have
More
knowledge on how to package applications
But I think what makes more sense there
Is to work
Like work cross distro
On like
Some sort of consistent packaging
Put more effort
Have that effort
Going into Fedora packaging applications
and Ubuntu and Debbie and all these in distros
to work more on putting things in a shared repo
like a flat pack, like app images,
these other things which are cross-platform.
Honestly, I don't know how much like getting a common package format really matters
because we can build tooling that builds multiple packages from the same binary.
at work I distribute
remote management software
that includes support for Linux
and so we have a single
build that's built with
REL 7 because we support
everything until like the extended support period
ends and
so we build it on REL7
I do some
magic to
or certain libraries that are different
between the distros that we support and basically code them at runtime instead of hard-winking
to all of them.
And yeah, so it's one binary.
We package it as a dub.
We package it in RPM.
We tried to follow the packaging guidelines for the respective distro, so it feels native on both
side, but it's the same build.
and so I don't mean we think that's a huge hurdle
that there's many different package formats
I don't think it's necessarily package formats
I think it's because you can you can resolve that really
with CI pipelines
I think the main concern is this duplicated effort
of like for example
is there any reason why
is there going to be any difference with the packaging
of I don't know
Grep across Ubuntu and Fedora
and Debbie and Art
Like, a lot of this stuff, you're basically doing the same thing.
The only difference is the resulting package format it is at the end.
The actual project in most cases is going to be packaged in pretty much the same way.
Yeah, I guess until you get into the debate about the core utilities versus getting into.
Sure, okay, yeah.
Which, by the way, I used the EBunchy non-LTS, and so I'm currently running the Rusty core utilities.
I had zero issues except for Git Subtree broke.
Oh.
Yeah, that was one of those where the bug was already filed and already fixed.
They hadn't chip a new version yet.
Yep.
Yeah, I think it was kind of crazy
that people freaked out about the Rust Core Utils thing
It's like, do you actually think
Well, firstly, the non-LTS versions are the versions
Which do tend to break more because it's not the LTS
And you can get away the things breaking
But also like, do people legitimately think
They were just going to ship something which didn't work?
Right
Yeah, like obviously it's not one for one compatible
but a lot of the issues that are there, besides obviously, you know, there are bugs like the one you saw.
But most of the issues are going to be the harder to solve issues, the less common issues.
Most of the low-hanging fruit was dealt with like years ago at this point.
Yeah.
Yeah.
Yeah, my personal take on like the LTS person on LTS is like when you get new hardware, you probably should be on the non-LTSS.
because as the way to the greatest current moment,
although you bunch who does have
their hardware enablement stuff, but it's kind of
delayed, so whether that works
or not is kind of hit and miss.
And then, yeah, once you get
to an LTS release, if you're not
like a power user, probably say on that.
If you are a power user, you probably
want to wait a software every six months
anyways, so that's
usually where I'm at. My server
is on LTS, my desktop runs non-LTS.
And there's me. I just run Arch
because it's funny.
I want my software up to date within three hours.
I tried to use Arch Winish one time, but I used it for exactly the wrong purpose.
So I was building a car computer for my brother.
And the problem is that didn't have an internet connection.
So when it came time to update the software, everything just broke because it was too far out of date.
Okay.
Yeah, maybe Arch is not the choice for that.
No, no.
Yeah, so I learned that pretty quickly, but yeah, I mean, overall, I'm pretty happy with the six-month cadence on getting major software drops and anything else is like, yeah, I mean, I can install it away to sting manually, so that doesn't really matter and not trying to rice out my desktop.
Is there any reason you're on that side rather than using something like Fedora, or is it just more of you've been here for so long you don't care?
Yeah, it is partially momentum, and also I generally like Ubuntu's policies better than the Fadour of Red Hat side.
I have an experience packaging for Bull.
The way I would sort of describe it is Red Hat solves the problems that Red Hat has.
And Debian spends a lot more time trying to figure out how things will actually mesh together.
and so things usually just work more
at least as a packager
I think another way to describe red has red hat
solves what red hat customers have a problem with
yeah
there's certain things missing
like trying to think of the exact example
like on
for app for apps
you can specify, I depend on package A or package B, whereas with REL, that was a relatively recent addition.
So at work, I have a problem where I can run with either OpenSSSL or GANU TLS.
And I prefer GANU TLS because it's more ABI stable.
But out of the box, REL7, I think doesn't ship a new enough version of GANU TLS for the features that I need.
So I have to depend on OpenSSL and GANU TLS.
But if you're on REL7, the new TLS install never actually gets used.
It just has to come along with the ride because in order for it to work on the newer versions of REL,
I need to specify that dependency.
Whereas with the Debian side, I can just say you need one of these two.
And since the newer distribution.
versions will have Ganoo TLS installed by default.
It doesn't install open SSL because the defendants is already satisfied.
So that's one example where it's like, yeah,
Debian just like solves the problem completely,
whereas Red Hat is like, I didn't have this problem yet,
so why would I have solved it?
Okay, okay, that's fair, that's fair.
That's actually kind of crazy that is a relatively new edition.
I would have thought that would be there for a long, long time.
I don't remember if it was a rel 8 or rel 9.
adds it, but it wanted those two.
Okay. Okay, sure.
When was Rel-A? That was
release date? That was 2019.
That's great. Because I know Arch had it
like way before then.
Yeah, it's a pretty...
Pretty normal feature.
Yeah.
But if you're coming from the world
of we build all the packages, then why would you have
a needer or dependency?
Well, in particular, not so much Fadora, because I think Fodora is a little bit, because it's community basis, gives a lot more options.
But REL kind of does the, we have the one thing and you use the one thing.
So it's not really a problem they ever had, I assume.
Yeah, actually, no, that does make sense.
Like, if you're providing a product rather than like a framework to build something, like that makes sense.
I could see that.
I think it's dumb, but I can see that.
But yeah, I mean, there's certainly some things that I like about, well, as a developer of binary packages, they have their dev tool tool set stuff now, which is a really interesting patch over a GCC where they separate out the new parts of the C++ runtime and allow you to compile statically link just those parts.
so you're still depending on the system copy for the base set of symbols,
whereas the new stuff is baked into your binary,
so you get better compatibility.
Backwards and forward.
So, like, yeah, if you're looking to build binaries that run everywhere,
I would definitely recommend using a well-build container.
And, yeah, you get nearly the latest compiler and everything.
so.
Hmm.
Okay.
Okay.
They kind of started that on, uh, REL 7, but, uh, it was more REL 8 and later that, uh, introduced
that.
Hmm.
Yeah, I've, I've always been pretty much on the user side.
I've never really dug super deep into, like, packaging.
So my concerns when I look for a distro are usually like very, very user-facing concerns.
And that's how I ended up on Arch, because,
For me, having the latest drivers and latest software is a fair trade for a little bit of instability here and there?
Yeah.
My counter to that is getting the latest drivers on something like Ubuntu is really easy.
Someone provides a PPA that's just the drivers.
And so if you want to evolve, just that, it's pretty easy to do.
That's fair.
That's fair.
And then in terms of like the random applications, at least since Ubuntu has done things like shipping the weighted version of Firefox regardless of their policies,
for the most part, it's like, yeah, the software that's...
Well, that's because they ship it as a stack.
I don't necessarily care about updating.
There is that.
Yeah.
So, yeah, like the base software is stuff that I don't really care if I'm not running the latest and greatest version at any particular given period.
And the stuff that I do care is easy enough to update.
So that's kind of where I fall on that.
I'd rather have to deal with any potential and compatibility every six months
and not have to worry about it for a while.
And then it allows me to run basically the same thing on my servers,
which I, if I mentioned, I run LTS,
so I only have to deal with that every two years.
Okay, yeah, I guess that makes sense that if you want to,
if you want your like sort of maintenance to be consistent across everything you do that's my that does make sense
i wouldn't want to run an art server and yeah oh uh my first job out of college was uh maintaining basically a
re-spin of uh sentos at the time and uh so i got really deep into the nitty-gritty of managing system d
and whatnot so like i have a my home router because i got uh 10 gig internet in
this town, but before there were like any home grade 10 gig routers on the market.
Anyone who's been looking at the video would not believe that there's anything 10 gig about this.
It could just be my side today. I don't know.
Not sure why you would...
Discord, big Discord.
Ah.
I also kind of intentionally have the background dark, but...
Yeah, who knows?
Anyways, so yeah, I white-boxed the router and it's running Ubuntu, and I was able to use the knowledge that I gained there to get things down to where there's like 15 processes.
I know exactly what every single one of them is doing, and it's configured in such a way that I can do the distribution upgrade every two years, and it stands up just fine and doesn't have any conflicts because I'm not like fiddling around with deep system files and messing with the,
packages, it just
stop in Etsy.
Okay.
That's fair.
We kind of covered
most of what I wanted to talk about
already.
I don't think there's anything
like really
unless there's like some thing that you wanted to
really touch on. I think like we
kind of wrap up there.
My notes, I see if there was any
particular thing. Yeah, if you want to jump back
to something, we can definitely do that. If there's
something you missed.
See, yeah, in terms of
binary compatibility, I did
mention the global symbol table
thing.
I guess the one thing I missed
on that was mentioning
that there is a problem with
fixing that and that
in order to
fix it, you would probably break
binary compatibility, and
even though there is the mantra that
Linux has no binary compatibility, there's
enough people that care that breaking it is pretty much off the table.
And, yeah, like, the one difference between, like, Linux and Windows, like, on Windows,
when you're passing memory between a DOL file and the executable, you need to pass the memory back to free it.
Whereas on Linux, you can just sort of, like, do whatever, because everything's in the same group.
and
there was a project called
a web capsule that was supposed to
like solve loading the GPU drivers
into a separate namespace
and that was abandoned
or turned into app image
I'm not entirely sure of what the relationship
between those are
and yeah so
ultimately my understanding is it
didn't really work out
because the GPU drivers would depend on X-11 at the time.
And so then you would end up with memory being passed
between the various instances of X-11 libraries
and that would cause issues.
And, yeah, so I imagine one of the things where it mostly worked,
but not really a perfect solution.
And the only way to fix it is to systemically go through everything
and changed the way things are programmed,
and that's never going to happen unless there's actually an initiative put forth.
And as long as people will continue to believe that Winix has no binary compatibility,
there's never going to be any effort in that direction.
Right, okay.
Let's see.
I mean, most of my notes, I think we're just like general technical things,
but probably a little bit beyond what you were hoping to scope this kind of conversation too.
No, if there's something there that you wanted to touch on.
I feel like it would be a little too in the weeds.
But maybe when I'm watching this back, I'll be like, oh, man, I really should have.
Yeah, totally fine.
If you don't want to get into it, it's all good.
Yeah, nothing else.
I think that pretty much covers it.
We didn't really talk too much about the UZDeme split.
Oh, yeah, sorry, we didn't know.
We can get in.
Yeah, so we can definitely talk some of that.
What's going on with that?
Is the project healthy now?
Like, what's actually...
Yeah.
Yeah, so one of the counterintuitive things is I think the split had actually
indication that the project was in a super healthy state.
So I had mentioned that in about 2016, we were about six official developers.
And then you mentioned there was that drama that went on about the WIF-Lulik mod.
Now, I think that drama is one of those where nobody really knew to hold.
truth. Right. Okay. So as an outsider, you're going to see like, oh, he disappeared and
he probably just rage quit. Because he has had a, uh, uh, uh, uh, uh, uh, uh, has done that in the
past. And I think it was 2010, uh, he, uh, did a rage quit and actually deleted the entire
GZ Doom website. Uh, and, uh, fortunately, we, we, uh, fortunately, we, uh, we, uh, we, uh, we, uh, we,
We had backups that we were able to recover all that, and then he came back to the project.
So, yeah, there was definitely some concern even internally that something similar was going on where he just decided to quit.
But it actually turned out that he just basically went on a small vacation.
And a lot of people find that statement kind of weird because it's like,
wouldn't he, as a project reader, tell everybody else that, oh, I'm going on vacation.
but if we refer back to the part where I was like,
oh yeah, there really wasn't a whole lot of coordination going on.
Like, why would you tell you?
You've never had to mention this before.
Yeah, and then considering that like, you know,
like you were saying that,
and then also the fact that he seemed like the kind of person
who kind of just did stuff and didn't really want to tell people
what was going on, even with like development of a project.
So if it's something in his own life,
I could see him be even like less interesting.
interested to tell anyone?
Yeah.
So,
like, yeah, there's a kernel of truth that went on around that.
I mean, he definitely was salty about that,
but I think everybody on the Zedium team was a little bit salty about that particular
pick.
Just from a general standpoint of, like I mentioned,
ZDium tries to maintain mod backwards compatibility,
and while there's a certain faction of people that kind of refused to believe that
for some reason.
and so when you have this mod
it's like delivery exploiting bugs
it's like I'll just sort of kind of goes against
the
notion that like yeah you should be able to take
a mod from any previous version of ZDium
and run it on the latest one
and
yeah so
personally I was a little disappointed
in that pick just from like
the
so yeah
the community
does that award ceremony
every year on
James birthday which is December 10th
and they
picked the top 10 mods
of the year and
Wilf is
a well-liked
mod so I mean in that sense I can
see why it was picked
but on the other hand
I kind of feel like
it was a bad pick just from a,
if somebody's new to the community,
they're going to come in and go, like,
what's the top mods that I should try out?
And, well, here's the list.
And now you got this one that only runs on this one specific engine.
It's kind of unfortunate, in my view.
But that's neither here nor there.
I mean, pretty much every year,
there's a little, I mean,
like any award ceremony where you have to pick the best of,
there's always going to be someone that's like
right right right right. I mean, yeah, graph was a
bit more animated
and probably should have been but
I don't really necessarily see
him being salty about it necessarily
unusual in any sense.
But yeah, the fact that he did
disappear right after
that when people were egging him on and all
that, yeah.
I said we did sort of run through the scenario, like what if he doesn't come back.
And so like I said, there was six of us.
If he left, that would be down five.
One of them was myself.
And at that point, I was pretty much shifting focus to ECWolf and didn't have as much time as I used to.
So, I mean, I could have taken over the project, I suppose, but we wouldn't have been ideal.
The other main developer, DP Judas, I don't remember, is a real name off the top of my head.
Probably would have been the best pick.
The problem was, I believe, and I'm sorry if I got my memory wrong,
but I believe he said that he wasn't interested.
So that kind of rules that out.
And then the remaining three members were, two of them were,
focused on
specific areas of the engine
and
all of them.
Oh, you good?
Just trying to think, yeah.
Oh, yeah, yeah.
The remaining two members
revise that. One of them
focused specifically on the Mac OS port.
And then the other one was a general
list. However, she has had issues with being in leadership positions in the past. So I think
anybody in the community would understand what I'm saying when I was like, yeah, probably not
the ideal outcome. So it's one of those where it's like people say that like, oh, this split
should have happened earlier, but it was one of those things where it really only within the last
couple years that the project had got strong enough where there were people that were covering
enough of the code base had enough time and yeah just a general sense of where to take the project
that I don't think it really could have happened too much earlier like maybe a couple years at best
and that's when graph was pretty much absent from the project anyways and they were leading it so
in that sense it's pretty much a clean handover.
So far, I have not seen a graph surface since the split,
and the product has been dormant since then.
He hasn't made any official announcement that it's dead,
but I imagine it's going to be, again,
like the skull tag in Xandronom situation,
where it was basically a clean turnover.
We just have to use a different name because
the one person who essentially owns the name said that they want to keep it
right right so it's effectively like they
whilst graph was gone the project was being built up and they were effectively running it anyway
so I guess when something came along
whoever's involved in running it kind of was just like
we
like this is as good a time
to do so as any
like I'm sure
if you've talked
about a number of issues
I'm sure other people
who've worked with them
probably had issues
and it was kind of like
we wanted to do so
at some point
but we just couldn't
and now is basically
we have the ability
to do so
so let's go and do it
it's more of a straw
that broke the camel back
uh
situation
As I was saying on the public perception versus internally,
nobody internally like hates Scraff.
Sure, sure, sure.
He's a very talented programmer.
Like I said, the fact that the project has been able to grow,
which as many contributors as has,
means that obviously he's very open.
It's just there's certain behaviors that over time
that is add up as being kind of grating.
and
that one
got to the point where
the project sort of moved
in one direction
and then Rapp was still treating it
as if it was going down
the direction he knows
kind of like this big team
built up around it but he was still treating it like
his own personal project
yeah and yeah
at that point it's like yeah either
the reader can recognize like Randy did and go like, yeah, obviously this is no longer my project and move on.
Or you can tell them to get a new name and fork the project, which is what he ultimately chose.
Okay.
So, yeah, I mean, yeah, on one hand, it's like easy to look at the drama and go, oh, man, the project works unhealthy.
but it's like, yeah, the only reason it could happen
is because the project is healthier than it's ever been.
Right, right, okay.
I don't know if you,
I don't know if you pay any attention to like the Minecraft community,
but there was a similar sort of split like a few years back
when, what was it, what did it fork off of?
When the prism launcher stuff happened.
What was the project it forked off of?
Sorry, I'm forgetting the name now.
was
multi-mc or is it
they've renamed since then
either way there was a situation
a similar sort of situation
where like one person
involved was like okay
we want to go down this route
and then it was a lot
that was a lot more aggressive
like that person ended up like kicking people out of the project
like banning people from the repo
and ultimately that project is just
kind of dead
but the point I'm sort of getting at there is sometimes there's just a split in direction
and it's just best to sort of go and do your own thing rather than trying to force it into this
into this thing that the project leader doesn't want it to be right and I mean yeah
as you mentioned this isn't like a totally unique I mean look at like to you open off
office.org, Rebery office.
Oh, sure, yeah, yeah.
And then GCC had one area in its wife that got merged back.
And then I think something happened with FFMPG, I think.
I'm not sure about that one.
X-OG did happen with.
XOg spawned off of X-3D6.
Yeah.
So, I mean, this isn't necessarily unusual.
It's kind of unfortunate when you have the naming discontinuities.
but it is it is funny watching some of the commentary around it because it's like yeah the announcement i mean
you have to treat it as a fork because you don't know if the original project is going to continue or not
so it's like oh there's there's going to be two projects and then like people can't grasp the idea
that the only thing that changed about the project is the g turn to a you and nothing else right yeah
like basically every
I'm not entirely sure
but I assume most people followed
over to Uzi Doom
Yeah
As far as I can tell
There's a clean cut
Over to UZ Doom
Like I said
The only question mark is Grapp
And he seemingly disappeared at this point
So
Whether he continues to practice or not
I don't know
I kind of suspect that
He kind of had been stretched too thin problems before.
So if I were to guess, I feel like he's going to see this as easy out to just fade into the background.
There is Rays, which is a Duke Nukem 3D port that did the same thing as EC Wolf,
where it takes the front end code from ZDum.
integrates that into the build engine.
At this point, I think that product is kind of on a hiatus
just due to lack of anybody having time to maintain it.
But when that project picks up again,
it will be interesting to see what comes of that.
I know there's at least one other person on that project.
Even if Graf decides that he's done for good,
I'm sure that product will end up being picked up again.
So even though there's been like a lot of mess over the history of Z Doom, it's kind of, it served as a baseline to improve a lot of other ecosystems around it.
It created, it was a baseline for what you did with ECWolf.
It was something that happened with Duke Nukem.
And it's, even ZDome itself has now spawned off into these other projects.
They're still being well maintained and are keeping these older games alive.
Yep.
I think that's pretty much all to say on that.
I think we did start talking about the Skull-Teg-Zandron split
and then got on it to a tangent and never finished.
Do you want to go back to that?
Yeah, if you want a brief to go back to that, we can do that.
All right, so I think where we left off on that,
I mentioned that we got a new development team after the original developer quit.
and then the original developer started coming back for a while and then he decided to start his own game called Wreck
and so he went off and did that for I don't remember how long at this point I mean the split was in 2013 so that's what 13 years ago now
and so yeah he was working on his game came back
I don't remember what he had a problem with
but there was some direction that we were going down that he didn't like
and so yeah we basically gave him the ultimatum that we would fork
unless he just let us continue the way we were going
and yeah we decided to fork and then skull tag shut down
pretty much immediately after when she realized that everybody moved with us
So, yeah, it was another one of those words.
Like, yeah, we made the announcement.
We have to act like Skull Tag still alive, even though it really wasn't.
And in that case, we actually did take the rebranding as an opportunity to sort of refocus the direction of the project.
So Scull Tag was both a source port that did client server multiplayer as well as a mod that basically,
I would describe it as Quake 3 Arena for Doom.
So what we found was that some of the changes that Carnival made for that Mod was conflicting with some of the stuff that was being made for Z Doom.
So there were some subtle incompatibilities between the two projects.
And so we decided that with the split, especially since Carnival was like,
claiming that Skull Tag is like his property.
We would sever that included mod.
And while we still had compatibility for it,
you just had to load it manually.
There were a lot of people that were confused.
And probably even still to the day for some reason,
don't realize that Xandronom has full compatibility
with Skull Tag mods.
You just have to load the Shem in between.
So there's, I'm sure that you can,
talk even more about
what's been happening
throughout the history of these projects
it seems like there's been
a lot
even if it's not drama
there's just been a lot
that's happened
to get to where we are
yeah
yeah absolutely
yeah
I kind of hate
dredging up
drama but at the same time
I feel like
a lot of the
tellings of it
end up being one side
because you just see the public side of it
whereas like, I mean,
internally there's other stuff going on
and usually it's not as bad as
sometimes it appears to be, like I said,
when a project forks,
it's not necessarily that the project's unhealthy.
Oftentimes it's because the project's healthier than ever.
That's fair. That's fair.
Well, we're closing in on the two-hour mark,
so I think that's as good a spot to end it as any,
as any.
I can't speak.
So I guess if people want to check out ECWolf
and check out the work you do,
where's the best place to go?
That would probably be my website
and it's Maniac's Vault.com.
Unfortunately, it's one of those
where I picked the name when I was 11.
And just stuck with it?
Yeah.
And even worse,
the origin of the name is
my brother's screen name is Maniac,
and it was supposed to be a website for hosting his mods.
But I never was able to really come up with a name for my website,
so after he stopped making stuff, it's like, well, I have those domains.
St. St. St. St. C-Dronom.com is forever.
so
Maniacfault.net
obviously we're talking about ZDome
and that's at ZDome.org
and
And
Andronum.com is
that project
Is that
that project?
Great and great
I often have a weird way of words
on that
I think that's pretty
much covers it. Yeah, I don't really
do social media. I do have a
Twitter account, but I mean, pretty much
don't use it. You don't even have a link
from the Sea Wolf website.
Yeah.
Technically have a YouTube channel,
which is also BLSL3,
but yeah, it's mostly
just
videos that
talking about something
with a friend, and it's like, oh,
YouTube doesn't have a video on this, so I guess I'll put one up.
seven years ago
the sound of a cheaper motherboard
okay
yeah
yeah
uh
motherboard is like
putting memory in it
and it's making this weird creaking sound
and it's a little amused some
amused my friends
so
uh
I hope ordered that video
but yeah
I have a
let's play of
uh
of the game
uh hacks
which was a
uh
pseudo
uh
so a semi license
of the Doom engine
uh
with one of the
developers. Basically, we were doing a play through with it, and I was just recording it in the
background in case anything interesting happened. And it's like, yeah, it was interesting enough,
got permission to upload it. And, yeah, so that was not really intended to be one, but I figured,
hey, upload it anyways. Also, you can buy Super 3D Noah's Ark.
Yeah, I guess that's a good reminder. Super 3D Noah's Ark. I would probably,
prefer people to buy it on itch.io because the funds go to me.
For Steam, there's a kind of a revenue sharing thing.
I think my website might be slightly out of date on exactly how that revenue sharing works if I specify.
But I need to actually get around to updating it because the publisher reached out to me a couple months ago
and it's a game to get the 1.4 update out for that, so hopefully.
Okay.
Yeah.
I guess that's pretty much everything then.
It has been a pleasure to meet you, pleasure to have you on, and yeah, I have learned about a part of the gaming space I did not really have much knowledge of, but I'm sure people are going to,
find interesting. So thank you for coming on.
Thanks for having.
Okay. Um, nothing else you want to mention. No other links.
That's it.
Okay. I'll do a mantra and then we'll sign off.
Sweet. Okay, my main channel is Brodie Robertson. I do Linux videos there six-ish days a week.
Sometimes I stream as well. I've got the gaming channel, Brodyon Games. Right now I'm playing through Devil My Cry 5 and also Shenmu.
and if you want to find the video version of this, it is on YouTube at Tech Over T.
We have Spotify video as well.
And the audio version is on basically every podcast platform.
There is an RSS feed as well.
And yeah, you'll find it where you find podcasts.
How do you want to sign us off?
What do you want to say?
I love when this happens.
You got nothing?
I got nothing.
You know what?
That's a first.
We'll take it.
