PDA

Prikaži potpunu verziju : c# (c sharp) i game development


Loole
11.2.2007, 21:45
E ovako, ja bih da batalim ovaj game maker, ali c++ mi je mnogo tezak. Pa me zanima kakav je c# za ucenje uopste. Kolike su mu mogucnosti,a zatim kakav je za pravljenje igrica. Dajte neki link, ili misljenje. Pa da vidim.

optimus_prime
11.2.2007, 21:50
Uzmi Dark Basic, savrsen je za igre

Stevvan
12.2.2007, 14:37
Uzmi python. Poseti www.python.org

genius
12.2.2007, 14:54
Uzmi Jelen Pivo. Potrazi po Googlu :)

voodoo_
12.2.2007, 15:02
Kako se prave 2D igre u Delphiju i C#-u:
1. Uključiš double buffering forme
2. Image komponente koristiš kao sprajtove
3. Vrtiš petlju i proveravaš input, kolizije itd.

Loole
12.2.2007, 15:37
Ma ljudi pitam vas za c# ,a ne za nesto drugo. Mislim mogu li tu da se koriste neke biblioteke, kao directX ili sdl. A ne sa image komponentama. dark basic sam imao demo. Bio je primer neke skorpije. nije mi se nimalo svidelo. i da ,za sada me zanima samo 2d game dev. sta moze sve u pajtonu da se uradi.

Stevvan
12.2.2007, 15:49
Pogledaj na www.pygame.org. to ti je wraper za igre i korisiti sdl. Trenutno je dotupan za Python2.4. Nova verzija bi trebalo uskoro da izadje.

Andross
12.2.2007, 20:41
Napomena: Ne koristiti Script jezike za nesto sto nisu predvidjeni ;) :D

Stevvan
12.2.2007, 20:50
A zasta to nisu predvidjeni?

quick
12.2.2007, 21:16
kakvi kraljevi, decko pita za C# a ovi odma dark basic, python i gluposti
takodje zaobidji odmah i programe kao sto su game maker, fps creator i ostali programi za "pravljenje" igara ...

sto se tice C#, dobar izbor
ako nisi skontao XNA (http://msdn2.microsoft.com/en-us/xna/default.aspx) preporucujem ti ga, istovremeno programiras za pc i xbox360

Stevvan
12.2.2007, 21:45
kakvi kraljevi, decko pita za C# a ovi odma dark basic, python i gluposti


Izvini molim te, odakle ti to da je neki jezik glup!? Kada neko prica tako kao ti on samo pokazuje svoju nestrucnost. Ako nesto nisi probao neznaci i da je glupo...

M1los
12.2.2007, 22:03
Napomena: Ne koristiti Script jezike za nesto sto nisu predvidjeni ;) :D
Antiviruse, na primjer:rofl: :rofl: :rofl:
E, sad tek vidim. Fali mi zmmaj:D
BTW, imao sa Visual C#, i nije loš...:)

OFPNogix
12.2.2007, 22:12
Pa XNA je stvarno dobar kao razvojni paket za igre.
A sto se tice C# kao jezika on je visoko objektno-orjentisan i kao takav pogodan za pravljenje igara. Samo je problem sto je C# zasnovan na .NET platformi pa je malo sporiji od C++-a i .NET framework mora biti instaliran na racunaru na kome se igra pokrece ali to ce postati standard.
Najbolja knjiga za pocetnike C# 2005 su "Od Pocetka C# 2005".

Aksic Srdjan
12.2.2007, 22:20
takodje zaobidji odmah i programe kao sto su game maker, fps creator i ostali programi za "pravljenje" igara ...

A ne... sa ovim ne mogu da se slozim nikako, ako je decko pocetnik uvek preporucujem da napravi nesto u game makeru pre nego sto predje na programske jezike, jer ima logike u GMu, tako da ce posle mnogo lakse da predje na "suvo" programiranje. Posto vidim gore da bi decko da batali GM onda je ok da predje na programiranje ;)

fighter
12.2.2007, 23:14
Samo je problem sto je C# zasnovan na .NET platformi pa je malo sporiji od C++-a

40% u vecini slucajeva ;)

Loole
13.2.2007, 0:04
Da, hocu da batalim gm. Dosta mi je njegovog gutanja resursa. Takodje mi je dosta silnih pokusaja da sam naucim c++. Koliko je on laksi/tezi od c++a. Da ne kupujem dzabe knige i to ako nema puno razlike.

Loole
13.2.2007, 0:08
Da. Sta vam je to xna.

OFPNogix
13.2.2007, 10:53
XNA je Microsoftova platforma za pravljenje igara i skoro je izdat XNA Game Studio Express koj je namenjen pre svega ucenicima i studentima koji zele da prave nekomercialne igre. On sadrzi skup alata za pravljenje igara. Omogucava razvijanje igara i za PC i za Xbox360 i potpune je besplatan. XNA (http://http://msdn.microsoft.com/xna/)
XNA-Wikipedia (http://http://en.wikipedia.org/wiki/Microsoft_XNA)

Loole
13.2.2007, 14:48
Pa sta vi mislite o njemu, kakav je u poredjenju sa gamemakerom.

MG-RAY
13.2.2007, 16:20
Pa sta vi mislite o njemu, kakav je u poredjenju sa gamemakerom.

khm...pa zar to moze da se poredi :D ... mnogo bolje...

to da li ce nesto biti sporije ili brze u ovom slucaju zavisi samo od compilera...jer se i managed code (MSIL) kompajlira u ASM pri pokretanju :):)

EclipsE
13.2.2007, 16:27
Mene interesuje kako ja da nabavim Visual C#? :)

Loole
13.2.2007, 16:32
Pa koji kompajler da uzmem.

Loole
13.2.2007, 16:52
Koji jezik uopste koristi taj xna

Loole
13.2.2007, 16:55
**Bote, ono zauzima 80 megabajta, necu ja to skoro skinuti.
Sta je onaj framework, ako smem da pitam.
Da, mogu li 2d igre ili samo 3d.

MG-RAY
13.2.2007, 17:55
ako mislis na .NET Framework...sadrzi izmedju ostalog CLI i CLR, koji se koriste da bi managed programi uopste mogli da rade...

Pa nije ti ovo GM :D:D, ako koristis DX ili OpenGL, naravno...

EclipsE
13.2.2007, 21:05
Au jbt, sad sam instalirao Visual C++ 2005 Express Edition, ono nije normalno! Ne mogu da verujem da mogu da napravim prozor ko u VB-u i da stavljam kontrole! OMG!

Malo je sintaksa cudna...

Aksic Srdjan
13.2.2007, 21:37
Au jbt, sad sam instalirao Visual C++ 2005 Express Edition, ono nije normalno! Ne mogu da verujem da mogu da napravim prozor ko u VB-u i da stavljam kontrole! OMG!

Malo je sintaksa cudna...

A da, Visual C++ 2005 Express Edition je fin da se radi u njemu ;)

EclipsE
13.2.2007, 21:45
evo sad se nesto zezam ali mi ne uspeva jedna prosta stvar

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
pictureBox1->Size.Width = Form1::Width;
pictureBox1->Size.Height = Form1::Height;
pictureBox1->Location.X = 10;
pictureBox1->Image = System::Drawing::Image::FromFile("c:\\jeremy_wray.jpg");
}

On ucita sliku al nece da je pomeri na X = 10 i da je resize-uje..
Nadam se da sam pogodio kako kod ide...

voodoo_
14.2.2007, 13:37
Malo je sintaksa cudna...
Nije sintaksa čudna nego ne znaš jezik :)

On ucita sliku al nece da je pomeri na X = 10 i da je resize-uje..
Nadam se da sam pogodio kako kod ide...
Probaj sa

pictureBox1->Location = new Point(10, pictureBox1->Location.Y);

I drugo, pošto ti je C++ čudan, preporučujem ti da pređeš na C# koji ima (uslovno rečeno) normalniju sintaksu jer se pokazivači ne vide. Ionako je praktično svejedno, C++.NET, C#.NET i Visual Basic .NET se razlikuju samo u sintaksi, rezultujući programi su isti. C# Express Edition isto može da se skine na MS-ovom sajtu, koristim ga već neko vreme i vrlo sam zadovoljan.

EclipsE
14.2.2007, 15:15
Uspeo sam da se snadjem samo sam ja koristio System::Drawing::Point(10, pictureBox1->Location.Y) al to je to. A skinuo bih ja C#, nego dial-up... :(

voodoo_
14.2.2007, 15:31
Skini obavezno. S obzirom da si se bavio samo Visual Basicom, verovatno ne znaš da praviš klase, ne znaš šta znači ta dupla dvotačka, zašto je negde strelica a negde tačka itd. C++ će te samo zbunjivati a to je bezveze naročito zato što C# može da uradi isto.
Ako si u Beogradu mogu ja da ti narežem C#.

Loole
14.2.2007, 16:09
Ljudi , a koje mi knjige preporucujete za c#

EclipsE
14.2.2007, 21:01
Ako si u Beogradu mogu ja da ti narežem C#.

Jesam :D Bio bih ti veoma zahvalan.

btw znam da napravim klasu u c++-u, znam da baratam sa pointerima itd...

OFPNogix
14.2.2007, 21:05
Od pocetka C# (ako mozes da nadjes OD POcetka C# 2005 super)

Andross
14.2.2007, 22:50
Nije c++ tezak koliko se cini.

@EclipsE: Imas Visual C# 2005 Express na Micro DVD-u februarskom, a DX SDK u januarskom zajedno sa Visual C++ 2005 Express, a jedan casopis Mikro kosta 300 din.

M1los
15.2.2007, 1:03
A da li se i za Visual C# i Visual C++ mora imati .NET Framework?

OT: E, Balane, Balane, čemu ona negativna reputacija?:kreza:

EclipsE
15.2.2007, 1:06
Da, .NET 2.0

MG-RAY
15.2.2007, 9:53
@Eclipse
Zavisi od verzije...mozeš da koristiš ili 1.1 ili 2.0, ne razlikuju se...previse :D...

za VC++ verzije 6.0 i nize ti ne treba ti .NET... za CSharp da...

Loole
15.2.2007, 10:42
Ma mene c++ ubi, ja sam u jedno 5 knjiga i 50 tutorijala i 500 tekstova pokusavao da shvatim klasu, i ne kapiram.

EclipsE
15.2.2007, 11:30
Sta je tu tesko. Evo kako bi izgledala jedna klasa:

class imeklase{
public:
imeklase(); //konstruktor
~imeklase(); //destruktor
int visvar; //vidljiva promenljiva
private:
int notvisvar; //nevidljiva promenljiva
protected:
int protvar; //zasticena promenljiva
};

Sve sto je u public se vidi kad pristupash klasi, sve sto je u private se ne vidi kad pristupash klasi ali je moguce dobiti vrednost promenljive notvisvar preko neke funkcije. Sve sto je u protected to ostaje u klasi i nikako ne mozemo dobiti tu vrednost (bar sam ja tako procitao :) ). E ovako.
Sta su konstruktori? Svaki put kad napravish klasu konstruktor se pokrece i u njemu mozesh da postavljash pocetne vrednosti nekih promenljivih, da ispishesh nesto itd... Destruktor je suprotno, znaci kad se unisti klasa.

Kako podesiti konstruktor? Ovako:

imeklase::imeklase(){
cout<<"Klasa je napravljena\n";
}
imeklase::~imeklase(){
cout<<"Klasa je unistena\n";
}

Kako napraviti klasu? Pointeri cine cuda:

imeklase* mojaklasa = new imeklase;

Kako unistiti klasu?

delete mojaklasa;

Sample code:

#include <iostream>

class imeklase{
public:
imeklase(); //konstruktor
~imeklase(); //destruktor
int visvar; //vidljiva promenljiva
};

imeklase::imeklase(){
std::cout<<"Klasa je napravljena\n";
visvar = 5; //podesimo promenljivu
}
imeklase::~imeklase(){
std::cout<<"Klasa je unistena\n";
}

int main(){

imeklase* mojaklasa = new imeklase;

std::cout<<"Vrednost visvar u klasi je "<<mojaklasa->visvar<<".";
std::cin.get();

delete mojaklasa;

std::cin.get();
return 0;

}


Nadam se da si nesto razumeo :).

EclipsE
15.2.2007, 12:14
Drugi deo

Znaci, ne samo da mozesh da imash promenljive u klasi nego mozesh i funkcije. Npr.

class imeklase{
public:
imeklase();
~imeklase();
int funkcija();
private:
int notvisvar;
};


E sad, kako da dodamo funkciji neke naredbe? Prosto:

int imeklase::funkcija(){
return notvisvar;
}


Funkcija ce vratiti vrednost promenljive notvisvar. Ajmo dalje!

Jedan example:
U konstruktoru stavi notvisvar = 10; (znash kako da pravish konstruktore pretpostavljam).

Kad sve lepo zavrsish, posle pravljenja nove klase, ubacish ovo:

cout<<"Vrednost nevidljive promenljive je "<<mojaklasa->funkcija()<<".";

Primeticesh da kad napishesh mojaklasa-> nece se pojaviti promenljiva notvisvar u listi. Cim dolazish do klasa pretpostavljam da si mnogo dobro savladao osnove, tako da znash da funkcija moze da ima i argumente. Isto i funkcije u klasama mogu da imaju argumente...

EclipsE
15.2.2007, 23:20
Jedno pitanje za XNA Game Studio: Sta se time tacno dobija? Jel sluzi samo za prebacivanje na xbox ili olaksava programiranje u dx-u?

MG-RAY
16.2.2007, 19:18
Jedno pitanje za XNA Game Studio: Sta se time tacno dobija? Jel sluzi samo za prebacivanje na xbox ili olaksava programiranje u dx-u?

pa...oboje...

btw. budes li i dalje tako stancovao klase...bez objasnjenja, niko nista nece nauciti...:D

EclipsE
16.2.2007, 20:15
Hehe... Evo sad se zezam u C# i mislim da je mnogo lak... Koristim Managed DX :D

MG-RAY
17.2.2007, 12:57
Hehe... Evo sad se zezam u C# i mislim da je mnogo lak... Koristim Managed DX :D
samo nastavi da mislis...tek ces da vidis...:to_care:...kada dodju vektori i matrice...transformacije...

EclipsE
17.2.2007, 14:15
lako! svidja mi se sto mogu da uradim recimo sprite.position = new Vector3(10, 10, 0); i da postavim taj sprajt na poziciju x = 10, y = 10, z = 0;

koristim klase, savladao sam eventhandlere, umem da napravim dll i da ga ubacim kao referencu u nekom drugom projektu, a provalio sam josh nesto npr.

public class prozor : Form
{

//nasledjivanje osobina!!!

}

C# konza!