Artificial Intelligence Program pre PC. Umelá inteligencia v programoch sa vyvíjajú

Samsung nedávno poskytuje hlasové hlasové služby založené na umelej inteligencii, ktorú môžu jej zákazníci používať vo všetkých zariadeniach a produktoch Samsung, od smartfónov do televízorov na práčky.

Samsung je popredným globálnym výrobcom smartfónov založených na softvéri pre Android z Google. Jednou z hlavných vlajkových zariadení Samsung v tomto roku bol Smartphone Galaxy S8, ktorý bol vybavený umelou inteligenciou (AI). Zástupcovia spoločnosti a spustenie nadobudnutého tým, viv oznámili na tlačovej konferencii v Soule.

V tejto recenzii budeme zvážiť niektoré aplikácie Android, ktoré sú umelé inteligencie (AI).

Použitie umelej inteligencie rastie. Umelá inteligencia môže urobiť náš život lepšie a jednoduchšie. Tu je zoznam najlepších Žiadosti o umelú inteligenciuKtoré môžete použiť na vašom smartfóne Android.

Všetci vieme, že využívanie umelej inteligencie rastie. AI môže urobiť náš život lepšie a jednoduchšie. V súčasnosti tradičné používanie AI spočíva v holografických intelektuálnych aplikáciách, ktoré sa snažia konať ako asistent na mobilných telefónoch.

Robin - Hlasový asistent s AI

Robin je váš hlasový asistent na ceste, prečítajte si textové správy, miestne informácie, navigáciu GPS a dokonca aj vtipy. Okrem toho má viac individuality ako iné výrobky na spracovanie hlasu, pomocníkov, chaty alebo roboty. Robin dáva vášmu smartfónu inteligentný charakter.

Google Allo je aplikácia pre chytré správy, ktoré vám pomôžu vysvetliť viac a urobiť viac. Najlepšia časť tejto aplikácie je jednoduchá, ktorá vám pomôže vyriešiť vaše úlohy. Táto aplikácia nielenže reaguje na vaše požiadavky, môže dokonca vtip.

Cortana je dobre známa aplikácia medzi všetkými používateľmi systému Windows. Aplikácia, ktorá bola predtým k dispozícii v telefóne Windows, je teraz k dispozícii na Android. Môžete použiť Cortana na odoslanie e-mailov, vyhľadávanie správnych produktov na internete.

Hound - Hlasové vyhľadávanie a asistent

Hound je najlepší spôsob, ako nájsť svoj hlas. Najrýchlejší a najjednoduchší spôsob, ako získať informácie, zábavné a komunikačné služby, ktoré chcete, hound je postavený pre váš rušný život, čo vám umožní dostať to, čo potrebujete a pokračovať ďalej. Táto aplikácia vyzerá ako hlasové vyhľadávanie Google.

Nedávne správy.

Nedávna je aplikácia pre inteligentné správy, ktoré poskytuje vaše správy. Je založený na umelej inteligencii, ktorá študuje vaše záujmy, ponúka vhodné články a ponúka témy, ktoré možno budete chcieť čítať. Toto je rýchly a lepší spôsob, ako zostať v miestnosti, ktorú milujete.

Keď nový model "iPhona" vyšiel v roku 2011, mnohí boli prekvapení nezvyčajná funkcia s názvom Siri. Bude presnejšie povedať, pomenované Siri, pretože program umelej inteligencie bol vybavený ženskou osobnosťou. "Smart Assistant" pochopil ľudský hlas a vykonali tímy, napríklad "Siri, zadajte číslo manželky" alebo "Siri, vložte budík 6-30." Mohla by mimoriadne odpovedať na niektoré otázky ako "Siri, je Boh existuje?". Pre túto dobu to bolo veľmi nezvyčajné. Čoskoro však boli zrejmé, že čoskoro oceľové obmedzenia. Siri vykonal len tie najjednoduchšie tímy, a inak tam bol len hlasový "rozšírenie" na internetový vyhľadávač, zaslal tam požiadavku.

Po smrti Steve Jobs, SiRi vývojári organizovali spoločnosť NEW VIV-LABS Company, ktorá pracuje na oveľa pokročilejšej verzii "Smart Assistant" podľa mena viv.

Program VIV predstavuje systém samoštúdiu a generovanie programového kódu za behu. V dôsledku toho by mal existovať úplne nový typ AI. Reagovanie z centrálneho servera na otázky miliónov užívateľov sa postupne vytvorí určitý "globálny mozog", ktorý pochopí akúkoľvek oblasť a žargón, pripojí všetky koncepty a odhaľuje význam akejkoľvek záležitosti. A samozrejme, najvhodnejšie ho odpovedá.

Pracuje nasledovne. Po obdržaní žiadosti ako "na ceste domov k môjmu bratovi chcem kúpiť lacné víno, vhodné pre Lazagani," Parzitída ju na strane a tvorí jedinečný program, ktorý využíva rôzne zdroje informácií z internetu, vrátane oblasti Mapa, databáza obchodu, kulinársky adresár a základňu cien vína. Všetko sa robí veľmi rýchlo a do 0,05 sekundy viv dáva zoznam vhodných vínnych obchodov pozdĺž cesty k bratovi a menám požadovaných vín.

Podrobnejšie, analýza tejto požiadavky sa zobrazuje v diagrame.

Hlavné zásady, ktoré sú riadiace vývojári: VIV by mali trénovať nezávisle, reagovať na používateľské otázky a mali by to urobiť nepretržite, chytrý s každým dňom. Čím viac ľudí komunikuje s "digitálnym asistentom" - tým rýchlejšie rastie jeho vedomostná základňa. Preto, vývojári nechcú dať motor nejakej spoločnosti, ale chcú licenciu, každý chce pristupovať k AI s každým televízorom a každým mobilným telefónom.

Úlohou primeraného analýzy a pochopenia ľudského jazyka, samozrejme, komplexné. Ale nielen viv laboratóriá pracuje nad jeho riešením. Napríklad spoločnosť Google nedávno kúpila PF 500 miliónov dolárov hlboko, pôsobí v približne rovnakej oblasti. Stále existuje superpočítač IBM Watson a iné podobné projekty. Všeobecne platí, že umelá inteligencia s neustálym štúdiom môže byť bližšie, než sa nám zdá.

Umelý inteligenčný systém Alice je softvér, ktorý môže hovoriť ako osoba v jednoduchom jazyku, spravovať zariadenia a učenie. S týmto programom môžete komunikovať s počítačom, ako aj interakciu s fyzickým svetom. Program tiež používa možnosť spojiť ARDUINO, aby vytvoril inteligentné domáce systémy, automatizáciu atď.

Stiahnite si program umelej inteligencie Alice

Popis:

Program umelej inteligencie Alice je elektronický logicky inteligentný systém. Systém umelej inteligencie Alice je program. Tento softvér schopný hovoriť ako osoba v jednoduchom jazyku, riadiť zariadenia, ako aj štúdium. Tento systém nie je asistentom, pretože dôraz sa kladie na rozvoj ľudského systému, ktorý môže študovať ako dieťa a viesť vedomý dialóg.

S týmto programom môžete komunikovať počítača tiež komunikovať s fyzickým svetom. Program tiež používa možnosť spojiť ARDUINO, aby vytvoril inteligentné domáce systémy, automatizáciu atď.

Systém umelej inteligencie Alice je postavená podľa modulárneho princípu. Systém je univerzálny a jeho funkčnosť sa zvyšuje moduly. Moduly môžu byť odlišné od jednoduchých, na zložité.

Program umelej inteligencie Alice nezávisle vedie dialóg s osobou.

To môže nezávisle začať dialóg, môže to urobiť niekoľkokrát, že ho už odlišuje pred hlasovými asystémami, ktoré pracujú v štruktúre, je odpoveďou. Alice Artificial Intelligence Program nezávisle rozhoduje potom, čo osoba hovorí, a ak nevie, môže byť vyškolený.

S podporou dialógu s užívateľom sa študuje samotný systém. Systém je schopný zapamätať si niekoľko odpovedí na jednu alebo mnoho otázok a mať niekoľko otázok na jednu alebo mnoho odpovedí.

Program umelej inteligencie Alice je plne kompatibilný s platformou Arduino, takže môžete ovládať všetky zariadenia. Môžete požiadať, aby systém obsahoval svetlo, systém sa pýta, kde sa má zapnúť, ale môžete požiadať o okamžité zapnutie svetla na určitom mieste, potom sa nebude pýtať.

Program umelej inteligencie Alice je tiež schopný spustiť aplikácie tretích strán atď.

Moduly:

Program Elist Artificial Intelligence v súčasnosti obsahuje nasledujúce moduly:

Modul "Znalosť" - Modul vyhľadávania informácií Wikipedia. Systém pozná akékoľvek zariadenie, predmet, tak ďalej, opýtajte sa napríklad, čo je bicykel alebo čo jablko a systém povie, čo to je,

Modul "News". Čerstvé správy o záujme používateľa. Práve sa opýtajte, aké správy alebo povedať správy, systém povie a opýta sa, či je potrebné povedať inú, odpovedať áno, povedala viac,

Modul "Počasie". Počasie na dnes a zajtra v mojom meste. Môžete zistiť teplotu, vlhkosť, rýchlosť vetra, bude dážď alebo mrazu. Môžete sa opýtať, či sa dnes dáždničiť, alebo je možné dať škáry dnes,

Modul "Kalkulačka". S tým modulSystém je schopný pridať, odpočítať, množiť a zdieľať objekty atď. Napríklad, pýtať sa, koľko dvoch jabĺk bude plus dva jablká, systém odpovie štyri jablká. Modul vo vývoji

Modul "Budík". Modul vám umožňuje nainštalovať ľubovoľný počet alarmov. Inštaláciou budíka, systém Zobudíte sa. Stačí povedať, prebudiť ma o 7:00 hod. Modul vo vývoji

Modul "Nastavenie odpovede". Správne umiestnenie vedomostí v databáze

Modul "Dovolenka, názov, udalosti". Tento modul vám umožní zistiť, kto je dnes deň mena alebo o tom, čo je dovolenka dnes,

Modul "Toasts". Modul umožňuje, aby systém hovoril rôzne toasty. Musíme sa opýtať, povedzte toast,

Modul "vtipy". Systém vie tisíce vtipov. Len sa jej opýtajte, aby povedal Anecdote, môžete tiež požiadať o povedzte Anecdote pre dospelých,

Modul "básne". Tento modul zmení systém v básniku. Len sa opýtajte, aby ste povedali verš, môžete tiež požiadať o verš pre dospelých,

Modul "Aforizmy". Systém pozná tisíce aforizmov. Požiadajte ju, aby hovorila, že aforizmus, môžete tiež požiadať, aby ste povedali, že aforizmus pre dospelých,

Modul "Manažment osvetlenia". S týmto modulom môže systém ovládať osvetlenie bytu alebo doma. Ak to chcete urobiť, musíte pripojiť Arduino a Ethernet Shield,

Modul "Hádanie obrázkov". Systém sa snaží uhádnuť poverenú postavu. Vyzýva odhadovaný počet, po tom, čo sa musí povedať, viac-menej. Modul vo vývoji

Modul "User". Modul vám umožňuje zmeniť používateľské údaje, meno, mesto atď. Napríklad, aby som zmenil názov, musím povedať, pamätajte si, že moje meno je Oleg a bude pamätať,

Modul "Dialóg". Analýza dialógu. Modul, ktorý spracúva dialóg denne, analyzuje užívateľa, učenie atď.

Poznámka: Popis technológie pomocou príkladu umelej inteligencie Alice.

Panel CLT

Bezdymové uhlie

Inteligentné okuliare

Elektrochemické stroje

Nanomodifikátor obnoviť povrchy TR ...

Viacúrovňové informácie a analytický systém ...

Sklolaminátové kontajnery

Starý

Ponorka

Elektromagnetický generátor permanentných magnetov ...

Klimatizačná farba

Umelá inteligencia vytvorená pomocou počítačových programov, každý užívateľ sa stretol v počítačových hrách. Napríklad prehrávanie počítača v šachu, analyzuje kombinácie hráča av jeho algoritme robí jeho nasledujúci krok. V hrách, umelá inteligencia dáva všetkým oponentom užívateľa. K dnešnému dňu nám počítačové technológie umožňujú komunikovať s programami s pomocou umelej inteligencie. A samotná programová inteligencia je schopná rozvíjať a zlepšovať svoje funkcie v praxi. V dnešnom prípade sú programy schopné vyvíjať.

Jednoduchý program s umelou inteligenciou.

Začnime z najjednoduchšieho príkladu. ChatMaster - umelý program inteligencie vie, ako hovoriť s mužom s chatom. Hlavným prvkom na prvý pohľad je jednoduchý program - samoštúdium. Čím viac komunikujete s programom, tým viac rastúcim slovníkom a schopnosť ingregovať v rámci partnerstva v rámci programu Parlamentu pri vykonávaní dialógu. Autor programu tvrdí, že sa podarilo vytvoriť softvérový model ľudského myslenia.

Na začiatku práce sa program môže zdať "slabý". Ale dôvodom je, že po prvom spustení nie je potrebné okamžite testovať na úrovni inteligencie a inteligencie. Po prvé, program by sa mal zaobchádzať ako s 12-ročným dieťaťom, ktoré v priebehu niekoľkých hodín bude komunikovať na úrovni svojho partnerstva. Za tým by mal slovná zásoba programu rásť na 3000 až 10 000 slov. Po tom, že dojem práce s programom presahuje všetky očakávania.

Je viditeľné voľným okom, že program si pamätá nielen slová a jazykovú reakciu medziproduktu na frázy. Ak si želáte, môžete upraviť odpovede programu na vaše možnosti prostredníctvom povinného vzdelávania. V tom istom režime môžete zakázať zapamätať si jednotlivé frázy zadané s preklepmi. Ak si želáte, môžete exportovať databázy a výmenu s priateľmi pre rýchlejší tréning (s aktívnym importom / exportom, nezabudnite robiť zálohy). Všeobecne platí, že logika programu je však osobitná, ale je a veľmi rozvinutá.

Vylepšené softvérové \u200b\u200briešenie pre umelú inteligenciu.

Veľmi zaujímavé softvérové \u200b\u200briešenie v oblasti umelej inteligencie bolo ponúknuté vývojármi z A.L.I.C.E. Sú dobre overení v umelej inteligencii a aktívne sa zaoberajú rozvojom programov v tejto oblasti. Ak sa chcete zoznámiť s ich vývojom, bola vytvorená online žiadosť o komunikáciu s kapitánom Kirkom (kapitán Kirk) v reálnom čase. Princípná aplikácia je postavená podobne ako predchádzajúci program, ale je tu príjemná funkcia. Program reaguje na všetky otázky napísané hlasom nahlas. Významnou nevýhodou programu je možnosť komunikácie výlučne v angličtine. Podobná žiadosť o komunikáciu v ruštine zlyhala a je veľmi ľúto, že programátori túto funkciu nepoužili. Koniec koncov, existuje mnoho programov pre syntézu reči, ktorá prevádza text na zvukový reč pomocou technológie SAPI5. Je škoda, že programátori nemali túžbu vytvoriť alternatívny program s podporou ruského jazyka. Koniec koncov, v skutočnosti je to stále voľný výklenok.

Komunikácia s programom prostredníctvom mikrofónu sa vzťahuje na umelú inteligenciu.

Program komunikácie s počítačom v ruštine sa nazýva Parrot Grisha. V tomto programe je s najväčšou pravdepodobnosťou implementovaný prototyp umelej inteligencie. Ale myšlienka je veľmi originálna. Faktom je, že hlavným rozlišujúcim znakom papagája Grisha je schopnosť komunikovať cez mikrofón a reproduktory (bez použitia klávesnice).

Program má modul rozpoznávania dezinfekcie závislý od reči. Je to analýza prichádzajúceho audio kanálu, ktorý odkazuje na tento program na umelú inteligenciu. Ale, bohužiaľ, to je schopné rozpoznať len niekoľko otázok (len 46 fráz uvedených v referencii). Pri spustení programu sa Parrot spí. Akonáhle budete hovoriť cez mikrofón, prebudí sa na začiatok dialógu. Softvérový systém rozpoznávania reči používa neinformačné funkcie, ale komunikačné:

  • aplatívna;
  • emocionálne;
  • prevažná metóda.

Kategorický slovník dialógu je založený na sémantických primitívoch. Metóda rozpoznávania reči nevykonáva jazykový obsah, ale definovaním funkcie vyhlásenia. Teda, s rozpoznávaním hlasového rozpoznávania, akt reči, komunikačný scenár a samotný dialógový dialóg. Preto pri komunikácii s programom je dôležité, aby nebolo slová, ale komunikačný akt. Pri rozpoznávaní sa vyberie náhodné scény. Ak nejaký čas neprítomný vstupný signál, papagáj samotný provokuje používateľa k dialógu. Scenár parrotovacieho správania môže byť kontrolovaný frázami a dokonca zmeniť svoj charakter na: smutný, dotykový, veselý.

Pre mobilné technológie, aktívnejšie rozvíjať a implementujú programy s umelou inteligenciou. To možno vidieť z krátkeho programu kontroly videa:

  • Návod

Premýšľali ste niekedy o tom, aké ľahké je napísať svoju umelú inteligenciu, ktorá bude robiť riešenia v hre sami? Ale je to naozaj jednoduché. Nechajte ho najprv prijať náhodné rozhodnutie, ale neskôr ho môžete zvýšiť, učiť analyzovať situáciu, a potom to bude mať vedomé rozhodnutia. V tomto článku vám poviem, ako som napísal svoj topánok, a tiež ukázať, ako môžete napísať svoj vlastný za pár minút. Náš počítač bude hrať klon trónovej hry, alebo skôr do časti, kde potrebujete poraziť nepriateľov na motocykli.

Pod súbormi GIF súborov MegaByte pre 10.

O hre

V hre spravujete motocykel, ktorý opustí stenu zo svetla. Hracie pole je obmedzené a súperi majú rovnaké motocykle. Motocyklové jazdy neustále sa môžete otáčať. Voľné miesto na ihrisku končí a je ťažšie vyhnúť sa prekážkam. Vyhrá ten, kto bude trvať dlhšie. Klon hra Vyrobil som prehliadač multiplayer pomocou node.js a socket.io. Kontrola dvoch tlačidiel - otočte doľava a otáčajte doprava.

Bota Rozhranie

Vzhľadom k tomu, že používam socket.io, potom spracovanie hráčov na serveri som mal vo forme práce na škále špeciálnych objímkových predmetov, ktoré socket.io vytvára. Z týchto objektov som použil iba id, emit a vysielacie funkcie. Takže je to bezbolestné pre samotnú hru, môžete implementovať zásuvkové rozhranie a používať ho pri spracovaní, ako keby iný používateľ hrá. Zavolal som triedu Botocket.
Metóda emit (udalosť, dáta) Na BOT vykonáva takmer rovnaké akcie ako klient s prichádzajúcimi údajmi zo servera, a to:
  1. Pri ich pridávaní údajov si zachováva údaje o všetkých hrách motocyklov
  2. Pri pridávaní uloží odkaz na váš motocykel
  3. Aktualizácie údajov o všetkých hrách motocyklov
  4. Pri reštartovaní hry obnoví stav
Pre prenos riadiacich príkazov pre váš motocykel na server, bolo potrebné uložiť odkaz na objekt hry, ktorý spracováva takéto príkazy od bežných používateľov. Metóda triedy Hra. Zavolal som oNCONTROL (zásuvka, dáta), takže som pridal metódu Botsocket.
Botsocket.Prototype.control \u003d Funkcia (údaje) (this.game.oncontrol (tento údaj););
Keď prídete zo servera, aby ste aktualizovali údaje o údajoch motocyklov (došlo k ich pohybom), či mám vôbec kontrolovaný motocykel, či stále čelil, či bol presunutý, a ak je to úspešné, spôsobujem hlavný Metóda práce AI aktualizácia ().
Rozhranie je pripravené, teraz môžete pridať samotnú AI.

Umela inteligencia

Ako keby to neznie hlasno, ale v hrách 'hry, pre ktoré sa počítač hral, \u200b\u200bto je nazývané, alebo roboty. Objekt Botocket má potrebné údaje o hre, aby urobili rozhodnutie. Možnosti riešenia môžu byť iba tri:
  1. Nerobte nič, choďte rovno
  2. Odbočiť doprava
  3. Odbočiť vľavo

Keď som sa rozhodol napísať topánok, nemal som potuchy, ako by to mohlo byť vykonané. Snažil som sa veľmi jednoduchý kód:
Botsocket.Prototype.Update \u003d Funkcia () (var r \u003d math.random (); ak (r\u003e 0,95) (this.control ((("Tlačidlo": "vpravo"));) inak (r\u003e);)
Správanie bolo nasledovné:

Pozrel som sa na neho a zažil som veľkú radosť, zdalo sa mi, že bol teraz nezávislý. Zdalo sa, že on sám hľadal pokusy prežiť, biť tam ako nažive. Dotýka sa podívania.

Ale chcel som, aby to žil čo najviac. Začal som hľadať informácie o tom, ako píšu do hier. Našiel články, ktoré popísali rôzne prístupy. Ale hľadal som niečo mimoriadne jednoduché. Našiel som v Habreji v jednom z článkov o topánok pre hru ako Zuma zmienka o vlnovom metód. Algorithm Lee. Zdalo sa mi veľmi jednoduché a vhodné. Toto je algoritmus pre vyhľadávanie najkratšej cesty z jedného miesta na druhú na ihrisku, kde môžu byť bunky buď voľné alebo obsadené. Essencia je jednoduchá. Začneme z cieľového bodu, prideľujeme ju hodnotu 1 a označujeme všetky susedné voľné bunky na jednotku viac. Potom berieme všetky susedné voľné označené a označené opäť na jednotku. Takže rozbaľte na celom poli, kým nedosiahnete cieľový bod. A cesta na vybudovanie vyhľadávania zo susedného čísla na zníženie počtu, kým nebudeme robiť pred 1. Nasledoval som vyhľadávací algoritmy za najkratšie cesty v grafoch, ale zdalo sa mi to najvhodnejšie.

Bol som prenesený na algoritmus kópie-pasty zo stránky vo Vicky, dal mu meno Botsocket.Prototyp.Algorithmlee.. Pre pole som prvýkrát vytvoril objekt bojisko.V ktorom každá aktualizácia označuje obsadené body svojimi súradnicami. A v algoritme, či sa toto pole znížilo na to isté, ale v kroku 1.

Bolo potrebné nejakým spôsobom definovať cieľový bod. Rozhodol som sa ho vybrať náhodou v určitých časových intervaloch. Urobil metódu na nájdenie náhodného voľného bodu na ihrisku:
Botsocket.Prototype.GetDesiredPoint \u003d Funkcia () (var bodu \u003d; var h \u003d object.Keys (this.Battleground) .Length - 1; var w \u003d object.Keys (this.Battleground). Dĺžka - 1; var x, y , I, J, VAR nájdený \u003d false; var iter \u003d 0; robiť (i \u003d this.getrandomint (1, W); J \u003d This.GetRandomint (1, H); X \u003d I * THROUNDEST * this.movestepsize; ak (this.Battleground [x] [y] \u003d\u003d\u003d this.bg_EMPTY) (nájdený \u003d true;) ITER ++;) Kým (! nájdené && ITER< 100); point = ; return point; };

Teraz by som mohol aktualizovať:
Botsocket.Prototype.Update \u003d Funkcia () (ak (! Toto ..Desisidapoint || This.Movements% This.UpDDestinationInterval \u003d\u003d\u003d 0) (This.Desisidapoint \u003d This.DetDesiredPoint ();) Return;) var bežné bod \u003d; var pat \u003d this.Algorithmlee (StudleintPoint, to.Desisidapoint); ak (cesta && TYTOF cesta! \u003d\u003d "nedefinované") (this.Movetopoint (cesta);) inak (toto .GetDesiredPoint (););
Metóda je tu uvedená movetopoint.Ktorý sa zmení, ak potrebujete dosiahnuť prvý bod z najkratšej cesty, pričom sa zohľadní aktuálny smer.

Neskôr som sa rozhodol, že robia roboty agresívnejšie a namiesto náhodného požadovaného bodu som hľadal bod pred nepriateľmi, aby som ich prekrýval. Alebo tak, aby sa nehrali tak dlho so sebou.

Bot na strane klienta

Rozhodol som sa pokúsiť sa preniesť topánok na časť klienta. Od projektu na node.js, môžem použiť písomný kód pre bot a klienta. Na to som rozšíril botsocket so samostatným klientským súborom, ktorý predefinoval metódy emit () a kontrola ()Interakcia správne so serverom bez odkazu na objekt hry.
Lokálne, všetko fungovalo dokonale a po nasadení na vzdialenom serveri bol nejaký podivný obrázok:

Dlhé myslenie som si uvedomil, že oneskorenie je. Bot poslal príkaz otáčania, ale prišla po aktualizácii svojej pozície na serveri, prečo sa často nemohol dostať na priamu cestu do požadovaného bodu. Ale chcel som normálny bot na strane klienta. Preto som sa rozhodol vziať do úvahy oneskorenie. Na tento účel napísal rozširovanie obložiek. Článok je dlhý, takže opím základné riešenia. Pred volaním algoritmu namiesto aktuálneho bodu som nahradil predpovedanú pozíciu, pričom zohľadnil aktuálnu polohu a smer, ako aj faktor oneskorenia. Oneskorenie multiplikátor je číslo, koľkokrát je oneskorenie frekvencia aktualizácie pozície na serveri. Predpoveď budúceho bodu Stále potrebujem v tejto metóde mOVETOPOINT ().

Predpoveď pracovala, ak je hraná. Ale ak tam boli ostatní účastníci, potom Bot to nezohľadnil a poslal tam, kde bol iní hráč opitý po určitom čase. Ak chcete vyriešiť tento problém, zmenila som spôsob, ktorý označuje zapojené polia. Začal som sa oženiť s nimi zaoberajúci sa v niektorom okruhu pohybu motocyklov. Polomer závisí od multiplikátora oneskorenia.
Už som dodal topánok s funkciami ladenia, ktoré na ihrisku vytiahli požadovaný bod a obsadené body. Moja verzia klienta BOT s oneskorením sa teraz pohybuje:


Moja červená, zvyšok servera.

Najdôležitejšie je to - pokúsiť sa urobiť topánok sami

Hlavným účelom tohto článku je prebudiť záujem o písanie topánok. Urobil som veľa, aby som porazil svoju lenivosť. Aby som to urobil, som pridal schopnosť vložiť svoj vlastný skript s topánok, ktorý rozšíri moju základnú triedu klienta. Prejdite na projekt a kliknite na textové možnosti pre izbu s vlastným topánkom, a potom na "Vytvoriť priestor na testovanie vlastného BOT". Vytvorí sa miestnosť, v ktorej môžete ľahko aplikovať roboty, štandardne bude váš topánok bez zohľadnenia oneskorenia. Teraz je čas na váš kód.
Dve jednoduché možnosti používania vášho kódu v prípade, použite:
  1. Položte súbor JS na ľubovoľný server, ktorý bude k dispozícii vášmu prehliadači. Vložte adresu URL do svojho skriptu v hre vedľa tlačidla "Načítať tlačidlo AI skriptu". Po kliknutí na toto tlačidlo sa vytvorí a vyplní nový objekt. botsocket.ktorý bude spôsobený metódou Štart ().
  2. Použite konzolu prehliadača (FIREBUG - F12, FIREFOX - CTRL + SHIFT + K, CHROME - CTRL + SHIFT + J, OTÁZKA -).

Ak ste určený s metódou zadania vášho kódu, skúste prepísať metódy triedy Botsocket.. Začať s najjednoduchším:
Botsocket.Prototype.Update \u003d Funkcia () (var r \u003d math.Random (); ak (r\u003e 0,95) (this.control ((("Tlačidlo": "vpravo"));) inak, ak (r\u003e 0,90) This.control (("Tlačidlo": "Vľavo"));)

Potom znova vytvorte objekt botocket zadaním
Botsocket \u003d null;
Kód na samotnej stránke sa zároveň obnoví a vyplní objekt. Týmto sa zmeníte štandardné správanie topánok pre náhodné. A potom je to už záležitosť pre vaše fantázie alebo hlboké vedomosti.
Môžete tiež pripojiť skript pre môj vylepšený topánok s oneskorením pri zohľadnení oneskorenia v URL pre BOT HTTPS://raw.github.com/rnixik/tronode-js/master/public/javascripts/mybotsocketclient.js

Záver

Povedal som, ako som vytvoril moju AI na serveri, potom, keď ho presťahoval k klientovi a ako sa ho pokúšala naučiť hrať s vysokým pingom. Naozaj dúfam, že by som vás mohol zaujímať, a pokúsili ste sa napísať váš AI, ak som to nikdy predtým neurobil. Samozrejme, existujú celkom odlišné prístupy vo vysoko kvalitných hrách, ale stojí s malým.

Ak nemáte pod ručným node.js, môžete použiť aplikácie nasadené:

1) tronode.livelevel.net - najlacnejšie VPS na Digitalocean,
2) tronode-js.Herokupp.com - bezplatná virtuálna jednotka na Heroku.

Prvá, najpravdepodobnejšia, prvá sa nemusí vyrovnať s zaťažením a druhý na niektorých počítačoch resetuje socket.io-transport v XHR-affect, kvôli tomu, hra veľmi ťažká.
Ak sa chcete dozvedieť viac o tom, ako som naprogramoval hernú logiku, môžete si prečítať. Na rovnakom mieste o skenovaní node.js a trochu o grafickej časti.

Ak nemáte účet na Habrej, potom položte otázky alebo pošlite svoje zaujímavé návrhy pre mňa [Chránené e-mail]

Tagy: Pridať tagy