C++ - 2D-Engine selber schreiben - Tutorial?

Übersicht Sonstiges Smalltalk

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

CO2

ehemals "SirMO"

Betreff: C++ - 2D-Engine selber schreiben - Tutorial?

BeitragSo, Sep 12, 2010 20:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich suche seit geraumer zeit ein ordentliches Tutorial um eine 2D-Engine in C++ zu schreiben. Leider sind meine bisherigen Funde nicht wirklich der rede wert. Kennt irgendwer von euch gute Tutorials zu dem Thema?
Ich bedanke mich wie immer schonmal im vorraus
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti

Farbfinsternis

BeitragSo, Sep 12, 2010 20:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit C++ allein kannst Du keine 2D Engine schreiben. Entweder Du suchst nach "C++ DirectX" oder nach "C++ OpenGL" ... am sinnvollsten wäre es aber eine bestehende Engine zu verwenden, SDL beispielsweise.
Farbfinsternis.tv

Skabus

BeitragSo, Sep 12, 2010 20:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja ich würde auch SDl empfehlen, da sie sehr einfach zu erlernen und ziemlich minimalistisch ist.

Gut ist auch, dass SDL auf OpenGL aufsetzt und darum selbstredend natürlich mit allen OGL-Befehlen kompatibel ist.


MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu
 

Sterbendes Lüftlein

BeitragSo, Sep 12, 2010 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

SpionAtom

BeitragSo, Sep 12, 2010 23:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Allegro kann ich nicht so wirklich empfehlen. Lahm und irgendwie outdated.
Vielleicht rede ich es aber auch nur schlecht, weil ich schon seit etwas längerem an einem Projekt sitze, das damit gemacht werden muss.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080
 

Sterbendes Lüftlein

BeitragMo, Sep 13, 2010 9:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt
 

CO2

ehemals "SirMO"

BeitragMo, Sep 13, 2010 14:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Und in was ist directX programmiert? Ich meine dann könnte man sowas ja "nachmachen"... Ansonsten hat dieser threat keinen sinn mehr, da ich sonst mit DirectX programmiere...
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti
 

konstantin

BeitragMo, Sep 13, 2010 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh, DirectX ist eine Sammlung von Bibliotheken, die ebenfalls in C/C++/Assembler geschrieben sind. Natuerlich kannst du versuchen, sie nachzuprogrammieren. Viel Spass dabei!
  • Zuletzt bearbeitet von konstantin am Mo, Sep 13, 2010 14:32, insgesamt einmal bearbeitet

skey-z

BeitragMo, Sep 13, 2010 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Also afaik sind DirectX und OpenGL nur die schnittstellen zur Grafikkarte, um dieser zu sagen, was sie tun muss, alle Engines benutzen diese Schnittstellen um mit der Grafikkarte zu kommunizieren, weil die Graka kein C oder C++ versteht.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

Lord Stweccys

BeitragMo, Sep 13, 2010 14:39
Antworten mit Zitat
Benutzer-Profile anzeigen
So eine Schnittstelle zu schreiben erfordert viel Arbeit und das nötige Know-How. Es ist keine Arbeit für eine Person, an sowas sitzen ganze Teams.

Skabus

BeitragMo, Sep 13, 2010 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Zumal es immer keine gute Entscheidung ist, sich an sowas selbst zu setzen, wenn man als Ziel hat "Ich will ein Spiel programmieren".

Wenn du nen Spiel programmieren willst, und dich nicht erst 5 Jahre in die Tiefen von DirectX stürzen willst(glaub mir ich weiß wovon ich rede xD), dann such dir eine gute Alternative.

Nahezu alle Engines egal ob 2D oder 3D setzen auf OGL oder DX auf und da reichen die vorhandenen 2D Engines
wie Allegro oder SDL völlig aus.

Im 3D-Bereich wirds schon schwieriger, allerdings gibts im Freeware-Bereich auch genug gute Dinge wie
z.B. Irrlicht.


Also sofern du wirklich nur spiele machen willst, rate ich dir davon ab alles mit DirectX oder OGL zu machen.


Wenn du allerdings viel über die Funktionsweise und Arbeitsweise von hardware und Engines erfahren willst,
dann solltest du DirectX oder OGL nutzen.Denn dafür sind beide gut geeignet.


MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu
 

Sterbendes Lüftlein

BeitragMo, Sep 13, 2010 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

Chester

BeitragMo, Sep 13, 2010 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Sehr toller Beitrag Totensturm, richtig qualifiziert und objektiv Rolling Eyes

Der Umgang mit DirectX ist kompliziert, aber machbar. Dennoch würde ich es nicht empfehlen, da der Aufwand nicht zu unterschätzen ist, der einem aber durch die gängigen Engines genommen wird.

Dennoch würde ich niemanden, der mal unter die Oberfläche gehen möchte, davon abhalten. Interessant ist es auf jeden Fall und was zum lernen gibts erst recht.
 

CO2

ehemals "SirMO"

BeitragMo, Sep 13, 2010 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, so wie ich das jetzt verstanden habe ist DirectX keine Engine, sondern nur eine Schnittstelle zwischen Rest des PCs und Graka, oder wie?

Ok, dann bau ich mal darauf auf und hoffe, dass da was raus kommt xD

Eine Frage noch:
Wie starte ich bei Code::Blocks ein DirectX-Projekt? Ich sehe zwar den DirectX-Projekt Button, da komme ich aber nur bis "Please select DirectX's location", was muss ich da eingeben? Da steht bisher: "$(#dx)". Wenn ich da draufklicke kommt iregendeine Tabelle und ich weiß ned was der von mir will, auf gut deutsch gesagt Very Happy. Kennt sich iwer damit aus?
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti
  • Zuletzt bearbeitet von CO2 am Mo, Sep 13, 2010 21:02, insgesamt 2-mal bearbeitet

Farbfinsternis

BeitragMo, Sep 13, 2010 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Weder DirectX noch OpenGL sind eine Engine. Das erfährt man mit 20sec Google-Anfrage aber auch selbst.
Farbfinsternis.tv
 

Sterbendes Lüftlein

BeitragMo, Sep 13, 2010 20:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt
 

CO2

ehemals "SirMO"

BeitragMo, Sep 13, 2010 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe damit ja nicht nur ein kleines Projekt vor, sondern möchte mein "Z.O.M.B.I.E" (mehr infos auf meiner HP (hier)) mit C++ programmieren. Also einmal in BlitzMax, und danach nochmal in C++ quasi damit ich mir was beweisen kann Very Happy
(Bitte jetzt keine Posts wie: "Das ist ganz schön aufwendig... Ich würde mir das nochmal überlegen..." Ich habe schon in C++ programmiert, weiß also was auf mich zukommt. Ich war jetzt nur verwirrt wegen DirectX bzw. habe mich nie wirklich damit auseinandergesetzt...)

@Farbfinsternis:
Dann hab ich iwas falsch gemacht bei der Google-Suche xD. Ich habe das so verstanden, dass das eine Engine ist... Dann hat sich meine Frage von oben eig geklärt xD
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti
 

Sterbendes Lüftlein

BeitragMo, Sep 13, 2010 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

Farbfinsternis

BeitragMo, Sep 13, 2010 22:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau Totensturm. Da er das Spiel ja bereits mit einer Engine in einer extrem einfachen Sprache implementiert hat wird es ein Einfaches sein auf den simplifizierten Dialekt und die Engine zu verzichten um alles nocheinmal in einem komplizierteren Kontext ganz ohne Engine zu implementieren. Absolut logisch.
Farbfinsternis.tv

Thunder

BeitragMo, Sep 13, 2010 22:17
Antworten mit Zitat
Benutzer-Profile anzeigen
SirMO hat Folgendes geschrieben:
Ich habe schon in C++ programmiert, weiß also was auf mich zukommt. Ich war jetzt nur verwirrt wegen DirectX bzw. habe mich nie wirklich damit auseinandergesetzt...)


Ich glaube, gerade weil du dich zu wenig mit dem Thema auseinandergesetzt hast, weißt du nicht, was auf dich zukommt. Die APIs die dir DirectX zur Verfügung stellt sind extrem umfangreich und nicht sehr anfängerfreundlich.
Es wird wahrscheinlich seine Zeit brauchen, bis du dich überhaupt in DirectX einfindest und Programme damit schreiben kannst (die du auch verstehst).

Es ist dasselbe wie mit Betriebssystemprogrammierung (jedem, der hier schon Mal danach gefragt hat, wurde davon abgeraten). Die Frage ist: Willst du dein Spiel programmieren? oder willst du dich monatelang mit DirectX beschäftigen, damit du im Endeffekt eine kleine Schnittstelle umsetzt, die dir erlaubt Z.O.M.B.I.E in C++ zu schreiben?

mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group