eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingzaawansowane aiRe: zaawansowane ai
  • Data: 2012-04-17 17:34:47
    Temat: Re: zaawansowane ai
    Od: " M.M." <m...@N...gazeta.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    <f...@N...gazeta.pl> napisał(a):

    > M.M. <m...@N...gazeta.pl> napisał(a):
    >
    > > <f...@N...gazeta.pl> napisał(a):
    > >
    > > > niestety widze ze wylozenie o co mi chodzi zajeloby mi
    > > > wiecej nizbym chcial na to przeznaczac,
    > > Cóż no tak to już jest. Wielokrotnie przerywam post w połowie,
    > > bo zdaję sobie sprawę że nikt nie zrozumie jeśli nie włożę w
    > > niego tyle pracy ile wymaga.
    > >
    > >
    > >
    > > > w zadnym razie nie chodzi mi o algorytm na ruch - to jest
    > > > skwantowane na siatce kwadratowych pol.
    > > Może być ruch. Kilka klatek fizyki na jedną klatę graficzną i
    > > potem skwantyzowane współrzędne x i y można rzutować na siatkę.
    > >
    > > > na niektorych stoja
    > > > drzewa, inne sa puste, jest tez tam krowa, krowa moze
    > > > przejsc sobie w jeden z osmiu kierunkow (lewo-prawo-gora-dol
    > > > i na ukosy),
    > > Jeśli wlezie na drzewo to można zrenderować kawałek siatki na
    > > której stroi krowa pod drzewem :D
    > >
    > > > krowa spokojnie moze sie poruszac ruchami browna bo nie
    > > > jest glowna postacia
    > > Nie może poruszać się ruchami browna bo jest za ciężka i ma
    > > za dużą bezwładność w stosunku do siły jakie oddziałują na
    > > jej ciało :D Krowa gdy jest stara to majestatycznie łazi w tę i
    > > w nazad. A więc musi mieć w grze swój wyimaginowany cel. Cel
    > > czasami porusza się w jakimś kierunku. Krowa jest przyciągana
    > > do celu. W ten sposób powoli będzie ruszała, osiągała prędkość
    > > swojego marszu, a w pobliżu celu spowalniała. Cel porusza
    > > się zgodnie z preferencjami krowy. Oddala się od wilków czy tam
    > > czego a kieruje się ku soczystej trawce, a co jakiś czas ku
    > > sadzawce albo rzeczce. Ponadto można dodać efekty stada, wtedy
    > > krowa byłaby przyciągana siłą wypadkową do innych krów i swojego
    > > celu.
    > >
    > > > (postac glowna jest
    > > > poruszana przez gracza z klawiatury i moze byc akurat o
    > > > kilometr alej) tylko epizodycznym botem, a cala gra jest
    > > > skwantowana na kwadratowej siatce
    > > Obliczenia można robić na floatach i potem rzutować na
    > > skwantowaną powierzchnię, nie ma problemu.
    > >
    > >
    > > > chodzi tylko o to by krowa nie zblizala sie w swoim brownowskim
    > > > ruchu do niektorych innych postaci typu np goblin i inne
    > > > (ten system relacji miedzy krowa a innymi tez trzeba jakos
    > > > okreslic oprogramowac, moze byc na intach floatacjh albo enumach
    > > > - i tez jestem ciekaw jak ktos by to zrobil,
    > > Ja bym dał zestaw sił dla każdej pary obiektów. Ponadto jakby
    > > obiekt tego wymagał dałbym mu cele. Cele obiektu to takie
    > > obiekty które by oddziaływały tylko z nim. Cele bym rzucał
    > > zgodnie to tu, to tam, np. dla krowy bym rzucał na trawę albo
    > > koło wodopoju, sprawdzałbym czy cel nie jest zbyt blisko wilków.
    > >
    > >
    > > > chodzi o algorytm (procedure) po jakiej krowa wybieralaby gdzie
    > > > isc a gdzie nie, pierwsza wersja zakladala ze krowa sie rozejrzy
    > > > w promieniu 10 pol, znajdzie najblizsza postac (co niesie ze soba
    > > > trudnosc zwiazana z tym ze rownie odleglych postaci moze byc >1
    > > > -( i co wtedy budowac liste i losowac jedna znich - to na maksa
    > > > klopotliwe )-
    > > To jest proste. Kłopotów w implementacjach takich rzeczy to są
    > > dopiero KŁOPOTY :D. Nie da rady oprogramować jedną pętlą i
    > > jednym wzorem świata w którym jest 1000 różnych obiektów, a
    > > każda para obiektów (ba, czasami n obiektów) wyzwala jakieś
    > > specyficzne akcje.
    > >
    > > > dlatego wlasnie pytam o kwestie dokladnej implementacji)
    > > > - jesli ta postac budzi krowia nieufnosc skierowac sie w przeciwnym
    > > > kierunku niz ta postac - ale jest to algorytm niezbyt dobry teraz
    > > > klepie troche lepszy ale nie wiem czy i jego nie da siepoprawic
    > > No a jaki klepiesz?
    > >
    > > Pozdrawiam
    > > Aha...
    > > Do wyznaczania trasy to jest przeszukiwanie grafu w szerz plus
    > > jakiś chaos - krowy chyba nie zawsze wybierają optymalne trasy.
    > > Jeśli krowa nie może wleźć na skały, albo jeśli musi ominąć
    > > koniecznie to drzewo, to po ustaleniu celu można jej przypisać
    > > ciąg elementów siatki na jakie ma kolejno włazić. Gdy cel
    > > zmieni położenie, to ciąg elementów siatki trzeba policzyć na
    > > nowo. Ale... coś mi się zdaje że dobrze wiesz o tym wszystkim :)
    >
    > dlatego m in nie chce uzywac A* - deaktualizuje sie, pozatym chce
    > uzywac maksymalnie prostych rzeczy by sie nie pogubic,
    >
    > obecny pomysl jest taki, dla danego pola czytam sasiadow
    > (np tylko ring 1,2,3 by nie bylo za duzo okolicy do zczytywania)
    > i zliczam z wagami (w zaleznoci od ringa) znajdujace sie tam
    > postaci do ktorych krowa czuje lekka animozje badz silny strach
    > - to daje wspolczynnik jakosci pola;
    >
    > majac ta procedure moge zapuszczac ja np dla wszystkich osmiu
    > sasiednich pol krowy i kierowac ja na to pole ktore jest najmniej
    > animozyjne (co wymagaloby malego sortowania :( - nie chce mi sie pisac)
    Nawet bardzo małego sortowania, wystarczy wybrać jedno najlepsze :)

    Z tego może zrobić się bardzo ciekawy problem. Jeśli gdzieś w
    pobliżu jest dobre pole na którym krowa by się chciała znaleźć
    to jeszcze nie wszystko. Do jednego pola może wieźć wiele tras, a
    przemarsz wymaga czasu i wysiłku. Np. na jednej z tras może płonąć
    ognisko, a na drugiej być wąski mostek przez rzekę który także
    odstrasza krowę. Więc krowa może podążyć ku gorszemu celowi jeśli
    do tego gorszego celu będzie wiodła trasa przez w miarę korzystne i
    niestraszne miejsca. By trzeba maksymalizować sumę korzyści jakie
    napotka krowa na kolejnych polach swojej trasy, a ostatnie pole,
    w którym będzie krowa najdłużej, trzeba by sumować z odpowiednio
    dużą wagą.

    Trzeba te pola przeiterować wiele razy i sprawdzać czy da
    się osiągnąć większą sumę korzyści na każdym z pól. Z każdą poprawą
    trzeba zapamiętać trasę która przyczyniła się do poprawy. Jeśli w
    danej iteracji nie da się już poprawić żadnej korzyści, to trzeba
    podać trasę która prowadzi do pola z największą sumą korzyści. Nie
    mam pojęcia czy to da optymalne rozwiązanie, czy tylko zachłanne.
    Ale do gry powinno wystarczyć. Podobnym algorytmem budowałem bazę
    końcówek do gry w warcaby, w tamtym zastosowaniu dawało to rozwiązanie
    optymalne. Pewnie ten algorytm ma jakąś mądrą nazwę, ale nie znam jej.

    Pozdrawiam





    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: