kleines 2D spiel programmieren

bywizard

Lieutenant
Registriert
Okt. 2018
Beiträge
537
Guten Tag!

Nun code ich schon seit fast 3 jahren und möchte nun mit game development anfangen jedoch nicht mit unity oder unreal engine sondern mit pure code.

Nun ist meine Frage: welche programmiersprache würde ihr empfehlen und welche librarys?

Ich kann c++, c, c#, java, python und assembler
 
ohne Framework? Wozu? UI alles selbst machen? Inkl. Sound, Texturen verwalten etc.?
C# wuerde ich nehmen, oder wenn du langeweile hast, C++.

Was heisst ueberhapt "klein"? Welche Art von Spiel? Ich meine, Pong geht relativ schnell, ein Final Fantasy oder Zelda wird wohl eher eine Lebensaufgabe.
 
ich meine schon mit framework aber z.B. kein unity oder unreal engine
eher so in richtung sfml oder sdl
 
Python harmoniert wunderbar mit SFML oder SDL. Fenster erstellen, Sprites laden, Szene rendern, nächster Frame. Vor allem kannst du Input damit sehr gut handeln. Auch pygame macht Spaß.

Wenn du dir die volle Gönnung geben willst, dann programmierst du dein Spiel aber selbstverständlich in C und SDL2 in vim und kompilierst auf der Konsole ... :D

Edit: Propritären Schrott wie C# bitte meiden.

Edit 2: Nach drei Jahren täglicher Praxis in einer der genannten Sprachen kannst du vielleicht von "beherrschen" sprechen, aber sicherlich nicht in allen und schon gar nicht in (x86?)-Assembler :D Viel zu lernen du noch hast mein sehr junger Padawan ...
 
Zuletzt bearbeitet von einem Moderator:
danke für die antworten

und ich bin grade am start von assembler
 
nehmen wir als beispiel mal unity: es ist doch einfach nur eine gui um eine welt zu bauen ohne richtigen code. es gibt ja scripts etc aber das ist finde ich doch kein coding mehr
 
KuestenNebel schrieb:
Edit: Propritären Schrott wie C# bitte meiden.
Ach Quatsch, ist ne schöne Sprache und läuft auch mit Mono. Komplett meiden muss man es nicht, darf man gerne in der Werkzeugkiste haben.
 
  • Gefällt mir
Reaktionen: Ebrithil, bog, Hayda Ministral und 2 andere
c# kann ich nicht meiden da es an meiner schule unterrichtet wird. jedoch finde ich die sprache auch nicht grade toll
 
Die Sprache selbst ist prima, auch für die Lehre.
 
  • Gefällt mir
Reaktionen: new Account()
Ernsthafte Spieleentwicklung setzt auf C++.
Skriptengines auf Javascript, Java, Python oder c#.
Professionelle Softwareentwicklung geht eigentlich IMMER mit mehreren Sprachen. Ich progeammiere im Alltag Java, Typescript, SQL, PL-SQL, Javascript, HTML, XML, UEL BPMN um Mal einige zu nennen.

Du wirst also die Sprachen brauchen ausser Assembler.
 
pseudopseudonym schrieb:
Die Sprache selbst ist prima, auch für die Lehre.
Kann man nehmen. Für die Lehre gibt es aber Besseres wie z.B. Racket. Ist wesentlich sauberer aufgebaut. Du kannst besser spezifische Paradigmen lehren. Du kannst auch eigene Sprachelemente erzeugen. Es gibt auch viel Zeugs, was so noch nicht im Mainstream angekommen ist.
Außerdem hast Du einfache einfache und nicht überfrachtete IDE dazu, die auch spezielle Features für die Lehre mitbringt.
 
LencoX2 schrieb:
Ernsthafte Spieleentwicklung setzt auf C++.
Skriptengines auf Javascript, Java, Python oder c#.
Professionelle Softwareentwicklung geht eigentlich IMMER mit mehreren Sprachen. Ich progeammiere im Alltag Java, Typescript, SQL, PL-SQL, Javascript, HTML, XML, UEL BPMN um Mal einige zu nennen.

Du wirst also die Sprachen brauchen ausser Assembler.
Könnt schwören Unity setzt auf C# und da findet auch ernsthafte Spieleentwicklung drauf statt...
 
  • Gefällt mir
Reaktionen: Madman1209
@andy_m4
Ich hab nie gesagt, dass C# die beste Sprache für die Lehre ist. Leider nutze ich sie auch nicht besonders oft, weil sie leider primär für eine andere Plattform genutzt wird, mit der ich es nicht so habe.
Allerdings empfinde ich C# als eine sehr angenehme und durchdachte Sprache mit diversen schönen Konzepten.
 
pseudopseudonym schrieb:
Ich hab nie gesagt, dass C# die beste Sprache für die Lehre ist.
Ich hab auch nie gesagt, das Du das gesagt hast. Ich habe ja lediglich ergänzt, das es für diesen Zweck Besseres gibt.

pseudopseudonym schrieb:
leider primär für eine andere Plattform genutzt wird, mit der ich es nicht so habe.
Ja aber Dank Mono oder jetzt .NET Core ist das ja kein wirkliches Problem mehr. Gut. Kommt natürlich auch immer ein bisschen darauf an, was man genau machen will. Aber grundsätzlich spricht da ja nicht viel gegen.
 
  • Gefällt mir
Reaktionen: Ebrithil
andy_m4 schrieb:
Ja aber Dank Mono oder jetzt .NET Core ist das ja kein wirkliches Problem mehr. Gut. Kommt natürlich auch immer ein bisschen darauf an, was man genau machen will. Aber grundsätzlich spricht da ja nicht viel gegen.
Ja, das stimmt.
 
Ein 2D Spiel pur in Code schreiben ist eine gute Übung, um eine Sprache zu lernen, weil man fast alle Elemente dabei vewenden muss. Mehr gibts da nicht zu sagen. Wenn du kommerzielle Ziele hast, bleib bei C# und verwende Unity.

C++ wäre sicher toll, weil es sehr maschinennah ist, d.h. du wirst Vieles über Computer lernen, dass ansonsten andere Sprachen wegabstrahieren. Z.b. Speicher, Caches, POSIX, etc.

JavaScript beherrschen schadet auch nie. Du kannst mit React.js anfangen, oder pur HTML/CSS/JS, du kannst mit WebGL...
JavaScript selbst ist relativ einfach. Du musst nur den EventLoop verstehen. In einem realen Job musst du das ganze Ökosystem beherrschen. D.h. Linter, Transpiler, Packager, NPM Dependencies, Debugtools etc... Das kannst du alles im Rahmen deines Spieleprojektes auch lernen. Erwarte bei JavaScript keine herausragenden theoretischen Konzepte von der Sprache selbst zu lernen. Grundsätzlich alles an plain old JavaScript ist schlecht und alle tollen Neuerungen machen daraus ein Flickwerk sondergleichen. Ein bisschem funktional hier, ein bisschen OO hier. Pro Tipp: Verwende ES6 + Babel. Das ist nicht so schlimm :) Aber, JavaScript wird für immer bleiben
 
Wir haben damals im Studium auch 2D Games direkt in C mit OpenGL + ich glaube GLFW geschrieben. Bringt auf jeden Fall was fürs Verständnis wie sowas eigentlich funktioniert.
 
Fürs Verständnis würde ich noch folgende vorschlagen:

Und in dem kleinen Buch 'C++ eine Einführung' von Ulrich Breymann wird auch ein kleines Spiel geschrieben.
 
Zuletzt bearbeitet:
Zurück
Oben