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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Show HN: Iteratively Building Virtual Creatures in Minecraft

49 点作者 cfusting大约 1 年前
&quot;Creatures&quot; is a stretch given that the environment is Minecraft, but the idea is simple: iteratively add blocks conditionally (tensor convolution) on the current environment (blocks) to maximize some reward. In this case I use PPO RL to train creatures to touch a glowstone block but you can adapt it to use any algorithm and reward (easily, as it uses the Ray framework).<p>What I like about this work: iteratively finding solutions has a long and colorful history of doing things well: gradient boosting, ResNets, Stable Diffusion, etc. We&#x27;re after some end optimal state and usually try to get right to it via some flavor of SGD. Baking in improvements as part of the problem structure is helpful. I like to think of this as solving the derivative of the solution with respect to time and then integrating over time. The Minecraft environment naturally prevents overfitting because you can spawn creatures in a diverse array of environments and train one policy over them all.<p>What I don&#x27;t like about this work: Minecraft was chosen for computational reasons but doesn&#x27;t make cool creatures that walk around and look like cheetahs or whatever. I&#x27;ve compared it against nothing, but it works real good! &lt;g&gt;. Videos in the README.<p>You can install &#x2F; run with Docker and observe metrics with Tensorboard. Should be plug and play. If not comment. Enjoy!

5 条评论

crooked-v大约 1 年前
&gt; cool creatures that walk around and look like cheetahs or whatever<p>Once you have the actual behavior, everything else is just animation. Maybe you could evolve some keyframes fitting particular criteria?
评论 #39765867 未加载
yreg大约 1 年前
&gt; The locations of the creatures are output in (x, z, y) format (don&#x27;t ask me why the Minecraft devs did this)<p>It&#x27;s the same in Unity and three.js. Probably so the first two coordinates mark axis on the plane the player is looking at (width and height; until they move), with the third one being &quot;depth&quot;?<p>Instead of the third one being height as one might expect.
评论 #39764361 未加载
评论 #39767526 未加载
callamdelaney大约 1 年前
You have created the most convoluted way to build from one point to another in minecraft. Congratulations.
quantumwoke大约 1 年前
Cool project. You could definitely do more with this with more modern Minecraft tech like custom models and physics engines.
评论 #39765854 未加载
ivanjermakov大约 1 年前
I would put &quot;Minecraft&quot; somewhere in the title.
评论 #39765868 未加载
评论 #39762960 未加载