TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Game engines are more than libraries glued together

103 pointsby alice-i-cecilealmost 3 years ago

10 comments

stephc_int13almost 3 years ago
In my opinion, the definition of a game engine is the part of the code in a game that is not the content.
Animatsalmost 3 years ago
I&#x27;m painfully aware of this problem. I&#x27;m writing a metaverse viewer in Rust, to connect to the Second Life &#x2F; Open Simulator servers and get better performance and look from that 20-year old technology. A metaverse viewer has the problems of both an MMO game client and a web browser. It works much like an MMO client, but it&#x27;s more general. All the game logic and content come from the server. It faces most of the overload problems a web browser faces. Plus some of the hostile content problems.<p>I can use many library-type components from game ecosystems. But I can&#x27;t use the big game engines, Unity and Unreal, because they assume a workflow that uses their own editors, their own networking, and their own formats. So I&#x27;m forced to glue libraries together. Some of which I have to write.[1] Most of it is little stuff. Too much little stuff.<p>That section about struggling to get open source library maintainers to fix things is spot on. I have Github issues open for six libraries. If I open the hood on one of those libraries, I could spend months getting deep enough to contribute. I can only do so much.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;John-Nagle&#x2F;serde-llsd" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;John-Nagle&#x2F;serde-llsd</a>
评论 #32208696 未加载
snarfyalmost 3 years ago
How are you supposed to make a level for a game if the engine doesn&#x27;t support editing levels? A big part of the level is that it integrates features of the engine directly into the level, e.g. static light shadow rendering.
评论 #32202792 未加载
评论 #32204026 未加载
p0ncealmost 3 years ago
This post hits home. It&#x27;s true that if you want to make a more framework-ey library it is easy to end up maintaining a lot for controlling the developer experience. It is really sobering since it means a limit to reuse.
KronisLValmost 3 years ago
&gt; It gets so much worse though. Suppose you need that bug fix from your dependency, or worse, want a shiny new feature to unblock your work?<p>&gt; Roll a d12 to determine what happens:<p>&gt; ... (a lot of examples of no attention being given to the issue)<p>Personally, I&#x27;m all for open source, but to me this seems inevitable when you expect people to solve your requests and issues with (quite possibly) no compensation.<p>That&#x27;s a situation where paid support of any sort with SLAs would help mitigate almost all of these things. Similarly, if you couldn&#x27;t get a contract from the current maintainers of the project (or couldn&#x27;t find those maintainers in the first placE) then it would be telling, that you should probably look elsewhere.<p>Then again, curiously, open source projects rarely if ever offer paid support and using closed source libraries comes with a wholly different set of risks.<p>It does seem like it would be a reasonably lucrative area, though: &quot;Pay us X$ per month to have your issues reviewed within Y hours.&quot; Or maybe even just allow the interested parties to donate money towards the resolution of particular issues that matter to them: &quot;So far Z$ has been donated towards the solution of this particular issue. This issue has the #1 highest amount of donations and should be given priority.&quot;
评论 #32202261 未加载
评论 #32202561 未加载
jokoonalmost 3 years ago
Game engines are not good in general, because they do too many things. In my view it&#x27;s better to pick libraries that do just what you need.<p>It gets a bit worse when you need to write a functionality that is specific to your game, and it becomes too dependent on a certain engine or library, so you can&#x27;t switch to another library or engine.<p>Unreal and unity are monsters that allows beginners to have quick access to a high end rendering system, but then it doesn&#x27;t leave enough room to add new cool things, like cool gameplay, a good multiplayer system, etc, when you want to ship on console who have limited memory.<p>I&#x27;m quite curious about the unreal engine and how fortnite uses it, because PUBG is a similar game, but its performances are quite bad, so it is an easy demonstration that a rich engine doesn&#x27;t mean your game will be a smooth experience if your developers are not experts, because expert developer can write a better home made engine instead of paying for a rich engine.<p>These are the good reasons why I don&#x27;t want to use all-in-one solutions, and this applies for web frameworks too. What&#x27;s even worse, is that those big things don&#x27;t just enforce a programming style, they also make it difficult to migrate your code elsewhere.
评论 #32204531 未加载
评论 #32204489 未加载
评论 #32204335 未加载
hgs3almost 3 years ago
&gt; GitHub is littered with failed projects taking this approach...<p>I would argue this is because most of the developers trying to make these game engines are hobbyists or students. Most professional software engineering these days is all about gluing packages together so anyone with modest work experience shouldn&#x27;t have trouble with this.
评论 #32208326 未加载
Ericson2314almost 3 years ago
Lol they are playing themselves a bit because stuff being &quot;more than libraries glued together&quot; is generally a bad thing!
fb03almost 3 years ago
Happy to see you here, Alice and the whole Bevy gang!
评论 #32206328 未加载
flohofwoealmost 3 years ago
I wish the term &quot;game engine&quot; would be better defined. Somehow this now means &quot;the whole package&quot;, an integrated product like Unity, UE or Godot which includes all tooling required to create and publish games. This isn&#x27;t an engine, it&#x27;s a whole &quot;Gamedev IDE&quot;, in spirit much closer to Photoshop than ImageMagick. Or as car analogy: nobody calls a whole car an &quot;engine&quot;, even though every car has one.<p>The original meaning of &quot;game engine&quot; which made much more sense was: &quot;the actual code which enables the game to run&quot;, e.g. just the runtime parts, the tiny piece of code that&#x27;s dangling off the end of the asset pipeline (&quot;tiny&quot; relative to the work that needs to go into authoring tools and asset pipeline).<p>&gt; Let&#x27;s begin with something controversial: a stack made for a single game is not a game engine.<p>...controversial indeed :D
评论 #32201995 未加载
评论 #32202461 未加载
评论 #32204744 未加载
评论 #32208237 未加载
评论 #32204998 未加载
评论 #32206611 未加载
评论 #32203475 未加载
评论 #32204602 未加载
评论 #32202794 未加载
评论 #32203705 未加载
评论 #32202292 未加载