PISANJE IGRE

Gost
Hmm ne znam da li je ovo pravi deo foruma, ali zajedno sa ortakom smo resili da krenemo u pisanje igre koja i nije tako mali zalogaj. :) Pa s obzirom da znam sve to da isprogramiram ali verujem da ce mi trebati jedno 4-5 godina da sam programiram(ortak radi grafiku)

A sada o samoj igri, igra bi trebala da bude masivni multiplayer(min 1000 igraca po serveru), smestena u svemiru, znaci neka vrsta svemirske simulacije kao elite, frontier, freelancer, privatier itd... Sa par binih razlika roba ce biti proizvodjenja i postojace dinacince cene bazirane na ponudi/potraznji. Igraci ce imati punu slobodu da rade sve sta im je volja da zaposedaju planete organizuju gradove u njima prave proizvodnju artikala, istrazuju nove modele oruzija, brodova, prave brodove oruzija, orbitalne stanice, udruzuju se u korporacije itd... (hmm najblizi pogled na igru bi bila recimo fuzija freelancera i port royala)

Organizacijia bi trebala da bude otprilike ovakva glavni server(i) ce biti u kontaktu sa serverima sistema( u kojima su smestene planete), u svakom slucaju igrac komunicira sa svojim klijentom sa serverima sistema, a oni opet sa glavnim serverima. Opet kada bude dolazilo do bitki igraci ce peer-to-peer razmenjivati podatke ili ce jedan od igraca iz bitke biti server a ostali ce postati klijenti, i na taj nacin cemo raditi rasterecenja sa servera sistema.

Ciljne platforme igre ce biti win, linux, i ostali unixoliki sistemi, predopostavljate da cemo koristiti openGL za renderovanje i UDP za komunikaciju.

Ima li zainteresovanih ljudi da se prikljuce timu ?

kontaktirajte me na
null NA rtk TACKA cx
 
He he... lici mi na moju ideju od pre par godina, tzv. WFRP... S' tim sto se radnja ne bi desavala u svemiru, vec u epic fantasy svetu... I napisao ja i servere, i nesto engine-a...

Ali naravno, na kraju je sve propalo, jer mora od necega da se zivi, a za pravljenje dobre igre potrebno je bar 4 programera i tri puta vise dizajnera, voljnih da bar dve godine rade kao konji bez ikakve naknade, sa verom da ce igra uspeti pa da ce zaraditi nesto...

Sorry, ja 2 godine ne mogu da prezivim na vazduhu... A ne verujem da bi ijedan iole profesionalni programer pristao na tako nesto... I zato se takvi projekti zavrsavaju krahom... Sad but true...

Moj savet - ne gubi vreme, vec se lepo zaposli negde i mlati pare... Kad postanes poznati programer, mozda te neko i unajmi za pisanje neke igre... S' tom razlikom sto ces biti placen da napises igru, bez obzira na njen kasniji uspeh...
 
Incognito:
He he... lici mi na moju ideju od pre par godina, tzv. WFRP... S' tim sto se radnja ne bi desavala u svemiru, vec u epic fantasy svetu... I napisao ja i servere, i nesto engine-a...

Ali naravno, na kraju je sve propalo, jer mora od necega da se zivi, a za pravljenje dobre igre potrebno je bar 4 programera i tri puta vise dizajnera, voljnih da bar dve godine rade kao konji bez ikakve naknade, sa verom da ce igra uspeti pa da ce zaraditi nesto...

Sorry, ja 2 godine ne mogu da prezivim na vazduhu... A ne verujem da bi ijedan iole profesionalni programer pristao na tako nesto... I zato se takvi projekti zavrsavaju krahom... Sad but true...

Moj savet - ne gubi vreme, vec se lepo zaposli negde i mlati pare... Kad postanes poznati programer, mozda te neko i unajmi za pisanje neke igre... S' tom razlikom sto ces biti placen da napises igru, bez obzira na njen kasniji uspeh...

Radio bih ja dizajn,ako hoces da nastavis sa tim
Nego bre covece,treba mi tvoja pomoc
Bi mogao da mi uradis jedan prost algoritam za izracunavanje prostih brojeva oblika 2^n - 1?
I koliko cifara ima najvci broj sa kojim kompjuter moze da operise,posto bi ovaj algoritam trebao da radi sa oooogromnim brojevima?
 
Peruzzi:
Radio bih ja dizajn,ako hoces da nastavis sa tim
Nego bre covece,treba mi tvoja pomoc
Bi mogao da mi uradis jedan prost algoritam za izracunavanje prostih brojeva oblika 2^n - 1?
I koliko cifara ima najvci broj sa kojim kompjuter moze da operise,posto bi ovaj algoritam trebao da radi sa oooogromnim brojevima?

Nisam lud da nastavim s' tim, jer od toga nema 'leba...

Najveci broj s' kojim kompjuter moze da operise zavisi od kompjutera, tj. njegovih magistrala, a zavisi i od programskog jezika...

Sto se C/C++-a tice, na x86 platformi, to je long long int (ili ti __int64 po Micros~1), odnosno max broj bi bio: 2^64 = 18446744073709551616 ... Upola toliko ako je signed...

Druga stvar, nisam ti ja privatni programer da ti pisem algoritme... Uostalom, ako planiras da programiras u zivotu, bar nauci osnove... Evo ti najosnovnija funkcija koja ce vracati (2^n) - 1 samo za n>=0:

Kod:
long long int calcFunct (int n) {
  long long int retNum = 2;
  for (int i=1; i<n; i++) {
    retNum *= 2;
  }
  if (n>0) {
    return retNum-1;
  } else {
    return 0;
  }
}

Postoji i jedan laksi nacin, ali ti ne bi shvatio isti, tako da je ovo vise 'self-explinatory' ... Naravno, imas brdo matematickih biblioteka koje ce ti omoguciti x^y funkcije, pa ne budi lenj, i pretrazi malo...
 
Peruzzi:
Incognito:
He he... lici mi na moju ideju od pre par godina, tzv. WFRP... S' tim sto se radnja ne bi desavala u svemiru, vec u epic fantasy svetu... I napisao ja i servere, i nesto engine-a...

Ali naravno, na kraju je sve propalo, jer mora od necega da se zivi, a za pravljenje dobre igre potrebno je bar 4 programera i tri puta vise dizajnera, voljnih da bar dve godine rade kao konji bez ikakve naknade, sa verom da ce igra uspeti pa da ce zaraditi nesto...

Sorry, ja 2 godine ne mogu da prezivim na vazduhu... A ne verujem da bi ijedan iole profesionalni programer pristao na tako nesto... I zato se takvi projekti zavrsavaju krahom... Sad but true...

Moj savet - ne gubi vreme, vec se lepo zaposli negde i mlati pare... Kad postanes poznati programer, mozda te neko i unajmi za pisanje neke igre... S' tom razlikom sto ces biti placen da napises igru, bez obzira na njen kasniji uspeh...

Radio bih ja dizajn,ako hoces da nastavis sa tim
Nego bre covece,treba mi tvoja pomoc
Bi mogao da mi uradis jedan prost algoritam za izracunavanje prostih brojeva oblika 2^n - 1?
I koliko cifara ima najvci broj sa kojim kompjuter moze da operise,posto bi ovaj algoritam trebao da radi sa oooogromnim brojevima?
Ako sam ja dobro razumeo, tebi treba algoritam koji proverava da li je broj tipa 2^n-1 prost ili slozen. Ako je to ono sto trazis onda je ovako: da bi proverio da li je neki ceo broj A prost trebas da proveris da li je deljiv sa brojevima vecim od 1 i manjim od najveceg celog broja koji je manji od kvadratnog korena iz A (segment [1,trunc(sqrt(A))] u Pascalu). Ovaj postupak mozes skratiti tako sto ne proveravas da li je deljiv sa parnim brojevima (jer, ako je deljiv sa parnim brojevima, onda je paran pa sigurno nije prost).
Algoritam se dalje moze skratiti na sledeci nacin: proveravaj da li je broj deljiv sa prostim brojevima iz navedenog intervala (ako je deljiv sa slozenim brojem, sigurno je deljiv i sa njegovim prostim ciniocima). Ovo mozes uraditi tako sto u niz (vektor) upises prvi prost broj, zatim uzimas sledece brojeve 3, 4, .... i proveravas da li du prosti tako sto proveravas da li su deljivi sa odgovarajucim elementima niza u koje upisujes proste brojeve. Ovako mozes da generises niz prostih brojeva.
Prvi algoritam radi u vremenu proporcionalnom n^(1/2), gde je n ceo broj koji proveravas. Drugi radi duplo brze, a treci je najbolji ako treba da generises uzastopne proste brojeve.

Za tvoj slucaj, t.j. broj oblika 2^n-1 je karakteristicna sledeca stvar: Ako je n slozen broj, odnosno ako se moze napisati u obliku n=p*q, ge su p i q celi brojevi razliciti od 1 i n, onda je i broj 2^n-1 slozen. To se pokazuje zbog:
2^n-1 = 2^(p*q)-1 = (2^p)^q)-1 = ( 2^p-1 )( (2^p)^(q-1)+(2^p)^(q-2)+...+(2^p)^2+2^p+1 )

Znaci: broj oblika 2^n-1 moze da bude prost samo ako je n prost broj. Ovo ti u mnogome olaksava posao, jer da bi generisao proste brojeve oblika 2^n-1 mozes da generises proste brojeve n i da proveris da li je 2^n-1 prost. Ako proveravas da li je oooogroman broj oblika 2^n-1 prost prvo proveri da li je n prost broj, pa ako nije, onda ni 2^n-1 nije prost u suprotnom moras proveriti da li je ceo broj 2^n-1 prost. Pitanje da li je ovakav algoritam korisniji za proveru da li je broj 2^n-1 prost, jer ako n prost broj izvrsava dve provere, a ako nije samo jednu, dok jednostavno proveravanje da li je 2^n-1 prost za bilo kakvo n vrsi samo jednu proveru. Prednost algoritma je u tome sto je znatano brza provera broja n nego broja 2^n - u prvom se slucaju ispituje n^(1/2) brojeva a u drugom (2^n)^(1/2)=2^(n/2). Za generisanje prostih brojeva oblika 2^n-1 algoritam je, svakako, isplativiji.

Ako ti je kod za ovaj algoritam zamrsen, mozes uraditi i sledecu stvar: Svaki paran broj je slozen (izuzev 2), pa je za svaki paran broj n (izuzev 2) i 2^n-1 slozen. Ako je n neparan, broj 2^n-1 moze biti i prost i slozen. Ovaj algoritam je sigurno vremenski jeftiniji od "golog" proveravanja da li je generisani broj oblika 2^n-1 prost ili ne, jer u slucaju neparnog n vrsi jednu proveru, a u slucaju parnog n ne vrsi nikakvu proveru.

Ne znam na kom jeziku radis. Ako radis na Pascalu (Delphi) mogu da ti napisem i source za ovaj algoritam. U principu, algoritam nije tezak pa ces se i sam brzo snaci...

Najveci ceo broj koji moze da se predstavi kod racunara je binarni broj bez oznake za predznak koji moze da stane u dve procesorske reci, odnosno u 64 bita: dakle 2^63-1 (u Delphi-ju tip Int64). Obican (signed) integer se krece u intervalu -2^31...+2^31-1, sto znaci da je najveci broj u ovom formatu 2147483647. Ako ti treba veci broj probaj sa nekim ogromnim tipom podataka za brojeve u pokretnoj zapeti: recimo double, extended i sl. Nisam siguran kolko ces veliki broj moci da izvuces ovako. U tipu double je najveci realan broj 1.7*10^308 a u extended 1.1*10^4932, sto je impozantno, medjutim nisam siguran da je tacnost ovog broja dovoljno velika da ne "zaboravi" neku od zanjih cifara ispred zapete, sto ne sme da se desi kod provere slozenosti broja.

A, ako samo zelis lak nacin da racunas stepen nekog broja: primeti da ako je ln(2^n)=n*ln(2)=p, tada je i 2^n=exp(p)=exp(n*ln(2)). To je ideja kako brzo i lako da racunas stepen.
 
E stvarno ti hvala inco
ucinio si mi nebesku uslugu
A hteo sam da pocnem sa programiranje i zaglavim sa onim budjavim Visual C++ 6 a u njemu ne ogu da se snadjem sa tim racunima.
Nazalost malo mi je 2^64 terbaju mi brojevi velicine 2^(desetocifreni broj)
Za to mi treba omanji super kompjuter:))
 
Incognito:
He he... lici mi na moju ideju od pre par godina, tzv. WFRP... S' tim sto se radnja ne bi desavala u svemiru, vec u epic fantasy svetu... I napisao ja i servere, i nesto engine-a...

Ali naravno, na kraju je sve propalo, jer mora od necega da se zivi, a za pravljenje dobre igre potrebno je bar 4 programera i tri puta vise dizajnera, voljnih da bar dve godine rade kao konji bez ikakve naknade, sa verom da ce igra uspeti pa da ce zaraditi nesto...

Sorry, ja 2 godine ne mogu da prezivim na vazduhu... A ne verujem da bi ijedan iole profesionalni programer pristao na tako nesto... I zato se takvi projekti zavrsavaju krahom... Sad but true...

Moj savet - ne gubi vreme, vec se lepo zaposli negde i mlati pare... Kad postanes poznati programer, mozda te neko i unajmi za pisanje neke igre... S' tom razlikom sto ces biti placen da napises igru, bez obzira na njen kasniji uspeh...

Hehe pa ja ne gledam da to bude neki full time job projekat. Ali ono u principu ako ljudi mogu da odvoje po nekoliko sati nedeljno bilo bi ok. Znaci odvojis po pola sata do dva sata dnevno umesto da igras neku igru ili visis po forumu :). U svakom slucaju mi krecemo ko hoce moze da se prikljuci.

U principu najveci problem sa igrama koje su masivni multiplayer je nedostatak radnje ili questova. Ovde ce to biti jako lako sredjeno jer ce ljudi juriti da zarade pare pa da uloze u svoju "imperiju" :) Zato verujem da projekat moze da uspe :)
 
Anonymous:
Hehe pa ja ne gledam da to bude neki full time job projekat. Ali ono u principu ako ljudi mogu da odvoje po nekoliko sati nedeljno bilo bi ok. Znaci odvojis po pola sata do dva sata dnevno umesto da igras neku igru ili visis po forumu :). U svakom slucaju mi krecemo ko hoce moze da se prikljuci.

Opet kazem
Radio bih nesto uvezi dizajna (npr. nacrte,skice i te stvari).Imam dosta vremena,a i ne bi skodila neka para ako zavrsimo stvar.
Pa,ako ima mesta...
 
u vezi velikih brojeva:
radi sa nizovima cifara...mnogo je teze, ali mozes da realizujes mnozenje, sabiranje, stepenovanje i ostalo...samo pravi algoritam kao da rucno mnozis/delis/sabiras. nije previse tesko, uradio bih ti, al nemam vremena.
pozdravi
 
JA BIH VAM POMOGAO I BEZ NADOKNADE ALI VISE SAVETIMA U VEZI DIZAJNA NEGO PROGRAMIRANJA.

OH DA CITAO SAM U SK DA POSTOJI SLICNA IGRA KOJA RADI ON LINE ALI VAS PROJEKAT JE MNOGO AMBICIOZNIJI.
AKO TI ZATREBA MOJA POMOC OSTAVI MI PORUKU
 
Svaka pomoc je dobro dosla. Sta god mislite da mozete da radite na projektu samo se javite.

Za sada mogu da vam pokazem jeste program koji trenutno koristimo za testiranje naseg trade engine-a, trenutno su tu 3 artikla u dva grada levo dugmici su za prodaju sa cenom i pise cena za prodaju, sa desne strane je dugmence za kupovinu, cena je iskazana na svakom dugmicu :), polja quan oznacavaju koliko ima tog artikla na lageru, polje prod je koliko se tog artikla proizvodi, i cons je njegova potrosnja. Factory Price je cena da se proizvede artikal.

Dugmence next day, oznacava stanje sledeceg dana kada se doda i oduzme prod i cons. i set changes ako zelite da promenite parametre.
http://alas.matf.bg.ac.yu/~mr97209/tt/testtrade.exe

Ako nekog zanima source ili linux varijanta neka mi se javi na mail.
 

Back
Top