Predám PHP hru, ktorej som sa venoval niekoľko mesiacov. Jedná sa o hru založenú na technológii PHP s využitím procedurálneho kódu, spôsobom hry pripomína Travian, i keď nemá mnoho interaktívnych prvkov, bola tvorená pri rôznych pokusoch programovania...
Info o hre mechanizmy:
Hra je kompletne preložená do: sk, cz, en, de, rus, ita
Hráč si vyberie jednu z frakcií za ktorú hrá: (USA, ZSSR, ENG, ITA, GER, SVK)
Každá frakcia má svoje operácie, ktoré sú reálne podložené udalosťami z vojny, napríklad konflikt, misia, významná udalosť
Každá frakcia má svoje vybavenie vrátane jednotiek, zbraní, mechanizmov, strojov
V hre sú 3 meny: zlato, jedno a diamanty *prémiová mena
Akcie v hre --> získavanie surovín a iné sú brzdené batériou, pre menší rozdiel medzi hráčmi
Splnením operácií hráč odomyká nové jednotky, ktoré môžu priniesť napr viac surovín, viac vyrobiť/vydolovať
Každá frakcia má svoju klikateľnú mapu podľa štátu za aký hraje, tiež preloženú do všetkých jazykov
Každá pešia jednotka je spájaná so svojou zbraňou/zbraňami, ktorými môže byť vybavená pre navýšenie útočnej/obrannej sily
XP systém, Quest systém, ktorý sa hierarchicky navyšuje, po určitých úlohách sa jedná o násobné plnenie tej istej úlohy, napríklad dvojnásobný počet tých a tých jednotiek
Tabuľka najlepších hráčov(majorov) s možnosťou zaútočenia na iného hráča
Možnosť vytvoriť odboj (klan)
PM správy a real-time chat, minihra pre stavenie surovín vrátane prémiových
Možnosť kontaktovať administrátora
Logy chatu, prihlásení, odhlásení, registrácii
Dodám až 3 šablóny, v ktorých som hru tvoril.
Hra má samozrejme chyby (bugy) a chýbajúce časti:
Nefunkčnosť obchodovania medzi hráčmi
Zamedzenie zaútočenia na Allied hráčov Allied frakciou a to isté pre Axis
Nie je vytvorená funkcia pre zmenu hesla
Artilériu a obranný kanón nezaráta do celkovej sily obrannej/útočnej
Features:
Ochrana proti spam registráciám zaslaním overovacieho e-mailu s kódom pre aktiváciu účtu
Základná ochrana pred SQL Injection a XSS
Real-time stav servera a beh služieb, test spojenia s db atď.
Obsah súborov (root priečinok):index.php (login)
/blog (predpripravený priečinok na blog)
/contact/index.php (kontakt na vás, dobré zmeniť v mailto váš mail, prípadne dorobiť formulár)
/css - css súbory
/game - priečinok so samotnou hrou
/global
functions.php - napojenie na db + definované salty
battery.php - prípočet batérie periodické cykly
safe.php - vytiahnutie údajov z db
update_stats.php - výpočet útočnej sily, atď, mal by korešpondovať s .XLS súborom
/images - zložka s obrázkami jazykov
/js - js súbory šablóny
/languages preklad hry v jednotlivých jazykoch
/register/index.php (registrácia) - vo funkcii mail v php zmeniť adresu na váš web pre aktiváciu účtov po registrácii
/status/index.php (status servera) - zmeniť v súbore premennú server na váš server.
/mydb.sql - sql súbor so štruktúrou dát
/activate.php - aktivácia účtu po registrácii, ochrana proti SPAM. Používateľ musí link z e-mailu (register.php súboru) vložiť do prehliadača, kde
príklad activate.php?48496 - ?kód pre odblokovanie účtu a prepnutie v DB activated z 0 na 1.
/common.php - integruje preklady
Obsah súborov hry (game priečinok):/barracks - obsaduje súbor kasárni pre jednotlivé frakcie, kde sa vyrábajú bojové jednotky (pešie) - seržant dáva 2x útok, avšak ak má niekto 2 seržantov,
útok nie je dvojnásobný ale iba jednonásobný, možno treba fixnúť v update_stats.php, každá frakcia má svoje jednotky v db v svojom jazyku,
možnosť prerobiť na univerzál.
/css - CSS súbory k hre
/images - súbory s obrázkami, ktoré boli v hre využité, snažil som sa nájsť všetky s neobmedzenými právami na používanie
/js - .js súbory na responzivitu stránky
/logs - logy jednotlivých akcií - prihlásenia, odhlásenia, registrácie, chatlog - kto čo napísal do chatu, komplet história.
/main - súbory jednotlivých frakcií ku questom.
/passive_weapons - nefunkčné, nutnosť upraviť form action + umiestniť to niekam na stránku. Pár z questov naväzuje na zvýšenie levela, či už artilérie, tak obrannej steny, dávajú pasívny obranný /útočný bonus,
nakoľko nie sú momentálne funkčné, tak nie sú zarátané v update_stats.php na útočnú/obrannú silu. stačí jednoducho pripočítať k attackom napr: +$stats['cattack'], pri obrane k defense +$stats['wdefense'];
/qok - overuje či boli questy splnené v jednotlivých frakciách
/weapons - výpočet v factory.php Koľko zbraní si môže daný hráč dovoliť za svoje zlato.
/barracks.php - trénovanie/odtrénovanie jednotiek
/factory.php - tvorba/predaj zbraní (tankov), čísla v php a aj v HTML by mali sedieť s .XLS súborom, neviem naisto, môžete to vhodne doupraviť.
/chat.php - súbor chatu. integruje sa tu súbor refresh a j.php a js/j.js
/index.php - dobré by bolo nastaviť túto stránku ako error 404, hráč po prihlásení na úvodnej stránke má header na stránku
v hre main.php a nejaký hráč môže skúšať zmazať časť linku.
/main.php - prehľad jednotiek, frakcií, preklik na inventár, v spodnej časti klikateľná mapa frakcie (pre všetky jazyky)
mayor.php - Údaje o majorovi (hráčovi) pozor: momentálne vypisuje aj suroviny hráča. QUERY príklad: mayor.php?1 (1=ID)
/mayors.php - Prehľad najlepších majorov na serveri, za progress získava hráč body. Tým sa umiestňuje v rebríčku,
na stránke je v QUERY LIMIT 5. Teda sa vypíše iba 5 najlepších, ak sa zmaže limit, vypíše všetkých registrovaných.
/me.php - inventár. Za plnenie operations.php získava hráč odznaky, po druhej misii získava tankovú divíziu/pešiu divíziu v závislosti na frakcii
Tieto bonusy dávajú bonusový útok v operations.php
/message.php - Kontakt na admina. Hráč napíše požiadavku, odošle a v db sa zobrazí v tabuľke message
/minigame.php - hráč môže staviť jedlo/zlato, alebo diamanty (premiovú menu) a staviť ich. Ak vyhrá, získa dvojnásobok,
ak prehrá príde o vsadené suroviny.
/operations.php - Tu hráč plní operácie. Každý hráč má svoje, ktoré sú ako-tak chronologicky časovo usporiadané.
Za splnenie získava bonus v podobe medaile.
/post.php - PM správy medzi 2 hráčmi, okrem toho cez tento systém sa aj pozýva do klanu.
/production.php - overuje stav questov, zadáva questy a tu za batériu pracujú baníci pre zlato/farmári pre jedlo.
/refresh.php - stará sa o chat
/j.php - stará sa o chat
/logout.php - odhlásenie na úvodnú stránku hru na ../index.php (LOGIN)
/resistance.php - založenie klanu/vstup do existujúceho klanu.
/resistances.php - prehľad klanov, na spôsob mayors.php
/shop.php - obchodovanie medzi hráčmi. To, čo hráč ponúka a čo chce sa do DB zapíše, avšak na stránke to nefunguje
Do hry bola kedysi integrovaná aj mapa sveta. Avšak kvôli prestavaní šablóna a iných vecí prestala fungovať, súbor však viem dodať. Hra by mala byť určená pre naučenie sa používať a ako vhodne riešiť niektoré časti browser hier. Vhodnou alternatívou do budúcna je hru prerobiť do OOP štandardu jazyka PHP. Hra bola testovaná na PHP 5.6, kde fungovala, momentálne je umiestnená na PHP 7, kde ale nefunguje správne funkcia mail pre odosielanie potvrdzovacích emailov, z toho dôvodu sú účty aktivované okamžite. K hre sú ešte 2 šablóny, ktoré môžem dodať, sú na konci obrázkov...
Obrázky z hry: