Teleport system!?
by Christian S · in Game Design and Creative Issues · 08/13/2013 (2:31 am) · 10 replies
Hey -It's sort of complete, but I still have one issue ...
* The world is split into a square grid system.
* Travel in 8 directions is possible (N, NW, W, SW, S, SE, E, NE)
* Travel from grid to grid is based on either pure red, green, or blue colour path building, or a mix of them from grid to grid.
* Each grid have (n) eitht sided locations, with a maximum of 3 colours of the same type.
Now the problem!
I need to ensure that travel from grid to grid, can occur using the same colour (from faces opposite each other).
Travel example: (black line)

I simply cannot figure out how to ensure the least possible amount of 8 sided locations is what I have constructed. The 8 directions (sides), with maximum 3 equal colours of the 3 different types in the same location smallest set of locations is beyond me.
* The world is split into a square grid system.
* Travel in 8 directions is possible (N, NW, W, SW, S, SE, E, NE)
* Travel from grid to grid is based on either pure red, green, or blue colour path building, or a mix of them from grid to grid.
* Each grid have (n) eitht sided locations, with a maximum of 3 colours of the same type.
Now the problem!
I need to ensure that travel from grid to grid, can occur using the same colour (from faces opposite each other).
Travel example: (black line)

I simply cannot figure out how to ensure the least possible amount of 8 sided locations is what I have constructed. The 8 directions (sides), with maximum 3 equal colours of the 3 different types in the same location smallest set of locations is beyond me.
#2
08/13/2013 (11:58 am)
I read your problem several times and I am still not understanding what you are trying to do or solve. Can you explain in simpler terms or steps the problem?
#3
Demolishun I am trying to part my world into a grid. Players can travel from grid to grid, using either the same, or different colours as base for their travel.
To ensure that travel is always possible (in all directions by any colour) I need to have all combinations of the sides to be present in the grids amount of locations.
Any location (8 sided) must have at least 2 of a colour, and no more than 3 of a colour. So the combination will always be 3-3-2 (3 locations all in one colour would ensure the directions -but is not valid)
My previous example shows 3 steps in a travel: From South to North in a location in the other grid, from that locations East to the next grids locations West and from that locations South West to the next grids locations North East, and lastly from that locations South and further out into the world grids locations.
So for example I need to go from grid (0,0) location 15 South (blue), to grid (1,0) location 8 North (blue).
This location 8 will have at max 2 more blue directions. So I need some more locations wich have North as blue, and other directions blue as well, so I can travel in all the other 7 directions (I already have it so I can go back to grid (0,0) in case I wanted to do that.
I have done some brainpoking and Photoshop meddling with octagons I coloured, and have gotten it down to 20 so far. But these locations then have a 'lot' of redundant sides where colours are equal.
Example:

(White is not a colour - it's merely me being lazy and not filling in blue/green)
I dont think it's possible to elliminate coloured side matching redundancy 100%, but I would like to keep it to as few as possible.
08/13/2013 (2:37 pm)
Richard, I fail to see where A* or anyone of those would aid me m8, as I dont have weighted edges, or valued nodes (or do I?)Demolishun I am trying to part my world into a grid. Players can travel from grid to grid, using either the same, or different colours as base for their travel.
To ensure that travel is always possible (in all directions by any colour) I need to have all combinations of the sides to be present in the grids amount of locations.
Any location (8 sided) must have at least 2 of a colour, and no more than 3 of a colour. So the combination will always be 3-3-2 (3 locations all in one colour would ensure the directions -but is not valid)
My previous example shows 3 steps in a travel: From South to North in a location in the other grid, from that locations East to the next grids locations West and from that locations South West to the next grids locations North East, and lastly from that locations South and further out into the world grids locations.
So for example I need to go from grid (0,0) location 15 South (blue), to grid (1,0) location 8 North (blue).
This location 8 will have at max 2 more blue directions. So I need some more locations wich have North as blue, and other directions blue as well, so I can travel in all the other 7 directions (I already have it so I can go back to grid (0,0) in case I wanted to do that.
I have done some brainpoking and Photoshop meddling with octagons I coloured, and have gotten it down to 20 so far. But these locations then have a 'lot' of redundant sides where colours are equal.
Example:

(White is not a colour - it's merely me being lazy and not filling in blue/green)
I dont think it's possible to elliminate coloured side matching redundancy 100%, but I would like to keep it to as few as possible.
#4
For example 1,0 can travel to 3,3?
08/13/2013 (2:44 pm)
I am still a bit fuzzy on this, but can you only travel to adjacent octagons or can you teleport to octagons on the grid that match up a color on the side?For example 1,0 can travel to 3,3?
#5
In the picture below, I travel (using RED) from grid 0,0 location A, to grid 1,0 location B, and from there I can either go to grid 1,1 location C or location D. I cannot go from 1,0 location B to grid 0,1 using RED though. For that I would have to use BLUE.

So as you see grid 1,0 lack a location that allows travel from grid 0,0 to 1,0 and onwards to 0,1using RED only.
The system is planned to allow only adjacent grid hops, so no 1,0 to 3,0. That would take 1,0 to 1,1 to 2,2 to 3,3 or similar ...
That is why I need the all 2 all travel sides calculations. And would like it the minimum amount of locations.
08/13/2013 (3:35 pm)
Alrighty, it never hurts to elaborate on stuff -as it sometimes lit the fuse. The grid/location have been too vaguely described, so here goes ...In the picture below, I travel (using RED) from grid 0,0 location A, to grid 1,0 location B, and from there I can either go to grid 1,1 location C or location D. I cannot go from 1,0 location B to grid 0,1 using RED though. For that I would have to use BLUE.

So as you see grid 1,0 lack a location that allows travel from grid 0,0 to 1,0 and onwards to 0,1using RED only.
The system is planned to allow only adjacent grid hops, so no 1,0 to 3,0. That would take 1,0 to 1,1 to 2,2 to 3,3 or similar ...
That is why I need the all 2 all travel sides calculations. And would like it the minimum amount of locations.
#6
Maybe what you need are patterns that get placed that ensure some path. While randomizing the rest to provide variety. It almost sounds like you may need to calculate a path first then place the supporting cells. Maybe you have a way to place randomly a cell within a grid that matches the path(s) the player will take and then fills in with incompatible paths.
So randomly generate a path through the grids starting with a random cell, and then a randomized cell that has a side that is compatible with another grid cell. Then fill in the rest with junk.
08/13/2013 (4:00 pm)
Okay, I think I got it. Now are you going to randomly generate the grids and need a way to verify they meet minimum travel criteria? Are you looking to develop a set of octagons that are placed in a way to ensure minimum travel requirements?Maybe what you need are patterns that get placed that ensure some path. While randomizing the rest to provide variety. It almost sounds like you may need to calculate a path first then place the supporting cells. Maybe you have a way to place randomly a cell within a grid that matches the path(s) the player will take and then fills in with incompatible paths.
So randomly generate a path through the grids starting with a random cell, and then a randomized cell that has a side that is compatible with another grid cell. Then fill in the rest with junk.
#7
If you're going to generate random levels you could use A* to verify that a path actually exists across the generated grid.
08/13/2013 (7:28 pm)
If you have a grid then you have weighted nodes - each "square" has the same weight as every other. You just have to define a graph of valid connections - even if the weights are all 1 (or 0, or 100) A* will find the shortest route. Weighting is used for things like faking terrain difficulty (don't want your AI running through mountains or swamps? Make them more costly and your units will go around them).If you're going to generate random levels you could use A* to verify that a path actually exists across the generated grid.
#8
Demolishun, "Are you looking to develop a set of octagons that are placed in a way to ensure minimum travel requirements?
"
Yes these locations will be distributed throughout the world 'manually' by level designers, filling out each grid with the lot.
Our Art-/Model-lead informed me that I had missed a important factor though; each colour had to have the same amount of representation to ensure balance. So adhering to all factors, and slightly ignoring redundancy for now we ended up with a 12*3 and 6*2 sides representation;

*If I where to boil this further down, in accordance with all factors, it seems I would have to end at 15 (and that work, lies in the future, for now it works ok)
So, thx for sugs and questions forcing me to think harder ;)
08/16/2013 (12:36 am)
Richard I knew the ins and outs of A*, I think, which is why I faield to figure why it would help in this situation (I know, sometimes we are blind -but ..), the very " You just have to define a graph of valid connections" was the core issue.Demolishun, "Are you looking to develop a set of octagons that are placed in a way to ensure minimum travel requirements?
"
Yes these locations will be distributed throughout the world 'manually' by level designers, filling out each grid with the lot.
Our Art-/Model-lead informed me that I had missed a important factor though; each colour had to have the same amount of representation to ensure balance. So adhering to all factors, and slightly ignoring redundancy for now we ended up with a 12*3 and 6*2 sides representation;

*If I where to boil this further down, in accordance with all factors, it seems I would have to end at 15 (and that work, lies in the future, for now it works ok)
So, thx for sugs and questions forcing me to think harder ;)
#9
Great job, now do a video some time so we can really understand what you doing. ;) There is nothing like doing...
08/16/2013 (1:48 am)
@Christian,Great job, now do a video some time so we can really understand what you doing. ;) There is nothing like doing...
#10
08/16/2013 (3:19 am)
Will do, but it will take a while though. Its to be seamed into divine alignment, character bonus micromanagment, skills, etc. for our MMO project -which takes forever to do properly ;)
Torque Owner Richard Ranft
Roostertail Games
You're going to have to use a path finding algorithm to analyze your graph - trying to do it manually will drive you batty.