Poszukuje ekipy do stworzenia gry

projektowanie-gier
game-design
gamedev

#1

Punkty akcji, wiele grywalnych bohaterów, rozmaici przeciwnicy, sporo przedmiotów i modyfikatorów rozgrywki. A przynajmniej taki jest plan. Chodzi o stworzenie gry turowej w rzucie izometrycznym.
Ucieszy mnie każda pomoc, to by dla mnie wiele znaczyło gdyby ktoś pomógł mi dodać wykrywanie i omijanie kolizji do skryptu odpowiedzialnego za ruch ( to chyba dla mnie największy problem na ten moment ).
Jeśli kogoś zainteresowałem proszę o kontakt : Dave04711@gmail.com


#2

Rozwiń myśl najlepiej poprzez prezentację swojego projektu. Bo jak na razie to jesteś chyba jedyną osobą, która wie o co tu chodzi :wink:


#3

@frozenshade Na straży :grin:


#4

Dziękuje za odpowiedź. Tak wygląda fragment kodu który zaznacza pola na które można się przenieść ( na zdj zielone pola ) chodzi o jakąś wskazówkę co trzeba zmienić aby ten kształt się zmieniał w zależności od otoczenia.
Nie do końca wiem czy o taką prezentację chodziło, mam nadzieję że to trochę rozjaśniło o co mi chodzi.

public class Detect : MonoBehaviour

{
public GameObject Detector;
public GameObject Parent;
public GameObject[] Obstacle;

int Player_x, Player_y;

public int AP;

void Start()
{
    Detecting();
}
private void Detecting()
{
    Obstacle = GameObject.FindGameObjectsWithTag("Obstacle");

    Player_x = (int)Detector.transform.position.x;
    Player_y = (int)Detector.transform.position.y;
    for (int x = Player_x + AP; x >= Player_x - AP; x--)
    {
        for (int y = 0; y <= x + AP; y++)
        {
            if (x <= Player_x)
            {
                if (y == 0)
                {
                    var child = Instantiate(Detector, new Vector3(x, 0, y), Quaternion.identity) as GameObject;
                    child.transform.localScale = new Vector3(.5f, .5f, .5f);
                    child.transform.parent = Parent.transform;
                }
                if (y != 0)
                {
                    var child = Instantiate(Detector, new Vector3(x, 0, y), Quaternion.identity) as GameObject;
                    child.transform.localScale = new Vector3(.5f, .5f, .5f);
                    child.transform.parent = Parent.transform;
                    var child2 = Instantiate(Detector, new Vector3(x, 0, -y), Quaternion.identity) as GameObject;
                    child2.transform.localScale = new Vector3(.5f, .5f, .5f);
                    child2.transform.parent = Parent.transform;
                }
            }
            else { break; }
        }
        for (int y = 0; y >= x - AP; y--)
        {
            if (x > Player_x)
            {
                if (y == 0)
                {
                    var child = Instantiate(Detector, new Vector3(x, 0, y), Quaternion.identity) as GameObject;
                    child.transform.localScale = new Vector3(.5f, .5f, .5f);
                    child.transform.parent = Parent.transform;
                }
                if (y != 0)
                {
                    var child = Instantiate(Detector, new Vector3(x, 0, y), Quaternion.identity) as GameObject;
                    child.transform.localScale = new Vector3(.5f, .5f, .5f);
                    child.transform.parent = Parent.transform;
                    var child2 = Instantiate(Detector, new Vector3(x, 0, -y), Quaternion.identity) as GameObject;
                    child2.transform.localScale = new Vector3(.5f, .5f, .5f);
                    child2.transform.parent = Parent.transform;
                }
            }
            else { break; }
        }
    }
}

}


#5

Co chcesz osiagnąć? chcesz, żeby na zielono zaznaczyły sie wszystkie pola do których gracz może dojść posiadając daną ilośc AP? Dobrze ja to rozumiem?
I chcesz, zeby algorytm uwzgledniał przeszkody?

Jesli tak to: wstepnie odrzucasz wszystkie pola, które znajdują sie poza zasiegiem przy założeniu, ze nie ma przeszkód. Potem to, co zostanie sprawdzasz jakims algorytmem na pathfinding, czy jesteś w stanie dostać się tam wykonując ilość kroków okreslona przez AP.

To tak w skrócie. Gotowca ci nie dam :wink:


#6

Dzięki za odpowiedź.
Tak, dobrze zrozumiałeś. Odrzucanie pól poza zasięgiem już mam czyli teraz czas na pathfinding.
I nie liczyłem na gotowca :grin:


#7

Jak już ogarniesz pathfinding to pewnie sam wpadniesz na fajną optymalizację. Daj znać co wykombinujesz :wink:


#8

Dobra
Dzięki :grinning: