atarionline.pl Gierka z Forevera - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

      • 1: CommentAuthorilmenit
      • CommentTime17 Mar 2014 22:03 zmieniony
       
      Kilka osób widziało, jak kodowałem na Foreverze gierkę. Oto krótkie demko, czyli wersja daleka od finału. Jest to pewnie ostatnia publikowana wersja demostracyjna, bo pewnie wystawię gierkę na Abbuc.
      No i to demonstracja, że kod w C kompilowany CC65 może być całkiem szybki :-)
      (czyste C bez wstawek asemblerowych)
      • 2:
         
        CommentAuthorpirx
      • CommentTime18 Mar 2014 00:03
       
      Whoa! Ale czad! Będzie jak w MULE na 4 joye? :]
      • 3:
         
        CommentAuthorxeen
      • CommentTime18 Mar 2014 06:03
       
      fajny pomysł!
      • 4: CommentAuthorilmenit
      • CommentTime18 Mar 2014 09:03
       
      Tak, pewnie będzie działać na multijoyu i ewentualnie klawiaturze dla pozostałych graczy.
      • 5: CommentAuthormono
      • CommentTime18 Mar 2014 23:03
       
      Świetnie! Skąd bierzesz pomysły ilmenitu? :)
      • 6: CommentAuthorilmenit
      • CommentTime18 Mar 2014 23:03
       
      Inspiracje są wszędzie :-) Tym razem pomysł przyszedł po zagraniu w "3030 Deathwar" i "Wing Commander Saga". Na konkurs Nomam przygotowałem handlówkę kosmiczną w 10 liniach basica i stwierdziłem, że gdyby przepisać do C to spokojnie da radę zrobić ją na 4 graczy w czasie rzeczywistym, nawet ze sztuczną inteligencją. A tego na Atari nie było. Kusi co prawda rozszerzyć tę grę np. o podbijanie planet, ale nie wiem, czy czasowo ogarnę większy projekt...
      • 7:
         
        CommentAuthortdc
      • CommentTime27 Mar 2014 18:03
       
      Fajne i w moich klimatach;)
      • 8:
         
        CommentAuthortdc
      • CommentTime27 Mar 2014 19:03 zmieniony
       
      Ok, ugrałem $1 092 262 - czy można jakoś wygrać lub przegrać?

      Czy może wygraną jest to że komputer ma mniej kasy?;)

      ---update:
      ok jest 2 miliony;)
      • 9: CommentAuthorilmenit
      • CommentTime27 Mar 2014 21:03
       
      Nie, to tylko sklecone w kilka dni demo, wygrać nie można.
      • 10:
         
        CommentAuthortdc
      • CommentTime27 Mar 2014 23:03 zmieniony
       
      Patrzę tak, ale każdy z graczy ma inne osiągi, można się fajnie bawić projektując zachowanie takich gości (boty), a potem wejść w polemikę z realnym finansistą co do tego jaka strategia jest najlepsza. I tu powoli wchodzimy (chyba niechcący) w dziedzinę symulacji;)
      Dla tych co nie studiowali informatyki dodam, że raptem gra staje się poważnym narzędziem, które może posłużyć od analiz otrzymanych wyników w konfrontacji z realnymi zachowaniami podmiotów na rynku itp.
      • 11: CommentAuthorilmenit
      • CommentTime28 Mar 2014 01:03
       
      W tym przypadku starałem się zrobić AI, która będzie działać szybko i będzie symulować prostą strategię gracza. Przy niewielkich usprawnieniach AI człowiek by nie miał szans. Matematyka za ekonomią jest zbyt prosta.
      • 12:
         
        CommentAuthortdc
      • CommentTime28 Mar 2014 02:03 zmieniony
       
      He he no tak;)
      Ale czy każdy z graczy ma swoją strategię?

      ---
      Tak sobie myślę, że wcale nie trzeba tutaj używać matematyki. Wystarczy aby boty "wiedziały" gdzie jest dobra cena, najdroższego dostępnego towaru. Samo to dałoby dużą przewagę nad człowiekiem, tym większą im gorszą ma pamięć dany osobnik. Co więcej oferty się zmieniają co jakiś czas i człowiek musi dolecieć aby sprawdzić co się zmieniło i jak bardzo (widziałem że zmiany są co jakiś czas, czasami niewielkie, a czasami zmiana jest duża np. sprzedaż zamienia się w skup itp.).
      Dodatkowym ułatwieniem jest fakt że odległości faktycznie nie mają znaczenia, gdyż koszt paliwa jest niski.
      Czyli człowieka da się tutaj pokonać bardzo łatwo, stawiając na jego największą słabość pamięć;)
      • 13: CommentAuthorilmenit
      • CommentTime28 Mar 2014 10:03 zmieniony
       
      Aktualne AI jest bardzo proste:
      1. Znajdź losową planetę (w zasięgu paliwa) i leć do niej. Jeżeli planeta jest "zajęta" przez innego gracza, Goto 1.
      2. Sprzedaj wszystko, co możesz.
      3. Kup najdroższe towary, które kupuje poprzednio odwiedzona planeta (jeżeli kupuje ich ponad 20). Jeżeli nie ma co kupić, Goto 1.
      4. Leć do poprzedniej planety. Goto 2.

      Działa dobrze, ale nie jest wyzwaniem dla gracza.
      Samo przerobienie punktu 2 na "kup najbardziej opłacalne towary" wystarczyłoby do zapewnienia wyzwania.
      • 14:
         
        CommentAuthortdc
      • CommentTime29 Mar 2014 02:03
       
      Aha czyli wszyscy są identyczni, ale jednak osiągają znacznie różniące się rezultaty - co oznacza że to jedynie ich "szczęście" decyduje o tych różnicach.
      • 15: CommentAuthorilmenit
      • CommentTime29 Mar 2014 09:03 zmieniony
       
      Raczej pech i niedoskonałości powyższego algorytmu. Przykładowo może zdarzyć się, że planeta już nie kupuje towaru, który AI ma w dużej ilości w ładowni. Dopóki jest możliwość handlować czymś innym pomiędzy aktualną a poprzednią planetą AI będzie między nimi kursować, mając bardzo mało miejsca w ładowni na tę operację.
      Inny przykład to wykupienie towaru za wszystkie pieniądze i śmierć z braku paliwa. Trudo po czymś takim nadgonić innych graczy.
      • 16:
         
        CommentAuthortdc
      • CommentTime1 Apr 2014 12:04
       
      Ale to są typowe problemy, gdy grałem mi też się takie zdarzały;) W końcu nie wiem co uda mi się zaraz sprzedać i jak dobrze. Po drugie śmierć z braku paliwa uważam za całkiem realistyczną, właśnie tak powinno być, przeciwnik raz na jakiś czas powinien zrobić jakiś duży błąd - Errare humanum est. He he;)

      Ale mówię poważnie, popełnianie błędów w tym wypadku jest próbą emulacji ludzkiej "mądrości";) Kolejnym krokiem byłoby uczenie się na błędach, czyli w miarę czasu zmniejszanie takich błędów (przy równoczesnym braku wyeliminowania popełniania błędów, bo przecież EHS ;)
      Opcjonalne jest dostosowywanie średniej inteligencji wszystkich przeciwników do poziomu gracza (fajnie by było gdyby była to wartość zmieniająca się nieliniowo, czyli tak aby gracz nie mógł zauważyć czy właśnie algorytm jest od niego (chwilowo) lepszy czy gorszy).
      • 17:
         
        CommentAuthormatosimi
      • CommentTime3 Apr 2014 19:04
       
      very good , very good ;)