TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Web Game Engines and Libraries

89 点作者 jverrecchia大约 1 年前

13 条评论

hopfog大约 1 年前
I&#x27;m building a JavaScript game in my own engine, which in retrospect was a big mistake considering the game utilizes a lot of multithreading (the game is &quot;Noita meets Factorio&quot; so it&#x27;s required for the simulation). You can only share memory between threads using a SharedArrayBuffer with raw binary data and you need special headers from the web server to even enable it. This means that I&#x27;ve had to write a lot of convoluted code that simply wouldn&#x27;t be necessary in a non-browser environment.<p>Other than that I really like that I can piggyback on the browser&#x27;s devtools and that I can use the DOM for the UI.
评论 #40130014 未加载
评论 #40130209 未加载
评论 #40131997 未加载
评论 #40130689 未加载
Herdinger大约 1 年前
A bit off-topic,<p>But I just want to raise awareness that currently it is impossible to get 60fps for a canvas in chrome on MacOS without dropped frames:<p><a href="https:&#x2F;&#x2F;www.vsynctester.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.vsynctester.com&#x2F;</a><p>I have tested with an M2 Air and an older Intel MacBook Pro. I think this is related to this bug report (open for many years) but I am not sure:<p><a href="https:&#x2F;&#x2F;issues.chromium.org&#x2F;issues&#x2F;41136434" rel="nofollow">https:&#x2F;&#x2F;issues.chromium.org&#x2F;issues&#x2F;41136434</a><p>One might say MacOS users use Safari most of the time, but sadly it is not possible to get a pixel perfect (or at least not wildly off) canvas if a user changes the zoom settings:<p>devicePixelRatio does not change on zoom as it does in other browsers and I believe the spec. <a href="https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;API&#x2F;Window&#x2F;devicePixelRatio" rel="nofollow">https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;API&#x2F;Window&#x2F;devi...</a><p>This is a decision made for accessibility reasons on Apples part, but I can’t find the quote on that anymore. Alternative mechanisms to size the internal resolution of a canvas correctly are also not supported on Safari.
dvh大约 1 年前
Some time ago I needed some 3d on web so I did simple rotating textured cube demo and out of 30 webgl libraries tested only 2 achieved 60fps for such a simple demo. On web you have no performance to spare so when you plan on making larger project test performance first. If it&#x27;s slow with simple stuff, it&#x27;s only get worse as you add more and more stuff. (Sorry I don&#x27;t remember which 2 were fastest, you should do your own tests anyway because when you will be writing your rotating cube demo you will read their documentation, maybe even posts on their community forums and you&#x27;ll learn how good is doc and how friendly is the community)
评论 #40130156 未加载
评论 #40130725 未加载
CaptainOfCoit大约 1 年前
Missing one of the best choices as long as &quot;maturity&quot; isn&#x27;t on the top of your list: Bevy - <a href="https:&#x2F;&#x2F;bevyengine.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;bevyengine.org&#x2F;</a><p>Game engine written in Rust, leveraging ECS in almost every place and way, with a really capable WASM export option. Wrestling ECS for the first time might take you some time, but in my experience helps you keep game code as clean and decoupled as game code could be.
评论 #40131338 未加载
评论 #40142795 未加载
vunderba大约 1 年前
I really like Phaser 3, but if you&#x27;re more accustomed to a traditional polling-style engine loop (inputs, logic, physics, render), it does take a little getting used to.<p>It&#x27;s very much a &quot;batteries included&quot; game framework with the exception of a built-in map editor though you can just use something like Tiled.
debo_大约 1 年前
I&#x27;ve been building in LittleJS a lot recently, and it&#x27;s very enjoyable (for small games, at least.) I get Pico8 vibes using it.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;KilledByAPixel&#x2F;LittleJS">https:&#x2F;&#x2F;github.com&#x2F;KilledByAPixel&#x2F;LittleJS</a>
throwaway38375大约 1 年前
Kaboom was a pleasure to use.<p>Don&#x27;t get me wrong, it&#x27;s very simple, but it was fun.<p>Felt like using Flash again. :)
iainmerrick大约 1 年前
Three.js is really good and Babylon.js looks good too. But when I was evaluating 3D engines recently I was surprised to find that neither one is properly tree-shakable -- you need to import almost the whole core engine even if you’re only using a tiny part of it.<p>Other engines are either lacking features, or also aren’t tree-shakable, or both. (For example, I think OGL is shakable but it’s much more low-level, just a very thin wrapper around WebGL.)<p>I guess it’s no big deal as both big engines minify down to around 500KB, IIRC. Just a shame they can’t get smaller than that if you just want to make a tiny little 3D widget.
julius大约 1 年前
One of the sites has a fantastic landing page: <a href="https:&#x2F;&#x2F;needle.tools&#x2F;" rel="nofollow">https:&#x2F;&#x2F;needle.tools&#x2F;</a> (you scroll through 3D scenes)
评论 #40130129 未加载
评论 #40130979 未加载
hseager大约 1 年前
I&#x27;ve been making a text adventure as my first Rust project and really enjoying it. Maybe one day I&#x27;ll turn it into a crate for making text games that compile to both CLI and WASM.<p><a href="https:&#x2F;&#x2F;hseager.github.io&#x2F;you-are-merlin-www&#x2F;" rel="nofollow">https:&#x2F;&#x2F;hseager.github.io&#x2F;you-are-merlin-www&#x2F;</a><p><a href="https:&#x2F;&#x2F;github.com&#x2F;hseager&#x2F;you-are-merlin">https:&#x2F;&#x2F;github.com&#x2F;hseager&#x2F;you-are-merlin</a>
lovegrenoble大约 1 年前
I&#x27;m in love with Gamemaker, which got me interested in programming: <a href="https:&#x2F;&#x2F;gamemaker.io" rel="nofollow">https:&#x2F;&#x2F;gamemaker.io</a>
mdtrooper大约 1 年前
<a href="https:&#x2F;&#x2F;godotengine.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;godotengine.org&#x2F;</a> and export to web .
评论 #40130360 未加载
评论 #40130422 未加载
nox101大约 1 年前
three.js is not a game engine. it’s a 3d rendering library. It has no feature of a game engine. No collisions, no physics, no input systems, no facilities for game objects or ai or state machines etc…<p>I have a feeling other libraries on the list are similar
评论 #40131307 未加载
评论 #40132297 未加载