Page 1 of 2
Re: Starting on a small isle?? Read this before you post!
Posted: Mon Aug 11, 2014 11:42 pm
by roothorick
therapist wrote:I understand that the engine can't just check 10 tiles away, but is it possible to use the bugs pathfinding AI to fix this problem? Run a sort of "ghost bug" check upon map generation to see if the nearest bug nest can reach the player and maybe the second and third nearest nests as well? If these nests can't be reached, or rather, these nests cannot properly path to the player, this could cause the game to display the "You have landed quite unfortunate, doomed on an island. Regenerate map Y/N?" message that others have suggested before, or the game could move the player to the nearest shore and run the check again.
Maybe the pathfinding AI isn't developed enough to exhibit this function yet, and the solution will be fixed in map generation, but as others have argued generating maps where the player is on an island might be a natural part of map generation and not a bug at all. The bug seems to be not letting new players know how/why they are doomed or giving them any option to get off the island.
Better:
Attempt to pathfind from the player to chunks that have not been generated yet (preferably in order of "shortest path first"). Generate those chunks. Continue until one each of: tree, coal, iron, stone, copper, oil, and biter spawner, has been generated in a location that can be reached from the player (special check). If no further chunks can be reached, and not all deposit types have been reached, relocate the player to a chunk that has not been generated yet (and is therefore unreachable from his original position), and restart from the beginning.
I think it's a good compromise: you can wind up on an island with limited resources, but you're guaranteed to have at least SOME of every raw resource (and probably a reasonable amount of space), so you're not completely locked out of part of the tech tree with no recourse.
Re: Starting on a small isle?? Read this before you post!
Posted: Tue Aug 12, 2014 8:07 am
by cube
roothorick wrote:Attempt to pathfind from the player to chunks that have not been generated yet (preferably in order of "shortest path first"). Generate those chunks. Continue until one each of: tree, coal, iron, stone, copper, oil, and biter spawner, has been generated in a location that can be reached from the player (special check). If no further chunks can be reached, and not all deposit types have been reached, relocate the player to a chunk that has not been generated yet (and is therefore unreachable from his original position), and restart from the beginning.
I think it's a good compromise: you can wind up on an island with limited resources, but you're guaranteed to have at least SOME of every raw resource (and probably a reasonable amount of space), so you're not completely locked out of part of the tech tree with no recourse.
We were already discussing something simillar some time ago, basically a mechanism that would separately ensure that there is an exact number of resources in the starting area and that the starting area is in a part of the world with average terrain height (not in the middle of the sea or on the top of a mountain).
But it has kinda low priority.... probably will get into the game sooner or later, though.
Re: Starting on a small isle?? Read this before you post!
Posted: Wed Aug 13, 2014 10:32 pm
by ssilk
Re: Starting on a small isle?? Read this before you post!
Posted: Sun Aug 17, 2014 5:05 pm
by Rakasch
A game start on a paraglider sound great, only you have to start the flight high up in the sky, to find some useful land.
Starting on an island isn't the worst that can happen:
Right now I startet as reincarnation of Jusus, standing on the water in the middle of nowhere. There wasn't any land in sight.
I would call
this a bug.
Re: Starting on a small isle?? Read this before you post!
Posted: Mon Aug 18, 2014 10:08 am
by cpy
Hmm ability to swim, some water resources (probably oil/gas), water creeps, ships, this game have really insanely high potential.
Re: Starting on a small isle?? Read this before you post!
Posted: Sun Jan 04, 2015 8:01 am
by psihius
I say add ability to make a basic boat, so people can actually play maps like these and expand over the water if they want (because it's fun to move the base to mainland and keep the old base as a fallback and resource stash). At least this should be relatively easy. Adding more water related content is the ultimate solution - I would like a powered boat and a transporting ship, just like there are trains (it should be relatively big and have a lot of space, so you need a big body of water to use it). And balance the speed - big ships are slow, but have a ton of capacity. Smaller boats have less space, can not be automated (maybe) like a car is in the game now.
I would really like the basic boat ASAP, because it opens a lot of possibilities. And wait for other water stuff as long as needed.
Re: Starting on a small isle?? Read this before you post!
Posted: Sun May 10, 2015 8:36 am
by Asakari
Maybe the starting Position cannot be within a square where water is, maybe 10x10. It is a one time check . if the check find water, just make an automatic restart. Only when use random maps.
Try this map, werry funny.
>>>AAALABYAAAADAwYAAAAJAAAAYWxpZW4tb3JlAwMCBAAAAGNvYWwD
AwIKAAAAY29wcGVyLW9yZQMDAgkAAABjcnVkZS1vaWwDAwIIAAAAaXJ
vbi1vcmUDAwIFAAAAc3RvbmUDAwLHLaVpLnAAABUyAAAAAAAAAAAAAA
MANg8I1A==<<<
If nessesary : 0.11.22 (Build 14011, win64)
Have fun
Re: Starting on a small isle?? Read this before you post!
Posted: Sun May 10, 2015 10:04 am
by British_Petroleum
cpy wrote:Hmm ability to swim, some water resources (probably oil/gas), water creeps, ships, this game have really insanely high potential.
+1
Re: Starting on a small isle?? Read this before you post!
Posted: Sat Oct 03, 2015 10:01 pm
by RedScourge
Obviously a boat needs to be added to the game. The question then becomes whether or not to give the player a boat at the start. I think that is a bit of a lazy solution.
Therefore, before placing the player on the map, the biter pathfinding AI should be used to see if there is a path between the player and a tree. If yes, then do nothing, if no, then use a standard spiral search pattern to place the player 10 chunks away and repeat this process again. If it is necessary that the player must start at origin coordinates, either you have to spawn a new map, or have the ability to offset either the coordinates to the new origin, or add the ability to have the player not always start at the origin. Perhaps another check could be added: if the pathfinding AI cannot find a way to get to the nearest enemy spawner (i.e. player is on a medium island or smaller), then rather than giving the player a random hint on start, the first hint given to the player at the start of the game be a hint on how to create a boat. This would decrease the chance that the player chops down all the trees on their island before they think to make a boat.
In one of my first maps, a spawner was created on an island in the middle of a large lake, and my base surrounds the lake. The result is that my logistics robots occasionally get shot down when crossing the lake directly. I cannot reach this lake and kill the spawner, so a boat would be great!
Re: Starting on a small isle?? Read this before you post!
Posted: Thu Oct 29, 2015 8:31 pm
by AyrA
Precondition
Use this map string
Code: Select all
>>>AAAMAA8AAAADAwYAAAAEAAAAY29hbAMDAgoAAABjb3BwZXItb3Jl
AwMCCQAAAGNydWRlLW9pbAMDAgoAAABlbmVteS1iYXNlAQAACAAAAGl
yb24tb3JlAwMCBQAAAHN0b25lAwMCq4L0sHYyAAD4aQAAAAAAAAAAAA
AFAEAlDj4=<<<
Problem
This map exchange string will create an unusable map. It was randomly generated by factorio when creating a new game. I think this generates the smallest possible land you can have in the game and is quite hilarious. You can't die, but also you can't win.
Reproducible
Yes
Possible solutions
Add a simple
A* path finder to the game. The provided wiki link has pseudocode included.
Use the algorithm to check, if the player can reach at least 10'000 items (not map squares) of all basic resources(coal, stone, copper, iron, oil, alien base), except if he has disabled one of these of course.
If not enough resources are found, use the next seed available. (seed+1).
The number of items to search can be increased to the number of items needed to complete the game objective to ensure a map is guaranteed to be solved. Another cheap method would be to ensure, that a water body cannot 'touch itself'. This would also remove islands, which are unuseable at the moment.
Re: Starting on a small isle?? Read this before you post!
Posted: Thu Oct 29, 2015 8:51 pm
by daniel34
AyrA wrote:I think this generates the smallest possible land you can have in the game and is quite hilarious.
Start on this one and have fun:
BTW you are not alone:
AyrA wrote:Possible solutions
Add a simple
A* path finder to the game. The provided wiki link has pseudocode included.
Use the algorithm to check, if the player can reach at least 10'000 items (not map squares) of all basic resources(coal, stone, copper, iron, oil, alien base), except if he has disabled one of these of course.
If not enough resources are found, use the next seed available. (seed+1).
The number of items to search can be increased to the number of items needed to complete the game objective to ensure a map is guaranteed to be solved. Another cheap method would be to ensure, that a water body cannot 'touch itself'. This would also remove islands, which are unuseable at the moment.
I'm pretty sure the devs have a good reason why they haven't implemented an algorithm for not starting on an island yet. It seems pretty easy to do on paper, but what's actually going on at the source code level is hidden from us.
Re: Starting on a small isle?? Read this before you post!
Posted: Sun Dec 20, 2015 2:21 am
by enmoku
Not sure if this has been said, but simpler solution to changing the map generator drastically or regenerating the map if on an island. Check the start location in some part of the map generation (just generate path to X distance away in multiple directions and see if they are reachable for example), if it's invalid, MOVE the start location and check again. You don't need to do the whole thing all over again. And continue generating/altering the start zone around the valid location as normal, not before.
Re: Starting on a small isle?? Read this before you post!
Posted: Thu Jan 05, 2017 4:45 am
by mwalimu
After reading through this thread and a few other discussions on island spawns, there's one possible solution that I didn't come across. Give the player an opportunity to place himself somewhere else on the starting map. He'd only be able to do this once without disabling achievements (if the player changes his mind, he could start over using the map exchange string). I'll leave as an exercise for the developers how best to handle the user interface for providing that option.
Re: Starting on a small isle?? Read this before you post!
Posted: Sat Jan 07, 2017 11:28 pm
by Bizz Keryear
I also call this a bug as well
And some of the things said below are quite reasonable, but instead I just would change the map algorithm to create 1 wide land bridges to the land mass until this issue is resolved ... and with the recent changes (being able to create land of your own from stone) maybe less (than 10k) resources and not including enemy bases ... you can build there if you want / have to ... means you have to be careful to not to waste your stones.
A other way would be to add enough stones to get you to next bigger land masses.
AyrA wrote:Precondition
Use this map string
Code: Select all
>>>AAAMAA8AAAADAwYAAAAEAAAAY29hbAMDAgoAAABjb3BwZXItb3Jl
AwMCCQAAAGNydWRlLW9pbAMDAgoAAABlbmVteS1iYXNlAQAACAAAAGl
yb24tb3JlAwMCBQAAAHN0b25lAwMCq4L0sHYyAAD4aQAAAAAAAAAAAA
AFAEAlDj4=<<<
Problem
This map exchange string will create an unusable map. It was randomly generated by factorio when creating a new game. I think this generates the smallest possible land you can have in the game and is quite hilarious. You can't die, but also you can't win.
Reproducible
Yes
Possible solutions
Add a simple
A* path finder to the game. The provided wiki link has pseudocode included.
Use the algorithm to check, if the player can reach at least 10'000 items (not map squares) of all basic resources(coal, stone, copper, iron, oil, alien base), except if he has disabled one of these of course.
If not enough resources are found, use the next seed available. (seed+1).
The number of items to search can be increased to the number of items needed to complete the game objective to ensure a map is guaranteed to be solved. Another cheap method would be to ensure, that a water body cannot 'touch itself'. This would also remove islands, which are unuseable at the moment.
Re: Starting on a small isle?? Read this before you post!
Posted: Sat Apr 29, 2017 4:38 am
by axelsword
Another island spawn, 0.15
Re: Starting on a small isle?? Read this before you post!
Posted: Sat Apr 29, 2017 9:09 am
by Koub
It's not needed to report each single individual map where you spawn on an island.
You can just hit "restart" and play, as said earlier, it's a very known issue.
Re: Starting on a small isle?? Read this before you post!
Posted: Thu May 18, 2017 5:13 pm
by Tubig
axelsword wrote:Another island spawn, 0.15
This is a particularly interesting map because, although an island start, it is playable. Looks like there are enough resourses on the island to build a bridge to the mainland. Challanging, but not impossible.
Re: Starting on a small isle?? Read this before you post!
Posted: Tue Jun 27, 2017 7:37 pm
by userasd
Tubig wrote:axelsword wrote:Another island spawn, 0.15
This is a particularly interesting map because, although an island start, it is playable. Looks like there are enough resourses on the island to build a bridge to the mainland. Challanging, but not impossible.
Not even challenging. You have a base protected from bugs. GG EASY
Re: Starting on a small isle?? Read this before you post!
Posted: Sun Jul 30, 2017 1:31 pm
by wvlad
Simple idea: you could start in a ghost mode and pick a place where you wonna start in a limited square.
Re: Starting on a small isle?? Read this before you post!
Posted: Mon Jul 31, 2017 12:00 am
by kreatious
Could the player's starting position just be randomly (but still deterministic) re-positioned, until you're not on a small island? Small islands can be checked by scanning 100 tiles in each cardinal direction, counting the number of land tiles till' ya hit water, adding them up and seeing if the result is less than 250. After 100 failed random guesses, spawn the player on a small island anyway. This won't solve the issue 100%, but it'll reduce the number of bug reports about this issue.