Frage zum Einstieg

Einstiegsfragen, Mathematik, Physik, künstliche Intelligenz, Engine Design
Antworten
Noxas
Beiträge: 4
Registriert: 26.06.2011, 19:48
Echter Name: Patrick

Frage zum Einstieg

Beitrag von Noxas »

Hallo Leute,

ich wollte mal fragen was die "beste" Programmiersprache ist, wenn man in ferner Zukunft mal mit machen möchte ein Spiel zu programmieren und wisst Ihr Seiten für Tutorials oder so etwas in der Art?
Ich frage, weil ich in der Schule jetzt 1Jahr C++ und HTML hatte und das echt die einzigen Fächer waren die mir lagen und auch ziemlich viel Spaß gemacht haben und im nächsten Schuljahr habe ich diese Fächer nicht mehr. :(
Ich würde deswegen sehr gern im Internet weiter Programmiersprachen lernen und damit auch mal irgendetwas sinnvolles zu machen. Ich hab schon im Internet versucht irgendwie herauszufinden wie ich anfangen soll, allerdings weiß ich nun nicht welche Sprache ich mir genau anschauen soll und von welcher lieber die Finger lassen sollte.
Ich hoffe Ihr könnt mir da weiter helfen und sagen wie Ihr angefangen habt die Sprachen zu lernen.

MFG,
Noxas
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: Frage zum Einstieg

Beitrag von IlikeMyLife »

So habe ich damals angefangen, obwohl ich nicht mit C/C++ sondern Basic angefangen habe:

- C/C++-Kenntnisse vertiefen
- Grundkenntnisse in DirectX erlangen
- Kleinere 2D-Projekte durchziehen ( Tetris, Pong etc. )
j.klugmann
Establishment
Beiträge: 201
Registriert: 07.07.2010, 13:00
Kontaktdaten:

Re: Frage zum Einstieg

Beitrag von j.klugmann »

Es gibt keine "beste" Programmiersprache. Du kannst auch in jeder Sprache dein Spiel schreiben, das macht keinen Unterschied. Aus persönlicher Tendenz kann ich dir folgende Sprachen empfehlen:
* Haskell
* Erlang
* Python
* Javascript
* Objekt-Pascal

Anstatt DX kannst du auch OpenGL nutzen, das läuft dann auf beinahe allen Plattformen.
Imaging-Software und bald auch Middleware: http://fd-imaging.com
Benutzeravatar
Schrompf
Moderator
Beiträge: 4879
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Frage zum Einstieg

Beitrag von Schrompf »

Wenn Du schon in C++ reingeschnuppert hast, kannst du auch bei C++ bleiben. Das ist eine sehr mächtige, aber auch potentiell problematische Sprache. Aber wie die anderen schon gesagt haben, ist quasi jede Programmiersprache für Spiele oder Anwendungen geeignet. Für Desktop-Anwendungen würde ich ansonsten C# empfehlen, was etwas zugänglicher als C++ ist und auch eine gute Auswahl an Bibliotheken bietet. Andere Leute bevorzugen Python, Java, Delphi oder wasweißich. Für Spiele, die im Browser laufen, ist dagegen Flash zu empfehlen.

Es gibt dann aber auch noch Werkzeuge zur Spieleerstellung, die Dir deutlich schneller Ergebnisse verschaffen können. Hier im Forum ist Unity beliebt, dass (per Plugin) auch im Browser direkt auf Deiner Webseite spielbar wäre. Auch bei diesen Werkzeugen muss man am Ende noch einiges programmieren, nur zusammenklicken funktioniert quasi nicht. Im Falle Unitys ist das eine C#-ähnliche Sprache. Das Plugin für Unity ist inzwischen auch gut verbreitet, auch wenn es natürlich nicht an die Marktdurchdringung von Flash rankommt. Und wenn Du mit ein paar Problemen auf Userseite leben kannst, geht auch Java im Browser.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: Frage zum Einstieg

Beitrag von IlikeMyLife »

wo wir beim Thema sind:

Java + DirectX = Möglich?

Java an sich ist eine eh recht einfache Programmiersprache in meinen Augen. Nur, währe diese auch DirectX-Kompatibel für beispielsweise einem 3D-RPG?

oder sollte man lieber bei folgenden Varianten bleiben:

Java + OpenGL
und
C++ + DirectX

EDIT:
auch wenn nicht für jeden grad ersichtlich ist, was ich genau mit dieser Fragestellung bezwecken will... das sing punkte, über die man sich anfangs in meinen augen im klaren sein sollte
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4262
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Frage zum Einstieg

Beitrag von Chromanoid »

Java und DirectX wäre zwar möglich, aber das würde Javas Pluspunkt bezüglich Plattformunabhängigkeit zu nichte machen und dann würde ich eher zu C#/SlimDX/XNA raten, das ist eine ähnlich einfache und bequeme Sprache.
Java + OpenGL ist wesentlich sinnvoller sowie populärer als DirectX+Java (mir ist noch keine Bibliothek für Java+DX untergekommen). Einige Engines/Bibliotheken ermöglichen dabei mittlerweile Kompilieren nach Android. libGDX und jMonkeyEngine3 kannst du dir mal anschauen...
Noxas
Beiträge: 4
Registriert: 26.06.2011, 19:48
Echter Name: Patrick

Re: Frage zum Einstieg

Beitrag von Noxas »

Heißt das, das ich C++ lassen sollte und lieber Javascript und OpenGL lernen sollte?
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: Frage zum Einstieg

Beitrag von IlikeMyLife »

ist geschmackssache :-)

ich habe mich die ganzen jahre von OpenGL fern gehalten und lieber auf der DirectX-Seite aufgehalten. Was von beiden Vor oder Nachteile hat, hängt in erster Linie davon ab, wofür du Spiele Programmieren willst ( Webseiten, PC-Games, Handy etc. )
beziehungsweise in welchem Umfang ( Kleinere 2D oder große 3D-Projekte etc.)
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Frage zum Einstieg

Beitrag von dot »

Für den Anfang ist es eigentlich total egal. Denn zuerst heißt es sowieso mal: Programmieren lernen. Wenn du dich mit C++ schon angefreundet hast kannst du dir ja einfach mal die SFML holen und ein wenig damit rumspielen. Ansonsten heißt mein Tip für Anfänger C#.

Was OpenGL vs. Direct3D angeht: Ich denk die Frage stellt sich zum jetzigen Zeitpunkt nicht. Und später ist es sowieso eher nur die Frage man zuerst lernt...
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4262
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Frage zum Einstieg

Beitrag von Chromanoid »

Noxas hat geschrieben:Heißt das, das ich C++ lassen sollte und lieber Javascript und OpenGL lernen sollte?
Nur falls du es nicht weißt (kommt mir im Kontext so vor): Java ist nicht JavaScript. Mit WebGL kann man auch mit javascript OpenGL Zeug programmieren, aber ich habe in meinem Post von Java gesprochen.

Schau dir sonst mal die einzelnen Programmiersprachen an und entscheide einfach intuitiv, am Besten erst nachdem du dir ein Entwicklungsziel definierst hast.
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: Frage zum Einstieg

Beitrag von IlikeMyLife »

Chromanoid hat geschrieben:Schau dir sonst mal die einzelnen Programmiersprachen an und entscheide einfach intuitiv, am Besten erst nachdem du dir ein Entwicklungsziel definierst hast.
@ Noxas:
Einfach gesagt, stell dir die Frage, was du gerne irgendwann mal für Spiele Programmieren möchtest:
- PC-Spiele
- Handy-Spiele
- Browser-Games
- etc.
Noxas
Beiträge: 4
Registriert: 26.06.2011, 19:48
Echter Name: Patrick

Re: Frage zum Einstieg

Beitrag von Noxas »

Würde sehr gern in ferner Zukunft mich an PC Spielen wagen. :)
Welche Programme brauch ich dafür und hat vielleicht einer Links für Tutorials und den Download zu den Programmen oder eine Empfehlung zu einem netten Buch dazu? :)
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: Frage zum Einstieg

Beitrag von IlikeMyLife »

Am wichtigsten ist eine Entwicklungsumgebung.

Ich nutze beispielsweise das Visual Studio von Microsoft für C++.

Speziell für die Spieleentwicklung wirst du ein SDK benötigen. Beispielsweise DirectX oder OpenGL.

Links und Bücher kann ich dir leider nicht nennen, da meine Vorräte alle veraltet sind.

Auf jeden fall rate ich dir, nicht direkt mit 3D an zu fangen, sondern die ersten Kenntnisse in 2D zu gestalten.
Tetris, Pong, etc. eignen sich recht gut dazu.
Specialist
Establishment
Beiträge: 135
Registriert: 29.08.2003, 14:22
Kontaktdaten:

Re: Frage zum Einstieg

Beitrag von Specialist »

Solltest du dich für C++ und DirectX entscheiden, so kann ich dir die Tutorials aus der DirectX-Dokumentation empfehlen. Die sind sehr einfach gehalten und beschränken sich wirklich auf das Wesentliche.
Damit hast du zumindest einen ersten Einstieg und kannst selbst etwas rumprobieren bis du dich auf komplexere Beispiele oder Tutorials konzentrierst.
So hab ich es damals gemacht und es klappte ganz gut. Wenn du allerdings noch nicht so viel Erfahrung mit C/C++ hast, solltest du erstmal einfache Programme (Konsole / WinAPI) schreiben.
joggel

Re: Frage zum Einstieg

Beitrag von joggel »

Wenn Du dich schon etwas mit C++ auskennst:
Also ich würde auch mal ganz spontan SFML einwerfen.
Soll recht gut sein.
Und, was noch wichtiger ist, man erziehlt schnell Ergebnisse. Darum gehts ja, und man lernt nebenbei C++.
Wenn Du schon bei C++ bist, dann kannst Du, wenn du deine Gehversuche mit SFML wagst, mal nebenbei nach Design-Pattern (Entwurfsmuster) ausschau halten (aber das vlt. mal nur so nebenbei oder später). Und dann mal ein kleines Spiel machen.

Kurz:
Learning by Doing
Halt mit zB. SFML.

Gruß
Jaw
Beiträge: 54
Registriert: 14.07.2004, 01:00
Wohnort: Raum Düsseldorf

Re: Frage zum Einstieg

Beitrag von Jaw »

Werkzeuge wie Programmiersprachen und Medienprogramme sind mehr oder weniger Austauschbar. Wenn du mit einer Sprache mal ein richtiges Projekt auf die Beine gebracht hast, wirst du das auch mit einer anderen Sprache auf die Reihe kriegen. Die Grundmuster ähneln sich ausreichend. Wichtig sind dann so Disziplinen wie sauberen Code schreiben, Fehler finden und beseitigen, guter Programmaufbau, gutes Gamedesign, fertig werden, etc. Egal welche Sprache du nun nimmst, es wird dir nie den Weg verbauen bei Bedarf umzulernen, und viel Gelerntes kannst du auf die neue Sprache übertragen.

-JAW
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: Frage zum Einstieg

Beitrag von IlikeMyLife »

um ein beispiel zu nennen, was Jaw meint:

wer einen Bubble-Sort in C++ schreiben kann, kriegt es auch in Java, Basic, etc. hin ;-)
Noxas
Beiträge: 4
Registriert: 26.06.2011, 19:48
Echter Name: Patrick

Re: Frage zum Einstieg

Beitrag von Noxas »

Bin gerad ehrlich gesagt bisschen verwirrt. also ich bleib dann jetzt bei C++ und was soll ich noch dazu lernen, SFML, DirectX oder OpenGL ?
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Frage zum Einstieg

Beitrag von Aramis »

SFML ist relativ leicht zu verwenden, ziemlich stabil, unermesslich lahm (zumindest 1.6x) und kann eine ganze Menge - natuerlich auf 2D-Grafik beschraenkt.

DirectX und OpenGl sind selber nur Schnittstellen, um damit was sinnvolles machen zu koennen, musst du dich parallel aber auch noch in die Theorie hinter 3D-Grafik allgemein einarbeiten. Davon wuerde ich abraten solange du in C++ noch nicht sattelfest bist (was, realistisch betrachtet, mindestens 2 Jahre dauert, eher 5). Sowohl OpenGl als auch DirectX sind zudem nicht gerade Musterbeispiele fuer idiomatische C++-Programmierung.

Daher wuerde ich eher zu SFML raten. Am besten, du suchst dir einfache, in einem realistischen Zeitrahmen umsetzbare Projekte aus (z.b. Clones klassischer Spiele wie Breakout oder Tetris). Auch das wuerde ich aber nicht ohne eine gewisse Sicherheit in C++ probieren, sonst macht es naemlich auch nicht wirklich Spass.
Zuletzt geändert von Aramis am 28.06.2011, 18:34, insgesamt 1-mal geändert.
Tiles

Re: Frage zum Einstieg

Beitrag von Tiles »

Such dir doch einfach ein Spiel aus das du gern programmieren willst. Und dann schau als zweiten Schritt welche Möglichkeiten sich dafür anbieten.
Alexander Kornrumpf
Moderator
Beiträge: 2119
Registriert: 25.02.2009, 13:37

Re: Frage zum Einstieg

Beitrag von Alexander Kornrumpf »

IlikeMyLife hat geschrieben:um ein beispiel zu nennen, was Jaw meint:

wer einen Bubble-Sort in C++ schreiben kann, kriegt es auch in Java, Basic, etc. hin ;-)
Achso und ich dachte wer Bubble-Sort verwendet, egal in welcher Sprache, wird einfach erschossen.
Benutzeravatar
Krishty
Establishment
Beiträge: 8267
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Frage zum Einstieg

Beitrag von Krishty »

Ich werde auch weiterhin keine Ironiemarkierungen setzen – selbst, wenn man was offensichtlich augenzwinkernd sagt, hört der Spaß für irgendwen sofort auf. Oder auch zwei Antworten später.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 2119
Registriert: 25.02.2009, 13:37

Re: Frage zum Einstieg

Beitrag von Alexander Kornrumpf »

Keine Ahnung ob du jetzt mich meinst, aber es war durchaus augenzwinkernd gedacht. Als würd ich wirklich jemanden erschießen.
Benutzeravatar
Krishty
Establishment
Beiträge: 8267
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Frage zum Einstieg

Beitrag von Krishty »

Ich sage auch oft im Scherz erschießen, wenn ich eigentlich nur Folter und Verstümmelung meine. Redmond und so.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 2119
Registriert: 25.02.2009, 13:37

Re: Frage zum Einstieg

Beitrag von Alexander Kornrumpf »

In irgendeinem Addison-Wesley Buch (maybe Stroustrup himself?) wird in einer Fußnote "auf den Parkplatz zerren und verprügeln" als angemessene Strafe propagiert.
Jaw
Beiträge: 54
Registriert: 14.07.2004, 01:00
Wohnort: Raum Düsseldorf

Re: Frage zum Einstieg

Beitrag von Jaw »

Bubblesort ist einfach zum Üben :) Ich glaube man muss heute doch kaum noch überhaupt selbst ein Sort schreiben. Und es ging doch wohl eher um die prinzipielle Trennung zwischen Konzept (Algorithmus) und Umsetzung (Sprache). So was ist der Ironiemarkierer? Back to topic?

-JAW
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: Frage zum Einstieg

Beitrag von IlikeMyLife »

Jaw hat geschrieben:Bubblesort ist einfach zum Üben :) Ich glaube man muss heute doch kaum noch überhaupt selbst ein Sort schreiben. Und es ging doch wohl eher um die prinzipielle Trennung zwischen Konzept (Algorithmus) und Umsetzung (Sprache). So was ist der Ironiemarkierer? Back to topic?
Danke Jaw, genau dass wollte ich damit ausdrücken ;-)


EDIT:
Back to Topic:
- Überleg dir was du später gerne Programmieren möchtest für Spiele.
- Erkundige dich, was du dafür brauchst ( zur not schreib es hier rein. es gibt hier auch personen die es auf einfach ausdrücken )
- Und wir können dir weiter helfen
Antworten