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

3D Game Programming i C#

[es] :: GameDev - Razvoj Igara :: 3D Game Programming i C#

Strane: 1 2

[ Pregleda: 14147 | Odgovora: 35 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Duck_
Darko Jovanović
Sremska Kamenica

Član broj: 43509
Poruke: 67
*.neobee.net.

Sajt: www.google.com


Profil

icon Re: 3D Game Programming i C#28.01.2005. u 11:14 - pre 233 meseci
Hvala ti mnogo na objašnjenju!
Svi tekstovi u kojima se spominje MDX i DX polaze od toga da čitalac to već zna pa čoveg prosto nema gde da pročita o tim najosnovnim stvaraima.
Inace, znam da DirectX nisu drajveri ali nisam znao kako da ih nazoivem pa sam ono "drajveri" stavio pod navodnike.
 
Odgovor na temu

Dejan Mitrovic
Novi Sad

Član broj: 46273
Poruke: 50
*.ftn.ns.ac.yu.

ICQ: 328765021


Profil

icon Re: 3D Game Programming i C#01.02.2005. u 14:29 - pre 233 meseci
Citat:
Duck_: Znači li to da programer .NET jezika može da bira ili mora da koristi Managed varijantu?

Šta je potrebno za razvoj Managed DirectX igara? Da li se to dobija uz .NET Framework SDK ili uz DirectX SDK ili ima nešto treće?

Da li to znači da MDX igra koristi iste DirectX "drajvere"?
Da li MDX igra uopšte koristi DirectX drajvere ili joj je dovoljan .NET Framework?
Ukoliko koristi DirectX, da li to mora da bude DirectX 9.0 ili može bilo koji?


Ako vec planiras da se bavis DirectX-om i znas C++, nemoj pocinjati sa upravljanim kodom. Jes' da ga je lakse svariti i savladati, al' nije to to. Na netu imas mnooogo vise coda i textova o neupravljanom kodu tako da ces ti kasnije dobro doci.
 
Odgovor na temu

dejanikus

Član broj: 72189
Poruke: 9
85.30.100.*



Profil

icon Re: 3D Game Programming i C#21.06.2006. u 18:03 - pre 216 meseci
Dali neko zna neki dobar video tutorial ili knjigu za 3d game programming
 
Odgovor na temu

masetrt
Marko Djurovic
Programer, Omni-Explorer
Beograd

Član broj: 3129
Poruke: 228
195.252.94.*

Sajt: www.vast.com


+2 Profil

icon Re: 3D Game Programming i C#22.06.2006. u 10:10 - pre 216 meseci
E kako je ova tema opet isplivala a neke stavri se malo promenile da i ja nesto napisem :). U medjuvremenu je izasao .NET 2.0 koji u sebi ima genericke kolekcije. Same performanse generickih kolekcija su dosta vece od performansi obicnih "object" kolekcija iz .NET-a 1.1 (inace java ima ovu foru od verzije 5.0, koga zanima neka obrati paznju na 6.0 mustang ludnica). Sad nisam bas uporedjivao genericke kolekcije sa stl klasama, ali ne verujem da je bilo kakva osetna razlika u performansama. Za razliku od vektora pretrazivanja su znatno brza (npr klasa Dictionary) tako da bi ja trenutno prihvatio odgovornost da na primer A* implementiram u c#-u. C++ ce definitvno jos dugo imati najveci udeo u svakom obliku programiranja kod kojeg su performanse bitne, ali se stvari polako menjaju i .NET tehnologija nalazi i na tom terenu svoje mesto. Usput mislim da sam citao (mislim he he) da su na xbox360 dev kitu terali managed kod, pa ako neko zna koliko je tacna ta informacija.
His majesty Grand Duke of Shumadija and Western Pomoravlje
 
Odgovor na temu

Filip Strugar
Filip Strugar
UK

Član broj: 9871
Poruke: 383
213.253.84.*



+1 Profil

icon Re: 3D Game Programming i C#22.06.2006. u 11:54 - pre 216 meseci
Citat:
Sad nisam bas uporedjivao genericke kolekcije sa stl klasama, ali ne verujem da je bilo kakva osetna razlika u performansama. Za razliku od vektora pretrazivanja su znatno brza (npr klasa Dictionary) tako da bi ja trenutno prihvatio odgovornost da na primer A* implementiram u c#-u.


Ne razumem bas kako mozes da poredis brzinu pretrazivanja izmedju 'Dictionary' i 'vector' containera?!

Ako nisi uporedjivao, onda bolje cuti ;)

STL i .NET System.Collections.Generic kolekcije se mnogo razlikuju po gotovo svim stvarima - STL se kompajlira u native kod koji jeste osetno brzi kada je rec o takvim low-level stvarima od managed koda; STL je baziran na templejtima a s.c.g. (hehe) su generics, sto je znatna razlika; STL i s.c.g. imaju potpuno drukciji style i STL ima mnogo vecu funkcionalnost (mnogo vise kontejnera, algoritama, etc). STL je mnogo customizabilniji (custom memory allocatori, plus imas kontrolu nad svime jer imas ceo kod, etc etc). Na kraju, i namena im je potpuno drukcija.

A A* mozes da uradis i u Perl-u, i u vb 6-ici, i gde god hoces, sa ili bez containera, samo je pitanje za sta ti treba...
 
Odgovor na temu

masetrt
Marko Djurovic
Programer, Omni-Explorer
Beograd

Član broj: 3129
Poruke: 228
195.252.94.*

Sajt: www.vast.com


+2 Profil

icon Re: 3D Game Programming i C#22.06.2006. u 14:12 - pre 216 meseci
Toliko o pazljivom citanju celog thread-a :). Prvo da se zahvalim na objasnjenju razlike izmedju stl i generics klasa (sarkazam). Sto se tice uporedjivanja brzine pretrazivanja mislio sam na nalazenje elemnta po nekom kljucu u vector-u (mislim da je Reljam mislio na obican c niz a ne na stl vector kontejner u kojem neki elemnt trazis standardnim algoritmima za pretrazivanje) i dictionary kontejneru, i sta je tu brze poprilicno je jasno. Drugo namena i primena nije jedna te ista rec jer dve stvari razlicite namene mogu da imaju istu primenu (konkretno mislim bas na stl hash_map i generics Dictonary kojima i namena nije bas razlicita jer je Dictionary implementiran kao hash tabela). Trece onaj odgovor kako algoritam mozes implementirati u bilo kom jeziku, e to nisam znao (opet sarkazam). Ja sam rekao da bi prihvatio odgovornost da cu da uradim implementaciju A* u c# za potrebe necega i da ce ta solucija zadovoljavati brzinske potrebe aplikacije. stl klase i generics klase nisam uporedjivao u realnom radu ali sam uporedio kompleksnost algoritama koje koriste i na osnovu toga sam doneo zakljucak. Inace A* sam izabrao cisto zato sto je zgodan algoritam koji do .NET verzije 2.0 nije imalo smisla implementirati u c#-u koristeci collection kontejnere koji su stizali uz verziju 1.1. Mozda ja nisam bio bas najjasniji i mozda sam malo offtopic (jer je pitanje bilo o 3D grafici vido tek sad :) )
His majesty Grand Duke of Shumadija and Western Pomoravlje
 
Odgovor na temu

Filip Strugar
Filip Strugar
UK

Član broj: 9871
Poruke: 383
213.253.84.*



+1 Profil

icon Re: 3D Game Programming i C#22.06.2006. u 14:26 - pre 216 meseci
Citat:
Sto se tice uporedjivanja brzine pretrazivanja mislio sam na nalazenje elemnta po nekom kljucu u vector-u (mislim da je Reljam mislio na obican c niz a ne na stl vector kontejner u kojem neki elemnt trazis standardnim algoritmima za pretrazivanje) i dictionary kontejneru, i sta je tu brze poprilicno je jasno.


Verovatno mislis na stl::map ili stl::set ili neku od varijanta? Zasto sto, ako nisi znao (sarkazam), std::vector predstavlja jednostavan niz u stl-u, pa je ta rec mozda bila uzrok zabune.

Citat:
Mozda ja nisam bio bas najjasniji i mozda sam malo offtopic (jer je pitanje bilo o 3D grafici vido tek sad :) )


MaaaAaa nema veze i ja sam malo drndav... :)

Sto se genericsa tice, mozes u starom C#-u da uradis podjednako efikasno bilo koji algoritam koji mozes i u novom, razlike u performansama nema, samo (velike) razlike u jednostavnosti upotrebe i code reuse-u.



A sada, glavna tema:


C# u gamedevu? Sta mislite tome?


Ja mislim da vremenom moze da postane zastupljen kao jezik za PC casual igre, i druge manje PC naslove. Pored toga, kolko vidim dosta se koristi za game tools (i kod nas u zoot-u se koristi za raznorazne alatke).

Da li ce se probiti bar malo u gamedev mainstream zavisi najvise od toga gde ce .net platform biti zastupljen - samo na xp/visti ili i na 360?

[Ovu poruku je menjao Filip Strugar dana 22.06.2006. u 16:20 GMT+1]
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
58.35.121.*

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: 3D Game Programming i C#22.06.2006. u 14:47 - pre 216 meseci
Citat:
Filip Strugar:Verovatno mislis na stl::map ili stl::set ili neku od varijanta? Zasto sto, ako nisi znao (sarkazam), std::vector predstavlja jednostavan niz u stl-u, pa je ta rec mozda bila uzrok zabune.

Mislim da je Marko rekao da je mnogo brže naći element u hash mapi nego u vectoru, što je skroz tačno.
Ajmo bez svađe, može to i lepo da se prodiskutuje ;)
Što se .NET-a tiče, nadam se da će biti podržan na Xenon-u (negde je to već i nagovešteno, ne sećam se gde sam to pročitao).
Onda bi stvano bio kraj sa Sony & SN Systems pričom o dobrim alatima ;)
 
Odgovor na temu

Filip Strugar
Filip Strugar
UK

Član broj: 9871
Poruke: 383
213.253.84.*



+1 Profil

icon Re: 3D Game Programming i C#22.06.2006. u 15:22 - pre 216 meseci
Citat:
Mislim da je Marko rekao da je mnogo brže naći element u hash mapi nego u vectoru, što je skroz tačno.


Ne, rekao je da je mnogo brze naci element u C# dictionaryju nego u STL vectoru, sto je logicno, ali nije nikakav dokaz brzine C#-a u odnosu na C++/STL.

Stvarnost je upravo obrnuta: hash table search implementiran na .NETu je uvek (dosta) sporiji od istog C++ algoritma, zbog slabije optimizacije, bounds checkinga, i slicnih osobina .NET koda.

Ne kazem da je ta razlika uopste bitna za vecinu stvari.


Citat:
Ajmo bez svađe, može to i lepo da se prodiskutuje ;)


Heh, ko mi kaze ;)
Ma nema svadje, opusteno, izvinjavam se ako sam preterao (bez sarkazma) :)



Citat:
Što se .NET-a tiče, nadam se da će biti podržan na Xenon-u (negde je to već i nagovešteno, ne sećam se gde sam to pročitao).
Onda bi stvano bio kraj sa Sony & SN Systems pričom o dobrim alatima ;)


E pa to sam i ja tu i tamo procitao, ali nikako da neko izjavi nesto konkretnije.

Makar neki scripting za pocetak... Ne verujem da ce iko u skorijoj buducnosti reskirati da neki veci naslov radi cak i delimicno pod .net-om, jer:
1.) uvodi mnogo nepoznanica u vec nesiguran posao,
2.) zatvara sebi prolaz na ps3 (a nikad se ne zna sta ce biti sa IP-jem igre i sta ce izdavac traziti)
3.) za ozbiljniju upotrebu C#-a bar neko u timu mora dobro da vlada managed/unmanaged interop-om i da se detaljnije razume u .NET, tako da u pocetku jos dodatno komplikuje stvari
4.) nema jos dovoljno dev. iskustva - kad se negde zaglibis - sam si - nema ko da ti pomogne po forumima...

Sa druge strane, za neki PC casual.. moze da dosta pojednostavi stvari.
 
Odgovor na temu

masetrt
Marko Djurovic
Programer, Omni-Explorer
Beograd

Član broj: 3129
Poruke: 228
..taman-bg.customer.sbb.co.yu.

Sajt: www.vast.com


+2 Profil

icon Re: 3D Game Programming i C#22.06.2006. u 19:43 - pre 216 meseci
Uf nisam mislio da se svadjam, zao mi je ako je tako ispalo, a mislim da ni Filip nije hteo ;). Performanse c# coda su u svakom slucaju slabije nego c++ coda samo sam mislio da neke stavri u gamedev-u mogu da se urade i u nekom managed codu. Zbog jednostavnosti procesa razvoja (mislim konkretno na brzinu pisanja koda) mislim da konkretno c# nije los za isprobavanje ispravnosti nekog algoritma (pa ako proradi prevedes ga na c++, ako ima potrebe za tim). Ako bi neki tim i odlucio (mislim kada bi timovi odlucivali) da jedan deo razvija kao manged modul po mom misljenju bi razvoj modula trajao krace nego da se radi u c++ pitanje je koje to oblasti mogu biti. Ne mogu tacno da se setim naslova gde je scripting bio kompletno uradjen uz pomoc jave, ali znam da je bio neki, te verovatno na tom polju ima mesta i za .NET. Takodje mislim i na polju vestacke inteligencije (opet vecinom za ispitivanje algoritama) da mu se smesi dobra buducnost (ako vec nije uleteo)

Citat:
Ne, rekao je da je mnogo brze naci element u C# dictionaryju nego u STL vectoru, sto je logicno, ali nije nikakav dokaz brzine C#-a u odnosu na C++/STL.


Ovo se odnosilo na poruku Reljem sa pocetka treda gde se navodi da se u gamedev uglavnom koriste nizovi (koje je on tu nazvao vektorima kao sto ih i zovu mnogi ljudi (znaci nisam mislio konkretno na stl vector, ali to je sve jedno) gde se unapred zna max broj elemenata koji su znacajno brzi od .NET kolekcija sto je naravno skroz tacno. A nisam pokusao ni da kazem da je c# brzi ili podjednako brz kao c++ vec da je sad prihvatljivo sporiji. To se desava jer po nekad otkucam poruku na poslu pa je poprilicno nejasna jer mislim na druge stvari, a ovo dodje kao relax

Citat:
Kolekcije ionako obicno nisu dobre za igre, u principu sve moze da se uradi vektorima. Sve maksimalne velicine su unapred poznate (max broj neprijatelja, max broj metaka na ekranu, sve), tako da je mnogo lakse i brze staticki alocirati niz za te stvari i onda dodavati na kraj tog niza - tim pre sto ako se ovo uradi kako treba, nije potrebno alocirati nove objekte dok igra radi.


Zbog toga sam i naveo kao primer A* algoritam za koji je potrebno (u igrama mislim) pretrazivanje po hash mapi (a potrebno su i nove alokacije memorije) i mislim da Dictionary klasa moze skroz dobro zameniti stl hash_map klasu (uz prihvatljiv pad performansi a bez memory leek-a koji se nakako uvek javi :) ) . Ako se pak manje "skriptuje" a koriste sistemi odlucivanja (neke varijante decison trees-a) opet je mi nekako deluje da je zgodnije raditi u c#.

Aliiii, Filip je spomenuo interop izmedju managed i unamanaged koda i bas sam pre neki dan poludeo zbog toga (sva sreca uporan search po MSDN-u je urodio plodom i naleteo sam na clanak koji mi je pomogao, ali da nisam ...)

Citat:
Sto se genericsa tice, mozes u starom C#-u da uradis podjednako efikasno bilo koji algoritam koji mozes i u novom, razlike u performansama nema, samo (velike) razlike u jednostavnosti upotrebe i code reuse-u.


E ako se koriste stare object kolekcije iz .NET-a 1.1 (mislim da je bila HashTable) prelaskom na Dictionary klasu performanse su primetno porasle (ista masina je bila u oba slucaja nego je u firmu konacno stigao VS2005 pa smo presli na 2.0)
His majesty Grand Duke of Shumadija and Western Pomoravlje
 
Odgovor na temu

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
67.151.201.*

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


+11 Profil

icon Re: 3D Game Programming i C#22.06.2006. u 21:49 - pre 216 meseci
Citat:
tosa: Što se .NET-a tiče, nadam se da će biti podržan na Xenon-u (negde je to već i nagovešteno, ne sećam se gde sam to pročitao).

Ovde? :)
http://www.elitesecurity.org/tema/168364/0#1093207

Izgleda da XNA Framework još uvek nije dostupan...

Trenutno problem sa .NET-om je da mora posebno da se instalira. Znači i kada se radi o casual igrama praviti ih u C# je možda brže i lakše, ali ne i najpovoljnije ako hoćeš da ih prodaješ, jer osim instaliranja igre zahteva dodatnu instalaciju .NET framework-a (~22 MB). Pretpostavljam da će ovo biti preinstalirano u Visti, tako da će za par godina, kada Vista postane glavni OS na tržištu, korišćenje C# biti sasvim normalno.

 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
*.ubisoft.com.cn.

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: 3D Game Programming i C#23.06.2006. u 05:50 - pre 216 meseci

Skroz moguće ;)
Citat:
bkaradzic:Trenutno problem sa .NET-om je da mora posebno da se instalira. Znači i kada se radi o casual igrama praviti ih u C# je možda brže i lakše, ali ne i najpovoljnije ako hoćeš da ih prodaješ, jer osim instaliranja igre zahteva dodatnu instalaciju .NET framework-a (~22 MB).

Ovo sam osetio lično po prodaji svog programa pisanog u C#. Nažalost, većina korisnika je veoma
inertna i ne pada im napamet da instaliraju .NET Framework, čega se plaše da mi je znati... ?
 
Odgovor na temu

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
*.hsd1.ca.comcast.net.

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


+11 Profil

icon Re: 3D Game Programming i C#23.06.2006. u 06:34 - pre 216 meseci
Ne plaše se, nego neće da se cimaju sa instalacijom dodatnog softvera...

Recimo ideš u prodavncu da kupiš neki proizvod, a tamo ti traže da napraviš 10 čučnjeva (ili sklekova) pre nego što uđeš u prodavnicu. ;) Ići ćeš u tu prodavnicu samo ako ne postoji neka druga prodavnica koja to od tebe ne traži i ako imaš ogromnu želju da imaš taj proizvod.

Kupcima treba što više olakšati pristup proizvodu koji nudiš i ne treba praviti nikakve nepotrebne prepreke između njihove kreditne kartice i tvog računa... :)

 
Odgovor na temu

Filip Strugar
Filip Strugar
UK

Član broj: 9871
Poruke: 383
213.253.84.*



+1 Profil

icon Re: 3D Game Programming i C#23.06.2006. u 08:20 - pre 216 meseci
Citat:
bkaradzic: Ne plaše se, nego neće da se cimaju sa instalacijom dodatnog softvera...


Yup, to je jedini razlog, ali Vista definitivno dolazi sa preinstaliranim frameworkom 1.1 i 2.0, tako da to makar delimicno resava problem.

I DirectX redist ima isti problem - zbog onog d3dx9_xx.dll-a moras zahtevati od korisnika da se cima sa instalacijom novog directx-a (ili da krsis zakon i isporucujes odgovarajuci d3dx9_xx.dll uz igru).



Imam jedno pitanje: koliki je realni smisleni limit za velicinu casual (download-only) igre? 2mb? 20mb? 200mb?
Normalno, zavisi od tipa igre, ali okvirno, da li je broj ljudi koji ima mogucnost da download-a 200mb bez muke dovoljan ili ne?
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
*.ubisoft.com.cn.

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: 3D Game Programming i C#23.06.2006. u 12:14 - pre 216 meseci
Citat:
Filip Strugar: Imam jedno pitanje: koliki je realni smisleni limit za velicinu casual (download-only) igre? 2mb? 20mb? 200mb?
Normalno, zavisi od tipa igre, ali okvirno, da li je broj ljudi koji ima mogucnost da download-a 200mb bez muke dovoljan ili ne?

Po meni, 200MB je daleko od prihvatljivog. 20MB i nije tako strašno, ali bih se trudio da igra bude manja i od toga...
 
Odgovor na temu

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
67.151.201.*

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


+11 Profil

icon Re: 3D Game Programming i C#23.06.2006. u 19:20 - pre 216 meseci
Evo interesantan post u vezi veličine downloada:
http://www.philsteinmeyer.com/98/download-size/
http://forums.indiegamer.com/showthread.php?t=7024

Ovo je za casual igre. Što se tiče hardcore igara tipa HL2, mislim da je veličina fajla koji se downloaduje manje bitna (i više predstavlja tehnički problem, kada gomila hardcore igrača počne da skida ogroman fajl).

 
Odgovor na temu

[es] :: GameDev - Razvoj Igara :: 3D Game Programming i C#

Strane: 1 2

[ Pregleda: 14147 | Odgovora: 35 ] > FB > Twit

Postavi temu Odgovori

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