HNHacker News
TopNewBestAskShowJobs

tom_0

47 karma · joined September 1, 2014

submissionscomments
tom_0··on Robotopia: A 3D, first-person, talking simulator
I know, but it's a bit of an unstoppable force vs immovable object situation unless something changed. If they do it, I hope it'll be better than Copilot integrations :)
tom_0··on Robotopia: A 3D, first-person, talking simulator
Yeah, there's a toggle to type you can switch at any time, it actually lowers latency.
tom_0··on Robotopia: A 3D, first-person, talking simulator
Yes, but every language is going to be a "port", not something contracted out like traditional localization. I haven't decided how exactly but language conversion will land somewhere between these two extremes: 1. (expensive) pick a suite of "native" models (eg. models from China), TTS, ASR. Rewrite all the prompts in the target language. Revalidate all characters by hand 2. (cheap) slap a translation model around input and output and let the game run in English internally. My gut feeling is that this could have very poor results though and increase latency.

It's definitely a research project, this has never been done before.

tom_0··on Robotopia: A 3D, first-person, talking simulator
Fair reaction tbh. Right now there's a time watchdog + I'm entirely disabling all I/O and import, But going forward I want to replace it with a proper sandboxing tech... things I looked into are V8 isolates, compilation to WASM, implementing our own gutted python interpreter, spinning up a locked down process, and others. I'm definitely aware of the risk here. The good news is that unless we get pwned, LLMs are very unlikely to write malicious code for the user.
tom_0··on Robotopia: A 3D, first-person, talking simulator
Thanks :)
tom_0··on Robotopia: A 3D, first-person, talking simulator
Hah from my knowledge of traditional AAA, there is 0 chance any AAA in development right now uses LLMs. A lot of them don't even use it for coding and gamedevs' mood about AI is abysmal.
tom_0··on Robotopia: A 3D, first-person, talking simulator
Yeah, I researched this and I absolutely missed this whole part. To my defense I looked into this in 2023 which is ages ago :) Looks like local models are getting much more mature.
tom_0··on Robotopia: A 3D, first-person, talking simulator
I agree, trying to save on costs early on is basically betting against things getting better. Not only that but in almost every case people prefer the best model they can get!

Not only that but I think our selling point is rewarding creativity with emergent behavior. I think baked dialogue would turn into traditional game with worse writing pretty quick and then you got a problem. For example, this AI game here does multiple choices with a local model and people seem a bit mild about it.

We could use it to cache popular QA, but in my experience humans are insane and nobody ever says even remotely similar things to robots :)

[1] https://store.steampowered.com/app/2828650/The_Oversight_Bur...

tom_0··on Robotopia: A 3D, first-person, talking simulator
Oh, I can't believe I missed that! That makes whisper.cpp and llama.cpp valid options if the user has Nvidia, thanks.
tom_0··on Robotopia: A 3D, first-person, talking simulator
Our initial plan was to simply ask enough for the game that the price would cover the costs on average... but that means that we're basically encouraged to have people play the game as little as possible? We're looking into some kind of subscription now, it sounds weird but I do think it's a better incentive in this case. Plus we can actually ask for less upfront.
tom_0··on Robotopia: A 3D, first-person, talking simulator
Thanks :) If you want I'm on the discord linked on our landing page, it's fun stuff to talk about!
tom_0··on Robotopia: A 3D, first-person, talking simulator
GGML still runs on llama.cpp, and that still requires CUDA to be installed, unfortunately. I saw a PR for DirectML, but I'm not really holding my breath.
tom_0··on Robotopia: A 3D, first-person, talking simulator
Unfortunately, they are close because some of them ARE tiktok AI voices you heard! I'm working on hiring VAs to make custom datasets, though. We'll have our own unique voices by 1.0 for sure.
tom_0··on Robotopia: A 3D, first-person, talking simulator
Thanks :) It may sound insane but we convert actions to Python functions then ask the LLM to write a python script that actually runs in IronPython inside the game. Then we have a visual Behavior Tree system to let our designer define the actions. So yeah, they got a bunch of general actions like walk, talk, follow, interact etc.

PS: I think MCP/Tool Calls are a boondoggle and LLMs yearn to just run code. It's crazy how much better this works than JSON schema etc.

tom_0··on Robotopia: A 3D, first-person, talking simulator
Yeah it's extremely difficult right now, especially for a Windows game that can't have players install Pytorch and the Cuda Toolkit!

ONNX and DirectML seem sort of promising right now, but it's all super raw. Even if that worked, local models are bottlenecked by VRAM and that's never been more expensive. And we need to fit 6gb of game in there as well. Even if _that_ worked, we'd need to timeslice the compute inside the frame so that the game doesn't hang for 1 second. And then we'd get to fight every driver in existence :) Basically it's just not possible unless you have a full-time expert dedicated to this IMO. Maybe it'll change!

About the voxel visibility: yeah that was awesome, I remember :) Long story short MC is CPU-bound and the frustum clippings' CPU cost didn't get paid off by the reduced overdraw, so it wasn't worth it. Then a guy called Jonathan Hoof rewrote the entire thing to be separated in a 360° scan done on another thread when you changed chunk + a in-frustum walk that worked completely differently, and I don't remember the details but it did fix the ravine issue entirely!

tom_0··on Robotopia: A 3D, first-person, talking simulator
The "big" one is Llama3.3-70b on the cloud, right now. On GroqCloud in fact, but we have a cloud router that gives us several backups if Groq abandoned us.

We use a ton of smaller models (embeddings, vibe checks, TTS, ASR, etc) and if we had enough scale we'll try to run those locally for users that have big enough GPUs.

(You mean the voxel grid visibility from 2014?! I'm sure I did at the time... but I left MC in 2020 so don't even remember my own algorithm right now)

tom_0··on Robotopia: A 3D, first-person, talking simulator
We want to gamify prompt hacking and give people an UI to add/remove chunks of the system prompt. It'll be unlocked by collecting widgets around the place.
tom_0··on Robotopia: A 3D, first-person, talking simulator
It's a stylistic choice for sure. A little better than that is straight in uncanny valley, and human-level is too high latency and too expensive for us. We found that this level of crappy works great, in practice, plus it runs on-device! We use Rhasspy Piper to generate them.
tom_0··on Robotopia: A 3D, first-person, talking simulator
Hey, Tommaso here, I'm one of the founders of the Robotopia studio. I didn't expect to see this here! Ask me anything :)
tom_0··on The Advanced Cave Culling Algorithm – making Minecraft faster
Hey, generalizing the answer like that is nice, the flood fill is definitely an approximation of that. However keep in mind that the flood fill is run only once, not per frame, so you have to check that "any ray from face A can exit through any point of face B", so I'm not sure it is easier to compute. I'm sure there is some way to get closer to this than a flood fill, but for 0.9 it had to be good enough!
tom_0··on The Advanced Cave Culling Algorithm – making Minecraft faster
Hey, Tommaso here. I've thought about using a depth prepass, however that really helps only if you have heavy shaders, at the cost of basically doubling the vertex shader load. Given that our terrain shader is an one liner which returns tex*color, and that we have A LOT of vertices, it's not very convenient. The poly count at max render distance (224 blocks) can be anywhere between 300K in plains and 900K polygons in jungles, minus the savings of the culling in the post. Apart from jungles which kill everything though, the major bottleneck is now alphatesting and most devices will run at 60fps if you turn that off.