Forum Sveta kompjutera  

Nazad   Forum Sveta kompjutera > Test Run > Programiranje > Pravljenje igara

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

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 30.10.2007, 22:27   #1
Bojan
Novaković
 
Avatar korisnika Bojan
 
Član od: 22.8.2005.
Lokacija: Beograd, Čukarica
Poruke: 1.183
Zahvalnice: 170
Zahvaljeno 365 puta na 168 poruka
Slanje poruke preko ICQ-a korisniku Bojan
Određen forumom Visual Basic 6: Online Serveri

Potrebna mi je pomoć oko pravljenja igre koju sam vam predstavio ovde.

Naime, želeo bih da ubacim mogućnost kreiranja servera koji će non stop biti online, odnosno sve ono što imaju poznate online multiplejer igre. Jedan napravi server, a svi ostali ga vide i mogu da mu se priključe.

Može li mi neko dati konkretne primere za ovo, ili mi na neki drugi način pomoći?
U pitanju je Visual Basic 6.

Poslednja ispravka: VojaM (31.10.2007 u 11:41)
Bojan je offline   Odgovor sa citatom ove poruke
Stara 4.11.2007, 21:59   #2
Marko_L
Mythbuster
 
Član od: 2.11.2005.
Lokacija: Beograd
Poruke: 2.205
Zahvalnice: 38
Zahvaljeno 370 puta na 147 poruka
Slanje poruke preko ICQ-a korisniku Marko_L Slanje poruke preko MSN-a korisniku Marko_L Slanje poruke preko Yahooa korisniku Marko_L Slanje poruke preko Skypea korisniku Marko_L
Određen forumom Re: Visual Basic 6: Online Serveri

Uh, ovo je jako opširna tema. Prvo trebaš da se odlučiš za arhitekturu, hoćeš li klijent-server ili p2p. I jedno i drugo ima svoje prednosti i mane. p2p recimo rasterećuje server, ali povećava saobraćaj među peerovima što može dovesti do asinhronizacije između klijenata pogotovo ako se radi o lošijoj vezi. Sa druge strane, za klijent-server moraš da imaš dobar bandwith na serveru, jer on mora da prima i šalje veliku količinu podataka (mada je ovo relativno i zavisi od igre i podataka koji treba da se šalju... manja igra logično treba da pošalje i primi manje podataka). Zatim trebaš da odabereš šta ćeš da koristiš za programiranje, hoćeš li preko Winsocka, DirectPlaya ili nečeg desetog. Winsock ti pruža više fleksibilnosti, jer radi na nižem nivou, pa možeš bolje da iskontrolišeš pakete, mada to neminovno znači i dosta više programiranja i testiranja, jer mora da se pazi na svaku sitnicu. DirectPlay sa druge strane sam vodi računa o mnogim stvarima, ali to ne znači da je jednostavno napraviti mrežnu arhitekturu sa njim. O bitnim stvarima i dalje ti moraš da vodiš računa kad pišeš kod... Recimo, pošto je tvoja igra potezna, i ti sad pošalješ podatke preko TCP/IP-a, on će kao safe-protocol da čeka da svi paketi stignu na odredište pre nego što prepusti potez sledećem igraču, pa ako se desi da neki igrač napusti igru ili ima slabiju vezu, eto problema... Znači u tom slučaju je možda bolje preko UDP-a šibati pakete jedan određeni period od recimo 5-10 sekundi i ako ne dobije povratnu informaciju za to vreme, izbaciti igrača iz igre i prepustiti kontrolu igraču koji je sledeći na redu. Naravno, server mora da ima fiksnu IP adresu ili domen kako bi peerovi mogli da se konektuju na njega i pošalju mu svoje IP adrese kako bi mogli da razmenjuju pakete. Takođe, moraš da obezbediš i redovan update IP adresa zbog onih koji imaju dinamičke IP adrese. Naravno, sve ovo važi za internet, ako praviš igru za LAN, onda je mnogo lakše, jer je protok obično stabilan i svi imaju fiksne IP adrese. U svakom slučaju, ne gine ti čitanje tutorijala i dosta učenja. Predlažem da obiđeš poznate sajtove koji se bave programiranjem igara kao što su www.gamedev.org i www.gamasutra.com gde ćeš naći dosta diskusija, tutorijala, primera za gamedev, pa i programiranje multiplayer igara.
Marko_L je offline   Odgovor sa citatom ove poruke
Stara 8.11.2007, 11:30   #3
Bojan
Novaković
 
Avatar korisnika Bojan
 
Član od: 22.8.2005.
Lokacija: Beograd, Čukarica
Poruke: 1.183
Zahvalnice: 170
Zahvaljeno 365 puta na 168 poruka
Slanje poruke preko ICQ-a korisniku Bojan
Određen forumom Re: Visual Basic 6: Online Serveri

Mare, hvala ti na detaljnom odgovoru.

Što se tiče igre, do sada mi je sve normalno radilo u uslovima koji su podrazumevali relativno dobar protok. Međutim, kada je lošiji protok u pitanju, događao se gubitak podataka, i samim tim drugi igrač nije mogao da odigra potez (baš ono što si ti pomenuo).

To je bila jedna mana, druga mana je to što je konekcija bila moguća samo preko IP-a. Ono što je moja želja je da ja napravim server kući i onda drugi igrač, samo klikne na pretragu, vidi sve online severe, i poveže se normalno. Dakle, po nazivu servera, a ne preko IP adresa, porta i ostalog.

Programiranje sam radio preko Winshock OCX kontrole, ali ozbiljno planiram da se bacim na DirectPlay, samo mi trebaju primeri...

Poslednja ispravka: Bojan (8.11.2007 u 11:40)
Bojan je offline   Odgovor sa citatom ove poruke
Stara 8.11.2007, 21:15   #4
Marko_L
Mythbuster
 
Član od: 2.11.2005.
Lokacija: Beograd
Poruke: 2.205
Zahvalnice: 38
Zahvaljeno 370 puta na 147 poruka
Slanje poruke preko ICQ-a korisniku Marko_L Slanje poruke preko MSN-a korisniku Marko_L Slanje poruke preko Yahooa korisniku Marko_L Slanje poruke preko Skypea korisniku Marko_L
Određen forumom Re: Visual Basic 6: Online Serveri

Imaš dva odlična tutorijala za VB i DirectPlay ovde
http://directx4vb.vbgamer.com/DirectX4VB/TUT_DX8_DP.asp
Meni su dosta pomogli.
Marko_L je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

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
Visual Basic - Potrebna pomoc bofi Programiranje 23 2.9.2011 9:55
Visual Basic 6.0 Tutorial DobroslaV Programiranje 10 4.8.2007 14:05
Microsoft Visual Basic vladix Pravljenje igara 5 17.11.2006 19:18
Visual Basic PeTkO Programiranje 20 17.11.2006 14:15
Microsoft Visual Basic 2005 styx Programiranje 2 11.4.2006 13:34


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


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