Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje > Pravljenje igara
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Pravljenje igara Programski jezici, tehnike, alatke u službi pravljenja igara...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 10.8.2012, 23:42   #101
Highlander
information junkie
 
Avatar korisnika Highlander
 
Član od: 3.11.2005.
Lokacija: MAX Highlands
Poruke: 2.160
Zahvalnice: 616
Zahvaljeno 686 puta na 401 poruka
Slanje poruke preko MSN-a korisniku Highlander Slanje poruke preko Skypea korisniku Highlander
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Jel neko zvao brđane?
Highlander je offline   Odgovor sa citatom ove poruke
Sledećih 7 korisnika se zahvaljuje korisniku Highlander na korisnoj poruci:
Bokile (17.8.2012), boshkodj (11.8.2012), doctor (11.8.2012), Geomaster (11.8.2012), markos807 (5.9.2012), PeTkO (11.8.2012), player1 (6.9.2012)
Stara 17.8.2012, 14:37   #102
PeTkO
Banned
 
Član od: 6.11.2005.
Lokacija: Iza tebe
Poruke: 2.242
Zahvalnice: 419
Zahvaljeno 298 puta na 192 poruka
Slanje poruke preko Skypea korisniku PeTkO
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Dizem temu iz mrtvih jer mi je potreban jedan praktican savet.

Koju bazu podataka mi preporucujete da koristim za flash igru? Ne ocekujem veliki broj igraca, ali mi je potrebna brzina izvrsavanja, pritom da celokupna baza bude sto "laksa" za server. Ono sto mi je potrebno jeste upisivanje i updejtovanje podataka, sortiranje, kao i klasicno citanje podataka. Razmisljao sam da uzmem SQLite ali koliko sam saznao, da baza podataka je file based (samo jedan fajl je baza podataka) i dozvoljava samo jedan query u jedinici vremena. A opet, ne znam koliko bi mi bilo opterecenje za server sa npr 1000 igraca ako bi koristio MySql bazu podataka, i koliko vremena oduzima sama PHP skripta koje ulaze/izlaze prevodi u XML kako bi moglo da se koristi u Flash-u.

Inace, baza podataka ce sadrzati listu igraca koji su se prijavili u igru, zajedno sa njihovim statistickim podacima, zatim pitanja i kategorije (razvijam unapredjenu verziju hangman-a (koliko to god zvucalo prosto, ja sam ga ukomplikovao)), kao i tabelu "players_query" gde bi se igraci koji su izabrali opciju "Player vs Player" privremeno smestali, i kasnije bi skripta birala dva najpogodnija igraca (po poenima) koje bi se susrela u mecu.
PeTkO je offline   Odgovor sa citatom ove poruke
Stara 17.8.2012, 15:05   #103
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Mislim da su ti dve najrealnije opcije SQLite i MySQL. Ne vidim problem u tome što je u SQLite-u jedan fajl baza podataka, pa ni MySQL nema vudu načine za snimanje podataka, na nekom nivou i on koristi fajl. E sad, pošto SQLite nema daemona koji "sluša" pa ti možeš da se konektuješ i radiš query-je, onda jeste jedan od problema to što u jednom trenutku samo jedan query može da se izvršava. Ja ti, lično, za tako malo "ozbiljniju" primenu, i uz to real-time, preporučujem da uzmeš MySQL koji je ipak proveren i ne bi pravio neki veliki problem na serveru IMO. PHP skripta koja fetchuje iz baze i pretvara to u XML je ograničena samo brzinom baze, ispisivanje toga u XML-u je zanemarljivo kratko (osim, naravno, ako nemaš neke astronomski duga polja/mnogo redova). SQLite je, koliko sam ja primetio, više pogodan za lokalne programe kojima je potrebna baza podataka ili za male servere sa ograničenim resursima i malo korisnika.
Geomaster je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku Geomaster na korisnoj poruci:
PeTkO (17.8.2012)
Stara 17.8.2012, 15:14   #104
PeTkO
Banned
 
Član od: 6.11.2005.
Lokacija: Iza tebe
Poruke: 2.242
Zahvalnice: 419
Zahvaljeno 298 puta na 192 poruka
Slanje poruke preko Skypea korisniku PeTkO
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Ok, hvala Geomaster, i ja sam razmisljao na slican nacin, nego cisto da proverim.
PeTkO je offline   Odgovor sa citatom ove poruke
Stara 17.8.2012, 16:01   #105
Neutrino
Deo inventara foruma
 
Član od: 17.6.2011.
Poruke: 7.336
Zahvalnice: 94
Zahvaljeno 3.334 puta na 2.010 poruka
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

SQLite možeš odmah u startu da odbaciš jer a) ima slabu konkurentnost prema klijentima, b) nedostaju mu neke funkcionalnosti koje su ključne za ono što tebi treba. Dakle PHP/MySQL je dobitna kombinacija a koliko će cela aplikacija biti optimizovana zavisi isključivo od tebe.

Evo par saveta kako da optimizuješ svoju Flash/PHP/MySQL aplikaciju.

1) Prilikom dizajniranja baze povedi računa da tabele koje se uglavnom koriste za čitanje podataka budu MyISAM tipa a one gde se prevashodno koristi upis ili update InnoDB tipa.

2) Budi velikodušan prilikom formiranja indeksa i vodi računa o tome da ih definišeš tako da redosled polja u definiciji odgovara redosledu atributa koje najčešće koristiš u SELECT upitima. Recimo ako često koristiš upite gde atributi iz tabele idu redosledom id_user, name, date indekse generiši tako da prate taj redosled.

3) Koristi keširanje query-ja.

4) Nemoj da preteruješ sa normalizacijom tabela! Ukoliko dođeš u situaciju da koristiš više od jedne ili maksimalno dve JOIN operacije po upitu moraš da uradiš denormalizaciju tabela.

5) Izbegavaj kombinovane upite! Ako dođeš u situaciju da moraš da napraviš upit tipa "SELECT * FROM WHERE (SELECT ...)" kod MySQL-a bolje ti je da pošalješ dva jednostavna nezavisna upita.

6) Za sve interakcije sa MySQL bazom kroz PHP koristi PDO. Ukoliko dođeš u situaciju da recimo moraš da radiš update velikog broja zapisa u tabeli tokom izvršenja jednog skripta onda obavezno koristi prepared statements.

7) Redovno provlači svoj PHP kod kroz neki profiler (PHPEd recimo ima odličan profiler ali se naravno plaća, alternativa ti je xDebug koji je free ali pomalo bagovit).

8) Ukoliko imaš nameru da podržiš samo Flash 11 playere onda za prenos podataka od servera možeš da koristiš mnogo ekonomičniji JSON format. U suprotnom XML ti ne gine.

9) Pokušaj da sve podatke koje Flash klijent dobija od servera kompresuješ ali vodi računa o tome da GZIP ume da pravi problema kod Flash-a na određenim browserima zbog specifične implementacije sistema keširanja. U IE recimo često neće da rade preloaderi itd. zato oprezno. S druge strane GZIP može da smanji količinu prenetih podataka po zahtevu i do 90%.

Ima tu još mnogo korisnih saveta koje bih mogao da navedem ali ovo je za početak najbitnije.
Neutrino je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku Neutrino na korisnoj poruci:
irreal (19.8.2012), PeTkO (17.8.2012)
Stara 17.8.2012, 22:41   #106
BobaL
Član
 
Član od: 1.4.2006.
Poruke: 493
Zahvalnice: 85
Zahvaljeno 143 puta na 83 poruka
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Kako bi bilo da koristis gotovu tehnologiju za serversku stranu (recimo Player.IO) i da se kocentrises samo na kvalitet igre (klijent).

Recimo kao sto su to uradila ova dva momka.

http://www.kongregate.com/games/Rob_...acomplete=eggs

Intervju sa njima se moze videti na mochimedia stranici.

http://mochiland.com/articles/flash-...ad-eggs-online
BobaL je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku BobaL na korisnoj poruci:
irreal (19.8.2012), PeTkO (18.8.2012)
Stara 18.8.2012, 2:55   #107
PeTkO
Banned
 
Član od: 6.11.2005.
Lokacija: Iza tebe
Poruke: 2.242
Zahvalnice: 419
Zahvaljeno 298 puta na 192 poruka
Slanje poruke preko Skypea korisniku PeTkO
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Hm...Jako intersantno, gotovo sve ono sto mi je potrebno se nalazi u jednom alatu. I jos se serverska strana pise u C#...savrseno Mozda trazim previse, ali da li postoje jos neka gotova resenja poput Player.IO cisto da bih uporedio?
PeTkO je offline   Odgovor sa citatom ove poruke
Stara 18.8.2012, 14:06   #108
Neutrino
Deo inventara foruma
 
Član od: 17.6.2011.
Poruke: 7.336
Zahvalnice: 94
Zahvaljeno 3.334 puta na 2.010 poruka
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Dobio sam pitanje na PM zašto je redosled indeksa bitan za performanse upita pa pošto je Percona danas objavila jedan odličan tekst na tu temu postaviću link do nje ovde.

http://www.mysqlperformanceblog.com/...ions-followup/

Obavezno pogledajte i snimak njihovog webinara na tu temu (link dat u tekstu).
Neutrino je offline   Odgovor sa citatom ove poruke
Sledećih 3 korisnika se zahvaljuje korisniku Neutrino na korisnoj poruci:
EclipsE (18.8.2012), PeTkO (18.8.2012), player1 (6.9.2012)
Stara 5.9.2012, 4:54   #109
PeTkO
Banned
 
Član od: 6.11.2005.
Lokacija: Iza tebe
Poruke: 2.242
Zahvalnice: 419
Zahvaljeno 298 puta na 192 poruka
Slanje poruke preko Skypea korisniku PeTkO
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Nisam zeleo da otvaram novu temu, pa cu pitati ovde.

Vec neko vreme razvijam klasicnu hangman igru (samo zakomplikovanu na moj nacin ), i postavio sam je na kongregate. Naravno, igra reci i hintove izvlaci iz mysql baze koja je hostovana na mom shared hostingu. Problem je sto kada igru ne ucitavam preko iFrame vec direktno uploadujem na kongregate, igra jednostavno ne moze da uspostavi konekciju sa bazom podataka (to mi se desava kada probam da je uploadujem i na ostale servise, ne samo na kogregate). U cemu je problem? Koristim klasican As3->Php->mySql proces, gde igra prosledjuje random id, preko kojeg se uz pomoc PHP-a trazi odgovarajuce pitanje i hint i to se vraca igri.

Evo dela koda koji mi sluzi za konekciju:
Kod:
public var urlLoader:URLLoader;
public var urlVariables:URLVariables = new URLVariables();
public var url:String = "www.link.do/phpSkripte.php";
public var urlRequest:URLRequest = new URLRequest(url);
public var variables:URLVariables;

public function WordList()
{
        var rnd:int;
	rnd = randomNumber(1, 5);
	trace("random number: " + rnd);
	urlVariables.id = rnd;
	urlRequest.method = URLRequestMethod.POST;
	urlRequest.data = urlVariables;
	urlLoader = new URLLoader();
	urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
	urlLoader.load(urlRequest);
	urlLoader.addEventListener(Event.COMPLETE, onCompleteHandler);
}
		
public function onCompleteHandler(e:Event):void
{
	urlLoader.removeEventListener(Event.COMPLETE, onCompleteHandler);	
	variables = new URLVariables(e.target.data);
	Word = variables.question;
	Hint = variables.hint;
	catText = variables.category;
	trace(Word);
	trace(Hint);
	trace(catText);
	CurrentWord = Word;
	CurrentHint = Hint;
	CurrentCategory = catText;	
}
Znaci sve ovo lepo radi kada se igra poziva preko iFrame, ali ukoliko uploadujem na sam Kongregate, onda nece da radi.

Druga stvar koja me interesuje...Ova igra je cisto experimentalna kako bi se kroz nju upoznao sa tehnologijama...Kako bi mogao da zaradjujem sa ovom igrom (dajem samo ovu igru kao primer, igra je shit). Kongregate omogucuje odredjeni Mochi servis za zaradu (koji inace omogucava jos neke sitnice), pa me interesuju iskustva ostalih, oko same zarade, posto imam dosta ideja koje bi se mozda i mogle unovciti.

Treca stvar...Svaki .swf fajl je dosta osetljiv na dekompajliranje, i zavirivanje u sam actionscript kod. A posto ja u svom AS kodu drzim neke jako osetljive stvari (npr, link do php skripte koja sadrzi konekciju za bazu podataka), kako je najbolje zastiti od dekompajliranja? Ili ako je to nemoguce, na koji nacin da zastitim makar podatke koji su od veoma velikog bezbedonosnog znacaja za igru/server?
PeTkO je offline   Odgovor sa citatom ove poruke
Stara 5.9.2012, 10:09   #110
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Da li se PHP fajl nalazi na istom serveru kao i MySQL baza?
PHP fajl se kaci na sql, jel da?

MySQL po defaultu nece primati konekcije koje ne dolaze iz lokala, nije otvoren ka internetu da se odnekud drugde moze kaciti na njega.


Mochi servis nemam pojma sta je tako da prelazim odmah na trece pitanje.

A pre toga mali disclaimer: nemam neko preterano iskustvo u flashu i ovo sto cu pisati su neke generalizovane informacije. Kada naidje neko iskusniji od mene dace i potpunije informacije.

.SWF fajl tretiras isto kao i Javascript kod - nesto sto je veoma dostupno i lako izmenljivo od strane korisnika.

Ne mozes u principu nikada potpuno verovati podacima koji stizu sa .swf-a a jos manje drzati u njemu poverljive stvari.

Neka me neko ko ima novijeg iskustva sa Flashom ispravi ako gresim, al cenim da je to to.

Sto se tice link-a do php stranice. To nije nista strasno ako PHP stranica nije sigurnosna rupa.
Ona treba da pruza veoma limitirani pristup koji je bezbedan cak i ako neko lazira parametre koji se prosledjuju.
Nikako ne bi smeo da mozes kroz parametar prosledjen toj skripti da pises ili brises po bazi, vec samo da citas i to one delove koji i treba da budu dostupni.

Ukoliko budes belezio podatke o konkretnim korisnicima, u pricu ulazi kontrola korisnika registracijom. Da'l ces da pises svoj sistem ili da iskoristis neki od postojecih frameworka za to, zavisi od potrebe i situacije.

Sve u svemu, mnogo razlicitih problema i resenja i poluresenja postoji na tu tematiku i nije uopste naivna tema.

Iznesi neke konkretne potrebe i probleme pa cemo polemisati dalje, a i u mom slucaju, jer nemam neko iskustvo, konsultovati google
irreal je offline   Odgovor sa citatom ove poruke
Stara 5.9.2012, 12:53   #111
Neutrino
Deo inventara foruma
 
Član od: 17.6.2011.
Poruke: 7.336
Zahvalnice: 94
Zahvaljeno 3.334 puta na 2.010 poruka
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

1) Skini Fiddler i proveri šta se tačno dešava sa HTTP zahtevima kad igru okačiš na servise na kojima ne radi. Moguće je i da servisi jednostavno zabranjuju korišćenje eksternih resursa iz sigurnosnih razloga i to tako što tvoju igru "wrapp-uju" u sopstveni custom loader (.swf unutar .swf fajla) kojim kontrolišu šta sve aplikacija sme a šta ne.

Na kraju krajeva ako ti ništa od pomenutih informacija ne pomogne možeš uvek da probaš DeMonster debugger ili jednostavno kontaktiraš njihovu tehničku podršku da ti nabroje ograničenja servisa itd.

2) Klijentski deo aplikacije ne treba nikada da sadrži informacije koje su od vitalnog značaja za funkcionisanje serverskog dela. Zato se po pravilu svi zahtevi iz Flasha šalju front controller-u serverske aplikacije ili bar nekom dispatcher fajlu koji služi kao bootstrap (googlaj termine ako ti nisu poznati).

U prevodu, kompletna obrada podataka treba da ostane na serverskoj strani a Flash treba samo da šalje zahteve za obradu i prima rezultate te iste obrade. Dakle, nikakve direktne konekcije na "PHP skripte" koje se konektuju na bazu ne dolaze u obzur već isključivo zahtevi za adresama tipa /worlds/get_list/ itd.

Sve ove zahteve treba da primi jedan jedini fajl (pomenuti front controller ako koristiš neki MVC šablon ili bootstrap fajl) što se izuzetno lako odradi kombinacijom mod_rewrite modula za Apache i par linija PHP koda.

3) U slučaju da ipak hoćeš da ideš linijom koja podrazumeva čuvanje osetljivih podataka u Flash fajlu uvek možeš da odabereš neko gotovo rešenje za obfuskaciju .swf fajlova u kombinaciji sa SSL zaštitom komunikacije (da bi bio zaštićen i transport podataka).
Neutrino je offline   Odgovor sa citatom ove poruke
Stara 6.9.2012, 3:17   #112
PeTkO
Banned
 
Član od: 6.11.2005.
Lokacija: Iza tebe
Poruke: 2.242
Zahvalnice: 419
Zahvaljeno 298 puta na 192 poruka
Slanje poruke preko Skypea korisniku PeTkO
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Problem je bio u tzv crossdomain.xml fajlu. Trebalo je samo da ga uploadujem na svoj server. Sve sada radi kako treba. Ostalo je samo da jos malo poradim na zastiti.
PeTkO je offline   Odgovor sa citatom ove poruke
Stara 6.9.2012, 11:22   #113
Ivan-94
Veteran
 
Član od: 15.3.2009.
Lokacija: Beograd
Poruke: 654
Zahvalnice: 240
Zahvaljeno 63 puta na 43 poruka
Slanje poruke preko MSN-a korisniku Ivan-94 Slanje poruke preko Skypea korisniku Ivan-94
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

A nigde nisam nasao link do igre, nisi ga postavio?
Ivan-94 je offline   Odgovor sa citatom ove poruke
Stara 6.9.2012, 13:43   #114
PeTkO
Banned
 
Član od: 6.11.2005.
Lokacija: Iza tebe
Poruke: 2.242
Zahvalnice: 419
Zahvaljeno 298 puta na 192 poruka
Slanje poruke preko Skypea korisniku PeTkO
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Nisam jer igra jos uvek nije zavrsena. Kad je budem zavrsio (ostale su sitnice), postavicu je ovde, naravno.
PeTkO je offline   Odgovor sa citatom ove poruke
Stara 6.9.2012, 22:09   #115
player1
V.I.P. Test Play
 
Član od: 5.4.2006.
Lokacija: Beograd
Poruke: 14.772
Zahvalnice: 5.416
Zahvaljeno 4.101 puta na 2.675 poruka
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Citat:
irreal kaže: Pregled poruke
MySQL po defaultu nece primati konekcije koje ne dolaze iz lokala, nije otvoren ka internetu da se odnekud drugde moze kaciti na njega.
Po "defaultu". Podesis da dozvoli "remote access", i moze da se kaci sa druge masine. Mada licno sam samo to koristio unutar lokalne mreze.
player1 je offline   Odgovor sa citatom ove poruke
Stara 6.9.2012, 22:52   #116
Neutrino
Deo inventara foruma
 
Član od: 17.6.2011.
Poruke: 7.336
Zahvalnice: 94
Zahvaljeno 3.334 puta na 2.010 poruka
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Citat:
player1 kaže: Pregled poruke
Po "defaultu". Podesis da dozvoli "remote access", i moze da se kaci sa druge masine. Mada licno sam samo to koristio unutar lokalne mreze.
Nema potrebe da ugrožava MySQL server tako što će dozvoliti remote access kad mu i sam web server pristupa lokalno (uglavnom).

Ako je hosting shared karaktera a web i MySQL serveri nisu na istom računaru onda je ovo uglavnom rešeno podešavanjem GRANT tabela kojima običan korisnik nema pristup.
Neutrino je offline   Odgovor sa citatom ove poruke
Stara 6.9.2012, 23:13   #117
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: Flash Game Development i velika zbrka u mojoj glavi

Citat:
player1 kaže: Pregled poruke
Po "defaultu". Podesis da dozvoli "remote access", i moze da se kaci sa druge masine. Mada licno sam samo to koristio unutar lokalne mreze.
Citat:
Neutrino kaže: Pregled poruke
Nema potrebe da ugrožava MySQL server tako što će dozvoliti remote access kad mu i sam web server pristupa lokalno (uglavnom).

Ako je hosting shared karaktera a web i MySQL serveri nisu na istom računaru onda je ovo uglavnom rešeno podešavanjem GRANT tabela kojima običan korisnik nema pristup.
Upravo tako. Podrazumevalo se da ako po defaultu ne prima konekcije da moze da se podesi da prima, inace ne bi bilo default nego jedino ponasanje.
Samo nisam hteo da ulazim u polemiku jer je jako malo slucaja gde je pametno to default podesavanje menjati
irreal je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
MultiBoot USB flash - vodič za preživljavanje laikexpert Slobodni softver 5 11.12.2015 21:15
Flash Game Boja Killer Pravljenje igara 2 7.3.2011 17:20
c# (c sharp) i game development Loole Pravljenje igara 45 17.2.2007 14:15
Road Rush kodovi? Darth Ivan Stare igre 5 1.11.2006 22:41
Create Your Own Xbox 360 Games voodoo_ Programiranje 5 1.9.2006 18:21


Sva vremena su po Griniču +2 h. Sada je 8:43.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com