Online hra - boje – Offtopic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Online hra - boje – Offtopic – Fórum – Programujte.comOnline hra - boje – Offtopic – Fórum – Programujte.com

 

Petr Vojáček0
Věrný člen
22. 5. 2007   #1
-
0
-

Nevím kam to mám zařadit, tak to píšu sem. Před nedávnem jsem začal programovat jednu online hru, ovšem nevím jaký mám udělat algoritmus bojů, když vím, že každý voják má svůj útok/obranou sílu, jsou zde také hradby které brání města, nějaké věže atd. Nevím jak to napsat aby to bylo vyrovnané jak pro stranu útočníka tak pro obránce. Možná by i stačilo algoritmus podobný Travianu

Nahlásit jako SPAM
IP: ...–
22. 5. 2007   #2
-
0
-

Mno, tak rekneme, ze kazda jednotka ma urcity pocet bodu zastupujici utok a obranu... Secteme utok vsech jednotek utocnika a obranu vsech jednotek obrance.. Obrancum budeme trosicku nadrzovat a pridame 5% navic.. Dale vezmeme nahodne cislo od -20 do 20 a pricteme obrane opet % (to aby byl vysledek boje pokazde jiny) Nasledne body porovname a z vysledku urcime ztraty a % uspesnosti jednotlivych stran...
Dalo by se to samozrejme rozvest jeste daleko vic, ale to uz necham na tobe...

Nahlásit jako SPAM
IP: ...–
Honza
~ Anonymní uživatel
450 příspěvků
22. 5. 2007   #3
-
0
-

Co třeba něco takového:

if ( celkova_utocna_sila * random(80 az 100 %) > celkova_obrana_sila * random(80 az 100 %) ) {
vyhral = utocnik;
ztraty = celkova_utocna_sila - celkova_obrana_sila;
rozdelZtratyDleTypuAMnozstviObrannychJednotek(ztraty);
} else {
vyhral = obrance;
ztraty = celkova_obrana_sila - celkova_utocna_sila;
rozdelZtratyDleTypuAMnozstviUtocnychJednotek(ztraty);
}

Nahlásit jako SPAM
IP: ...–
Petr Vojáček0
Věrný člen
22. 5. 2007   #4
-
0
-

To Zelenáč: A kteří umřeli vojáci to vyberu náhodně nebo jak? Když pošlu třeba jako v travianu Imperiány, Pretoriány,... a každý má jiný útok a obranu

Nahlásit jako SPAM
IP: ...–
Pavel Synek0
Super člen
22. 5. 2007   #5
-
0
-

Já teda nevim travian sem nikdy nehrál, ale musíš se rozhodnout, jestli má každá jednotka jinou výdrž (řek bych že jo-nějakej vidlák proti rytíři...). Tzn musíš mít (asi) nějaké pole, ve kterém bude druh jednotky a její kvantitu. Potom si chce pohrát s tím, který jednotky bojujou vepředu (pěšák) a který vzadu (třeba lučištníci) tak, aby to třeba zmasilo všechny pěšáky a eště něco k tomu. Znamená to, že sečteš výdrž všech pěšáku, odečtěš od nich celkový dmg a když něco zbyde tak dojde i na lučištníky.
Je to jenom takovej nástin, ale takle bych to dělal já. Doufám, že ti to aspoň trochu pomůže.

Nahlásit jako SPAM
IP: ...–
Tomik512
~ Anonymní uživatel
11 příspěvků
22. 5. 2007   #6
-
0
-

V čem to programuješ? Podle mě se chceš buď pustit do něčeho co je pro tebe zatím nesplnitelný sen. A nebo víš jak se to dělá, ale potřebuješ to nějak využít a na to jsi nepřišel.
Jestli děláš první hru tak bych ti doporučil udělat hru typu Tetris a podobné. Aby jsi udělal hru kde se hraje proti PC musíš naprogramovat umělou inteligenci a to bývá humus a myslim, že člověk co tohle zvládne nemusí zakládat místnosti tohoto typu :D.
Přesto ti odpovim: Nejdříve se zaměř na ty hradby, aby jimi postavička neprošla tak tam musíš dát aspoň jednoduchě kolize. Ty postavičky pak dej jako objekt kterým uživatel hýbe. Zallož nějaký proměnné jako healt. A pak si musíš vymyslet jak bude probýhat boj, jestli tam bude střílení, nebo mečování...... Třeba střela je objekt na poli a když se dotkne postavičky, tak mu ubere třeba 5healt.
Nevim co chceš vysvětlit, ale rád bych věděl jaký sis vybral způsob tvorby, jak děláš postavičky, vypisiješ čáry nebo používáš bitmapy?
Možná to děláš v něčem, kde se tohle vubec neřeší. Já dělám ve C++.
Doporučim ti server

ceskehry.cz

Je tam hodně článků o programování a forum zaměřeno přímo na vývoj her.

Nahlásit jako SPAM
IP: ...–
Petr Vojáček0
Věrný člen
23. 5. 2007   #7
-
0
-

To Tomik512: Neboj, dělám to úplně jinak, chci z toho browser game. Takže to dělám v PHP se kterým už mám nějaké zkušenosti
(nevím jestli dostatečné). Prostě promýšlel jsem si a kreslil jak ta celá hra bude, ale na ty útoky jsem prostě nepřišel.

Nahlásit jako SPAM
IP: ...–
Systém
~ Anonymní uživatel
61 příspěvků
23. 5. 2007   #8
-
0
-

To pecan987: No, PHP není zrovna vhodné pro psaní online her. Né že by to v něm nešlo, ale oproti jiným jazykům je to takovej balast, co velmi zatěžuje server. Na stránky je v pohodě, ale na náročnější aplikace se nehodí. Pohledej na netu, ale myslím že např. oproti Pythonu je PHP 4x větší zátěž. Určitě chceš, aby tvoje hra byla úspěšná a hrála ji spousta lidí, a proto si myslím, že ušetřit na dalších třech serverech a jejich hostingu (s tak náročnou aplikací jako je hra tě vyhodí z každého webhostingu) při stejném počtu hráčů se vyplatí. Proto bych zvolil nějaký jiný jazyk, z interpretovaných Python, Ruby, nebo Perl. Ale nejlepší řešení je napsat tu hru jako modul serveru (nejlépe Lighttpd) v C/C++ a pak napsat jen jednoduché uživatelské rozhraní, které bude víceméně jen vypisovat data z databáze, třeba v tom PHP (tak je udělaný třeba Xchat, a tipoval bych že i Travian). Tím tě nechci nějak strašit a odrazovat, jen upozornit na možná úskalí, nad kterými jsi třeba nepřemýšlel. Vem si, že jeden server travianu (samostatný fyzický počítač) zvládne max. 30-40 tisíc hráčů. A to travian programovali jiní páni programátoři a ty servery maj jistě pěkně nabušený a optimalizovaný.

Mimochodem, taky se pouštím do programování online hry a zvolil jsem Python, MySQL (InnoDB) a server Lighttpd.

Nahlásit jako SPAM
IP: ...–
Petr Vojáček0
Věrný člen
23. 5. 2007   #9
-
0
-

To Systém: To abych se začal učit teda, na toto jsem vůbec nemyslel, bohužel :(

Nahlásit jako SPAM
IP: ...–
to_jsem_ja0
Stálý člen
24. 5. 2007   #10
-
0
-

To Systém:myslíš že by travian zvládl 30tis hráčů? já myslím že ne. jich sice je 50tisíc registrovaných ale online jsou cca 3-4tisíce. a myslím že kdybych jich bylo víc tak spadne

Nahlásit jako SPAM
IP: ...–
Tomáš0
Stálý člen
24. 5. 2007   #11
-
0
-

uz pri 3000 je travian server strasne pomaly

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 22 hostů

Podobná vlákna

Online hra — založil koldis

Online hra — založil PatriCZek

Hra Battleship online — založil Mutagen

Online hra + server — založil milanmichal

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý