Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU

[es] :: GameDev - Razvoj Igara :: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU

Strane: 1 2 3 4 5 6

[ Pregleda: 20350 | Odgovora: 101 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

brcha
Filip Brčić
Beograd, Serbia

Član broj: 440
Poruke: 436

Jabber: brcha@kdetalk.net
ICQ: 40994923
Sajt: brcha.com


+2 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU14.08.2004. u 00:42 - pre 240 meseci
koristite SDL i napravite igru za win/lin/mac istim udarcem
... and the aliens sent an android down to earth, to slow down mankind's development
... and they named it Bill Gates.
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU14.08.2004. u 00:59 - pre 240 meseci
Video sam SDL, ali poenta je da naucim sam da radim to sto radi SDL :)
 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.client.comcast.net



+18 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU14.08.2004. u 03:04 - pre 240 meseci
Srki, Unicode se lako da podrzati: sve stringove deklarisi kao WCHAR*, a ako treba da prebacis iz char* u WCHAR* string koristi mbstowcs. Dobro je da na vreme kreces sve da radis u Unicodeu, to je sigurno buducnost.

Kod ima nekoliko problema sa kompajliranjem, ali za pocetak ono sto ti smeta je red 33 u spointer.h. operator= treba da vrati referencu na tip u kome se nalazi. Znaci red 33 treba da bude:

inline CMMPointer<T>& operator= (T *o)

umesto

inline operator= (T *o)

Posle toga ima jos par problema sa kompajliranjem, sitne stvari, nedostaje return u CMMesh::LoadMesh, i sl. nista strasno.

CMMesh deluje dobro, samo namesti da tip resursa ne bude string, jer je jako naporno posle stalno porediti stringove - dovoljno je da je enum. Takodje, u CleanUpu, nemoj da SAFE_DELETEujes teksture, jer je moguce da postoji vise od jednog objekta koji referencira tu teksturu, zato treba da koristis SAFE_RELEASE.

CMMObject::Release ima bag: if (refCount=0) siguran sam da si mislio na if (refCount == 0).

Inace u pravu si za refCount. Ja sam navikao na odredjenu implementaciju COM objekata gde je refCount 1 cim se objekat napravi, a addref i release vracaju refcount.

Nemam vremena da detaljno pogledam kod, samo sam hteo da bacim pogled. Moguce je da nisam nesto video kako treba.

Inace, sto se tice D3DXLoadMeshFromX: Teoretski, trebao bi da koristis efekte umesto materijala, ali su trenutno EFFECTINSTANCE-i suvise komplikovani. U sledecoj verziji cu se potruditi da ih malo sredim (barem da sadrze ime teksture), ali cisto da znas da je zvanicni stav da je buducnost u efektima :)
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU14.08.2004. u 13:36 - pre 240 meseci
Mislim da cu ipak da krenem sve iz pocetka... ipak je ovo do sad previse komplikovano i meni, a verovatno i ostalim pocetnicima. Ipak cu ostaviti ovo sto sam do sad odradio da bi kasnije kad budem malo bolje ovladao C++ -om mogao da nastavim :)
Jos jedno pitanje zasto izbacuje gresku prilikom kompajliranja ovog dela koda?

Code:

if( !CMMObject::MemoryManager->FindObject<CMMTexture>( d3dxMaterials[i].pTextureFilename, "TEX", (CMMTexture*)&MeshTextures[i], TRUE ) )
{
    MeshTextures[i]->LoadTexture( pD3DDevice, d3dxMaterials[i].pTextureFilename);
};


Greska je:
FirstGame error LNK2019: unresolved external symbol "public: int __thiscall CMManager::FindObject(char const *,char const *,class CMMTexture *,int)" (?FindObject@CMManager@@QAEHPBD0PAVCMMTexture@@H@Z) referenced in function "public: long __thiscall CMMMesh::LoadMesh(char const *,unsigned long,struct IDirect3DDevice9 *)" (?LoadMesh@CMMMesh@@QAEJPBDKPAUIDirect3DDevice9@@@Z)

 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.client.comcast.net



+18 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU14.08.2004. u 15:05 - pre 240 meseci
Da bi template radio, treba da bude u headeru - tacnije, kod koji koristi template mora da 'vidi' sors templatea. To jos moze i da se doradi na drugi nacin, tako sto specificno definises template koji bi zeleo da koristis u orignalnom fajlu, na taj nacin ce kompajler da instancira FindObject<CMMObject>, ali najlakse je da template funkcije definises u headeru. Ja sam pomerio FindObject implementaciju tako da se nalazi iza definicije CMMObject-a u mmanager.h

Nazalost, template-ovi u C++u nisu isto sto i generics-i u .NETu, i stvarno im se vide godine. Ovo je tipican primer gluposti sa kojima treba da se mlatis u C++u umesto da ih kompajler 'uradi' za tebe - jezik je jednostavno star.
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU15.08.2004. u 01:47 - pre 240 meseci
Jos malo sam menjao kod... ne koristim vise ni vector ni list (jer ne znam kako se koriste... kad me neko nauci vraticu njih posto su verovatno bolji od moje liste) i sad konacno imamo nesto sto daje znake zivota :) Posto je kod oko 180kb ne mogu ga ovde okaciti. Imate ga na http://www.geocities.com/srki_82/FirstGame.zip
Za sad program samo otvara neki X fajli (putanja fajla je hard coded pa cete morati rucno da je izmenite u fajlu FirstGame.cpp) i prikazuje ga. Ja sam ucitao sam sa jednim fajlom Ball.x kojeg mozete skinuti odavde http://www.geocities.com/srki_82/Data.zip

Jos jedna stvar... ako se neki vas mesh ne vidi probajte da podesite View i World matrice.

Toliko od mene za sad... u nedelju oko 16:00 krecem na more... ako nekog ne mrzi neka malo nastavi ovaj programcic :)

POZDRAV!!!
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU15.08.2004. u 12:44 - pre 240 meseci
Ako nekom nesto nije jasno u programu neka slobodno pita... mozda ce me ta pitanja dovesti do nekog boljeg resenja odredjenih delova programa. Slobodno pitajte i pisite :)
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU15.08.2004. u 13:10 - pre 240 meseci
Promenio sam mmmesh.h fajl i dodao klasi CMMMesh jos dve nove funkcije:

1. D3DXVECTOR3 ObjectCenter() // vraca centar mesh-a
2. float ObjectRadius(); // vraca radius lopte koja obuhvata ceo mesh

Sigurno ce biti cesto potrebno znati ove podatke (kada treba postaviti centar mesha na odredjeno mesto u svetu, kada treba menjati velicinu mesha ili nesto slicno)
Prikačeni fajlovi
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU15.08.2004. u 13:52 - pre 240 meseci
Jos malo modifikacija pre odlaska na odmor :)

1. FirstGame.cpp
2. mmmesh.h
3. mmanager.h

Nisam siguran kako se u C++ tacno radi sa pointerima... cini mi se da mozda imam neki memory leak... ko ima vremena i znanja neka pogleda u funkciju CMManager::DeleteNew( UINT _s ) i u CMMMesh kada se ucitavaju texture pa _texture postavljam na NULL.
Prikačeni fajlovi
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU27.08.2004. u 19:09 - pre 240 meseci
Pozdrav!!!

Gotovo je i ovogodisnje letovanje i ponovo smo spremni za radi (kako da ne :P).

Da nastavim tamo gde sam stao. Da li je bolje da za crtanje terena ispod letilice i za crtanje zvezda koristim vec transformisane vertexe (kao u prvom primeru sa vertexima u SDK-u) ili da koristim ne transformisane koordinate pa da podesavam matrice prilikom iscrtavanja? Sad cu poceti da radim na zvezdanom polju iza letilice (to mi je nekako najlakse) i za sad planiram samo da crtam pixele koji se krecu razlicitim brzinama pa bi izgledalo kao da su neke zvezde blize, a neke dalje... kasnije cu, mozda, umesto pixela koristiti point sprite za zvezde.
 
Odgovor na temu

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
*.pandemicstudios.com

Sajt: https://github.com/bkarad..


+11 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU27.08.2004. u 20:11 - pre 240 meseci
Citat:
Srki_82:
Da li je bolje da za crtanje terena ispod letilice i za crtanje zvezda koristim vec transformisane vertexe (kao u prvom primeru sa vertexima u SDK-u) ili da koristim ne transformisane koordinate pa da podesavam matrice prilikom iscrtavanja?


Prvo da utvrdim terminologiju:
RHW = screen space
XZY = model space

Mislim da je bolje da koristiš XYZ prostor ako teren koji crtaš koristi stalno istu geometriju. Ali ako ti je teren uvek različit i nikada ne ponavljaš geometriju i praktično ga generišeš u toku skrolovanja ekrana, onda je jednostavnije koristiti RHW prostor. Takođe u ovom slučaju možeš koristiti jedan vertex buffer i jedan DrawPrimitive poziv (pod pretpostavkom da su ti sve teksture terena kombinovane u jednu teksturu). Tako ćeš imati bolji frame rate. Puno DrawPrimitive poziva znatno usporava celu igru jer je igra u tom slučaju tzv. driver bound, tj. provodi najviše vremena u drajveru iako CPU i GPU mogu biti značajno brži.

Citat:
Srki_82:
Sad cu poceti da radim na zvezdanom polju iza letilice (to mi je nekako najlakse) i za sad planiram samo da crtam pixele koji se krecu razlicitim brzinama pa bi izgledalo kao da su neke zvezde blize, a neke dalje... kasnije cu, mozda, umesto pixela koristiti point sprite za zvezde.


Ako napraviš dovoljno fleksibilan particle system zvezdano polje i eksplozije mogu koristiti isti code.

Npr. Paralaks zvezdano polje je particle system kojem je
- emiter predstavljen linijom
- početno stanje je random
- život partikla je uvek isti
- svaki partikl ima neograničeni broj života
- smer je uvek isti
- broj partikla je konstantan
- početna brzina varira

Kod eksplozije
- emiter je predstavljen tačkom
- početno stanje je bez partikla
- život je određen dužinom eksplozije
- svaki partikl ima samo jedan život
- smer je random
- broj partikla varira od veličine eksplozije
- početna brzina je konstantna

Što više ovakvih stavki dodaš tvoj particle system će biti fleksibilniji, mada u isto vreme znači da neće biti optimalan za svaki pojedinačni slučaj.

Branimir

 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU27.08.2004. u 20:40 - pre 240 meseci
Za sad mislim da ne koristim particle system :) Verovatno bih mogao da ga napravim, ali je previse komplikovano za pocetak. Lako mogu posle i to dodati. Za sad planiram da uvek imam oko 100 zvezda, ekspozija da jednostavno bude jednostavno nekoliko slicica koje ce se menjati i izgledati kao eksplozija, a za teren sam mislio da se ucitava iz fajla (mada moze biti i generisan prilikom pocetka svakog nivoa) sa tacno odredjenim brojem vertexa koje cu skrolovati i kada dodjem do poslednjeg iza njega renderujem opet prvi i tako u krug. Pitao sam da li treba da bude RHW ili XYZ zato sto ce mi biti potrebno da znam da li se moj mesh sudario sa terenom (onda bi trebao da eksplodira i da igrac izgubi zivot)... Videcu kako cu to da uradim, samo da zavrsim sa zvezdicama :)
 
Odgovor na temu

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
*.pandemicstudios.com

Sajt: https://github.com/bkarad..


+11 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU27.08.2004. u 23:51 - pre 240 meseci
Citat:
Srki_82:
ekspozija da jednostavno bude jednostavno nekoliko slicica koje ce se menjati i izgledati kao eksplozija


Ovo obično ne izgleda dobro u igrama, a i potreban ti je neko ko će kreirati te sličice. ;) Kod ovakvih svemirskih pucačina specijalni efekti su veoma važni. Mada tebi je cilj da učiš na ovoj igri, a ne da je prodaješ, pa onda može da prođe i bez mnogo specijalnih efekata.

Branimir

 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU28.08.2004. u 16:22 - pre 240 meseci
Pa da... ova igra je cisto edukativne svrhe... niti ce se prodavati, a verovatno je niko nece ni igrati :) Ipak sam poceo da radim na nekom vrlo jednostavnom particle system-u za zvezde, a verovatno i eksploziju i vatru za raketice i svemirski brod. Malo se patim s tim, ali uspecu nekako da ga napravim :)
 
Odgovor na temu

Acid.Reconected
Nikola Milanovic
Cacak

Član broj: 32821
Poruke: 20
*.dialup.sezampro.yu.



Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU30.08.2004. u 14:21 - pre 240 meseci
ja sam voljan da ucestvujem u PROJEKTU, ali ja znam osnove dx-a u VB-u? da li to pravi problem? mada, oduvek sam hteo da pocenam ucenje c++-a.
Hide me away from danger
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
*.smin.sezampro.yu.

ICQ: 246436949


+10 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU30.08.2004. u 15:56 - pre 240 meseci
Koriscenje DX-a je relativno lako :) Cilj svega ovoga nije da samo naucis da koristis DX, vec da naucis da pravis igru. Kad znas da pravis igru, lako posle mozes da naucis i OpenGL ili neki drugi API pa da radis sa njim(mada meni je nakako najdrazi DX :) ). Kad zavrsim(o) sa ovom malom igrom, mozda bi mogli da napravimo neki mali, mali, mali, majusni engine :) Ovo sto sam ja poceo tesko da lici na bilo kakav engine, ali sta da se radi... svaki pocetak je tezak :)
 
Odgovor na temu

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
*.pandemicstudios.com

Sajt: https://github.com/bkarad..


+11 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU31.08.2004. u 23:36 - pre 239 meseci
Citat:
Srki_82:
Pogledajte ih na:
ima svacega... cim zavrsim sa citanjem bacam se na kuckanje :)


Najbolja serija knjiga na temu razvoja igara je:
Game Programming Gems (1, 2, 3 i 4)

http://www.charlesriver.com/titles/gamegems3pack.html
$129.95 za prve tri knjige

http://www.charlesriver.com/titles/gamegems4.html
$69.95 za četvrtu

I sve knjige vrede stvarno svaki utrošeni $. ;)

Branimir

 
Odgovor na temu

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
*.pandemicstudios.com

Sajt: https://github.com/bkarad..


+11 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU01.09.2004. u 00:35 - pre 239 meseci
Citat:

Imate 1. i 2. knjigu besplantno na


Ne radi se o besplatnoj knjizi nego o linku na ilegalan download! Razvoj igara i piraterija ne idu zajedno...

Pročitaj Pravilnik za korisnike

Citat:

14. Stop krađi softvera

Na ES forumima je zabranjeno objavljivanje serijskih brojeva ili "crack"-ova koji omogućavaju nelegalno korišćenje softvera bilo koje vrste. Takođe je zabranjeno postavljanje linkova za ilegalan download komercijalnog softvera. Ovakve teme će biti obrisane, a korisnik opomenut.


Branimir

 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU01.09.2004. u 16:48 - pre 239 meseci
Sorry, obrisacu sam linkove... nisam znao da je nelegalna kopija. Ima li neke dobre besplatne knjige na netu za nas koji ne mozemo da izdvojimo $129.95 + $69.95 za knjige?

P.S.

Ovo je knjiga, a ne software pa nisam krsio pravila foruma :)
 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.client.comcast.net



+18 Profil

icon Re: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU01.09.2004. u 17:07 - pre 239 meseci
Ispostavlja se da isto pravilo vazi i za knjige, filmove, mp3ove, itd. Mislim ne moras bas da postujes linkove po forumu za to, a sta nadjes na netu, to je vec samo tvoja stvar.
 
Odgovor na temu

[es] :: GameDev - Razvoj Igara :: Za pocetnike (i one koje hoce da nas nauce) HAJDE DA PRAVIMO IGRU

Strane: 1 2 3 4 5 6

[ Pregleda: 20350 | Odgovora: 101 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.