Remix.run Logo
▲ jparishy 3 hours ago

I've wondered if these types of casual open world, resource collection games-- which are basically a series of mini-games-- would make good model training envs. Each mini-game has a pretty simple mechanic that needs to be learned, as well as the navigation and interactions to begin it. Those could be pretty useful generic skills I think.

One of my side projects is a game, and I've made it so agents can spawn off their own world shard to play in. There's a little Chrome-driven agent harness that can grab low res screenshots while it speaks directly to the game over the wire to control things.

I've had Luna play it and it can drive around (you play as a bike) but it did struggle to play one of the mini-games (Disc Golf). My idea was that model trainers could run it an RL loop using the harness to get feedback data and screenshots to use, then reset the game world as needed during the process.

A smart model capable of multi-modal inference on screenshots/game context at 30-60fps could be pretty interesting, and I'm sure it's coming. No idea how much it would generalize but would be fun to see done.

▲FireCrack 2 hours ago | parent [-]

I've tried, casually, quite a bit of this. With generally poor results. Often this ends up similar what I have seen as classic RL problems with seeking reward in sparse environments. Unless you give the agent an a-priori goal outside the world it tends to not do anything interesting. Theoretically there ought to be ways around this such as herarchical approaches, but those tend to scale in complexity faster than my limited resources can keep up.

It's very neat though.

Edit: I really should watch the video before commenting. Looks like it goes into lots of these problems itself, and they got much further than me.

▲nomel 6 minutes ago | parent [-]

I think you would have to go back to more classic genetic algorithm/pet training methods: Iterate through increasing "distance" to the goal. Initially make the goal simple/immediately available, then slowly "distance" them from the goal, with more obstacles/etc introduced between, as you go.

For a homing pigeon, this would be literal, driving further and further each time you release them.

For an agent that you train to walk, this would be flat surface to past some line, then introduce speed reward, then non-flat surfaces, then obstacles, then curves, etc [1].

[1] "AI Warehouse" channel is all about training AI for light gaming tasks: https://www.youtube.com/watch?v=L_4BPjLBF4E