Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

KeksX

Community-Fossil

  • »KeksX« ist der Autor dieses Themas

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

1

30.01.2011, 21:18

"Endlich mal Spiele entwickeln" - Meinung/Probleme

Hallo Community,
ich benötige wiedereinmal euren Ratschlag/Hilfe.

Ich habe jetzt lange Zeit mit allgemeiner Programmierung verbracht, Bücher gelesen, Übungen gemacht, kleine Übungsspiele geschrieben die ok sind aber halt nichts was wirklich Spaß macht - und das mache ich noch immer.
Ich habe die TriBase Engine quasi "durchgearbeitet"(bzw. das Buch) und könnte, wenn ich denn so wollte, anfangen eine eigene zu schreiben.
Und hier werden mir viele wohl eine klatschen wollen:
Ich will mir keine Engine schreiben, ich will Spiele programmieren! Das ist doch genauso wie mit den Pong-Klonen: wieso sollte ich jetzt etwas schreiben, das andere mindestens schon 5000x vor mir gemacht haben? Ich verstehe die Engine, kenne ihre Grundideen und ihre Funktionsweisen - was spricht also dagegen es sein zu lassen eine exakte Kopie davon anzulegen?
Ich möchte jetzt also anfangen andere Engines zu nutzen(oder - wenn es das Projekt verlangt - vielleicht eine andere anzupassen) um mir damit meine Spiele zu programmieren. Ich möchte wohl behaupten dass mein Wissen dafür ausreicht, auch wenn ich jetzt durch anderen Stress, den das Privatlaben so mitbringt, mich erstmal wieder reinlesen müsste.

Aber das ist nur meine Sicht, ich würde da gerne eure hören. Ich mein, es ist super zu wissen wie eine Engine funktioniert , noch besser ist es fähig zu sein sie zu erweitern, aber ich sehe keinen Zweck darin jetzt 500 Engines zu schreiben und sie zu verändern wenn ich sie ohnehin nicht nutze - es ist ja nicht so, dass es meine Diplomarbeit ist. Vielleicht sieht das ja einer von euch ganz anders? Wäre nett eure Meinung dazu zu hören.


Ich habe jetzt allerdings einige Probleme/Fragen/Whatever, die da wären:
1. Lohnt es sich zu akzeptieren dass C++ eine tolle Sprache ist, das Wissen zu behalten und dennoch C# zu benutzen? Ich las und lese so oft, dass es besser geeignet ist, und viele Engines es unterstützen(z.B. Unity). Es soll eben für die "reine Spieleprogrammierung"(und für Tool-Programmierung!) einfach besser geeignet sein, höre ich auch immer wieder von Freunden.
2. Sollte ich vielleicht doch bei C++ bleiben, wo ich jetzt solange damit "gelebt" habe? Es gibt viele Engines die C++ unterstützen und um Scriptsprachen kommt man ja eh nicht herum(weswegen ich mich auch mit LUA/Ruby/etc beschäftigt habe).
3. Es geht mir wirklich primär ums reine Spiele entwickeln. Wie viele hier habe ich kleine und große Ideen die ich langsam mal umsetzen möchte, als Hobby und etwas woran man seine Zeit nicht gerade verschwendet sondern später mal was dabei rauskommt, und in meinen Augen ist eine Engine, die man nicht benutzt, Verschwendung - das geht mit einem Spiel natürlich auch, aber ich glaube einfach das ein Spiel, das man selbst gemcaht hat, immer mindestens dafür sorgt, dass man selbst Gefallen daran hat.
4. Es gibt viele Engines da draußen, und als alter 2D Fan möchte ich mich erstmal auf 2D konzentrieren, jedoch nicht auf neue Technologien verzichten, die sich auch dem 2D Bereich bieten.

tl;dr
Im Prinzip spreche ich hier über Recht viel, aber eigentlich will ich nur eure Meinung zum Thema "Welche Sprache/Engine zum reinen Spieleprogrammieren?" und "Aktuelle/Gute 2D Engines" hören, denn man liest soviel im Internet, aber wenn ich ehrlich bin ist mir die Meinung der User in diesem Forum wichtiger.

MfG,
KeksX
WIP Website: kevinheese.de

Beiträge: 721

Wohnort: /dev/null

Beruf: Software-Entwickler/Nerd

  • Private Nachricht senden

2

30.01.2011, 21:36

Meine Favoriten für 2D:


* Elysion + Objekt Pascal
* Javascript + Canvas
* Python + PyGame
* C++ + HGE

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

3

30.01.2011, 21:46

Wenn du Spiele programmieren willst, dann programmiere Spiele. Niemand muss eine Engine programmiert haben, um sich das Recht zu erarbeiten, ein Spiel zu schreiben. Du hast mit deiner Ansicht ja völlig recht. Man muss das Rad nicht 1000 Mal neu erfinden. Lieber nimmt man eine bereits weit fortgeschrittene, gut gewartete Engine, mit großer Community, die alles kann was man braucht, als sich selbst etwas halbwegs funktionelles zu basteln.
Zu den Sprachen: Ich selbst habe nie C# verwendet, wüsste ganz ehrlich gesagt auch nicht, warum ich das tun sollte. Wer mit C++ umgehen kann, der wird auch mit C++ sehr zufrieden sein. Die meisten pupulären Egnines, die ich kenne(Ogre, Irrlicht) sind grundsätzlich in C++ und für C++ geschrieben und es gibt eben C#-Wrapper, die verwendet werden können. Außerdem basiert C# auf .Net und dieses ist nur minder-gut in Mono für andere Platformen umgesetzt. Also bie der Plattformunabhängigkeit dürfte man es mit C++ sicherlich leichter haben. Und wenn du C++ kannst, dann programmiere C++ ;). Viele Wege führen letztendlich nach Rom und C# dürfte nicht wesentlich einfacher sein.

Als gute 2D-Engine wird sehr gerne die SFML genannt. Habe damit auch schon ein bisschen gearbeitet und finde sie durchaus empfehlenswert. Es gibt zwar ein paar Punkte, die mir nicht unbedingt gefallen, aber so ist das halt und es ist auch nicht sonderlich wichtig. Ansonsten gäbe es natürlich noch die SDL, wobei die der SFML in Geschwindigkeit und Struktur denke ich etwas unterlegen ist, wobei ich mit dieser Lib bisher auch nur ganz kurz in Kontakt stand und das auf eine Art und Weise, die mich zumindest in Sachen Geschwindigkeit kein Urteil fällen lassen kann, aber im Design fand ich sie jetzt wirklich nicht so großartig(Ich mag Engines, die mich vm Code-Design her ansprechen und die ich einfach intuitiv benutzen kann, weil vieles einfach logisch ist. Die SDL hat mich da leider enttäuscht).

KeksX

Community-Fossil

  • »KeksX« ist der Autor dieses Themas

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

4

30.01.2011, 22:56

Hm,
also ich habe schon zu Übungszwecken mit der SFML gearbeitet und das hat mir gut gefallen eigentlich, ist auf jedenfall in meiner persönlichen Auswahl schon drin. ;). Ebenso die HGE.
Nun ist es ja nicht so, dass ich n kompletter Neuling bin. Wie gesagt habe ich bereits einige kleine Spiele gemacht und mich auch mit der SourceEngine bspw. beschäftigt(und will mich damit wohl auch irgendwann mal näher beschäftigen, weil es echt einfahc ist damit etwas zu kreieren.)
Über Javascript + Canvas habe ich noch gar nicht nachgedacht...
Ich glaub durch HTML5 ist es mittlerweile ziemlich mächtig - was es ja vorher eigentlich auch schon war... Ich werds mir mal definitiv ansehen!

Hat jemand denn Erfahrung mit C# und kann etwas dazu sagen, ob es angenehmer ist als C++ oder irgendwelche Vorteile hat? Denn um ehrlich zu sein ist der einzige Grund, wieso ich nie C# & co ausprobiert hab, der Mangel an Zeit.^^
WIP Website: kevinheese.de

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

31.01.2011, 07:54

Ich will mir keine Engine schreiben, ich will Spiele programmieren! Das ist doch genauso wie mit den Pong-Klonen: wieso sollte ich jetzt etwas schreiben, das andere mindestens schon 5000x vor mir gemacht haben? Ich verstehe die Engine, kenne ihre Grundideen und ihre Funktionsweisen - was spricht also dagegen es sein zu lassen eine exakte Kopie davon anzulegen?

Ich wünschte mehr Leute hier würden das so sehen und eben keinen neuen Wrapper für SDL, DX oder SFML bauen oder wie sie noch alle heißen.
Make Games, not Engines.

Zu C# kann ich nur sagen, dass ich sehr lange dagegen war, weil es nicht nativ läuft, sondern mit einer VM. Allerdings ist die Entwicklung mit C# meiner Meinung nach so viel schöner, komfortabler und syntaktisch viel klarer und reiner als C++. Klar, C++ ist nur eine Frage der Gewöhnung, aber C# bringt sehr viel mit, was syntaktisch absolut perfekt in's Gesamtbild passt und auch das Bundle an existierenden Klassen ist einfach nur super komfortabel. Meine Meinung? Probier's. Ich jedenfalls werde dabei bleiben, so lange ich keine High-Performance-CPU-App schreiben muss, aber selbst das sind viele Spiele nicht mehr, sondern die beanspruchen ja meist nur irre viel GPU-Leistung.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

31.01.2011, 15:59

Wie so oft kommt es meiner Meinung nach auf die eigenen Ansprüche und Ziele an. Würde ich schnell ein Spiel programmieren wollen, würde ich wohl zu python+panda3d greifen, weil darin schrumpfen komplexe C++-Klassen+Vererbungen+Container+Schleifen etc. zu kleinen super handlichen Codeblöcken. Allerdings verleitet python einem zum Schluddern und wenn man nicht aufpasst wird das ganze sehr unperformant.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

7

31.01.2011, 18:20

Und hier werden mir viele wohl eine klatschen wollen
Hehehe ich klatsche lieber mit meinen Händen :)

C# ist eine sehr angenehme Sprache! Aber ich muss ehrlich sagen, dass ich fast alles angenehmer als C++ finde.

Willst du wirklich Spiele entwickeln, dann nimm UDK, Unity, Gamemaker, Flash, Torque oder andere Sachen, die möglichst auch schon Editoren mitbringen bzw. gute Workflows bieten. Falls du dir Flash CS nicht besorgen willst (gibt Schüler/Studenten-Rabatt), dann könntest du einen alternativen Workflow mit Flashdevelop und Gimp einsetzen (das ist dann aber etwas mehr auf Spritegrafik ausgerichtet). Da solltest du dann allerdings ebenfalls eine Engine benutzen (z.B. Flixel oder FlashPunk), damit du möglichst wenig programmieren musst.

Von HTML5 würde ich dir abraten, da das ganze noch nicht ausgereift ist und du doch erst wieder eine Engine entwickeln musst (in diesem Fall dann eben in javascript oder GWT, was für eine Verbesserung)... Evt. kannst du dir mal diese HTML5 Engines anschauen, vielleicht ist da was dabei, was schon was taugt: https://github.com/bebraw/jswiki/wiki/Game-Engines

Da du ja C++ schon kannst, solltest du eigentlich keine Angst vor anderen Sprachen haben. Vom Komfort wird es wahrscheinlich bei fast jeder Sprache zu einer Verbesserung kommen (natürlich evt. mit Einbußen bezüglich Vielseitigkeit).

Ich würde mir an deiner Stelle mal Unity, UDK, Torque oder die Sourceengine anschauen (wenn du in Richtung 3D willst). Bei 2D würde ich Flash oder GameMaker etc. benutzen. Du sagst ja du willst "pur" Spiele programmieren, dann solltest du alles was nicht schon etablierte Toolsets anbindet nicht benutzen.

Noodle

unregistriert

8

31.01.2011, 19:01

Find ich gut ^^ mir wurde sowieso immer davon abgeraten das Rad neu zu erfinden xD

C++ ist eigentlich meiner Meinung nach eine gute Sprache (Aber es gibt auch eine Dunkle-Seite: Umwandlungen von Typen, Bsp. wchar_t* in std::string)

C# ist wirklich einfach im gegensatz zu C++ (Was aber wirklich fast jede Sprache ist, außer Assembler und Co ^^)

KeksX

Community-Fossil

  • »KeksX« ist der Autor dieses Themas

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

9

31.01.2011, 22:14

...

Erstmal danke für den Post! Flash ist bei mir wieder total in Vergessenheit geraten...
Flixel/Flashpunk wurde hier schon oft genannt, aber ich habe es mir nie wirklich angesehen. Ich denke, das werde ich ändern. Aber genauso wie Javascript/HTML, und wenn es nur zum Jucks ist, denn Spaß macht es ja doch schon iwo ;).

Versteh mich nicht falsch, ich habe überhaupt kein Problem damit, einen Editor zu benutzen. Du hast völlig recht damit, da ich nur Spiele programmieren will [was nicht heißt, dass ich nicht auch andere Sachen programmieren will ;)], aber solche Editoren wie GameMaker & RPG Maker etc, in denen man sich quasi ein Spiel zusammenklickt, sind mir dann doch etwas zu wenig. Einfach was die Möglichkeiten angeht. Wobei ich sagen muss dass Torque verdammt gut aussieht und eventuell eine Investition wert ist.

Also wenn ich mich jetzt entscheiden würde, würde ich mich zwischen Flash, SFML/C++ oder HGE/C++ und die SourceEngine bzw. UDK entscheiden, wobei 3D da erstmal(!!) rausfällt...Torque werde ich mir auch mal ansehen... Ich werde mir mal alles noch ein wenig weiter ansehen, testen und mich dann entscheiden. Ich möchte natürlich auch gucken wie ich meine Ideen am besten umsetzen kann! Also das heißt nicht, dass ich nur eines jetzt jahrelang benutze, aber irgendwo muss man schließlich anfangen ;).
Nichtsdestotrotz bin ich weiterhin für sämtliche Vorschläge offen - ich glaube auch, dass ich nicht der einzige bin, dem der Thread hilft :)
WIP Website: kevinheese.de

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

10

31.01.2011, 23:50

Naja das Meiste wurde schon gesagt. Habe auch einige Jahre mit C++ gearbeitet und bin dann auf C# umgestiegen. Es ist wirklich angenehm und vorallem bei einem Umstieg von C++ schnell zu lernen. Wenn du eh nur für Microsoft entwickeln willst ist C# eigentlich optimal. Vorallem hat es den Vorteil durch Microsofts Xna. Damit kann man relativ schnell gute Ergebnisse erziehlen. Wenn dus noch nicht kennen solltest gucks dir auf jedenfall mal an.
http://www.xnamag.de/ auf der Seite gibts einige gute Hilfen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige