Laden...

Wie mache ich 2D-Spiele?

Erstellt von ph4nt0m vor 18 Jahren Letzter Beitrag vor 14 Jahren 9.815 Views
ph4nt0m Themenstarter:in
9 Beiträge seit 2006
vor 18 Jahren
Wie mache ich 2D-Spiele?

Hallo,
ich habe vor ein kleines 2D Billard-Spiel zu programmieren. Noch habe ich damit keine Erfahrung und wollte gerne von euch wissen, was ich dazu am besten lesen/lernen sollte. Bisher habe ich Grundwissen in C/C++.

Sollte man für solche kleinen 2D Sachen DirectX verwenden oder die Objekte in einem normalen Windows Fenster zeichnen?
Kennt jemand ein gutes Source-Beispiel oder ein Tutorial? Gerade die Umsetzung der Physik (die ja bei diesem Spiel schon ziemlich wichtig ist) interessiert mich.
ph4nt0m

Borg Gates: Tech support is irrelevant. Upgrading is futile. Your hard disk will be assimilated.

1.549 Beiträge seit 2004
vor 18 Jahren

Also WinForms und GDI solten ausreichen.
aber was genau meinst du mit Grundwissen in C C++?
Was hast du den schon mit C# gemacht?
kleiner tipp von mir übernimm dich nicht gleich zu anfang

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

270 Beiträge seit 2005
vor 18 Jahren

Hi,also ich rate dir entweder mit DX oder OpenGl zu machen,meiner Meinung nach ist
GDI+ da relative unbrauchbar (da es viel zu langsamm ist und es dauernt flackert).Wenn du nur die Physik testen willst oder nur erstmal ausprobieren
und dich die Grafik weniger intressiert dann kannst auch GDI+ nehmen,ist halt die frage was du machen willst und wie lang du dich damit beschäftigen willst.

Was du am besten lesen solltest sind die DX Tutorials hier im Forum!
([Artikel] Managed Direct3D Tutorial)

Zur Physik, kann ich nix sagen (bin selbst auch noch nicht soweit),ist halt "nur" Mathe! 😁

Wenn du DX machst haste die möglichkeit dich zwischen DDraw und Direct3d
zu entscheiden!

Ansonsten kannst ja mal bei Folgende Sites dir anschauen:

http://www.codeworx.org/directx_tuts.php
http://www.robsite.de/links.php?link=3dmodelle
http://www.codeproject.com
http://www.thezbuffer.com/categories/games.aspx
http://www.geometrictools.com/Intersection.html
http://www.mdxinfo.com/tutorials.php
(hoffe das die ein oder andre adresse dir helfen kann!)

mfg
derHulk

ph4nt0m Themenstarter:in
9 Beiträge seit 2006
vor 18 Jahren

Hmm, ihr sagt ja jetzt beide so ziemlich genau das Gegenteil 😁

@DerHulk: Danke für die Links, ich werde mir die mal anschauen.

@S.H.-Teichhof: Ich hab mit C# bisher gar nichts gemacht (kann es auch eigentlich nicht, aber es ist C++ ja sehr ähnlich), wie gesagt nur kleine Sachen mit C/C++. Aber keine Spiele, sondern nur kleine GUI Anwendungen mit nativer Win32-API, z.B. aktuell einen kleinen Binärrechner, siehe.
Übernehmen will ich mich wirklich nicht, aber ich denke doch, dass ein kleines Billardspiel in 2D noch halbwegs machbar sein wird X(
ph4nt0m

Borg Gates: Tech support is irrelevant. Upgrading is futile. Your hard disk will be assimilated.

1.549 Beiträge seit 2004
vor 18 Jahren

Wenn du vorher noch garnichts mit C# am hut hattest wird das Billiardspiel schon hart an die Grenze gehen auch wenn du es "nur" mit GDI machst
ps wen du schon mit C++ gearbeitet hast hilft dir vieleicht auch http://www.cppfrance.com/codes/SIMULATION-BILLARD_33545.aspx

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

ph4nt0m Themenstarter:in
9 Beiträge seit 2006
vor 18 Jahren

Danke für den Link, die Physik in dem Beispiel ist echt genial. Der Code aber entsprechend lang und ohne englische oder deutsch Kommentare für mich leider kaum verständlich X(

Wenn du vorher noch garnichts mit C# am hut hattest wird das Billiardspiel schon hart an die Grenze gehen auch wenn du es "nur" mit GDI machst

Ich habe deswegen ja gefragt, was ich dafür lernen sollte. Dass ich das jetzt noch nicht kann ist ja mehr oder weniger klar, sonst müsste ich hier ja nicht fragen wies geht 😁
Im Grunde geht es mir erstmal darum, ob GDI oder DX (oder sonst was). Die nächste frage wäre dann, ob es hilfreich wäre, für diese Libs erst noch C# zu lernen (was mit einem Buch wohl nicht besonders schwer wäre und lange dauern würde, da ich C++ schon "kann").
ph4nt0m

Borg Gates: Tech support is irrelevant. Upgrading is futile. Your hard disk will be assimilated.

49 Beiträge seit 2006
vor 17 Jahren

sorry wenn ich das thema nach einem jahr wieder ausgrabe, aber genau die gleiche frage stelle ich mir gerade.

möchte auch ein billard/snooker spiel basteln und wollte wissen ob windowforms ausreichen oder man die direct x greifen muss.

mfg spidy

"Fahre nur so schnell, wie dein Schutzengel fliegen kann!"

175 Beiträge seit 2006
vor 17 Jahren

XNA

P
41 Beiträge seit 2007
vor 17 Jahren

Verstehe ich das richtig, dass sich das XNA nur in C# Express einbindet?

Hab V2005 Professional drauf und will mir nicht nebenbei die Express Version dafür installieren. Für meine Projekte brauche ich die Vollversion...

Bis denne Mail,
Piper

B
1.529 Beiträge seit 2006
vor 17 Jahren

Verstehe ich das richtig, dass sich das XNA nur in C# Express einbindet?

Nein.

5.941 Beiträge seit 2005
vor 17 Jahren

Hallo zusammen

Verstehe ich das richtig, dass sich das XNA nur in C# Express einbindet?

Ja, evt. kommt später eine Unterstützung für die grossen Brüder, wer weiss.

Original von Borg
Nein.

Quelle?

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

B
1.529 Beiträge seit 2006
vor 17 Jahren
XNA GSE für VS Professional u.a.

Zuerst muss ich zugeben, dass ich mich oben geirrt habe. Das XNA GSE lässt sich wirklich nur auf einer Express Version installieren.

Allerdings:

Ich habe den Installationsversuch mit einem Registry-Monitor überwacht und die Schlüssel identifiziert, an denen die Installation das Vorhandensein eines VS Express erkennt.
Durch Erzeugen einiger Schlüssel war es mir schon einmal möglich, die Installation durchzuführen (ich habe VS Professional). Leider gibt es beim Fertigstellen der Installation einen weiteren Fehler, der zu einen Rollback führt.
Ich habe heute Abend aber weder Zeit noch Muße, mich mit diesem Fehler auseinander zu setzen.
Ich werde mich die nächsten Tage weiter damit beschäftigen.
Das bisherige Ergebnis lässt mich allerdings an die Möglichkeit einer Lösung glauben.

Sobald sich etwas neues auf dieser Front ergibt, werde ich im Forum einen Thread erstellen.

T
73 Beiträge seit 2004
vor 17 Jahren

hallo,

also XNA ist müll. zwar gut gemeint aber eigentlich momentan eher als technologiestudie zu sehen und für produktiveinsatz kaum zu gebrauchen... (es fehlen wesentliche teile im 3d bereich) -nix für ungut.

2d grafik mit MDX Direct Draw ist ok, schau mal beim thread vorbei.

-t

1.200 Beiträge seit 2007
vor 15 Jahren

also XNA ist müll.

Ich möchte anmerken, dass ich hier gänzlich anderer Meinung bin. Der Eintrag ist ja auch schon ein Jahr alt. XNA simplifiziert vieles und ist absolut ausreichend für die Tasks, für die ich es bisher gebraucht habe. Gerade im 2D Bereich lässt XNA kaum Wünsche offen. SDL und Konsorten sind hier wesentlich komplizierter und die C#-Bindings afaik kaum ausgereift, bzw. schlecht.

Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

YARRRRRR!

U
237 Beiträge seit 2007
vor 15 Jahren

ich würde eher auf MDX setzen. ein paar sprites rendern ist absolut kein problem.

meine meinung beruht aber darauf, dass ich xna noch nie gesehen habe. ich weiß aber, dass sprites rendern sehr simpel ist. und mehr braucht man auch nicht.

heute code ich, morgen debug ich und übermorgen cast ich die königin auf int

1.200 Beiträge seit 2007
vor 15 Jahren

Aber MDX liegt im Sterben. Das sollte keiner mehr anfangen.

Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

YARRRRRR!

Gelöschter Account
vor 14 Jahren

so, ich kenne nun beides und ich muss sagen, das xna deutlich simpler ist als mdx. als ich noch mit mdx was gemacht habe, war es schon einfach und ich habe gestaunt aber als ich letzte woche xna ausprobiert habe, hat es mich fast umgehauen... einfacher kann ich es mir nicht vorstellen.

anfangs ist es etwas ungewohnt vom handling her aber wenn man einmal dahintergekommen ist, dann geht es sehr sehr leicht von der hand.