Hacker News new | past | comments | ask | show | jobs | submit login
Anarch: Super small public domain no-dependency from-scratch suckless Doom clone (gitlab.com/drummyfish)
78 points by drummyfish 2 days ago | hide | past | favorite | 45 comments

This project is not exactly what it promises.

The title is "portable suckless [...] 90s-style Doom clone", however, in the technical details, it's specified that "this is my custom engine (raycastlib) based on raycasting, a technique used in Wolf3D engine, but it's improved, e.g. supporting multiple levels of floor and ceiling, so that the visual result is something between Wolf3D and Doom".

I don't think a that an improved raycasting engine qualifies as Doom-clone (in fact, this is the reason why the project is considerably less resource-intensive than Doom). If the project qualified itself as "Improved Wolfenstein engine", it'd probably get no attention.

It's admirable though that they released the assets with a very permissive license.

> a different, better direction than which the mainstream technology is taking, though this involves taking some steps back to before the things started to go wrong

There's definitely a significant self-absorption in this project. Modern mainstream gaming experience is different - not wrong - compared to what it was in the 90s; gamers looking for the 90s experience can still find modern retro-styled games. Also, it's not like everything from the 90s was gold. I actually do enjoy both AAA and indie FPSs.

> ["modern" programming (C++17, Rust, OOP etc.) or "advanced" engines] is an extremely bad choice for building long-lasting, accessible programs. New languages are a product of capitalism, evolved by the markets to serve corporations to make quick profit, not fulfilling the values that are good for the people.

I didn't read long enough to understand if this is a satire or not.

That seems a bit pedantic and a kinda negative, the whole thing read to me like a parody on the whole 'it's not a real machine unless someone's made doom run on it meme' and a homage to doom style games.

It didn't seem to me like it was taking a jab at modern games or anything too serious. Just someone having a bit of fun, bragging a bit and showing off their work.

Nothing to get so worked up about. It's a neat project, no need to let semantics get you worked up. It all just seems like it was made for fun and it's kind of impressive for what it is.

Not everything needs to be stern and serious.

> The title is "portable suckless [...] 90s-style Doom clone", however, in the technical details ...

This is subjective, I started creating it as a Doom clone and have seen it that way all the time. I think if you show someone the screenshots they will say it looks like Doom and the kind of engine doesn't matter that much (many modern "Doom clones" also use modern engines, not the original BSP one). But of course your points about the engine are correct, it is simpler than Doom, which I mention in the readme. I haven't chosen that subtitle as a means of getting more attention, I don't really think about this as I despise marketing, I simply tried to describe it in a simple way.

> I didn't read long enough to understand if this is a satire or not.

Not a satire.

> There's definitely a significant self-absorption in this project. [...] I didn't read long enough to understand if this is a satire or not.

Definitely sounds like a suckless project to me!

I don't think it is satire, but if the author reads this, one first reading it really seems like they want to get people to hate them, but I don't think they do.

ALso, they really shouldn't claim "Doom clone" when their game is, technically, much worse than doom in many ways, when one of their major arguments is other games are "made wrong".

I think this is unfair.

Sure, the writing style is a bit over-stated, but ultimately it demonstrates that the author asked "why should I build this? does it contribute to society?" which are questions that I think aren't always at the fore front of software devs' minds.

You don't have to agree with their conclusions, but I appreciate that this person is thinking about social impact when they write code, and that it appears to be a major motivation.

There are sections which sound like self-aggrandizing promotion, but honestly we tolerate that stuff (esp. on start-up focused sites like ProductHunt and HN) from commercial products all the time that promise to "change the world" if only you give them a small monthly fee or stare at their ads. At least this person is talking about free and public cultural works.

Finally, a bit of a nitpick, but there was a time when "Doom-clone" was the word people used to describe FPSs. If this person is truly trying to create a 90s game, that's actually the better terminology. Granted, it's likely not the most common interpretation of the word these days.

This person claims to be the only person making fully open non-trivial open source games.

They talk about how other open source games have a variety of insulting problems, while complaining they are going to get lots of insults. They claim, unlike other authors of open source games "they are offer the truth". I tend to get irritated when anyone claims to be the source of truth.

> on first reading it really seems like they want to get people to hate them

Didn’t read it like that at all. I just read someone explaining their principles and how it relates to something they make.

Shhhh, you are supposed to be libertarian or ancap if you are posting on Ycombinator...

>I didn't read long enough to understand if this is a satire or not.

I don't know much about the C++ world, but it holds true for me in the Web. Sure, there is progress and such, but there is also much bloat and unnecessary heavy features which I avoid using, and only use with feature checks if necessary.

> I didn't read long enough to understand if this is a satire or not.

I'm afraid it might not be satire at all judging from the author's other writings:


Under properties of capitalism:

> Poverty, crime, violence.

Anybody want to tell him?

Tell them what? Those certainly are properties of capitalism, which is fairly obvious when you look at any capitalist country.

You see poverty, crime and violence in most countries.

There is no official ranking of capitalist countries, but the Heritage Foundation Index of Economic Freedom probably comes close: https://www.heritage.org/index/ranking

The top 3 countries are Singapore, Hong Kong and New Zealand. The bottom three are North Korea, Venezuela and Cuba.

I think violence is perhaps a bit more balanced; you see violence in Hong Kong and Venezuela, for example. And perhaps the crime rate is the same in North Korea and Singapore. But when it comes to poverty, it's pretty clear that you're better off in the countries at the top rather than the ones at the bottom.

I don't think that follows.

To conclude that these are properties of capitalism you need to examine both capitalist and non-capitalist societies and observe that capitalist societies exhibit poverty, crime and violence (true), and that non-capitalist societies don't (false).

Not really. If I state that humans are mammals and one of their properties is that they need to breathe air, I'm under no obligation to demonstrate that there are mammals that don't breathe air. And nor does the existence of non-mammals that do breathe air invalidate my point.

But I understand your point that perhaps these are not necessarily inherent to Capitalism. I believe they are, as Capitalism structurally enforces inequality which inevitably leads to these things.

> Capitalism structurally enforces inequality which inevitably leads to these things

That's of course nonsense. It's human nature that enforces inequality, which doesn't necessarily lead to crime and violence either because again - human nature does.

Every social animal displays hierarchical structures, that's just biology. I don't know why so many people hold the belief that humans are special somehow and above biology.

Every economical, political, and social system will result in some form of inequality, if only because education, training, and skill need to be rewarded unless of course, you are willing to trade fairness for equality.

Finally, crime and violence aren't the result of (economical) inequality. They are correlated, sure, but crime isn't limited to property crimes and most of the other crimes don't need inequality.

A crime after all is nothing more than an action, which is defined as being against the law. You can in principle get rid of all crime by abolishing the law...

A similar story applies to violence.

It's not nonsense at all, and nothing you wrote contradicts what I said. You can blame any human activity on "human nature". At one time human nature gave us the slave trade, but we still made slavery illegal. Calling it "human nature" doesn't mean there's nothing we can do about it.

When I say "structurally enforces", I mean that it amplifies the natural urge to have more, or do better, than someone else.

For example, we might say that someone with $100,000 is fairly comfortable. And perhaps someone who's more ambitious might have 10x their wealth. Or, let's be more generous: let's say 100x or even 1000x. That last would give you someone at $100,000,000 which most folk would agree is pretty wealthy.

Bit it's a bit much when you end up with someone who has 10,000,000x the comfortable persons wealth. That's not human nature: that's a structure set up to funnel the wealth that ordinary people have created, to a tiny number of individuals. And I see that as a problem even if you don't.

> Bit it's a bit much when you end up with someone who has 10,000,000x the comfortable persons wealth. That's not human nature: that's a structure set up to funnel the wealth that ordinary people have created, to a tiny number of individuals. And I see that as a problem even if you don't.

That is not enforced by capitalism, though. Capitalism isn't a single incarnation of an economic system, it's an entire landscape of systems. Crony capitalism isn't the be all and end all - just look at the Gini-coefficient worldwide (https://en.wikipedia.org/wiki/Gini_coefficient); there are plenty of capitalist countries that do quite well.

> When I say "structurally enforces", I mean that it amplifies the natural urge to have more, or do better, than someone else.

And you base that assessment on what exactly? I happened to have experienced two worlds (communism and capitalism) first hand and I can tell you for a fact that no "amplification of urges" was necessary to have people striving to have more than others.

The main difference is that in communist countries common folk had no way of (legally) getting access to most consumer goods (apart from food and basic supplies).

Corruption, stealing (mostly public property, e.g. from state-owned factories or farms), moonlighting, and under-the-counter sales were the norm and overall everybody suffered the consequences of an economy of scarcity.

This however, didn't stop party officials, former squires, factory directors or high ranking government officials from owning big houses and villas, driving western cars, and having access to luxury goods that were unavailable to the general public (both domestic and imported from the West).

The main difference between capitalism and communism that I experienced are a higher standard of living (in capitalism), less corruption, actual opportunities for those who seek them and much less state sanctioned despotism.

There's downsides, too of course, but I live in a country where it's incredibly difficult (and somewhat frowned upon) to get obscenely rich and many of those that are inherited their wealth (something that could be easily fixed by 100% inheritance tax for sums exceeding some still generous threshold).

That's why I don't see mega-rich people as general problem with capitalism (it's more of a result of a global economy and financial markets anyway - the bulk of most billionaires' wealth is in stocks and options, not actual cash or physical possessions).

Just to give you some perspective on how "shit might go down": there was this guy, Markus Persson, who programmed a computer game that became the best selling computer game to date (200 million copies). He became a billionaire when he sold his company and the rights to the game in 2014.

Then there was this other bloke, John Carmack, who worked on 42 games and created genre-defining masterpieces like Doom. His games sold well, too, but he was 30 years too early and thus "only" became a millionaire (~$60 million).

The difference? Opportunity! Back in the early 1990s there was no internet and (PC) gaming was a niche.

I guess the lesson here is that the size of the market has changed and getting obscenely rich relatively quickly is easier than ever before. But that's just a direct consequence of the average person being wealthier than ever before and thre being more capital around.

I stopped reading at this:

"In today's world of capitalism and fascism no one thinks anymore about doing something without personal benefit, without expecting something in return. Complete selflessness and aim for the pure indiscriminatory long-term benefit of everyone is no longer even considered and if it appears by chance, it is laughed at and portrayed as stupidity. Technology that we are using every day is infected by this poison more than anything else."

Clearly this person has a huge self interest in the form of an axe to grind and inflation of their own ego. That's OK, but it's not good to lie to oneself about motivations.

You think the only reason to point out problems in society is because a person has "an axe to grind and inflation of their own ego"? Do you think society is perfect then?

No, I just don't think altruism comes from people who present the world as bad so they can point out the great thing they are doing in contrast to that. There is definitely an underlying something to it and it's quite plainly obvious. Remember I was responding to someone else who noticed it too.

"... attempts to avoid possible cultural dependencies and barriers (enemies are only robots, no violence on living beings)."

I'm sure violence against robots will be unacceptable in 10 years. Or even now:


Not to mention that the meaning of "violence" has been shifting steadily as well.

Like this game and the art project, but the ideas like "no violence on living beings" (see the FAQ for more nonsense) seems pretty misguided.

When I saw "C++17 and Rust are bad" I assumed it would be written in C89. I'm used to that kind of bad take.

But it's actually written in C++. There isn't a Makefile, just make.sh. And in there, I don't see the C++ standard specified. I'm guessing g++ defaults to C++98.

So that really makes you think. suckless means C++, but not the convenient parts like type inference. Not the safe parts like unique_ptr. A language with inheritance _and_ all of C's footguns.

What a head-scratcher. Excellent outsider art.

There is -x c in the make.sh, but you actually got me on this, I am not sure which version of C that flag chooses. But I just tried adding -std=c99 flag and it works just fine, so it is indeed in C99.

They didn't say "C++17 and Rust are bad", they said "is an extremely bad choice for building long-lasting, accessible programs".

That's a totally defensible statement.

He claims it's written in a subset of C99 that also compiles as C++

It feels like the universe always needs a Terry Davis

Please, no. This site's relationship with Terry Davis was weirdly fetishistic when he was alive, let's not make an icon out of him after his death.

That's an admirable project

I wish I could live long enough to see sentient robots become part of society and protest this violent game which discriminates robots and encourage violence towards machines. #AIUnitedCancelAnarch

I also wish this wouldn't so political, I don't see what capitalism has done to this guy - including giving him the tools to create this game! There are also plenty of games that can be played and studied freely.

I actually don't mind violence even against people as long as it's only in games, movies etc. Never in real life. All people should be able to strictly tell apart games and reality, and then violence in games can actually be helpful to relieve the inherent need for violence in humans without hurting anyone.

I used robots just to bring attention to pacifism and because I found it a nice replacement for demons, plus it also has that small extra advantage of being friendlier towards e.g. people who dislike blood or whatever.

> politics

My views have become a centerpoint of my life and everything I do, but I don't mind if anyone forks this and takes all politics out. Or even put your own politics in. It's all fine, that's why I released it into public domain!

This makes sense. I never liked playing FPS games with people. Wolfenstein 3D was an exception because the people were pixelated nazis. Doom and Cube/Sauerbraten were also ok because the player killed monsters.

Microchip Corp. is an actual business. They make cool stuff like the PIC MCUs used for building useful things such as a HVAC thermostat. They're not General Atomics or Lockheed Martin who make drones used for killing people.

I am interested in your ideas and would like to subscribe to your newsletter.

Seconding this.

OP, you and I disagree on at least one or two things. However, I respect the fact that you have very strong belief's and are willing to stick by them. I'd like to here more.

Play it online here: https://drummyfish.gitlab.io/anarch/bin/web/anarch.html

To the creator thank you for making this. I also enjoyed reading the manifesto. Keep up the good work and never stop fighting capitalism.

You don't really have to fight capitalism. You can find some homestead land and gather up people for a commune.

I admire the adherence to principle and depth of execution, however I find something about this incoherent.

Shaving off some aesthetic components of violence and positioning the work as anticapitalist does not address the core issue of every game project: What does the game facilitate a study of? That's not a leading question or "gotcha". It's just the thing every game player will ask at some point: What is it about? What do you do?

I believe the most likely answer to that is that it's primarily a technical study, and the game part of it is not exactly the focus, which is why the content of it is directionless "filler", opting to say less of the thing it emulates, but to on some level venerate it rather than critique it: it's still a game about shooting stuff and...that's it, it has nothing more to say, it doesn't "go" somewhere. And it will stay stuck there so long as it stays within the subset of what the original game did. Which makes it, in some sense, incomplete as a work. A tech demo with a bit of game bolted on, call it what you may.

If we proceed further in the direction of staying within principle and do not halt at the point where something Doom-like is possible, all these other development opportunities come up that seem more coherent with the ideology at play:

* Mazes/exploration gameplay(finding one's way home) * Procedural landscapes/dream simulator * Sports gameplay * Networked virtual worlds

The only problem, then, is the feeling that this would break with tradition, but that's exactly it: it would be radical from a "positive" standpoint rather than a "negative" one to develop in a new direction.

From the “manifesto”:

> In today's world of capitalism and fascism

Today’s world is run by neoliberal planned economies, what some Communists might call “state-run capitalism” (usually in reference to China). Fascism and capitalism is so far away from an accurate description of how today’s world operates. When you’re that far on the left, you lose the ability to distinguish between Fascism and Liberalism.

Appreciate the open nature of the project. But this is sort of what state of the art web fps looks in 2020 ;)


UE4 compiled to WebGL 2. The payload itself is a massive binary. My bias is still toward optimized WebGL 2 beating SDL 2 via emscriten. But that requires a deeper drive to demonstrate. Still, it's nice to have choices. And I think what we are seeing is definitely near native, AAA quality for web games which is exciting!

But is it fun? A lot of modern games miss the fun bit.

GTA V is the only modern game I’ve played which appears to have kept the fun bit intact.

>WebGL 2, SDL 2 via emscripten

If you target GLES3, you can have the speed benefits of both.

SharedArrayBuffer is not defined on the latest main line firefox

Doesn't work on my laptop, just a black page.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact