Search and Scan exploration types.

What would you like to see in Freeciv? Do you have a good idea what should be improved or how?
cheako
Posts: 1
Joined: Tue Feb 10, 2015 7:01 pm

Search and Scan exploration types.

Postby cheako » Tue Feb 10, 2015 7:07 pm

The default explore setting is way obtuse. I suggest a new move(ment) Search. This circles the edges of the unknown, filling in the map from the center out. Also scan, does the same thing but for the fog of war. Scan should have a max radius, once reached starts over.

User avatar
GriffonSpade
Elite
Posts: 578
Joined: Mon Apr 29, 2013 4:41 pm

Re: Search and Scan exploration types.

Postby GriffonSpade » Tue Feb 10, 2015 7:56 pm

cheako wrote:The default explore setting is way obtuse. I suggest a new move(ment) Search. This circles the edges of the unknown, filling in the map from the center out. Also scan, does the same thing but for the fog of war. Scan should have a max radius, once reached starts over.


I think Scout would probably be better for a name than scan, and I think the primary problem is that fog fills back in as you move, which would probably confuse the AI (Or rather, make it difficult to program functionally). And ultimately, it would probably be something that would be built into the explore, rather than a separate command.

The Square Cow
Veteran
Posts: 53
Joined: Wed Nov 19, 2014 5:47 pm

Re: Search and Scan exploration types.

Postby The Square Cow » Wed Feb 11, 2015 9:24 pm

One way to program scout would be to, on the click of the button, place patrol way-points around the edge of the currently visible area. This could be done with a flood fill algorithm which would start at the scouting unit's tile. As the algorithm filled in the visible tiles, it would add the visible tiles that touch darkness to a list. Then it would sort the waypoints using a heristic for the travelling salesman problem. Next it would queue up the points up into the patrol queue and let loose the unit.

This algorithm would not update when the currently visible area changed.