1

(25 odpowiedzi, napisanych Fabryka - 8bit)

W One man and his droid o ile samo sterowanie faktycznie nie jest skomplikowane to te stworki często wychodzą po za pole widzenia (i ogólnie mieć całą mapę w głowie) co wymagałoby zapamiętywanie ich pozycji a nie chcę na razie wchodzić w sieci rekurencyjne (bo to bardzo skomplikuje i powiększy nie tyle sieć co potrzebne dane uczące). Wpinanie się w pamięć i wyciąganie metadanych trochę mija się z celem bo fajniejsze byłyby rezultaty gdybym wdrożył sieci rekurencyjne zamiast wpinać oszustwa diametralnie zmieniające grę. No i ciekawe czy ogarnie tak długoterminowe planowanie, może jak przy IK dał radę to może i tutaj. Wydaje mi się, że w tej chwili będzie masakra ale mogę spróbować coś zapuścić jak znajdę trochę czasu.

Odnośnie One on One to problematyka wygląda jak IK: zdobycie nagrody nie jest trywialne (nie zapominajmy, że bot na początku kompletnie nic nie ogarnia =D), gracz i przeciwnik mają te same ruchy/zdolności. gra odbywa się na 1 planszy. Jak wyżej, mogę zapuścić jak znajdę trochę czasu (przy dodawaniu każdej gry muszę dać rozpoznawanie kiedy dać nagrodę/karę oraz ew. korekcję pobranego obrazu).

To nie była gra na 2 osoby? Pamiętam, że szybko od niej się odbiłem (może niesłusznie).

Pamiętam jak próbowałem odpalić na emulatorze grę to nie mogłem nigdzie znaleźć działającego romu. Wszystkie się crashowały , może to jest powodem albo może ja mam felerny emulator.

3

(2 odpowiedzi, napisanych Fabryka - 8bit)

To jest gra z archiwun/strychu czy to nowa produkcja?

4

(25 odpowiedzi, napisanych Fabryka - 8bit)

Dziękuję =), IK jest ciekawym przypadkiem bo zawsze jest szansa, że przeciwnik Cię pokona (nawet niech będzie 2%) to możesz dojść do np. 18 poziomu, do 40 ale też możesz do 5. Przez to żeby ocenić naukę to albo trzeba zrobić kilka przebiegów albo na czuja oceniać "jakość" walki.

Chciałbym przerzucić się na jakąś inną grę żeby dalej rozwijać swój projekt. Tak, by posiadał kilka strategii i zmieniał je w razie porażki a do tego postać musi posiadać kilka akcji.

IK jednak posiada zbyt wiele kombinacji jak na początek, wszystkie akcje sprowadzają się do bezpośredniego uderzenia no i fakt, że przeciwnik może to samo co gracz sprawi analizę rezultatów trudniejszą. A może po prostu znudził mi się IK i chcę czegoś nowego =D

Jednym z kandydatów jest Fred ale tam nie podoba mi się przełączanie broni. Połowa czasu nauki pójdzie na ogarnięcie tego, będę musiał zrobić jakieś "brudne" triki albo zhackować grę żeby używał spreju/kamieni przy odpowiedniej kombinacji.

Jeśli macie jakieś propozycje to jestem ciekaw.

5

(25 odpowiedzi, napisanych Fabryka - 8bit)

Chciałbym ogłosić, że projekt nadal żyje. Spędziłem trochę czasu na dostrojeniu parametrów oraz zwiększyłem liczbę przeciwników na których bot może ćwiczyć. Dzięki tym zabiegom mój projekt zdobył brązowy pas w karate (wcześniej był żółty).

Aktor krytyk gra w IK część 2

Bot się uczył wyłącznie pokonywać przeciwnika więc jest za etapy bonusowe konsekwentnie otrzymuje równe zero punktów.

Myślę, że zabawa z International Karate dobiegła końca i czas przerzucić się na inną grę. Jednym z kandydatów jest Fred.

6

(25 odpowiedzi, napisanych Fabryka - 8bit)

Mq: Oczywiście, że AI to nie jest jakaś sekta nadludzi. Sam w sobie dzieli się na różne dziedziny jak na przykład przetwarzanie obrazu czy tekstu. Bardzo się cieszę, że zauważyłeś ten fragment z żółwiem w tunelu, długo pracowałem nad tym =D. Sam nie czuję się jakimś specem AI. Trochę zajęło mi stworzenie tego projektu ale to też dlatego, że wszystko robiłem od zera i próbowałem jednocześnie połączyć sieci neuronowe z reinforcement learning.

Zgrd: Maszyna jak i człowiek mają swoje zalety i wady. Myślę, że roboty bardzo długo nie będą kreatywne jak człowiek. Sztuczna inteligencja nie jest tak groźna jak ludzie z taką technologią i złymi intencjami.

Jak ktoś chce wejść w AI to polecam zacząć od PyTorch albo Tensorflow.

7

(25 odpowiedzi, napisanych Fabryka - 8bit)

xxl napisał/a:

czy program wie podczas jakiego ruchu przeciwnika stracil punkt?


Sieć neuronowa na wejście przyjmuje obraz (dla IK nie ma dodatkowych metadanych). Gdy walka się kończy to algorytm posiada cały przebieg scenariusza klatka po klatce wraz z nagrodą (dla każdej klatki). Im niższa nagroda tym coraz bliżej dostania w twarz. Więc algorytm może sobie wywnioskować, że gdy przeciwnik już wyciąga ręke to np. kucnięcie nie jest najlepszą opcją.

W skrócie, może sobie wywnioskować na podstawie obrazu ale nie ma żadnej metadanej opisującej jaki cios aktualnie zadaje przeciwnik.

8

(25 odpowiedzi, napisanych Fabryka - 8bit)

laoo/ng napisał/a:

Fajne. Idea nie jest oczywiście nowa, ale pierwszy raz w stosunku do Atari

https://www.youtube.com/watch?v=CI3FRsSAa_U

Ciekawe czy takie Mario nie jest może prostsze.

Niestety nie jestem pierwszy nawet jeśli chodzi o Atari. Projekt zaczynałem z Marianem (2 linki w poście wyżej). Każda gra ma jakieś swoje dziwactwa. Dużym wyczynem byłoby jakby bot nauczył się grać w Robbo albo Lasermanię.

9

(25 odpowiedzi, napisanych Fabryka - 8bit)

Mq napisał/a:

Tak czy owak super idea, choćby jako ciekawostka do poczytania, więc pisz relacje jak coś będziesz w tym kierunku dalej rozwijał, ja chętnie zawsze poczytam i obejrzę ewentualne filmiki na youtube itp. Dzięki!

Nie omieszkam się pochwalić =D. BTW mam jeszcze dwa filmiki ale nie są już związane z Atari (tylko NES)
https://youtu.be/KQFYevQB8R8?feature=shared
https://youtu.be/FK7icSIzwvQ?feature=shared

10

(25 odpowiedzi, napisanych Fabryka - 8bit)

Dziękuję za miłe komentarze =)

Program podłącza się do pamięci emulatora (Linux i te sprawy) i przez nią odbywa się pobieranie obrazu oraz sterowanie więc teoretycznie da się grać z botem na emulatorze.

Jeśli chodzi o rozbijanie desek to wystarczy wcisnąć sam dół gdy pojawi się GO, przed chwilą sprawdziłem =D. Co ciekawe jak grałem
to zawsze zostawała mi ostatnia deska a jemu za każdym razem udaje się wszystkie rozwalić ale to jest spowodowane tym że on cały czas wali w dół.

Robię projekt hobbistycznie i idea powstała raczej z potrzeby dłubania. Rzeczywiście stworzenie bota, który by umiał grać w każdą grę byłoby trudne tym bardziej że gry są przeróżne (w szczególności przygodówki jak Klątwa). Podmienianie sieci neuronowych ułatwiłoby sprawę ale nadal trzeba je wytrenować, na szczęście jak dostosuje się odpowiednie parametry to sam trenuje i nie potrzebuje żadnych danych uczących. Nauka IK trwała ok. 8-10h, nie wiem czy to dużo czy mało. Na pewno nie zastąpi żywego gracza. Jeszcze nie wiem, którą stronę pójdzie projekt.

11

(25 odpowiedzi, napisanych Fabryka - 8bit)

Chciałbym zaprezentować Wam trochę inny projekt. Jest poniekąd związany z Atari dlatego zamieszczam tutaj wątek. Od jakiegoś czasu pracuję nad programem, który samodzielnie uczy się grać w International Karate. Wrzucam link to filmu (nie wrzucam tutaj bo trochę waży):

https://youtu.be/OMD9taO5DJA?feature=shared

Bot uczył się wyłącznie na przeciwniku poziomu pierwszego, więc o ile jest w stanie go pokonać to ma problemy przy wyższych poziomach ale zdobywa żółty pas i myślę, że jest to sukces =D.

Jest to algorytm aktor-krytyk wykorzystujący sieci neuronowe. Podczas treningu algorytm otrzymuje nagrodę za uderzenie przeciwnika albo karę gdy sam otrzyma cios bądź skończy się czas. W każdym z trzech przypadków gra jest resetowana (nie czeka aż ktoś zdobędzie dwa całe punkty).

Co sądzicie o takim projekcie? Chciałbym, żeby kiedyś program mógł grać jako drugi gracz ale też jestem ciekaw Waszego zdania.

12

(35 odpowiedzi, napisanych Software, Gry - 8bit)

Teraz córka ma pewnie z 13 lat =D ale wykorzystam odkop, może się przyda komuś z podobnym problemem.

Kickstart - może każdy ściga się na swoim torze ale za to jednocześnie
Herbert I i II -  jak wyżej
The convicts - gra podobna do robbo dla 2 graczy

13

(23 odpowiedzi, napisanych Fabryka - 8bit)

Fajnie wygląda. Sam tworzyłeś grafikę czy komuś zleciłeś?

14

(410 odpowiedzi, napisanych Fabryka - 8bit)

Zapytam się, żeby uniknąć nieporozumień. Mogę aktualnie ściągnąć ATR GW i ograć nie naruszając praw autorskich?

15

(11 odpowiedzi, napisanych Fabryka - 8bit)

@VLX Tak, to prawda, że przeciwnik jest bardzo agresywny i trzeba będzie zmienić sposób jego działania. Jeżeli chodzi o kolory mieczy to chciałem zrobić coś nietrywialnego, ale najwidoczniej przesadziłem . Taki miałem zamysł:
Szary - tryb dla dwóch graczy
Zielony - 1 poziom, przeciwnik wyłącznie atakuje i jest łatwy w kontrataku (blok i atak)
Żółty - 2 poziom, oprócz atakowania, także odskakuje przez co kontratak należy wykonać szybciej, żeby trafić
Czerwony - 3 poziom, przeciwnik także kontratakuje i jak wykonamy źle kontratak to przeciwnik wykona go na nas
Ostatni kolor - 4 poziom, jeśli ktoś go pokona to może się określić mistrzem gry.

A mechanika i sterowanie jest w porządku?

16

(11 odpowiedzi, napisanych Fabryka - 8bit)

Wątek na AOL założony https://atarionline.pl/forum/comments.p … e=1#Item_1

@gorgh dzięki =)

Widzę, że jest już 27 pobrań, dziękuję za zainteresowanie. Mam nadzieję, że interfejs jest klarowny i nie pomieszałem klawiszy START,SELECT i OPTION =D (testowane na emulatorze).

Ciekawie wygląda Tanks. Fajnie by było jakby można było np. zmierzyć odległość wroga i wyliczyć na kartce kąt strzału.

Odnośnie gry Project Commando to w NES jest jakaś domyślna czcionka czy sam ją tworzyłeś? "Press Start" wygląda mi bardzo znajomo.

18

(11 odpowiedzi, napisanych Fabryka - 8bit)

Na pewno nie tak od razu wystartowałem z assemblerem =). Tak jak jury zauważył, że miałem wcześniej styczność z programowaniem. Zawsze chciałem napisać jakiś program na Atari. Około 15 lat temu, programowałem na początku w Basicu, potem bawiłem się kodem maszynowym (ładowanym i uruchamianym w Basicu). Wtedy tego nie czułem ale to była rzeźnia... i kod też to była rzeźnia. Chciałem spróbować z Quick Assembler ale pamiętam, że sporo rzeczy nie ogarniałem, jak wykorzystać np. muzykę ułożoną w Chaos Music Composer, jak zrobić wykonywalny plik a przerwania to była jakaś zakazana magia. Przytłoczony niewiedzą na jakiś czas zostawiłem Atari i skupiłem się na PC (C++ i takie tam). Czasami sprawdzałem "co u Was słychać". Po kilkunastu latach nauki uznałem, że chyba już dam radę coś stworzyć na Atari i popełniłem oto dzieło.

dziękuję qbahusak za ciepłe słowa =) , jak się wstawia na AOL?

19

(11 odpowiedzi, napisanych Fabryka - 8bit)

Jestem fanem Atari od dość długiego czasu i chciałbym dodać swoją pierwszą cegiełkę do społeczności w postaci gry o nazwie Pojedynek.

Program zawiera mechanikę, której nie widziałem w innej grze. Co prawda istnieją takie gry jak International Karate czy Barbarian ale nie skupiają się, aż tak bardzo na parowaniu (no i są ładniejsze =D). Gra opiera się na pojedynku dwóch szermierzy. Atak odbywa się poprzez cięcie z góry lub pchnięcie. Ataki można wykonać z opóźnieniem w celu zmylenia przeciwnika. Uniknąć atak można wykonując odskok, który uchroni nas przed cięciem jak i pchnięciem ale ma chwilę opóźnienia. Można także wykonać jeden z dwóch bloków. Każdy z nich chroni nas przed odpowiednim atakiem ale jeśli zrobimy go w ostatniej chwili to przełamie gardę przeciwnika i umożliwi nam kontratak. Gra umożliwia przerwanie każdego ruchu w dowolnym momencie dynamicznie reagując na manewry przeciwnika.

Program pełni funkcję dema i ma na celu zapoznanie się z Waszą opinią, czy Wam się podoba i czy warto kontynuować projekt. Na pewno znajdzie się dużo rzeczy, które można by poprawić. Mam także trochę pomysłów na dalszy rozwój: atak z dołu, żeby były w sumie 3, różnice między atakami (np. pchnięcie jest szybsze ale bardziej narażone na kontrę) no i kampania, żeby nie było suchej mechaniki. Program jest napisany w assemblerze i musiałem dodać prosty timer bo działał jakby emulator był w trybie turbo więc jest dużo zapasu. A nawet jeśli zabraknie zasobów to jest z czego odchudzać. Grafikę i muzykę robiłem sam, więc proszę o wyrozumiałość.

Gra posiada 4 poziomy trudności i tryb dla 2 graczy. Komputerowy przecinik bardziej ma na celu ułatwienia zapoznania się z mechaniką niż symulowanie ludzkiego gracza. Zamieszczam tu grę w formacie XEX oraz screeny. Mam nadzieję, że ten format jest w porządku.

Sterowanie może być trochę złożone dlatego opiszę tutaj (opis też jest w samej grze):
Poruszanie się: Przybliżasz i oddalasz się za pomocą prawo lub lewo.
Atak z góry (cięcie): Wciśnij fire i górę. Gdy postać uniesie miecz, puść górę do momentu wykonania cięcia.
Atak z frontu (pchnięcie): Wciśnij fire i przód. Gdy postać cofnie miecz, puść przód do momentu wykonania pchnięcia.
Unik: Wciśnij fire i tył, aż do momentu wykonania uniku.
Blok: Wciśnij góra lub góra i przód, aby wykonać blok. Gdy wykonasz go w ostatniej chwili to przebijesz gardę przecinika.
Przebita garda: W tym stanie nic nie możesz zrobić. Aby ponownie przyjąć posturę puść wszystkie przyciski joysticka.

Kanis

20

(29 odpowiedzi, napisanych Programowanie - 8 bit)

Dzięki za zaoszczędzenie mi szukania :D.  Muszę przyznać że gazetę (z celulozy) się innaczej czyta niż wersję komputerową.

21

(29 odpowiedzi, napisanych Programowanie - 8 bit)

xxl: Nie pomyślałem,  ale bym chciał najpierw ogarnąć podstawowe zagadnienia nim się rzucę na kod. Po za tym bym się sprzeczał ze to najszybszy sposób (albo ja jestem ułomny). Jak przerabiałem "Podstawy Programowania" Zientary to zawsze wolałem sam próbować napisać jakiś program opierając się na własnej wiedzy niż analizować o co chodziło danym przykładzie. Możesz powiedzieć że jestem nastawiony na spreparowaną papkę wiedzy którą wystarczy tylko wchłonąć no ale ten proces (w moim przypadku) przebiega o wiele szybciej( i chyba po to są książki i artykuły traktujące o komputerach).

Fox:Dzięki :), na pewno przejrzę.

22

(29 odpowiedzi, napisanych Programowanie - 8 bit)

Dla umięjętności, uważam ze mam ubogą wiedzę na ten temat. A po za tym lubię znać ogólne zasady działania programów z których korzystam.

Dzięki za pomoc, mam nadzieję że sobie poradzę :).

23

(29 odpowiedzi, napisanych Programowanie - 8 bit)

Dzięki za odpowiedź. Poszperam, spróbuję wszystkiego po trochu i wyrobię sobie opinię na ten temat. :)

Chciałbym prosić jeszcze o jedną rzecz (nie chcę zakładać kolejnego tematu) znacie jakąś książkę lub artykuł który mówi o operacjach We/Wy i korzystaniu z urządzeń zewnętrznych (lub ich lista) po przeczytaniu których mógłbym napisać jakiś najprostrzy DOS czy Loader?

24

(29 odpowiedzi, napisanych Programowanie - 8 bit)

Czyli generalnie rzecz biorąc język zależy od projektu(np. Turbo Basic do tekstówki czy przygodówki, ASM+TBAS gry akcji, ASM strzelanki gdzie potrzeba więcej pamięci) i nie ma czegoś takiego że zaawansowani piszą w asmie a ci co dopiero zaczynają w Basicu?

Monsoft: Już działa mi program, ale dzięki że zauważyłeś. :D

25

(29 odpowiedzi, napisanych Programowanie - 8 bit)

Taka prosta rzecz... Dzięki za tak szybką odpowiedź.

Chciałbym się jeszcze spytać czy ludzie zwykle tworzą czysto asemblerowskie programy czy częściej łączą z wysokopoziomowymi językami.