spiel aber wie
-
ich habe nun schon einiges gelesen und bin mit C++ selber vertraut
nun läuft mir immer wieder direktx als sdk und grafikprogramme wie truespace über den weg.was ich nicht verstehe ist, wie man alles 3 miteiander verbinden soll. denn bis jetzt habe ich nur so sachen in winapi gemacht aber nur alleine in c++. nun wollte ich mal etwas mehr. finde aber nicht so richtig ne anleitung die mir den start ermöglicht
-
Hi,
brauchst eigentlich nur das DirectX SDK, WinAPI brauchst du nur
um ein Fenster zu erstellen in das du dann rendern kannst.
Für den Anfang gibt es im DirectX SDK einige Tutorials.Für danach kannst du dir ja mal Links anschauen:
http://zfx.info
http://www.gamedev.net
http://spieleprogrammierer.de
http://www.softgames.de/developia
http://www.two-kings.de
http://www.ultimategameprogramming.com
http://www.xbdev.net/index.php
http://www.mdxinfo.com/index.php
http://www.riemers.net
http://www.microsoft.com/germany/msdn/coding4fun/default.mspxMuss dich aber vorwarnen, ist ein ziemlich komplexes Thema bei dem
man sehr viel geduld und ausdauer brauch.Wenn du schneller an ein Ziel kommen willst solltest du dir mal ein
paar Game-Engines oder die SDL anschauen, da wird einem schon viel
arbeit abgenommen.smilingman
-
wenn man gerade anfaengt, sollte man nicht das rad neu erfinden und sich mit directx plagen. erstmal locker angehen lassen und soviel wie moeglich fertig nehmen und den eigenen wuenschen anpassen, bzw modifizieren, dann lernt man auch die zusammenhaenge.
wenn du anfangen wollen wuerdest an wagen rumzubasteln, wuerdest du ja auch erst einen fertigen umbauen, bevor du dir die schrauben zusammensuchst um einen komplett eigenen zu konstruieren.am besten du schaust dir ein paar opensource spiele an (gerne auch 2d), opensource spiele engines, eventuell ein paar game construction kits. gerade wenn du dich mit c++ auskennst, findest du schnell heraus worauf es ankommt.
natuerlich kann man auch bei 0 anfangen, das hier war nur meine meinung

-
ja ich hab auch versucht so ein opensource spiel wie tetris oder sowat einfaches zu bekommen, aber der dort sind dann immer irgendwelche dateien, die sich zwar öffnen lassen mit microsoft visual c++ aber wohl mit nem anderen Programm geschrieben wurden und es liegen auch immer dateien bei die sich gar nicht öffnen lassen oder nur hieroglyphen (editor) sind.
-
schau mal vielleicht bei http://www.scherfgen-software.net/index.php?action=software
dort gibt es kleine spiele mit source.
-
hmm vielleicht bin ich ja blöd, aber auf der seite dort gibts zwar minispiele aber keinen open source dazu.
ich wollte mich selber mal so ein bissl an tetris oder ähnlichem probieren und dann 3D versuchen. Als eigentliches Projekt wollte ich dann ein Aufbauspiel wie z.B.
"Der erste Kaiser" ->Bild oder (uralt) "Harvest moon" ->Bild cooden. Nicht so aufwendig und umfangreich, aber man hat dort wohl 2D denk ich aber optisch siehts besser aus als 2D keine ahnung wie man die mischung nennt
Fertig damit wollte ich sein bis nächstes Jahr April. meint ihr das ist zuviel, wenn man sich da richtig reinhängt und nix anderes mehr macht
-
Ähhh, wenn etwas OpenSource ist, dann haste auch den Quellcode dabei (zu erkennen an *.cpp und *.h Dateien). Es ist egal mit welchem Programm es geschrieben wurde, öffnen kannste diese Dateien sogar mit dem Editor und dir dann in Ruhe den Code anschauen. Der Grund warum du wohl unter Visual C++ o.a. nicht kompilieren kannst liegt wohl eher da drin, dass du der Entwicklungsumgebung noch sagen musst, wo sich deine DX SDK befindet (d3dx9.lib, /bin, etc.).
Um das letztere zu lösen, schaue dir ein paar Links von smilingman an.
Zu der Frage ob du dir zuviel vorgenommen hast, kann ich wie smilingman nur sagen, dass es seeeeeeeeehr viel zeitaufwand ist sich in DX einzuarbeiten. Dazu kommt später noch, dass du die Sprites (Grafiken) entwerfen, den Sound irgendwie aufnehmen und am besten die Idee (+Entwurf) dokumentieren musst/solltest.
Wenn du wirklich 8 Stunden pro Tag dich dadran setzt, dann schaffste es bis zum Ende des Jahres : )
-
Darkangel1208 schrieb:
hmm vielleicht bin ich ja blöd, aber auf der seite dort gibts zwar minispiele aber keinen open source dazu.
http://www.scherfgen-software.net/index.php?action=software&title=billard
da gibt es den source, das waere fuer den anfang ok denk ich mir
-
Also ich denke wenn es wirklich so ausehen soll wie "Der erste Kaiser"
wirst du wohl nicht bis nächstes Jahr fertig. Schon allein die einzelnen
Modelle zu konstruieren, Texturen zu entwerfen und das ganze Design zu
entwerfen würde als einzel Person wahrscheinlich schon länger dauern
und dann kommt ja noch die Programmierung dazu. Ich denke etwas in die
richtung von "Harvest Moon" ist da schon eher in der Zeit machbar,
aber auch da denke ich ist es bis nächstes Jahr alleine sehr schwer
zu schaffen.Du solltest erst mal die grundlagen verstehen und kleine Demos basteln,
in denen du einzelne Funktionen Testest und dich dann langsam steigern.Ein Tetris mit Source findes du hier:
http://www.codeproject.com/KB/directx/fallingblocks.aspx
Auch Interessant für dich könnte der RocketCommander von der Coding4Fun
Seite sein. Zu diesem gibt es dort auch Tutorials und Webcasts, aber dort
wird mit C# programmiert.http://www.microsoft.com/germany/msdn/coding4fun/gamedev/default.mspx
wünsche Dir viel Erfolg!
smilingman
-
Also ich meinte sein erstes Tetris btw ^^
Noch eine Sache: 2D und 3D in DirectX zu programmieren sind (fast) zwei paar verschiedene Schuhe. Ich will damit sagen, dass du bei der 3D-Programmierung fast neu lernen musst (mal vom Grundgerüst abgesehn).
-
NaaK schrieb:
Also ich meinte sein erstes Tetris btw ^^
Noch eine Sache: 2D und 3D in DirectX zu programmieren sind (fast) zwei paar verschiedene Schuhe. Ich will damit sagen, dass du bei der 3D-Programmierung fast neu lernen musst (mal vom Grundgerüst abgesehn).
2D und 3D läuft in DX sowas von genau gleich..
-
Hallo
Vielleicht solltest du dir mal xna mit c# anschauen. Da sind, gerade im 2D, schnell tolle Dinge zu machen.
chrische
-
drakon schrieb:
NaaK schrieb:
Also ich meinte sein erstes Tetris btw ^^
Noch eine Sache: 2D und 3D in DirectX zu programmieren sind (fast) zwei paar verschiedene Schuhe. Ich will damit sagen, dass du bei der 3D-Programmierung fast neu lernen musst (mal vom Grundgerüst abgesehn).
2D und 3D läuft in DX sowas von genau gleich..
Aja? Deswegen muss man in 2D ja auch soviel über Transformationen, Projektionen und diversen Buffern wissen. Zudem gibt es 4 verschiedene Spaces, Licht- und Schattenberechnungen, Shader, Texturierungen usw.
Das einzige was gleich läuft ist das Grundgerüst, die Art und Weise des Programmierers seinen Code zu schreiben, allgemeine Funktionen und Pixelmanipulationen.
-
NaaK schrieb:
drakon schrieb:
NaaK schrieb:
Also ich meinte sein erstes Tetris btw ^^
Noch eine Sache: 2D und 3D in DirectX zu programmieren sind (fast) zwei paar verschiedene Schuhe. Ich will damit sagen, dass du bei der 3D-Programmierung fast neu lernen musst (mal vom Grundgerüst abgesehn).
2D und 3D läuft in DX sowas von genau gleich..
Aja? Deswegen muss man in 2D ja auch soviel über Transformationen, Projektionen und diversen Buffern wissen. Zudem gibt es 4 verschiedene Spaces, Licht- und Schattenberechnungen, Shader, Texturierungen usw.
Das einzige was gleich läuft ist das Grundgerüst, die Art und Weise des Programmierers seinen Code zu schreiben, allgemeine Funktionen und Pixelmanipulationen.
also sind es nicht zwei paar schuhe sondern nur eine erweiterung.
von daher schadet es nicht 2d zu lernen.
-
Klar schadet es nicht. Man sollte nur nicht erwarten dass der Umstieg von 2D auf 3D dann sehr schnell geht, ohne viel dazuzulernen.
-
rapso schrieb:
NaaK schrieb:
drakon schrieb:
NaaK schrieb:
Also ich meinte sein erstes Tetris btw ^^
Noch eine Sache: 2D und 3D in DirectX zu programmieren sind (fast) zwei paar verschiedene Schuhe. Ich will damit sagen, dass du bei der 3D-Programmierung fast neu lernen musst (mal vom Grundgerüst abgesehn).
2D und 3D läuft in DX sowas von genau gleich..
Aja? Deswegen muss man in 2D ja auch soviel über Transformationen, Projektionen und diversen Buffern wissen. Zudem gibt es 4 verschiedene Spaces, Licht- und Schattenberechnungen, Shader, Texturierungen usw.
Das einzige was gleich läuft ist das Grundgerüst, die Art und Weise des Programmierers seinen Code zu schreiben, allgemeine Funktionen und Pixelmanipulationen.
also sind es nicht zwei paar schuhe sondern nur eine erweiterung.
von daher schadet es nicht 2d zu lernen.Das behaupte ich doch garnicht (sonst würde das "fast" da wohl nicht stehen). So gesehen würde es dann auch nicht schaden in OpenGL anzufangen, oder in Java irgendwas 2D mäßiges zu bauen. Es geht mir darum, dass er Wissen in 2D bei 3D nicht brauchen wird und umgekehrt. Ich sage mal vorsichtig Surfaces, Sprites (+Animation), Manipulation dieser, Techniken dafür (Pixelgenaue Kollisionserkennung) oder andere Sachen wie einen scrollenden Hintergrund, wird er (erstmal) für 3D nicht brauchen.
hustbaer schrieb:
Klar schadet es nicht. Man sollte nur nicht erwarten dass der Umstieg von 2D auf 3D dann sehr schnell geht, ohne viel dazuzulernen.
eben
-
hustbaer schrieb:
Klar schadet es nicht. Man sollte nur nicht erwarten dass der Umstieg von 2D auf 3D dann sehr schnell geht, ohne viel dazuzulernen.
es ist kein umstieg, sondern eine erweiterung, was man fuer 2d braucht, wuerde man auch beim 3d lernen muessen.
[quote="NaaK"]
rapso schrieb:
NaaK schrieb:
drakon schrieb:
NaaK schrieb:
Also ich meinte sein erstes Tetris btw ^^
Noch eine Sache: 2D und 3D in DirectX zu programmieren sind (fast) zwei paar verschiedene Schuhe. Ich will damit sagen, dass du bei der 3D-Programmierung fast neu lernen musst (mal vom Grundgerüst abgesehn).
2D und 3D läuft in DX sowas von genau gleich..
Aja? Deswegen muss man in 2D ja auch soviel über Transformationen, Projektionen und diversen Buffern wissen. Zudem gibt es 4 verschiedene Spaces, Licht- und Schattenberechnungen, Shader, Texturierungen usw.
Das einzige was gleich läuft ist das Grundgerüst, die Art und Weise des Programmierers seinen Code zu schreiben, allgemeine Funktionen und Pixelmanipulationen.
also sind es nicht zwei paar schuhe sondern nur eine erweiterung.
von daher schadet es nicht 2d zu lernen.Das behaupte ich doch garnicht (sonst würde das "fast" da wohl nicht stehen). So gesehen würde es dann auch nicht schaden in OpenGL anzufangen, oder in Java irgendwas 2D mäßiges zu bauen. Es geht mir darum, dass er Wissen in 2D bei 3D nicht brauchen wird und umgekehrt. Ich sage mal vorsichtig Surfaces, Sprites (+Animation), Manipulation dieser, Techniken dafür (Pixelgenaue Kollisionserkennung) oder andere Sachen wie einen scrollenden Hintergrund, wird er (erstmal) für 3D nicht brauchen.
ich sage mal vorsichtig, es ist egal ob du 'fast' sagst oder nicht, du sprichst von zwei paar schuhen, was es nicht ist, bei DirectX hast du nur direct3d das aktuell unterstuetzt wird und entsprechend keine surfaces, sprites oder sonstiges was nur fuer 2d genutzt wird.
-
[quote="rapso"]
hustbaer schrieb:
Klar schadet es nicht. Man sollte nur nicht erwarten dass der Umstieg von 2D auf 3D dann sehr schnell geht, ohne viel dazuzulernen.
es ist kein umstieg, sondern eine erweiterung, was man fuer 2d braucht, wuerde man auch beim 3d lernen muessen.
NaaK schrieb:
rapso schrieb:
NaaK schrieb:
drakon schrieb:
NaaK schrieb:
Also ich meinte sein erstes Tetris btw ^^
Noch eine Sache: 2D und 3D in DirectX zu programmieren sind (fast) zwei paar verschiedene Schuhe. Ich will damit sagen, dass du bei der 3D-Programmierung fast neu lernen musst (mal vom Grundgerüst abgesehn).
2D und 3D läuft in DX sowas von genau gleich..
Aja? Deswegen muss man in 2D ja auch soviel über Transformationen, Projektionen und diversen Buffern wissen. Zudem gibt es 4 verschiedene Spaces, Licht- und Schattenberechnungen, Shader, Texturierungen usw.
Das einzige was gleich läuft ist das Grundgerüst, die Art und Weise des Programmierers seinen Code zu schreiben, allgemeine Funktionen und Pixelmanipulationen.
also sind es nicht zwei paar schuhe sondern nur eine erweiterung.
von daher schadet es nicht 2d zu lernen.Das behaupte ich doch garnicht (sonst würde das "fast" da wohl nicht stehen). So gesehen würde es dann auch nicht schaden in OpenGL anzufangen, oder in Java irgendwas 2D mäßiges zu bauen. Es geht mir darum, dass er Wissen in 2D bei 3D nicht brauchen wird und umgekehrt. Ich sage mal vorsichtig Surfaces, Sprites (+Animation), Manipulation dieser, Techniken dafür (Pixelgenaue Kollisionserkennung) oder andere Sachen wie einen scrollenden Hintergrund, wird er (erstmal) für 3D nicht brauchen.
ich sage mal vorsichtig, es ist egal ob du 'fast' sagst oder nicht, du sprichst von zwei paar schuhen, was es nicht ist, bei DirectX hast du nur direct3d das aktuell unterstuetzt wird und entsprechend keine surfaces, sprites oder sonstiges was nur fuer 2d genutzt wird.
Naja gut, das stimmt natürlich. Surfaces und Sprites kann man dennoch anlegen. Kein Plan wie genau die Methoden hießen. OffscreenSurface und CreateTexture im kurzen glaub ich.
-
NaaK schrieb:
Es geht mir darum, dass er Wissen in 2D bei 3D nicht brauchen wird und umgekehrt. Ich sage mal vorsichtig Surfaces, Sprites (+Animation), Manipulation dieser, Techniken dafür (Pixelgenaue Kollisionserkennung) oder andere Sachen wie einen scrollenden Hintergrund, wird er (erstmal) für 3D nicht brauchen.
rapso schrieb:
bei DirectX hast du nur direct3d das aktuell unterstuetzt wird und entsprechend keine surfaces, sprites oder sonstiges was nur fuer 2d genutzt wird.
da ich mich ja an 2D halten will, da ich in einem Jahr fertig sein will, heißt das also, dass ich mit DirectX nix anfangen kann.
jetzt schau ich erstmal nach
xna mit c#
und SDL
mal sehen ob ich damit erstmal zurechtkomme und es richtig ist, wenn ich mein ziel erreichen will.
-
Darkangel1208 schrieb:
NaaK schrieb:
Es geht mir darum, dass er Wissen in 2D bei 3D nicht brauchen wird und umgekehrt. Ich sage mal vorsichtig Surfaces, Sprites (+Animation), Manipulation dieser, Techniken dafür (Pixelgenaue Kollisionserkennung) oder andere Sachen wie einen scrollenden Hintergrund, wird er (erstmal) für 3D nicht brauchen.
rapso schrieb:
bei DirectX hast du nur direct3d das aktuell unterstuetzt wird und entsprechend keine surfaces, sprites oder sonstiges was nur fuer 2d genutzt wird.
da ich mich ja an 2D halten will, da ich in einem Jahr fertig sein will, heißt das also, dass ich mit DirectX nix anfangen kann.
nein, so wuerde ich es nicht auffassen. statt sprites/surfaces, hast du halt texturen, statt quads, zeichnest du deine polys. an sich nur eine andere api. aber ja, eine 2d lib die alles fertig vorliegen hat waere die zeitsparende alternative.
-
Hallo
Wenn du dich für Xna entscheidest, dann solltest du dir unbedingt das hier mal anschauen:
http://nick.gravelyn.com/tile-engine-series/
chrische