You're making an assumption on what AI lab have promised? The same AI labs that have made a strategy out of lying for hype? Thats crazy man, regardless of whether anything else you're saying is valid.
1. Engine choice is only a factor in performance. If you build an unoptimised game it will run poorly. Doesn't matter if you do it in Unity or your own engine.
2. Terraria, etc did not succeed because they use their own engines.
3. Those bad performance games have bad performance and happen to use an engine, not the other way round.
4. The quality of your game has a lot more to do with effort, care, etc than the engine you choose to use. You can create a buggy piece of crap no matter how you make it
5. Performance alone is a bad reason to roll your own engine. "Existing engines are not performant so you should roll your own" is a very bad piece of advice.
6. Making a good engine is HARD and a lot of effort. There is no guarantee that you produce anything better because you chose that path.
I always argued for custom game engines not for performance but so your game “feels” unique. I can spot a unity or unreal game from miles away. They have a smell if you will that is very hard to escape.
Every game that has a custom engine just feels unique and interesting in a different way. I think this is why people likely push the custom engine. Any game that passes the finish line on a custom engine often has a level of craftsmanship you dont see in standard engines.
Oblivion remake while looking good only works because the underlying logic is the same. I personally do not like the visual feel of the remake as it screams asset pack to me.
I have to disagree again sorry. I can't speak to being able to "spot a unity or unreal game from miles away," but if you want to make a game, make the damn game not an engine.
I get the feeling there is a serious survivor bias happening here. Individuals who are talented and knowledgable enough to roll their own engine, make it well and quick enough, maintain motivation AND cross the finish line to actually make a game likely make a pretty good game. Now consider all the other people who tried this path and got stuck along the way. Now you're gonna recommend all that complexity and difficulty to someone because you think games should "feel" unique. Like, its just not based in reality sorry.
I think there are 2 reasons to roll your own game engine
1. Making a game isn't your top priority and you're interested in game engines
2. No existing game engine does what you need it to do and you have enough experience/knowledge to know where you're going
If you're decision is based on "I want my game to feel unique", "it might not be performance enough" or some other immaterial and ethereal concept I fear you're gonna be set up for failure.
Noita is a perfect example of when to roll your own. They push the boundaries so much that they absolutely need a custom engine. Path of Exile, another example where their vision REQUIRED a custom game engine.
I started out writing my own engine. Never finished a game. Switch to unity and finished two then hit industry.
Both games were mediocre if I am generous.
The janky demos i made with the custom engine felt and looked so much better. I even had folks on forums asking if they could join the project.
The issue is if everyone uses the same unity standard shader, lighting, posteffcts, etc, it ends up with a certain smell. The effort it takes to work around this requires implementing the version of the given components that better match the vision. Most custom game engines still use a plethora of libraries replacing the ones that matter. It also isnt so binary. Earlier box3d post was literally catalyzed by Unreals physics engine lacking some 3 line of code.
I think what you are really speaking to is that few people have the discipline or motivation to complete anything. The two games above that I completely were in a large part because i actually sat down wrote a design doc, made a schedule, and stuck to it aggressively reducing scope.
I recently wrote an article showing just how easy it is to make a game engine using css box shadows as the renderer, web audio, and a stupid simple tween system. I think it illustrates pretty well that people vastly overestimate what a engine is.
For 2D games I can usually tell if it is made in Unity, and I don’t even develop with Unity. Hollow Knight for instance does not get me immersed like I do for Celeste or Bolatro. When I look at Hallow Knight I see moving animated sprites instead of characters, and it’s like that for the majority of 2D Unity games for me.
I would say yes, but only because I have played that game to death since childhood and would really only play it now with a more analytical/developer mindset, so the illusion is no longer present.
Yeah, there are some unreal "slop" games, even big ones, that just look like UE5 looks with kinda default settings, but there are also games made with these engines that look nothing like that.
The smell is 50% the asset packs available in the respective stores. The other 50% is the default character controllers and the default lighting settings
Facebook is widely thought to cause significant societal damage; anyone who thinks so, would probably consider employees of Meta to be the ones lacking empathy.
I believe Meta and most social medias cause significant societal damage. I also think that humans as a baseline are deserving of sympathy. Lets take the straw man Meta employee who causes damage and lacks empathy. Personally I'd think it's sad that that employee doesn't experience the emotion of empathy. I wonder how that impacts their personal life, why don't they experience that empathy?
I don't think it's a good idea to use someone else's perceived lack of empathy as an excuse to not be sympathetic.
So Facebook products are definitely not good for humans to use, sort of like cane sugar is not good for humans to use, but I wonder if you also think this about, I dunno, banks? They do vastly more predatory stuff with much bigger impacts. Nobody’s Facebook usage is affecting how much housing costs, for example. But for some reason there seems to be more outrage at social media companies. Odd!
So lets bomb some sucker nation or assassinate folks we summarily don't like, without due process. F'k it, if they do it, then we can also do it.
How does that make anything better? It results in a degradation of societal values where morals and positive norms are assigned to the pages of history.
There was a time when positive examples, folks standing up and resisting was seen as a something good. Nowadays everyone just does it because the others are even worse. So who should start making the world a better place? The others.
The issue I have is you are strawmanning every Meta employee into an amorphous form that knowingly works at Meta only for the money that trades away their rights to a safe work environment without any humanity to it. Thats not true, every individual there is unique with their own situation. Trying to lump thousands of people like that is really reductive.
This is a silly argument. They’re smart / diligent enough to spend months studying to pass their interviews, but not smart enough to spend 5 minutes researching Glassdoor / Blind?
Do we need a poll for this? You'd need to be living under a rock or only listening to AI sycophants to believe the average person is enjoying the new AI world.
I mean, lets be real, the way LLMs have been unleashed on the world has not been an overall positive. Don't misconstrue that to be me saying LLMs and AI is useless though, I am not! Can AI be an overall positive one day? Absolutely yes; I think its a guarantee really. Is AI useful right now? Yep. What I'm saying is the negative now outweighs the positive now because of how its being used, narratives and excuses around it.
I see this take all the time, but hiring a junior/intern has never been great ROI, so I hear. Why did we ever do it in the past? Its not like it was ever likely that hiring a junior means getting an employee for life. Could it be that the economic and shareholder pressures are requiring this rather than it being a logical thing?
Anecdotal counterpoint, the best teams I've been on have always had a good mix of a couple of really senior/decent intermediate people and a few either totally fresh grads or juniors (at the beginning of the project). Those fresh people have a good chance of becoming pretty formidable pretty quickly with the right mentoring, and without them seniors have a tendency to just remain experts on whatever tech stack they're familiar with but not think out of the box.
Hiring a mediocre senior is much worse than hiring a grad because they will never get any better, and it's very hard to know at hiring time that they're mediocre.
I'd also add that top-heavy engineering organizations are sometimes incapable of delivering anything useful because everyone wants to work on the hard problems, establish the frameworks, define the processes, and so on, and no one wants to operate the damn business. It's good to have a mix of perspectives in a team.
Fully agree actually. Not sure its a counterpoint at all really, but its a great point. My comment wasn't intended to be "juniors were never worth it", but instead "juniors WERE worth it before but not because they produced amazing ROI themselves, why does the introduction of an LLM change that?" I'm solidly against the narrative that now all of a sudden juniors aren't worth hiring anymore because a senior with an LLM = 100x engineer.
So you have an AI refactor AI generated code? What am I missing here, if AI is the cause of the tech debt because it doesn't write great code, won't you just end up with more tech debt if you ask AI to refactor it?
If a human produces tech debt, do you think a human can't refactor?
Most of the time a human works over code multiple times, and still produces tech debt.
Give an AI agent enough time, by prompting it multiple times, and explicit instructions to look for and address tech debt of various forms, and it will.
A human has taste. They learn over time from codebase patterns and develop a sense of when an abstraction can be reused, improved or refactored. Agents often generate repeated code because the original file wasn't added to the context, and it's up to a human reviewer to recognise this.
In my experience, an agent will rarely recognise a common pattern and lift it into a new abstraction. It requires a human with taste and experience to do it. For example, an agent will happily add a big amount if branches in different places of the codebase where a strategy pattern or enum would be better (depending on the language).
If you have a working prompt or harness that ameliorates this, I'd be glad to see it.
Yeah I must be missing something again. Comparing human to AI here seems to be fundamentally wrong. A human will learn over time and improve their mental model of a problem and ability to code. An AI agent for the most part is fixed by its model. I just don't see how pointing an agent at AI generated code to refactor without direct human guidance results in better code.
Maybe you can describe what the various forms of tech debt are that you are talking about?
> Yeah I must be missing something again. Comparing human to AI here seems to be fundamentally wrong. A human will learn over time and improve their mental model of a problem and ability to code. An AI agent for the most part is fixed by its model. I just don't see how pointing an agent at AI generated code to refactor without direct human guidance results in better code.
There is no need to improve their mental model of a problem and ability to code to recognise the refactoring opportunities that already exists in the code. It only takes a sufficient skill, and effort invested on refactoring. The way to get a model to invest that effort is to ask it. As many times as you're willing to.
> Maybe you can describe what the various forms of tech debt are that you are talking about?
Any. Whether or not you need to prompt much to address it depends on consistency. In general I have a simple agent whose instructions are just to look for opportunities to refactor, and do one targeted refactor per run. All the frontier models knows well enough what good looks like that it is unnecessary to give it more than that.
The best way of convincing yourself of this, is to try it. Ask Claude Code or Codex to "Explore the code base and create a plan for one concrete refactor that improves the quality of the code. The plan should include specific steps, as well as a test plan." Repeat as many times as you care to, or if in Claude Code, run /agents and tell Claude Code you want it to create an agent to do that. Then tell it to invoke it however many times you want to try.
Well, could you define what reasoning actually means? What would an AI need to do to be considered capable of reasoning? What is the core difference between what we do that is considered reasoning verse what AI currently does that is not considered reasoning?
To be clear, I am not making a statement as to whether AI reasons or not. Its just slippery to say something isn't or can't do X when we can't really define X. Perhaps if we can put it down as an outcome rather than an, in my opinion, currently impossible to accurately define characteristic of a thing.
In many examples, LLMs betray the fact that they are not reasoning, because when provided with problems that can be solved with the ability to reason, they fail.
Even in this discussion someone provided an example of coming up with board game rules. LLMs found all board game rules valid, because they looked and sounded like board game rules. Even when they were not.
In short, You can learn a subject, you can make a mental model of it, you can play with it, and you can rotate or infer new things about it.
LLMs are more analogous to actors, who have learnt a stupendous amount of lines, and know how those lines work.
They are, by definition, models of language.
IF you want a better version - GENAI needs to be able to generate working voxels of hands and 3D objects just from images.
I don’t believe the board game rules example. I think this would be a piece of cake for an llm. I’m happy to be proven wrong here if you share an example.
This is an interesting idea, but do you have an example of you having done this or is it pure speculation as to what would work? My worry would be that a complex codebase ported over would have a heap of subtle bugs littered throughout it and no one who really understands it.
It's hard to tell what your blog posts are actually about because the titles are so cryptic. May I ask if you find any benefit from naming posts in way that makes it difficult to know what you are about to write about? I'm guessing it's purely creative which is totally fine.