swarm-game / swarm

Resource gathering + programming game
Other
842 stars 52 forks source link

Support robots in cells in world description DSL #1396

Open byorgey opened 1 year ago

byorgey commented 1 year ago

It should be possible to define robots in the robots section of a scenario description, and then refer to them from within a world DSL term.

byorgey commented 1 year ago

I've been working on this in feature/world-dsl-robots, and just realized it's going to be a bigger change than I thought.

Some thoughts on how to do this:

As a separate feature, we may in the future want to allow certain robots to dynamically despawn as well as spawn. e.g. imagine that you encounter a town and there are robots representing "NPCs" who wander around and do stuff, let you interact with them, etc. Once we leave the town there is no reason to keep simulating those robots. But I think I will leave this to a future PR.

@kostmo , @xsebek , would love to hear your thoughts + ideas on this!

xsebek commented 1 year ago

I think we should really invest in our debugging capabilities first.

I would really like to visualise the tiles on world map, get a minimap of tiles, get a popup list of tiles and export tiles from Web API. There is more that we could show about robots, such as the waiting and evaluation queue.

That said, I would love to have robots spawn and despawn. It could make the world more interesting and force players to venture far from the initial base.

xsebek commented 1 year ago

Re: robot cascade - what if we just froze system robots that attempt to leave loaded tile boundary?

If player robots comes near the boundary, the tile will get loaded and system robots will get woken up. If we apply the limits of normal meet/etc. range, then the player will not be able to observe the frozen robots.