So genau kann man das nicht sagen. Auf neueren CPUs mag das vielleicht stimmen, jedoch gibt es garantiert Prozessoren, die etwas einfacher zu programmieren sind.
@@universebug5423 Früher waren einfach die Compiler schlechter und die Systeme hatten gewisse Stolpersteine, die ein Optimieren schwer gemacht haben (Memory Banking usw.)
Die armen Programmierer, die in Assembler die Konsolenspiele programmieren mussten. Ich versuche mich auch gerade bei einem Mikrocontroller in Assembler, aber alles was mehr als 100 Zeilen Code hat wird total unübersichtlich und man versteht seinen eigenen Code nicht mehr :(
Auch wenn man es auf Anhieb nicht direkt sieht, gibt ASM die Möglichkeit alles sauber und strukturiert aufzubauen. Wenn du davor in C intensiv programmiert hast, dann wirst du dich auch sehr schnell in ASM einarbeiten können, denn auch dort werden wieder Strukturen, Pointer, Funktionen benötigt. Und natürlich die Speicherreservierung und Freisetzung. Und bis hierhin hab ich noch gar nicht erwähnt, dass die meisten auf fertige Bibliotheken und sogar ganze Frameworks zurückgreifen, welche nicht direkt nur dafür gut sind um mit irgendwelchen Schnittstellen zu kommunizieren, sondern auch tatsächlich um dir das programmieren leichter zu machen.
Endlich Tom! Danke für diese Aufklärenden Worte! :D Ich arbeite seit bestimmt 4 Jahren mit GML also Game Maker, weil ich mit meinem 18 Jahren bisher noch nichts einfacheres gefunden habe, wo ich mich nicht mit Java/Java Script auskennen muss oder eine Library brauche um mir simpel auf dem Bildschirm Sprites und anderes Gedöhns aus zu geben. :)
+Pascal Ich bin auch stark an Game Maker interessiert aber das gibts noch nicht vernünftig für den Mac, Aber GMS2 sollst ja auch für Max und Linux geben!
Ich hoffe für dich, dass Game Maker für dich bald richtig zur Verfügung steht! :) Ich weiß auch gar nicht warum Game Maker so angezweifelt wird? Klar, mit drop'n'drag zu "programmieren" ist an sich keine richtige Informatik wie man sie herkömmlich kennt, aber ich programmiere beispielsweise nur mit Scripts. o.ô Das bedeutsamste für mich an Game Maker ist, dass ich mich nicht mit der Syntax ärgern muss, auch wenn ich die Stränge mit dem Semikolon und geschweiften Klammern für mich einhalte, und stattdessen eher die Funktionalität von Game Maker lernen kann. :) Und übrigens ist das schöne, dass man auch was im Kopf haben muss und wirklich nur dann wirklich qualitative und eigene Spiele entstehen. Man kann also trotzdem noch von "i-wannt-too"-Games unterscheiden. Viele Grüße Pascal :D
Ehrlich gesagt kann ich die erste Aussage überhaupt nicht unterschreiben. Vielleicht verkehre ich in den falschen Kreisen (größtenteils professionelle Programmierer), aber da denkt niemand, dass C++ irgendwie besonders super ist. Aber es kann natürlich sein, dass das vielleicht noch eine generelle Meinung ist. Auch sind u.a. einige fachliche Schnitzer dabei: 3:30 Compiler übersetzen in Maschinencode, nicht in Assembler 4:20 der neueste C++ Standard ist C++14, aus 2014, C++17 ist dann der nächste. Also nicht direkt unbedingt aus dem Jahre 79. 5:30 nicht nur C und C++ müssen kompiliert werden. Assembler muss das auch. Denn es ist nur eine lesbare Art des Maschinencodes, dieser muss noch in wirklichen Maschinencode übersetzt werden. Sonst müsstest du nur mit Einsen und Nullen programmieren. Ansonsten aber eine vernünftige Sicht auf die Dinge. Am besten das nehmen, was man schon kann. ...zumindest wenns nichts gerade Visual Basic oder Brainfuck ist.
Natürlich gibt es keine "beste Programmiersprache", aber C++ ist von allen bekannten Sprachen die vielseitigste. Man kann sowohl Hardware-nah programmieren (geht mit Java, C#, Kotlin, den vielen Skriptsprachen und so weiter nicht), als auch abstrakt (geht in Assembler nicht und in C nur sehr eingeschränkt). C++ ist die einzige echte Multi-Purpose-Programmiersprache, aber genau deswegen auch sehr umfangreich und komplex und daher nichts für Skript-Kiddies. :-)
8:40 Früher habe ich dein Content nur fürs spaß angeschaut, nicht wirklich wegen wissen. War halt witzig. Zurück schauend hast du wirklich recht. Sogar in mehr ebenen. Man sollte ein Programm nehmen was am praktischen ist. Will man ein RPG machen kann man es in Java oder so machen, wenn man es am besten kann. Aber der RPG Maker oder Game Maker schadet aber auch nie.
ich hab mal gehört, dass die Programmierer, die darmals die Hardware der Konsole besonders gut verstanden, gewisse Tricks in ihre Software einzubauen, die dann noch mehr leiistung aus den einzelnen Chips holen konnten.
Ich würde eine Sache einheitlicher formulieren: Assembler ist nicht schneller als C++ und C++ ist nicht komplizierter als Sprachen wie GML. Assembler überlässt einem Programmierer mehr Kontrolle über performance-relevante Aspekte als C++, und C++ wiederum mehr als GML. Und mehr Kontrolle heißt, dass ein guter Programmierer damit besseren Programmcode schreiben kann, man aber eben auch einen besseren Programmierer braucht bzw. derselbe Programmierer mehr Zeit investieren muss und mehr Fehler machen wird.
Es ist klar dass C++ langsamer, bzw meist maximal gerade so schnell sein kann wie Assembler, da C++ in Assembler übersetzt wird. Ich persönlich mag C++ sehr viel mehr als Java, C, C# oder andere Sprachen, da es für mich der perfekte Mix zwischen Komfort (nicht so umständlich wie Assembler und im Vergleich zu C viele gute Features wie Klassen) und schön Systemnah (kein Auto-GarbageCollecting ausser man benutzt bewusst Smart Pointer, genauere Kontrolle über Referenzen und Pointer, etc. Java z.b. finde ich da ein wenig blöde dass man keine Primitives per referenz/Pointer übergeben kann, oder dass man Objekte nur per Referenz übergeben kann). Ich finde übrigends Deinen Vergleich mit C++ zu RPG Maker etwas unfair, da RPG Maker schon viele Dinge mit sich bringt, wie eine Benutzeroberfläche, Map Editor, etc, also da vergleichst Du nicht Programmiersprachen, sondern eine Programmiersprache mit einem bereits fertigen Toolpaket, etc. Anonsten aber ein schönes Video. :)
Naja was heißt unfair, es ging ja mehr ums Prinzip und das anhand eines einfachen Beispiels erklärt. Und Tom hat ja auch gemeint, dass man ruhig Tools/Engines/Frameworks nutzen soll, wenn es einem Arbeit und Zeit erspart. Sicherlich müsste man rein von den Sprachen eher C++ und Ruby (war doch glaube die Sprache beim RPG Maker?^^) vergleichen. Trotzdem passt der Vergleich zur Kernaussage des Videos (bzw. ein Teil des Videos): Nutze die Möglichkeiten um Zeit zu sparen, auch wenn die Performance nicht High-End ist.
@@GortunNET Ich glaube das größte Problem ist, dass jede Programmiersprache etwas anderes Besser kann oder halt komfortabler ist, aber viele sich in eine spezielle Programmiersprache eingearbeitet haben. Wenn man also C++ beherrscht und dann jemand um die Ecke kommt und dir sagt, dass das mit z.B. RPG-Maker viel schneller geht, würdest du nur den Kopf schütteln, weil du dich dafür in ein dir fremdes Programm erst einmal einarbeiten müsstest, was auch wiederum lange dauern kann. Ich selbst kenne dieses Problem nur zu gut. Mittlerweile beherrsche ich ungefähr 15 Programmiersprachen teilweise. Davon brauche ich aber eigentlich nur 3-4, weil die ganz unterschiedliches können. Ja C++ ist kompliziert. Aber du kannst dank vieler Librarys fast alles damit machen. Manchmal halt auf Umwegen, aber das interessiert dann niemanden.
Danke, ein sehr schönes Video, mit einem sehr interessanten Thema. Für mich, der lange nur in Lisp und Python ohne Engine programmiert hat(vieles musste man selbst machen und war umständlich), war es irgendwie schwierig mich mit der Unity Engine zu vertragen, da ich nicht mehr alles selbst machen musste. Das fühlte sich ein bisschen wie cheaten an, aber mittlerweile sehe ich die Engine nur noich als besseres Werkzeug an. LG Pizza_Train
+Pizza Train Genau dieses Gefühl des "cheatens" ist auch typisch Programmierer und kenne ich auch gut. Da muss man lernen über seinen eigenen göttlichen Schatten zu springen.
Ich bevorzuge (momentan noch) C# (gesprochen c sharp) für alles was ich mache. Ok ich baue keine krassen Games sondern hauptsächlich Desktop Software. Es läuft gut und ist (zumindestens für mich) einfach zu schreiben.
Sollte ich eher C++ lernen oder Java hab schon Erfahrungen mit JavaScript (Als einstiegsprogrammiersprache) Möchte eher kleinere Sachen machen, aber mit GUI allerdings benötige ich keine super schnelle Rechenzeit
Ich Programmiere schon seitdem ich 12 Jahre alt bin, ich habe mit Minecraft Plugins angefangen (Sie sind mit Java gecodet). Ich wurde dafür von anderen Leuten die schon seit Jahren programmieren immer ausgelacht, weil sie meinten das Java die einfachste Sprache der Welt sei. Ich arbeite aber momentan an meinem ersten 2D Spiel (C++) und finde mich in diesem Code viel besser zurecht. Ich brauchte kaum eine Woche schon wusste ich wie und was ich machen muss damit es funktioniert... Kann es sein, dass es mir jetzt deswegen nur so einfach vorkommt weil ich schon "vor-erfahrung" habe oder C++ einfach nur einfacher ist?
Ich finde C# besser, liegt aber an Unity :D Allgemein würde ich aber sagen, wenn man die Logik einer Programmiersprache inne hat, kann man sich leicht an andere Syntaxen anpassen. Ich hab zb. früher nur PHP gelernt, hab dann bock auf Android gehabt, hab dann Java angefangen, hab dann bock auf Games gehabt und hab damit C# + Unity angefangen.. Und irgendwie war es weniger schwer sich umzugewöhnen. Ich persönlich bin aber jetzt schon so im Workflow eines Unitys, es fällt mir tatsächlich schwer mit dem GameMaker etwas gescheites zu machen, einfach weil es anders ist, weil es runter gebrochener wurde.
+iKlikla Bin grad nicht mehr aktuell bei Java, aber zumindest eine Zeit lang hat es gefehlt - Lambda expressions - asynchrone Programmierung mit async/await - Properties - null propagation mit C#6 in Verbindung mit dem null coalescing operator - Extension methods Dazu natürlich noch die genannten Dinge Das einzige was mir bei C# von Java manchmal etwas fehlt sind inline-Interface implementierungen (gerade bei Listenern)
sideKick schon mal „The Long Dark“ gespielt? Dieser „Unity Krebs“ existiert nur weil die Engine kostenlos ist, weshalb viele Leute einfach zum lernen solche Spiele machen wie Slender. An sich ist die Engine ganz klar top, das kann keiner wirklich bestreiten.
Ich brauche Hilfe!!! Ich habe gerade ein Schulpraktikum gemacht wo ich HTML und CSS gelernt habe. Ich möchte mich jetzt aber nicht mehr länger im Bereich Webdesining beschäftigen, sondern mich mal ins Spieleprogrammieren wagen. Also würde ich von Erfahrenen gerne hören wo ich gut anfangen kann, also welche Sprache und Programme. P.S. Ich interessiere mich in Windows oder Android gaming.
Was mich bei Java und C# ungemein stört? Der undeterministische GC, weshalb man statt des kompfortablen RAII von C++ mit IAutoCloseable herumhacken muss. Bei Java finde ich mich eindeutig hinsichtlich der Ausdrucksstärke beschnitten, in Sprachen wie C++, aber auch neu aufkommende wie Rust kann ich mich viel besser ausdrücken und konfigurieren, was denn nun eigentlich geschehen soll. C++ hat mindestens seit C++11 sehr viele nützliche Dinge dazubekommen, Sache wie Streams, Module (!) und Unicode(!!!) haben aber dringend überarbeitungsbedarf, da wünsche ich mir sogar das Java her^^
Achtung: viel Text! "Warum hat man dann nicht [...] C oder C++ genutzt" - "C++ ist zu langsam" (1:33) Durchaus möglich, dass der C und C++ Compiler damals noch nicht sonderlich ausgereift war bzw. für einige Platformen noch gar nicht existierte. Auch die simple Hardware, z.B. der Z80 (ähnliche) CPU vom GameBoy, machte es nicht unbedingt schwer ein Programm kürzer und performanter zu entwicklen, als wenn man es einem Compiler überlassen hätte. Heutzutage sieht das anders aus, denn moderne Hardware und Betriebssysteme sind sehr viel komplexer. Genauso sind auch Compiler komplexer und besser geworden. Wer heute noch ein Spiel in Assembler schreiben will, weil er denkt sein Code läuft damit schneller, wird am Ende sehr enttäuscht sein. Eine Sprache, wie C/C++ oder Assembler ist auch nicht schnell, wenn der Programmierer sich nicht auskennt. (Das gilt eigentlich für jede Sprache) Kleines Beispiel: Angenommen man programmiert in C/C++ und möchte ein 2D Array mit einem bestimmten Wert initialisieren. Funktionen in der Standart Library wie memset lassen wir jetzt mal weg. Was wäre besser? Das Array spaltenweise zu durchlaufen, oder zeilenweise? for (size_t y = 0; y < height; ++y) for (size_t x = 0; x < width; ++x) array[x, y] = value; // zeilenweise array[y, x] = value; // spaltenweise Die richtige Antwort ist zeilenweise, da man nämlich den Cache mit beachten muss. Bei der spaltenweisen Iteration, hat man im schlechtesten Fall bei jedem Zugriff ein Cache Miss, wodurch jedesmal der CPU Cache neu geschrieben werden muss, was eine viel langsamere Ausführung zur Folge hat. C/C++ erlauben dem Programmierer derartige Dinge zu kontrollieren. Andere, Garbage Collected Sprachen, wie Java, nicht. Und gerade in der Spieleprogrammierung kann sowas, je nach Programmkomplexität, häufig problematisch werden. Ob GC jetzt gut oder schlecht ist, ist eine andere Frage, weswegen ich da jetzt auch nicht weiter drauf eingehe. Wen es interessiert kann sich ja mal diesen Thread durchlesen. www.spieleprogrammierer.de/20-offtopic/25643-gc-fluch-oder-segen/ Geschwindigkeitsverlust von C auf Assembler (5:40): Nicht unbedingt. C ist immernoch relativ simple und hardwarenah, wodurch der Code ziemlich gut auf Assembler übersetzt werden kann. Ein erfahrener Programmierer könnte sogar erkennen, wie der zugehörige Assembler Code aussehen wird. Bei C++ stimme ich zu, dass es durchaus einen Tick langsamer sein könnte, u.a., weil die STL z.T. recht viel Overhead erzeugt. Dazu kommt noch der durch OOP entstehende Overhead. Wobei das alles im Grunde wieder wenig mit C++, sondern mit dem Programmierer zu tun hat. Lässt man das alles weg ist man fast schon wieder bei C. Kurz zu der Java Bemerkung: "Wir haben ein Programm das wir in die Welt werfen und es funktioniert überall" Naja, zumindest auf Systemen, die eine Java VM und genug CPU und RAM haben, um ein Java Programm anständig ausführen zu können. Im Übrigen, auch wenn es leichter und schneller gehen würde ein Spiel mit GameMaker, Unity oder RPG Maker zu entwickeln, macht es nicht unbedingt Spaß. Sicher, für viele ist die Spieleentwicklung an sich das was Spaß macht. Einige, und da zähle ich auch mich selbst dazu, haben aber auch Interesse an dem was dahinter liegt und bevorzugen einfach Dinge selber zu implementieren. Es würde nicht schaden, wenn mehr Entwickler schonmal ernsthaft in C/C++ programmiert hätten, damit sie ein grobes Verständnis von dem haben, was unter der Haube passiert. Es ist nämlich nicht immer gut, sich auf den Interpreter zu verlassen, dass der schon alles irgendwie regelt. Das Paradebeispiel ist Minecraft. Ein Spiel, das als Hobbyprojekt in Java angefangen hat, aber mit der Zeit immer bekannter wurde, wodurch immer mehr Features hinzu kamen, ohne auf Performance und Code Qualität zu achten. Allein schon die Tatsache, dass VBOs erst mit 1.8 eingeführt wurden, zeigt schon die Inkompetenz der Entwickler. Wer den Post vom Optifine Entwickler nicht kennt, kann ihn sich hier mal durchlesen, um eine grobe Vorstellung vom Minecraft Code zu bekommen: www.reddit.com/r/programming/comments/2jsrif/optifine_dev_minecraft_18_has_so_many_performance/
Ich hab letztens aus Langeweile einen Pong-Klon direkt in Hex-Maschinensprache auf einem alten Z80 entwickelt und mit einer in C kompilierten Variante verglichen. Tatsächlich war der Performanceunterschied unglaublich gering, der Programmaufbau liegt eng zusammen. Probs an den Compiler :D Allerdings ist Minecraft performancetechnisch wirklich Schrott, das würde jeder Depp besser hinbekommen.
+Dar Listener Solltest mal nach dem Entwickler von RedPower Googeln der hat nämlich genau das gemacht halt in C++ was sicher 10 bis 100 mal so schnell läuft wie MC und noch dazu shader mit sich bringt leider wirkt es mir fast schon einwenig zu realistisch.
Da hat mir mal ein guter Freund ein schönes Sprichwort gesagt vor kurzem "Kannst du eine Sprache, kannste theoretisch alle (bzw andere auch leichter lernen), weil von der Grundsyntax her die meisten Sprachen ähnlich aufgebaut sind"^^
Spiele entwickeln habe ich in keiner Schule gelernt. Ich habe in meinem Studium zur Angewandten Informatik einfach angefangen als Schulprojekte Spiele zu nutzen.
LetsGameDev gibt es in diese richtung schulen ? weist du das zufällig ? und wenn ja welche vorraussetzungen man bracuht ich bin leider zu blöd um sowas zu finden -.-
Das machen viele Sprachen so. Und im Grunde macht C das ja auch so. Es ist immer ein Übersetzen von etwas "einfachen/verständlichen" in etwas performantes, also Machinencode (Oder ähnliches)
Also wenn ein Compiler so wie der Google Translator wäre, würde ich ein Minecraft ähnliches Spiel bekommen, wenn ich The Crew starte xD Mir geht's aber in solchen Themen nun halt mal ausnahmsweise nicht darum Nicole zu bummsen, sondern viel Wissen in mich aufzusaugen und wenn ich irgendeinen Game Maker benutze, habe ich das beschissene Gefühl geschummelt zu haben und eigentlich habe ich nichts gelernt. Außer wie eine Software von tausend anderen funktioniert.... UPDATE: Ich bin jetzt auf den msdn bzw. developer Seiten sehr aktiv, das war eigentlich das was ich gemeint habe :D
Also ich fasse zusammen: Du willst als Anfänger keine extra für Anfänger gefertigte Software (wie z.B. GameMaker) benutzen und willst mit ner Programmiersprache ohne irgendeine Art von erfahrung ein Spiel herbeizaubern? Hier sind drei Vorschläge: 1. Du wählst dir eine "komfortable" Programmiersprache wie Java oder C# oder sogar Python aus und kaufst dir ein dazupassendes Buch um die GRUNDLAGEN der Programmierung zu verstehen und mit vielen Textprogrammen zu verinnerlichen. Dann fängst du an dir Bibliotheken anzuschauen, um Spiele mit Grafik zu programmieren und arbeitest dich immer weiter hoch...mit dem Risiko aufzugeben. 2. Du benutzt eine Gameengine wie z.B. GameMaker lite, schaust dir ein paar Tutorials und die Dokumentation zu GameMaker language an (ja gamemaker hat ne eigene Programmiersprache!!) und fängst sofort damit an pixelchen von a nach b zu bewegen. 3. Du wählst dir eine "performance" Programmiersprache wie C, C++ oder ... nein nicht Assembler ... aus und wirst beim ersten richtigen Programm wegen einem Logikfehler scheitern und aufgeben. Ich hatte mich für Schritt 1 entschieden (hab auch erst vor 2 Jahren angefangen mir selbst Programmieren beizubringen da unsere Schule Informatikkurse erst ab der Oberstufe anbietet) ud bereue es bis jetzt nicht.
Wow...ich hätte nie gedacht dass du jemals auf einen meiner Kommentare antworten würdest O.o (Ich liebe deine Videos). Und du hast recht. Ich sollte das nächste mal vielleicht erst Nachdenken und dann Schreiben. Ich wollte damit eig sagen dass das erstellen von Spielen mit GameMaker viel einfacher ist (das heisst aber nicht dass es trotzdem einfach ist) als z.B. nur mit einer (oder mehreren) Programmiersprachen allein.
ZeroClawStudios Wll, i know that. Ich habe tatsächlich "schon" drei Jahre Erfahrung in Java und dort auch schon mein erstes kleines Spiel in 2D gerendert. Allerdings habe ich mich bei Java nicht gut aufgehoben gefühlt, weil es nun halt mal nicht die Möglichkeiten mal eben bietet wie C++ oder andere. Ein C++ 1000 Seiten Buch habe ich fast durch. Und Informatik hatte ich seit es ging (10) und habe mein Abi unter anderem darin gemacht und werde in Zukunft die Uni in Braunschweig besuchen, um dort weiter mit Informaitk zu machen :D Sogar mit SFML habe ich mich schon auseinander gesetzt.... Also habe schon Ahnung und ziehe mir nicht einfach hier so ein Video rein im Glauben, dass ich hier sofort zum Pro werde. Ich lerne halt lieber erstmal selber wie ich mein erstes simples Window programmiere und anzeige anstatt direkt die großen Schinken rauszuhauen :D
Einen Moment mal...also als erstes: DU hast bereits ein 2D Spiel "gerendert" und willst jetzt eine simple Benutzeroberfläche programmieren? Ich glaube sowas solltest du schon gemacht haben XD (Eigentlich schon da du ja seit 10 Informatik hast). Dein Abi haste ja schon, also solltest du doch nach so vielen Jahren schon viel erfahrung gesammelt haben, oder irre ich mich? Und ich sage es jedem der mit seinem 1000 Seiten langen Buch-Geschichten ankommt: Ein BUCH alleine wird dir NIEMALS Programmieren beibringen können. Was willst du überhaupt mit einem 1000 Seiten langen Buch anfangen XD? Aber jetzt mal ganz im ernst...deine "Geschichte" scheint mir wirklich sehr weit hergeholt...schönen tag noch und viel Erfolg.
C++ ist die beste Hochsprache. weil sie leicht, direkt und schnell ist. Außerdem war das die erste programmieresprache gelernt habe. java code wird ja in bytecode compiliert und ist darum langsamer als C++. wenn ich ein Spiel in Java für denn PC programmiere wird sie auf Android nicht funktionieren.(andere sdk)etc.
Das ist durchaus ein gutes Argument das ich ja sogar erwähne. Du brauchst nichts neues lernen, wenn das was du kannst ausreicht u das was du erreichen möchtest zu schaffen.
Hallo erstmal. Von mir erstmal eine kleine Frage. Was ist eurer Meinung nach die beste Game-Engine ( wenn ihr überhaupt eine Engine empfehlen würdet, wovon ich aber schwer ausgehe ) um Mobile Apps / Spiele zu programmieren? Ich bin schon ein recht eingefleischter Unity-Nutzer, wollte mir aber auch mal andere Standpunkte anhören, vielleicht sogar noch etwas dazu lernen, da ich im Moment sowieso zu viel Zeit habe. Danke schonmal im Voraus
Hey, Habe mal ne frage... Also ich will ein 2d spiel Programmieren wie genau lerne ich c++ damit ich spiele programmieren kann?auf youtube finde ich nicht zu viel gutes... meine frage wie habt ihr das gelernt?ich will eigentlich erstmal nur ein kleines 2d spiel und weiss halt auch nicht welche programme sich am besten dafür eignen... hoffe jemand kann mir helfen
Aber was ein wichtiger Fakt ist: Während man die Systemnähe und die damit zusammenhängende Performance nicht verändern kann, kann man im Gegensatz die Sachen wie Komfortabilität mit häufigem Arbeiten einer Programmiersprache sich nach und nach angewöhnen.
+currykingapfel s Sich an etwas gewöhnen macht es aber nicht komfortabler. Wenn ich ne Couch habe die mir mit den Federn in den Rücken drückt, da kann ich mich daran gewöhnen. Aber wenn ich dann auf eine andere Couch sitze, bei der alles in Ordnung ist und die nicht unbedingt 20 Jahre alt ist, dann werde ich sie trotzdem komfortabler finden.
+currykingapfel s Mit Komfort sind in dem Kontext wohl noch Dinge wie das Framework gemeint. Mit Assembler fängst du an Punkte zu malen, mit C++ Linien und mit RPG maker sagst du, du willst Person X mit der Animation Y zeichnen. Wenn es diese Funktion doch nur in Assembler gäbe :D Sowas kann man sich nicht angewöhnen, man kann es nur selber programmieren oder hoffen, dass es jemand anderes mit deinen Anforderungen programmiert hat (was man aber auch bei RPG Maker hoffen muss, dass man keine Anforderungen hat, die nicht implementiert sind).
Könnte man nicht die Games von früher auch in C++ schreiben, sich den generierten Assembler Code ausgeben lassen und dann nur diesen noch zu optimieren?
Aber diese weiteren "Programmiersprachen" wären dann ja (nach deinem vorigen Beispiel) Ein von Google übersetzter Text, der dann wieder von Google übersetzt wird usw usf. Ich habe einfach mal gelernt, dass man die Sprachen nach der Systemnähe einordnet. Nachdem man vom Typ unterscheidet. (Compiler || Interpreter || VM) Hinzu kommen die Glue - Sprachen (Perl, Lua usw). OK, ich schrieb gerade während des Schauens. Am Ende des Videos hast du es auch etwas angeschnitten, was ich hier meinen wollte. Das Gebiet ist einfach zu umfassend, um es Einsteigern allgemein gültig erklären zu können. Ohne einige viele Auseinandersetzungen zum Thema kommt man da nicht weit. Also lernen, lernen, lernen und nicht nur UA-cam! Super Video! so far Icke
Hi,Ich hab mir jetzt einige deiner Videos reingezogen um zu lernen,wie man programmiert,was Java etc. ist. Ich habe KEINE Ahnung von dem allen und das überfordert mich Alles ein wenig...aber,wie du schon sagtest:"Mein Name ist Tom und es gibt noch viel zu lernen" Mein Problem ist halt,dass ich extrem ratlos bin. Welche Sprache ist geeignet für mich? wie gesagt: ich kann Garnix. Das Ende mit Hotline Miami hat mich zum überlegen gebracht. "reicht Game Maker dings da für mich?" Ich will ja kein Tomb Rainer entwickeln.
Danke, für die schnelle Antwort! :) ist Game Maker auf irgendwas zugeschnitten? Also,für Mobile,Pc,2D etc. Und eine Frage noch: Was ist Game Maker? Eine Sprache? Also nur damit ich es verstehe. Ich game Maker ist keine Sprache,oder?!
Es kommt auf dein Ziel an. Willst du einfach nur eine Idee für ein RPG umsetzen, nehme den RPG-Maker. Willst du später professioneller Spieleentwickler werden solltest du dir C++ antun und dir danach C# ansehen. Wenn du in deiner Freizeit gerne langfristig Spiele Entwickeln möchtest wäre ein Zwischenweg nicht schlecht. Meiner Erfahrung als Programmierlehrer nach, ist C# mit Unity sehr gut dafür geeignet. Aber im Grunde ist es egal. Sobald du Scriptest, Programmierst oder Designst, machst du Fortschritte und lernst etwas dazu. Unabhängig von Sprache oder Tool.
Ich habe dazu eine Frage: Ist ein C/C++ Programm wirklich langsamer als ein in Assembler geschriebenes, weil die compiler optimieren ja inzwischen extrem stark?
+Vadammt Wenn es um komplexe Dinge geht, werden die Compiler besser sein als jeder Mensch. Es kann ab und an aber vorkommen, dass sehr kleine Aufgaben von Hand geschrieben werden.
Naja, die Performance hängt vorallem vom Programmierer ab. Ein guter C# Programmierer kann durchaus schnelleren Code schreiben als ein schlechter Assembler-Programmierer. Ich würde mir erstmal keine Gedanken um die Performance machen. Sobald es auf dem Zielsystem Probleme gibt, kann man immernoch optimieren(in der Regel wird 20% des Codes in 80% der Zeit ausgeführt). Optimiert man diese 20%, die meist in verschwachtelten Schleifen ausgeführt werden, kann man die Performance innerhalb kurzer Zeit steigern. Das wichtigste, wenn es um Performance geht, sind die verwendeten Algorithmen und ihre Komplexität. Danach kommen die verwendeten Datenstrukturen und danach erst die Programmiersprache. Komplexe Algorithmen lassen sich in abstrakteren Sprachen einfacher optimieren. Übrigens optimieren Kompiler heutzutage so gut, dass sie in manchen Situationen selbst sehr erfahrene Programmierer übertreffen können. Assembler ist also keinesfalls unbedingt schneller(das war früher vielleicht so). Heutzutage gibt es eigentlich keinen Grund Assembler zu verwenden. Es sei denn, für das Zielsystem gibt es keinen Kompiler für eine hohe Programmiersprache.
Ich möchte später mal anfangen, Spiele zu programmieren. Eventuell sollen diese auch online sein. Es würde allgemein wahrscheinlich in Richtung LeagueOfLegends gehen, zumindest von der Person aus (glaube 4th person). Außerdem soll es die Spielstände natürlich online speichern, wenn ich wirklich großen Spaß dran habe vielleicht auch was wie Gilden/Clans. Welche Programmier Sprache ist da am besten und was brauch ich dafür (Server) oder so. währe cool wenn du so viel wie möglich beantworten könntest :D
Das klingt nach einem großen Vorhaben! Sei dir bewusst, das an solchen Spielen 10 bis 50 Programmierer und insgesamt einige hundert Leute Jahre lang arbeiten. Wie wärs, wenn du meine oder andere Spieleprogrammiertutorials durchprobierst um zu gucken, ob das überhaupt etwas für dich ist? Das wichtigste: Fang klein an und reduziere dann.
@@LetsGameDev Naja es soll nicht so wahnsinnig groß wie LoL werden sondern deutlich kleiner. Es ging nur darum das es auch 4th Person sein soll und nur eventuell online. Also erstmal nur offline.
Auch die obere ansicht wird als 3rd Person bezeichnet. 1. Person: Man selbst 2. Person: Aus der sicht des Gegners (Sehr sehr selten) 3. Person: Kamera ohne echte Erscheinung. Die Frage nach der richtigen Sprache ist zweit oder drittrangig. Tu das was ich dir gesagt habe und dann wirst du dem entsprechend die Sprache nutzen müssen die dir die Engine vorgibt.
Hat der Junge gut gemacht und gut gesagt. es gibt keine "Beste". Man braucht immer Das "Werkzeug" für die Aufgabe die man Lösen will. Ich arbeite seit 1983 mit diversen Sprachen. Ja, für jede Aufgabe braucht man das richtige Werkzeug. Mal ist es Assembler, mal C, C++, C#, Python, Java, Bluebird oder was auch immer. Benutzen "müssen" ist ganz klarer Unsinn. Man sollte das nehmen was auch für das Produkt sinnvoll ist. Hat er sehr gut erklärt und kann ich nach über 35 Jahren praxis nur bestätigen. Es gibt nichts besseres als das was man braucht und nicht muss. Um zur Arbeit zu kommen reicht der Bus, man kann auch das Fahrrad oder das Auto. Manche reden eben zuviel und sagen, du mußt mit dem Ferrari zur Arbeit fahren. ne muß man nicht, das Fahrrad reicht! Oder? So isses auch mit Sprachen oder Programmiersprachen! Super gemacht das Video, Respekt!
Für mich ist das ganz klar eine Frage der Performance. Wenn es performant sein Soll C++ und wenn es möglichst komfortabel sein soll C#. Mit C++ kann vor allem als Anfänger viele Fehler machen.
C# ist ja auch eine leichte und ziemlich gute Sprache (besonders für Einsteiger). Ich habe selber 6 Jahre lang nur C/C++ programmiert, bin dann jetzt vor einem guten Jahr auf C# umgestiegen und habe mehr erreicht, als in den ganzen 6 Jahren zusammen (Ok, da habe ich ja auch noch die grundlegenden Prinzipien gelernt^^') PS: C# wird in DEUTLICH mehr Engines, als nur Unity genutzt z.B. von Anvil, HeroEngine, teilweise von der Unreal Engine und das gesamte XNA-Gameframework wurde in C# geschrieben und nutzt es auch als Programmier/-Scriptsprache. PPS: Google einfach mal "engine using c#"
+OtakuNewb Wobei fast alle der engines diese aufgezählt hast In C++ geschrieben sind aber eben weil C++ so super ist auch mit C# zusammen arbeiten können für Leute die schnell ans ziel kommen wollen sind die am besten für welche die verstehen wollen wie man z.b eine Engine baut oder wie man spiele performanter hinbekommt ist C++ sicher keine schlechte Wahl ich finde einfach man sollte wissen was es für einen aufwand mit bringt z.b eine engine zu entwickeln denn dann weiß man auch was man benutzt und kann auch gleichzeitig während des spiele Bauens auch die engine erweitern.
Ich habe gerade bei Candy Bag das Wichtelfutter von Level ~ 100 auf Level 22540 gebracht. Mein Zeigefinger wäre fast abgefallen^^. Vielleicht wäre eine Funktion ganz nützlich, die soetwas verschnellert?
Toll. Jetzt weiß ich immer noch nicht welche ich verwenden sollte. :D Tolles Video. Mein Abo hast du. Werde mit mehr ansehen. P.s. Mein ziel wird es sein ein 10-köpfiges Team aufzustellen und ein Echtzeitstrategie Spiel für den Anfang entwickeln. Publisher suchen... Ende. (In sehr sehr ferner Zukunft). Muss mich ja erstmal für eine Sprache entscheiden. Und lernen lernen lernen.
MicPro-Duction Hey, vor dieser Frage stand ich auch vor einem halben Jahr. Um dir zu helfen, müsste ich wissen, ob du schon denkst das Programmieren total cooles ist oder ob du dir da nicht so ganz sicher bist. Dann könnte ich dir weiterhelfen ;) Mit freundlichen Grüßen Simon Schmitt
Damals, damals...HEUTE ist C++ Standart für AAA-Spiele. Virtual Reality SDK's, moderne Konsolen, Unreal Engine Module ,Vulkan API (Graka richtig ins schwitzen bringen) etc. kannste alles mit C++ performant und korrekt umsetzen. Und da kriegste dann als "Spieleprogger" auch ordentlich Moneten. Richtig Zaster Junge!
Sehr interessantes Video, wenn auch (für mich) wenig neues :D Trotz allem bleibt meiner Meinung nach Java zu empfehlen, wenn man mit dem programmieren anfangen möchte (außer man will jetzt unbedingt für Mac OS oder iOS entwickeln bspw.), da man sofort auf allen Plattformen einfach loslegen kann und eine große Reichweite erreichen kann, allein mit Java kann man halt Windows/ Mac OS/ Linux ansprechen und auch Android Apps schreiben
+DerInformatiker Du kannst aber auch C++ für alles mögliche kompilieren, bei Java ist nur das verteilen einfacher, weil die gleiche .jar überall läuft.
+Hippo Wobei das man auch sagen muss java verwendet noch immer Carbon was ja demnächst fliegen wird weil sich keiner die mühe machen möchte eine Api für Coca für C++ zu bauen die man nativ Benutzen kann da Apple hier will das alle auf Objc oder Swift wechseln was mit java sicher schwer bis garnicht funktioniert insgesamt als C++ programmierer würde ich swift eher empfehlen als ObjC das ist einfach ein Syntaktischer graus. Und wer hat jetzt bock eine Coca API in Assembler zu bauen für C++ und Java ?
Hi Tom, wollte mal fragen welche Programmiersprache du für Anfänger Stufe: Noob Noob Noob empfehlen würdest. Und muss man wirklich für das Programmieren von Spielen gut im Schulfach Mathe sein ? Würde mich über eine Antwort freuen, bin nähmlich noch unstimmig ob ich das später als Beruf ausüben werde. Mfg. DMWTD
Welche Sprache du nun zu erst Lernen sollst, da wird dir jeder was anderes sagen. Und alle haben Recht. Und in Mathe solltest du folgende Sachen mindestens umsetzen können: plus, minus, mal, getiles, prozentrechnung, sinus, cosinus, dreisatz, grundsätzliche Geometrie (a^2 + b^2 = c^2), interpolation, wurzeln. Das sind so die Dinge die du am häufigsten brauchen wirst.
Danke für die detaillierte Antwort ! Und mal noch eine blöde Frage, findest du persönlich das man für´s Programmieren ein Ass in Mathe sein muss ? Und für was brauch man eigentlich dieses ganze Gerechne ich bin immer davon ausgegangen dass man nur irgendwelche Commands eingeben muss um etwas zu programmieren- was ebenso bestätigt das ich leider nicht viel Ahnung habe....sry dafür ^.^ !
Ich finde, man muss kein Matheass sein. 90% aller Rechnungen beschränken sich auf plus, minus, mal und geteilt. Also den Pythagoras und nen Dreisatz sollte man schon beherrschen. Grundsätzlich verlangt Programmieren gar kein Mathe von dir. Der Sprache ist es ja total egal. Willst du aber ein Programm schreiben welches dir Flächen ausrechnet, solltest du wissen wie man Flächen ausrechnet ;P
Ich persönlich habe Game Maker am liebsten. Du bekommst einfach viel schneller und viel mehr in kurzer Zeit zusammen(als z.B mit c# in unity) Bisher habe ich nur mit GML gearbeitet ob die drag n drop funktionen gut sind, kann ich nicht beurteilen xD
Mein Problem ist halt, ich bin Kilobyte-Fetischist :D Ich liebe es, wenn Programme klein sind. Deswegen tu ich mich auch schwer, wenn ich für ein Hello World in Rust erstmal 5 Gigabyte MS Build Tools runterladen muss (wozu eigentlich??). Oder Unity-Builds, wo eine leere Szene mit einem Würfel schon 2 GB hat. Schrecklich 😂
Danke für dieses gute Video! Ich wollte noch kurz fragen, wie Funktioniert dann JavaScript? C / C++ (etc.) müssen komplementiert werden... Wie Arbeitet dann JavaScript? Ist das so in etwa ein "Framework" auf der Basis von C++ oder wie verwandelt JS den Code in eine Computersprache? Würde mich sehr freuen, falls du mir dies erörtern würdest :) . Vielen dank!
+DasPascal JavaScript nutzt eien Just in time Compiler (JIT-C) das heißt on the fly "guckt" sich der der Browser den Code an. Oder eher die JavaScriptEngine des Browsers. Dieser Code wird dann umgewandelt, also kompiliert und abgelegt. Wenn der Code dann noch ma augerufen wird, muss der nicht noch mal kompiliert werden sondern die Engine nimmt sich das Stück code von vorher. Also so ähnlich wie Java wenn man mal ein Auge zudrückt
Mit dem Rpg Maker ist man schnell fertig und das Ergebnis ist meist gut das stimmt. Ich könnte das nicht man hat hinterher eigentlich nichts worauf man stolz sein kann man hat kaum was geschafft und sein eigen nennen naja... Wenn ich jetzt von zwei Nachbarn die Reifen klaue und Gelb anmale ist es noch lange nicht meins :)
Weiß nicht - wenn man nur Presets un d Zeug aus dem internet verwendet mag das stimmen. Wenn man aber eigene Artworks, Story, Musik verwendet kann man da schon drauf stolz sein würd ich sagen. Halt nicht auf's programmieren sondern auf den Rest.
C++ ist schneller, da weniger Overhead. Jedoch lassen sich diese Sprachen nicht direkt vergleichen. C#, Java sind eher abstrakte, höhere Sprachen. C / C++ sind systemnahe Sprachen. Embedded Systems, OS-Kernel, Spiele, Echtzeitsysteme sind eher das Zuhause von C/C++, während Dinge wie WebApps, Anwendungssoftware wesentlich produktiver in Java oder C# entwickelt werden können. Eine Sprache ist nur ein Werkzeug. Ich hole ja auch keinen Vorschlaghammer um ein Bild aufzuhängen, nur weil er beim Abreisen von Wänden ja bisher auch gut war.
+LeinadPlay Ich persönlich nutzte dafür HTML5 in Verbindung mit Cordova und Crosswalk. Bin da aber eher noch eine Randgruppe^^Unity eigent sich auch gut für cross platform. ansonsten halt direkt android oder ios
Das kommt darauf an wie möchtig das ganze ist. Wenn es rein um logig geht dann kann das wie eine Bremse wirken. Wenn es aber darum geht node zu verwendne um Shader zu erzeugen ist das eine coole sache.
Hä? Seit wann übersetzt denn der C++-Compiler (welcher auch immer) nach Assembler? Nach dieser Aussage in Minute 3:33 musste ich leider dein Video beenden. Nur leider weiß ich jetzt nicht, ob du das noch irgendwo wieder richtigstellst und diese Aussage quasi nur im "Eifer des Gefechts" zustande kam.
Im Eifer des Gefechts kann sowas schon mal passieren. Die Empörung mir zu schreiben, dass du das Video abgebrochen hast tut mir Leid, denn das zeigt mir, dass ich dir nicht rüberbringen konnte worum es mir eigentlich in dem Video geht.
Hallo ich brauche hilfe. Ich bin 13 Jahre alt und will auch anfangen zu programmieren, erkundige mich auch dies das halt. Aber weiss nicht welche Programmier sprache ich benutzen soll welche nicht so schwer ist zumal ich ja auch erst 13 bin. Habe gehört Java script soll einfach sein, könnte jemand so nett sein und mir eine programmier sprache empfehlen und villeicht noch sagen ob es dafür Bücher gibt um es zu lernen ein link.wär auch nett. Danke schonmal im voraus. L.g Yoshi
Ich bin zwar kein großer Freund von C/C++, aber die Compiler optimieren da so krass, das bekommt man als Mensch in Assembler direkt nie hin.
So genau kann man das nicht sagen. Auf neueren CPUs mag das vielleicht stimmen, jedoch gibt es garantiert Prozessoren, die etwas einfacher zu programmieren sind.
@@universebug5423 Früher waren einfach die Compiler schlechter und die Systeme hatten gewisse Stolpersteine, die ein Optimieren schwer gemacht haben (Memory Banking usw.)
Besser kann man es nicht sagen, mein Like hast du! PS: Mein abo hast du schon lange ... und 9:00 ist die geilste Stelle im ganzen Video :D
Die armen Programmierer, die in Assembler die Konsolenspiele programmieren mussten. Ich versuche mich auch gerade bei einem Mikrocontroller in Assembler, aber alles was mehr als 100 Zeilen Code hat wird total unübersichtlich und man versteht seinen eigenen Code nicht mehr :(
Auch wenn man es auf Anhieb nicht direkt sieht, gibt ASM die Möglichkeit alles sauber und strukturiert aufzubauen. Wenn du davor in C intensiv programmiert hast, dann wirst du dich auch sehr schnell in ASM einarbeiten können, denn auch dort werden wieder Strukturen, Pointer, Funktionen benötigt. Und natürlich die Speicherreservierung und Freisetzung. Und bis hierhin hab ich noch gar nicht erwähnt, dass die meisten auf fertige Bibliotheken und sogar ganze Frameworks zurückgreifen, welche nicht direkt nur dafür gut sind um mit irgendwelchen Schnittstellen zu kommunizieren, sondern auch tatsächlich um dir das programmieren leichter zu machen.
Naja die Nintendo Leute sind Japaner und Japaner sind Asiaten und Asiaten macht das nix aus die sind einfach ein bisschen krasser als wir ^^
Versuchs mal mit 6502 Assembler!
Himmel, ich habe die Zeit geliebt, als ich Mikrocontroller mit Assembler programmiert habe. Schön war es.
total sympathisch. cooles intro. schön simpel, aber trotzdem technisch korrekt. echt gut.
Wow dieses Video war diesmal MEGA fesselnd und hat Spaß gemacht zuzuhöhren!!!!
assembler ist früher vllt mal schneller gewesen, die compiler heutzutage sind aber deutlich besser als der durchschnittliche programmierer...
wirklich toll gemachtes Vid. Gutes Intro, witzig, ernsthaft und unterhaltsam-informativ. So lerne ich am liebsten. weiter so!
Endlich Tom! Danke für diese Aufklärenden Worte! :D
Ich arbeite seit bestimmt 4 Jahren mit GML also Game Maker, weil ich mit meinem 18 Jahren bisher noch nichts einfacheres gefunden habe, wo ich mich nicht mit Java/Java Script auskennen muss oder eine Library brauche um mir simpel auf dem Bildschirm Sprites und anderes Gedöhns aus zu geben. :)
+Pascal Ich bin auch stark an Game Maker interessiert aber das gibts noch nicht vernünftig für den Mac, Aber GMS2 sollst ja auch für Max und Linux geben!
Ich hoffe für dich, dass Game Maker für dich bald richtig zur Verfügung steht! :)
Ich weiß auch gar nicht warum Game Maker so angezweifelt wird? Klar, mit drop'n'drag zu "programmieren" ist an sich keine richtige Informatik wie man sie herkömmlich kennt, aber ich programmiere beispielsweise nur mit Scripts. o.ô
Das bedeutsamste für mich an Game Maker ist, dass ich mich nicht mit der Syntax ärgern muss, auch wenn ich die Stränge mit dem Semikolon und geschweiften Klammern für mich einhalte, und stattdessen eher die Funktionalität von Game Maker lernen kann. :)
Und übrigens ist das schöne, dass man auch was im Kopf haben muss und wirklich nur dann wirklich qualitative und eigene Spiele entstehen. Man kann also trotzdem noch von "i-wannt-too"-Games unterscheiden.
Viele Grüße Pascal :D
compiler mit google translate zu vergleichen :D das ist schon ziemlich mutig
Wirklich gutes Video, echt! :)
+Thomas Willberger Danke dir^^
+LetsGameDev Wollte ich auch schon schreiben, also häng ich mich hier mal ran! :D
Ich finde deine Videos sehr informativ und unterhaltsam. Gucke sie sehr gerne
Gutes Video!
Genau so gibt es auch nicht das beste oder sicherste Betriebssystem. Es kommt immer auf den Einsatzzweck und den Anwender an!
Ehrlich gesagt kann ich die erste Aussage überhaupt nicht unterschreiben. Vielleicht verkehre ich in den falschen Kreisen (größtenteils professionelle Programmierer), aber da denkt niemand, dass C++ irgendwie besonders super ist. Aber es kann natürlich sein, dass das vielleicht noch eine generelle Meinung ist.
Auch sind u.a. einige fachliche Schnitzer dabei:
3:30 Compiler übersetzen in Maschinencode, nicht in Assembler
4:20 der neueste C++ Standard ist C++14, aus 2014, C++17 ist dann der nächste. Also nicht direkt unbedingt aus dem Jahre 79.
5:30 nicht nur C und C++ müssen kompiliert werden. Assembler muss das auch. Denn es ist nur eine lesbare Art des Maschinencodes, dieser muss noch in wirklichen Maschinencode übersetzt werden. Sonst müsstest du nur mit Einsen und Nullen programmieren.
Ansonsten aber eine vernünftige Sicht auf die Dinge. Am besten das nehmen, was man schon kann.
...zumindest wenns nichts gerade Visual Basic oder Brainfuck ist.
+Zhedar Ja Assmbler muss auch erst kompiliert werden habe das hier aber nun nicht so eng gesehen, da darf man mich ruhig Lügen strafen^^
+Zhedar Ich kann meinem gcc aber auch sagen, dass er mir aus meinem C code assembler bauen soll ;) aber das ist natürlich nur ein Zwischenschritt.
Verstehe nicht wo das falsch sein soll
Wenn der compiler in Assembler compiliert "compiliert" der assembler in maschienen Code
Natürlich gibt es keine "beste Programmiersprache", aber C++ ist von allen bekannten Sprachen die vielseitigste. Man kann sowohl Hardware-nah programmieren (geht mit Java, C#, Kotlin, den vielen Skriptsprachen und so weiter nicht), als auch abstrakt (geht in Assembler nicht und in C nur sehr eingeschränkt). C++ ist die einzige echte Multi-Purpose-Programmiersprache, aber genau deswegen auch sehr umfangreich und komplex und daher nichts für Skript-Kiddies. :-)
8:10 Wie wahr. Ich glaube an dieser Stelle hat sich so ziemlich jeder schon mindestens ein Dutzend mal wiedergefunden....
Super Video!
Genau die Art von Erklärung die ich gesucht habe, zum Thema welche Programmiersprache wofür verwenden.
Gruß und Dank.
8:40
Früher habe ich dein Content nur fürs spaß angeschaut, nicht wirklich wegen wissen.
War halt witzig.
Zurück schauend hast du wirklich recht. Sogar in mehr ebenen.
Man sollte ein Programm nehmen was am praktischen ist.
Will man ein RPG machen kann man es in Java oder so machen, wenn man es am besten kann.
Aber der RPG Maker oder Game Maker schadet aber auch nie.
die beste programmier sprache ist immer noch Brain Fuck
++++++++[>++++[>++>+++>+++>+>+[.>---.+++++++..+++.>>.+.>++.
Viel Spass mit der mentalen Folter XD
Cringe
Danke für dieses tolle Video, ich will mehr Videos in die Richtung bitte. ;D
Ich bin ganz deiner Meinung. :) Mir gefällt übrigens das Thumbnail echt gut! :D
ich hab mal gehört, dass die Programmierer, die darmals die Hardware der Konsole besonders gut verstanden, gewisse Tricks in ihre Software einzubauen, die dann noch mehr leiistung aus den einzelnen Chips holen konnten.
Ich würde eine Sache einheitlicher formulieren: Assembler ist nicht schneller als C++ und C++ ist nicht komplizierter als Sprachen wie GML. Assembler überlässt einem Programmierer mehr Kontrolle über performance-relevante Aspekte als C++, und C++ wiederum mehr als GML. Und mehr Kontrolle heißt, dass ein guter Programmierer damit besseren Programmcode schreiben kann, man aber eben auch einen besseren Programmierer braucht bzw. derselbe Programmierer mehr Zeit investieren muss und mehr Fehler machen wird.
Ich mag C# mittlerweile sehr gerne, allerdings nur in Verbindung mit der Unity-Engine ;-)
Es ist klar dass C++ langsamer, bzw meist maximal gerade so schnell sein kann wie Assembler, da C++ in Assembler übersetzt wird.
Ich persönlich mag C++ sehr viel mehr als Java, C, C# oder andere Sprachen, da es für mich der perfekte Mix zwischen Komfort (nicht so umständlich wie Assembler und im Vergleich zu C viele gute Features wie Klassen) und schön Systemnah (kein Auto-GarbageCollecting ausser man benutzt bewusst Smart Pointer, genauere Kontrolle über Referenzen und Pointer, etc. Java z.b. finde ich da ein wenig blöde dass man keine Primitives per referenz/Pointer übergeben kann, oder dass man Objekte nur per Referenz übergeben kann).
Ich finde übrigends Deinen Vergleich mit C++ zu RPG Maker etwas unfair, da RPG Maker schon viele Dinge mit sich bringt, wie eine Benutzeroberfläche, Map Editor, etc, also da vergleichst Du nicht Programmiersprachen, sondern eine Programmiersprache mit einem bereits fertigen Toolpaket, etc.
Anonsten aber ein schönes Video. :)
Naja was heißt unfair, es ging ja mehr ums Prinzip und das anhand eines einfachen Beispiels erklärt. Und Tom hat ja auch gemeint, dass man ruhig Tools/Engines/Frameworks nutzen soll, wenn es einem Arbeit und Zeit erspart.
Sicherlich müsste man rein von den Sprachen eher C++ und Ruby (war doch glaube die Sprache beim RPG Maker?^^) vergleichen. Trotzdem passt der Vergleich zur Kernaussage des Videos (bzw. ein Teil des Videos): Nutze die Möglichkeiten um Zeit zu sparen, auch wenn die Performance nicht High-End ist.
@@GortunNET Ich glaube das größte Problem ist, dass jede Programmiersprache etwas anderes Besser kann oder halt komfortabler ist, aber viele sich in eine spezielle Programmiersprache eingearbeitet haben. Wenn man also C++ beherrscht und dann jemand um die Ecke kommt und dir sagt, dass das mit z.B. RPG-Maker viel schneller geht, würdest du nur den Kopf schütteln, weil du dich dafür in ein dir fremdes Programm erst einmal einarbeiten müsstest, was auch wiederum lange dauern kann. Ich selbst kenne dieses Problem nur zu gut. Mittlerweile beherrsche ich ungefähr 15 Programmiersprachen teilweise. Davon brauche ich aber eigentlich nur 3-4, weil die ganz unterschiedliches können. Ja C++ ist kompliziert. Aber du kannst dank vieler Librarys fast alles damit machen. Manchmal halt auf Umwegen, aber das interessiert dann niemanden.
Top Video, top Inhalt, Daumen hoch :)
Abo da gelassen, wobei ich dachte das hätte ich beim letzten Besuch schon gemacht....
wann kommt ein neues spiel ?
Danke, ein sehr schönes Video, mit einem sehr interessanten Thema. Für mich, der lange nur in Lisp und Python ohne Engine programmiert hat(vieles musste man selbst machen und war umständlich), war es irgendwie schwierig mich mit der Unity Engine zu vertragen, da ich nicht mehr alles selbst machen musste. Das fühlte sich ein bisschen wie cheaten an, aber mittlerweile sehe ich die Engine nur noich als besseres Werkzeug an.
LG Pizza_Train
+Pizza Train Genau dieses Gefühl des "cheatens" ist auch typisch Programmierer und kenne ich auch gut. Da muss man lernen über seinen eigenen göttlichen Schatten zu springen.
Ja genau :D
Wow, das war echt die beste Erklärung zu dem Thema, welche Sprache man wählen soll, aller Zeiten. XD
Jetzt hast du meine Denkweise verändert :O jetzt bin ich bereit um ein Spiel zu programmieren
Du hast viel erklärt was ich noch nicht wusste, Danke
es gibt ja keine "beste Programmiersprache" denn es hängt davon ab was du machen willst
Ich bevorzuge (momentan noch) C# (gesprochen c sharp) für alles was ich mache. Ok ich baue keine krassen Games sondern hauptsächlich Desktop Software. Es läuft gut und ist (zumindestens für mich) einfach zu schreiben.
Sollte ich eher C++ lernen oder Java hab schon Erfahrungen mit JavaScript (Als einstiegsprogrammiersprache) Möchte eher kleinere Sachen machen, aber mit GUI allerdings benötige ich keine super schnelle Rechenzeit
Ich Programmiere schon seitdem ich 12 Jahre alt bin, ich habe mit Minecraft Plugins angefangen (Sie sind mit Java gecodet). Ich wurde dafür von anderen Leuten die schon seit Jahren programmieren immer ausgelacht, weil sie meinten das Java die einfachste Sprache der Welt sei. Ich arbeite aber momentan an meinem ersten 2D Spiel (C++) und finde mich in diesem Code viel besser zurecht. Ich brauchte kaum eine Woche schon wusste ich wie und was ich machen muss damit es funktioniert... Kann es sein, dass es mir jetzt deswegen nur so einfach vorkommt weil ich schon "vor-erfahrung" habe oder C++ einfach nur einfacher ist?
Ich finde C# besser, liegt aber an Unity :D Allgemein würde ich aber sagen, wenn man die Logik einer Programmiersprache inne hat, kann man sich leicht an andere Syntaxen anpassen. Ich hab zb. früher nur PHP gelernt, hab dann bock auf Android gehabt, hab dann Java angefangen, hab dann bock auf Games gehabt und hab damit C# + Unity angefangen.. Und irgendwie war es weniger schwer sich umzugewöhnen. Ich persönlich bin aber jetzt schon so im Workflow eines Unitys, es fällt mir tatsächlich schwer mit dem GameMaker etwas gescheites zu machen, einfach weil es anders ist, weil es runter gebrochener wurde.
***** Aus Neugier, hast du da Beispiele? Ich sehe wenige Unterschiede zwischen C# und Java
+iKlikla Bin grad nicht mehr aktuell bei Java, aber zumindest eine Zeit lang hat es gefehlt
- Lambda expressions
- asynchrone Programmierung mit async/await
- Properties
- null propagation mit C#6 in Verbindung mit dem null coalescing operator
- Extension methods
Dazu natürlich noch die genannten Dinge
Das einzige was mir bei C# von Java manchmal etwas fehlt sind inline-Interface implementierungen (gerade bei Listenern)
Wer mit C# und Unity arbeitet... und noch ein C# Noob ist, empfehle ich da mva.microsoft.com/ da sind richtig gute (kostenlose) Kurse dabei!
sideKick schon mal „The Long Dark“ gespielt?
Dieser „Unity Krebs“ existiert nur weil die Engine kostenlos ist, weshalb viele Leute einfach zum lernen solche Spiele machen wie Slender.
An sich ist die Engine ganz klar top, das kann keiner wirklich bestreiten.
@@undeadpixelgamestudio3311 Danke!
Ich brauche Hilfe!!!
Ich habe gerade ein Schulpraktikum gemacht wo ich HTML und CSS gelernt habe. Ich möchte mich jetzt aber nicht mehr länger im Bereich Webdesining beschäftigen, sondern mich mal ins Spieleprogrammieren wagen.
Also würde ich von Erfahrenen gerne hören wo ich gut anfangen kann, also welche Sprache und Programme.
P.S. Ich interessiere mich in Windows oder Android gaming.
Was mich bei Java und C# ungemein stört? Der undeterministische GC, weshalb man statt des kompfortablen RAII von C++ mit IAutoCloseable herumhacken muss. Bei Java finde ich mich eindeutig hinsichtlich der Ausdrucksstärke beschnitten, in Sprachen wie C++, aber auch neu aufkommende wie Rust kann ich mich viel besser ausdrücken und konfigurieren, was denn nun eigentlich geschehen soll.
C++ hat mindestens seit C++11 sehr viele nützliche Dinge dazubekommen, Sache wie Streams, Module (!) und Unicode(!!!) haben aber dringend überarbeitungsbedarf, da wünsche ich mir sogar das Java her^^
Achtung: viel Text!
"Warum hat man dann nicht [...] C oder C++ genutzt" - "C++ ist zu langsam" (1:33)
Durchaus möglich, dass der C und C++ Compiler damals noch nicht sonderlich ausgereift war bzw. für einige Platformen noch gar nicht existierte.
Auch die simple Hardware, z.B. der Z80 (ähnliche) CPU vom GameBoy, machte es nicht unbedingt schwer ein Programm kürzer und performanter zu entwicklen, als wenn man es einem Compiler überlassen hätte.
Heutzutage sieht das anders aus, denn moderne Hardware und Betriebssysteme sind sehr viel komplexer. Genauso sind auch Compiler komplexer und besser geworden. Wer heute noch ein Spiel in Assembler schreiben will, weil er denkt sein Code läuft damit schneller, wird am Ende sehr enttäuscht sein.
Eine Sprache, wie C/C++ oder Assembler ist auch nicht schnell, wenn der Programmierer sich nicht auskennt. (Das gilt eigentlich für jede Sprache)
Kleines Beispiel:
Angenommen man programmiert in C/C++ und möchte ein 2D Array mit einem bestimmten Wert initialisieren. Funktionen in der Standart Library wie memset lassen wir jetzt mal weg.
Was wäre besser? Das Array spaltenweise zu durchlaufen, oder zeilenweise?
for (size_t y = 0; y < height; ++y)
for (size_t x = 0; x < width; ++x)
array[x, y] = value; // zeilenweise
array[y, x] = value; // spaltenweise
Die richtige Antwort ist zeilenweise, da man nämlich den Cache mit beachten muss. Bei der spaltenweisen Iteration, hat man im schlechtesten Fall bei jedem Zugriff ein Cache Miss, wodurch jedesmal der CPU Cache neu geschrieben werden muss, was eine viel langsamere Ausführung zur Folge hat.
C/C++ erlauben dem Programmierer derartige Dinge zu kontrollieren. Andere, Garbage Collected Sprachen, wie Java, nicht. Und gerade in der Spieleprogrammierung kann sowas, je nach Programmkomplexität, häufig problematisch werden.
Ob GC jetzt gut oder schlecht ist, ist eine andere Frage, weswegen ich da jetzt auch nicht weiter drauf eingehe. Wen es interessiert kann sich ja mal diesen Thread durchlesen.
www.spieleprogrammierer.de/20-offtopic/25643-gc-fluch-oder-segen/
Geschwindigkeitsverlust von C auf Assembler (5:40):
Nicht unbedingt. C ist immernoch relativ simple und hardwarenah, wodurch der Code ziemlich gut auf Assembler übersetzt werden kann. Ein erfahrener Programmierer könnte sogar erkennen, wie der zugehörige Assembler Code aussehen wird.
Bei C++ stimme ich zu, dass es durchaus einen Tick langsamer sein könnte, u.a., weil die STL z.T. recht viel Overhead erzeugt. Dazu kommt noch der durch OOP entstehende Overhead. Wobei das alles im Grunde wieder wenig mit C++, sondern mit dem Programmierer zu tun hat. Lässt man das alles weg ist man fast schon wieder bei C.
Kurz zu der Java Bemerkung:
"Wir haben ein Programm das wir in die Welt werfen und es funktioniert überall"
Naja, zumindest auf Systemen, die eine Java VM und genug CPU und RAM haben, um ein Java Programm anständig ausführen zu können.
Im Übrigen, auch wenn es leichter und schneller gehen würde ein Spiel mit GameMaker, Unity oder RPG Maker zu entwickeln, macht es nicht unbedingt Spaß. Sicher, für viele ist die Spieleentwicklung an sich das was Spaß macht.
Einige, und da zähle ich auch mich selbst dazu, haben aber auch Interesse an dem was dahinter liegt und bevorzugen einfach Dinge selber zu implementieren.
Es würde nicht schaden, wenn mehr Entwickler schonmal ernsthaft in C/C++ programmiert hätten, damit sie ein grobes Verständnis von dem haben, was unter der Haube passiert. Es ist nämlich nicht immer gut, sich auf den Interpreter zu verlassen, dass der schon alles irgendwie regelt.
Das Paradebeispiel ist Minecraft. Ein Spiel, das als Hobbyprojekt in Java angefangen hat, aber mit der Zeit immer bekannter wurde, wodurch immer mehr Features hinzu kamen, ohne auf Performance und Code Qualität zu achten.
Allein schon die Tatsache, dass VBOs erst mit 1.8 eingeführt wurden, zeigt schon die Inkompetenz der Entwickler. Wer den Post vom Optifine Entwickler nicht kennt, kann ihn sich hier mal durchlesen, um eine grobe Vorstellung vom Minecraft Code zu bekommen:
www.reddit.com/r/programming/comments/2jsrif/optifine_dev_minecraft_18_has_so_many_performance/
Ich hab letztens aus Langeweile einen Pong-Klon direkt in Hex-Maschinensprache auf einem alten Z80 entwickelt und mit einer in C kompilierten Variante verglichen. Tatsächlich war der Performanceunterschied unglaublich gering, der Programmaufbau liegt eng zusammen. Probs an den Compiler :D Allerdings ist Minecraft performancetechnisch wirklich Schrott, das würde jeder Depp besser hinbekommen.
Direkter Speicherzugriff! Man kann mit C++ bis in Assembler profilen. Was will man mehr?! Man muss einfach richtig Programmieren können.
+Dar Listener Solltest mal nach dem Entwickler von RedPower Googeln der hat nämlich genau das gemacht halt in C++ was sicher 10 bis 100 mal so schnell läuft wie MC und noch dazu shader mit sich bringt leider wirkt es mir fast schon einwenig zu realistisch.
In ASM hab ich früher meine trainer gecodet :D
das waren noch Zeiten...
Super Video, hat mich an die alten Zeiten erinnert.
Danke
Guter und informativer content. :)
Da hat mir mal ein guter Freund ein schönes Sprichwort gesagt vor kurzem "Kannst du eine Sprache, kannste theoretisch alle (bzw andere auch leichter lernen), weil von der Grundsyntax her die meisten Sprachen ähnlich aufgebaut sind"^^
Ausser Clojure!
hallo; deine Überlegungen sind sehr richtig; bist ein guter Aufklärer) weiter so xd
hey Tom bei welcher Schule hast du Spiele entwickeln gelernt? was gibt es da für Schulen und welche Vorraussetzungen braucht man?
Spiele entwickeln habe ich in keiner Schule gelernt. Ich habe in meinem Studium zur Angewandten Informatik einfach angefangen als Schulprojekte Spiele zu nutzen.
LetsGameDev
gibt es in diese richtung schulen ? weist du das zufällig ? und wenn ja welche vorraussetzungen man bracuht ich bin leider zu blöd um sowas zu finden -.-
Wann kommt eigentlich D?
+Max Gibts seit 1999 ;P
+LetsGameDev Oh :D
Ist es igerdwie möglich ein Programm in einer einfachen Sprache zu schreiben und dann in ein leistungfähigere zu übersetzen?
Das machen viele Sprachen so. Und im Grunde macht C das ja auch so. Es ist immer ein Übersetzen von etwas "einfachen/verständlichen" in etwas performantes, also Machinencode (Oder ähnliches)
Sehr qualitatives video
Casey Parker sehr qualitativ was?
hochwertig oder minderwertig?
Also wenn ein Compiler so wie der Google Translator wäre, würde ich ein Minecraft ähnliches Spiel bekommen, wenn ich The Crew starte xD
Mir geht's aber in solchen Themen nun halt mal ausnahmsweise nicht darum Nicole zu bummsen, sondern viel Wissen in mich aufzusaugen und wenn ich irgendeinen Game Maker benutze, habe ich das beschissene Gefühl geschummelt zu haben und eigentlich habe ich nichts gelernt. Außer wie eine Software von tausend anderen funktioniert....
UPDATE: Ich bin jetzt auf den msdn bzw. developer Seiten sehr aktiv, das war eigentlich das was ich gemeint habe :D
Also ich fasse zusammen:
Du willst als Anfänger keine extra für Anfänger gefertigte Software (wie z.B. GameMaker) benutzen und willst mit ner Programmiersprache ohne irgendeine Art von erfahrung ein Spiel herbeizaubern? Hier sind drei Vorschläge:
1. Du wählst dir eine "komfortable" Programmiersprache wie Java oder C# oder sogar Python aus und kaufst dir ein dazupassendes Buch um die GRUNDLAGEN der Programmierung zu verstehen und mit vielen Textprogrammen zu verinnerlichen. Dann fängst du an dir Bibliotheken anzuschauen, um Spiele mit Grafik zu programmieren und arbeitest dich immer weiter hoch...mit dem Risiko aufzugeben.
2. Du benutzt eine Gameengine wie z.B. GameMaker lite, schaust dir ein paar Tutorials und die Dokumentation zu GameMaker language an (ja gamemaker hat ne eigene Programmiersprache!!) und fängst sofort damit an pixelchen von a nach b zu bewegen.
3. Du wählst dir eine "performance" Programmiersprache wie C, C++ oder ... nein nicht Assembler ... aus und wirst beim ersten richtigen Programm wegen einem Logikfehler scheitern und aufgeben.
Ich hatte mich für Schritt 1 entschieden (hab auch erst vor 2 Jahren angefangen mir selbst Programmieren beizubringen da unsere Schule Informatikkurse erst ab der Oberstufe anbietet) ud bereue es bis jetzt nicht.
Game Make ist KEINE extra für Anfänger konzipierte Software ;P
Wow...ich hätte nie gedacht dass du jemals auf einen meiner Kommentare antworten würdest O.o (Ich liebe deine Videos).
Und du hast recht. Ich sollte das nächste mal vielleicht erst Nachdenken und dann Schreiben. Ich wollte damit eig sagen dass das erstellen von Spielen mit GameMaker viel einfacher ist (das heisst aber nicht dass es trotzdem einfach ist) als z.B. nur mit einer (oder mehreren) Programmiersprachen allein.
ZeroClawStudios Wll, i know that. Ich habe tatsächlich "schon" drei Jahre Erfahrung in Java und dort auch schon mein erstes kleines Spiel in 2D gerendert. Allerdings habe ich mich bei Java nicht gut aufgehoben gefühlt, weil es nun halt mal nicht die Möglichkeiten mal eben bietet wie C++ oder andere. Ein C++ 1000 Seiten Buch habe ich fast durch. Und Informatik hatte ich seit es ging (10) und habe mein Abi unter anderem darin gemacht und werde in Zukunft die Uni in Braunschweig besuchen, um dort weiter mit Informaitk zu machen :D
Sogar mit SFML habe ich mich schon auseinander gesetzt....
Also habe schon Ahnung und ziehe mir nicht einfach hier so ein Video rein im Glauben, dass ich hier sofort zum Pro werde.
Ich lerne halt lieber erstmal selber wie ich mein erstes simples Window programmiere und anzeige anstatt direkt die großen Schinken rauszuhauen :D
Einen Moment mal...also als erstes: DU hast bereits ein 2D Spiel "gerendert" und willst jetzt eine simple Benutzeroberfläche programmieren? Ich glaube sowas solltest du schon gemacht haben XD (Eigentlich schon da du ja seit 10 Informatik hast). Dein Abi haste ja schon, also solltest du doch nach so vielen Jahren schon viel erfahrung gesammelt haben, oder irre ich mich? Und ich sage es jedem der mit seinem 1000 Seiten langen Buch-Geschichten ankommt: Ein BUCH alleine wird dir NIEMALS Programmieren beibringen können. Was willst du überhaupt mit einem 1000 Seiten langen Buch anfangen XD? Aber jetzt mal ganz im ernst...deine "Geschichte" scheint mir wirklich sehr weit hergeholt...schönen tag noch und viel Erfolg.
Machst du wieder ein Video, meine Projekte 2016 am Ende des Jahres? Darüber würde ich mich echt freuen.
Also ArnoldC wurde wahrscheinlich NUR zum Spaß gemacht...
ich werde diesen kommentar nicht liken nur weil ich dein namen durchgelsen habe :)
C++ ist die beste Hochsprache.
weil sie leicht, direkt und schnell ist. Außerdem war das die erste programmieresprache gelernt habe.
java code wird ja in bytecode compiliert und ist darum langsamer als C++.
wenn ich ein Spiel in Java für denn PC programmiere wird sie auf Android nicht funktionieren.(andere sdk)etc.
+Thil Was ist passiert? Video nicht richtig verstanden? Genau wegen solcher Aussagen habe ich das ja gemacht^^
+LetsGameDev hab das Video nich ganz zu ende geguckt. Für
für mich wird c++ immer die beste programmiersprache sein,weil ich sie sehr gut kann.
Das ist durchaus ein gutes Argument das ich ja sogar erwähne. Du brauchst nichts neues lernen, wenn das was du kannst ausreicht u das was du erreichen möchtest zu schaffen.
+LetsGameDev ich wollte mal Java lernen zum spiele programmieren, aber dann hab ich gehört das man es decompilen kann. stimmt das?
Ich hab dich für TubeClash nominiert.
was
Ist Game Maker Studio für einen Anfänger geeignet oder wäre Java besser
Hallo erstmal. Von mir erstmal eine kleine Frage. Was ist eurer Meinung nach die beste Game-Engine ( wenn ihr überhaupt eine Engine empfehlen würdet, wovon ich aber schwer ausgehe ) um Mobile Apps / Spiele zu programmieren? Ich bin schon ein recht eingefleischter Unity-Nutzer, wollte mir aber auch mal andere Standpunkte anhören, vielleicht sogar noch etwas dazu lernen, da ich im Moment sowieso zu viel Zeit habe. Danke schonmal im Voraus
+Regimon Nun, wenn du einen Haufen Geld ausgeben willst, dann guck dir GameMaker Studio an. Sonst nimm Java mit LibGDX.
+Regimon Das MonoGame-Framework in Verbindung mit C# kann ich sehr empfehlen.
Kannst aber auch z.b Apples Appkit und Spritekit benutzen brauchst halt nur einen Mac aber das entwickeln mit dem Zeugs ist sau einfach.
Hahaha geil. Gleich abonniert!
Hey,
Habe mal ne frage...
Also ich will ein 2d spiel Programmieren wie genau lerne ich c++ damit ich spiele programmieren kann?auf youtube finde ich nicht zu viel gutes...
meine frage wie habt ihr das gelernt?ich will eigentlich erstmal nur ein kleines 2d spiel und weiss halt auch nicht welche programme sich am besten dafür eignen...
hoffe jemand kann mir helfen
achja das spiel muss auf dem pc laufen... ;)
Moritz Becker ich starte in kürze meine c++ tutorial reihe,da gibt es dann auch videos zu 2d spielen und 3d spielen
oh gott! irgendjemand der nicht weiß was Assembly ist aber C++ kann? du Monster!
Super informatives und lehrreiches Video. Danke schööön. Hier hast du 2€ :D
Hi Tom, ich weiß nicht ob mal C# programmiert hast. Aber wo würdest du es auf der Skala einordnen? Eher Performance, Mitte oder Komfort.
+Edward Ski Hi, für mich ohne dass ich Beweise hätte liegt C# grob bei Java
+LetsGameDev Okay, danke für die schnelle Antwort ^^
Aber was ein wichtiger Fakt ist: Während man die Systemnähe und die damit zusammenhängende Performance nicht verändern kann, kann man im Gegensatz die Sachen wie Komfortabilität mit häufigem Arbeiten einer Programmiersprache sich nach und nach angewöhnen.
+currykingapfel s Sich an etwas gewöhnen macht es aber nicht komfortabler. Wenn ich ne Couch habe die mir mit den Federn in den Rücken drückt, da kann ich mich daran gewöhnen. Aber wenn ich dann auf eine andere Couch sitze, bei der alles in Ordnung ist und die nicht unbedingt 20 Jahre alt ist, dann werde ich sie trotzdem komfortabler finden.
+currykingapfel s Mit Komfort sind in dem Kontext wohl noch Dinge wie das Framework gemeint. Mit Assembler fängst du an Punkte zu malen, mit C++ Linien und mit RPG maker sagst du, du willst Person X mit der Animation Y zeichnen. Wenn es diese Funktion doch nur in Assembler gäbe :D Sowas kann man sich nicht angewöhnen, man kann es nur selber programmieren oder hoffen, dass es jemand anderes mit deinen Anforderungen programmiert hat (was man aber auch bei RPG Maker hoffen muss, dass man keine Anforderungen hat, die nicht implementiert sind).
Könnte man nicht die Games von früher auch in C++ schreiben, sich den generierten Assembler Code ausgeben lassen und dann nur diesen noch zu optimieren?
Geiler Typ, vielen Dank ! Nimm ein like
Aber diese weiteren "Programmiersprachen" wären dann ja (nach deinem vorigen Beispiel) Ein von Google übersetzter Text, der dann wieder von Google übersetzt wird usw usf.
Ich habe einfach mal gelernt, dass man die Sprachen nach der Systemnähe einordnet. Nachdem man vom Typ unterscheidet. (Compiler || Interpreter || VM)
Hinzu kommen die Glue - Sprachen (Perl, Lua usw).
OK, ich schrieb gerade während des Schauens. Am Ende des Videos hast du es auch etwas angeschnitten, was ich hier meinen wollte.
Das Gebiet ist einfach zu umfassend, um es Einsteigern allgemein gültig erklären zu können. Ohne einige viele Auseinandersetzungen zum Thema kommt man da nicht weit. Also lernen, lernen, lernen und nicht nur UA-cam!
Super Video!
so far Icke
Extrem gut erklärt, viel besser als meine ehemaligen Lehrer! :)
Hi,Ich hab mir jetzt einige deiner Videos reingezogen um zu lernen,wie man programmiert,was Java etc. ist. Ich habe KEINE Ahnung von dem allen und das überfordert mich Alles ein wenig...aber,wie du schon sagtest:"Mein Name ist Tom und es gibt noch viel zu lernen" Mein Problem ist halt,dass ich extrem ratlos bin. Welche Sprache ist geeignet für mich? wie gesagt: ich kann Garnix. Das Ende mit Hotline Miami hat mich zum überlegen gebracht. "reicht Game Maker dings da für mich?" Ich will ja kein Tomb Rainer entwickeln.
Klar reicht Game Maker! Anfangen, Tutorials durchstehen und immer weiter versuchen, dann werden sich viele Fragen von selbst klären!
Danke, für die schnelle Antwort! :) ist Game Maker auf irgendwas zugeschnitten? Also,für Mobile,Pc,2D etc. Und eine Frage noch: Was ist Game Maker? Eine Sprache? Also nur damit ich es verstehe. Ich game Maker ist keine Sprache,oder?!
An dieser Stelle empfehle ich, dass du dich selbst informierst, denn das wirst du sehr sehr oft machen müssen.
Gut,mach ich. :)
Es kommt auf dein Ziel an. Willst du einfach nur eine Idee für ein RPG umsetzen, nehme den RPG-Maker. Willst du später professioneller Spieleentwickler werden solltest du dir C++ antun und dir danach C# ansehen. Wenn du in deiner Freizeit gerne langfristig Spiele Entwickeln möchtest wäre ein Zwischenweg nicht schlecht. Meiner Erfahrung als Programmierlehrer nach, ist C# mit Unity sehr gut dafür geeignet. Aber im Grunde ist es egal. Sobald du Scriptest, Programmierst oder Designst, machst du Fortschritte und lernst etwas dazu. Unabhängig von Sprache oder Tool.
nice wie immer wie findest du eigentlich javascript
+Heinrich Kellerman Ich arbeite fast täglich viele Stunden mit JavaScript. Am Anfang habe ich es gehasst aber inzwischen liebe ich es einfach^^
+LetsGameDev ist C# ahnlich wie C oder C++
+LetsGameDev Mit was hast du denn Javascript gelernt?
+Brucer Ähnlich ja, aber nicht so Verwandt wie C und C++
+Brucer C# ist näher an Java dran als an C++
Ich habe dazu eine Frage:
Ist ein C/C++ Programm wirklich langsamer als ein in Assembler geschriebenes, weil die compiler optimieren ja inzwischen extrem stark?
+Vadammt Wenn es um komplexe Dinge geht, werden die Compiler besser sein als jeder Mensch. Es kann ab und an aber vorkommen, dass sehr kleine Aufgaben von Hand geschrieben werden.
batch ist die beste Programmiersprache! :D
Nein Französisch
Stuntkoala DEUTSCH!!!
Am besten programmiert sich immer noch in 01010101000000000000011111111
:D
@ binär
@ ich dachte du meintest FeederLP.sry
Huhu hätte mal die Frage wie es mit Heart Eater aussieht ? Gibt es das jetzt schon , kommt das noch oder wird es das nie geben ?
Naja, die Performance hängt vorallem vom Programmierer ab. Ein guter C# Programmierer kann durchaus schnelleren Code schreiben als ein schlechter Assembler-Programmierer. Ich würde mir erstmal keine Gedanken um die Performance machen. Sobald es auf dem Zielsystem Probleme gibt, kann man immernoch optimieren(in der Regel wird 20% des Codes in 80% der Zeit ausgeführt). Optimiert man diese 20%, die meist in verschwachtelten Schleifen ausgeführt werden, kann man die Performance innerhalb kurzer Zeit steigern. Das wichtigste, wenn es um Performance geht, sind die verwendeten Algorithmen und ihre Komplexität. Danach kommen die verwendeten Datenstrukturen und danach erst die Programmiersprache. Komplexe Algorithmen lassen sich in abstrakteren Sprachen einfacher optimieren.
Übrigens optimieren Kompiler heutzutage so gut, dass sie in manchen Situationen selbst sehr erfahrene Programmierer übertreffen können. Assembler ist also keinesfalls unbedingt schneller(das war früher vielleicht so).
Heutzutage gibt es eigentlich keinen Grund Assembler zu verwenden. Es sei denn, für das Zielsystem gibt es keinen Kompiler für eine hohe Programmiersprache.
Man kann ja paar Codezeilen in Assembler schreiben , also die Teile, die sehr schnell sein müssen und den Rest dann in C++ oder nicht?
Ich möchte später mal anfangen, Spiele zu programmieren. Eventuell sollen diese auch online sein. Es würde allgemein wahrscheinlich in Richtung LeagueOfLegends gehen, zumindest von der Person aus (glaube 4th person). Außerdem soll es die Spielstände natürlich online speichern, wenn ich wirklich großen Spaß dran habe vielleicht auch was wie Gilden/Clans. Welche Programmier Sprache ist da am besten und was brauch ich dafür (Server) oder so. währe cool wenn du so viel wie möglich beantworten könntest :D
Das klingt nach einem großen Vorhaben! Sei dir bewusst, das an solchen Spielen 10 bis 50 Programmierer und insgesamt einige hundert Leute Jahre lang arbeiten. Wie wärs, wenn du meine oder andere Spieleprogrammiertutorials durchprobierst um zu gucken, ob das überhaupt etwas für dich ist? Das wichtigste: Fang klein an und reduziere dann.
@@LetsGameDev Naja es soll nicht so wahnsinnig groß wie LoL werden sondern deutlich kleiner. Es ging nur darum das es auch 4th Person sein soll und nur eventuell online. Also erstmal nur offline.
@@LetsGameDev aber welche programmiert Sprache währe da gut
Auch die obere ansicht wird als 3rd Person bezeichnet.
1. Person: Man selbst
2. Person: Aus der sicht des Gegners (Sehr sehr selten)
3. Person: Kamera ohne echte Erscheinung.
Die Frage nach der richtigen Sprache ist zweit oder drittrangig.
Tu das was ich dir gesagt habe und dann wirst du dem entsprechend die Sprache nutzen müssen die dir die Engine vorgibt.
Ok
Hat der Junge gut gemacht und gut gesagt. es gibt keine "Beste". Man braucht immer Das "Werkzeug" für die Aufgabe die man Lösen will.
Ich arbeite seit 1983 mit diversen Sprachen. Ja, für jede Aufgabe braucht man das richtige Werkzeug. Mal ist es Assembler, mal C, C++, C#, Python, Java, Bluebird oder was auch immer. Benutzen "müssen" ist ganz klarer Unsinn. Man sollte das nehmen was auch für das Produkt sinnvoll ist.
Hat er sehr gut erklärt und kann ich nach über 35 Jahren praxis nur bestätigen. Es gibt nichts besseres als das was man braucht und nicht muss.
Um zur Arbeit zu kommen reicht der Bus, man kann auch das Fahrrad oder das Auto. Manche reden eben zuviel und sagen, du mußt mit dem Ferrari zur Arbeit fahren. ne muß man nicht, das Fahrrad reicht! Oder?
So isses auch mit Sprachen oder Programmiersprachen!
Super gemacht das Video, Respekt!
Gutes Video kann dir nur zustimmen :)
Für mich ist das ganz klar eine Frage der Performance. Wenn es performant sein Soll C++ und wenn es möglichst komfortabel sein soll C#. Mit C++ kann vor allem als Anfänger viele Fehler machen.
wie findest du C# ? hab mir das unity buch über deinen link gekauft und da geht es um C#
+Nexus Ich find C# super. Seitdem ich das kann, lern ich leider kaum noch andere Sprachen :(
C# hab ich auch mal gelernt, (naja lern es noch) Aber C# geht leider nur in Unity (soweit ich weiß)
C# ist ja auch eine leichte und ziemlich gute Sprache (besonders für Einsteiger). Ich habe selber 6 Jahre lang nur C/C++ programmiert, bin dann jetzt vor einem guten Jahr auf C# umgestiegen und habe mehr erreicht, als in den ganzen 6 Jahren zusammen (Ok, da habe ich ja auch noch die grundlegenden Prinzipien gelernt^^')
PS: C# wird in DEUTLICH mehr Engines, als nur Unity genutzt z.B. von Anvil, HeroEngine, teilweise von der Unreal Engine und das gesamte XNA-Gameframework wurde in C# geschrieben und nutzt es auch als Programmier/-Scriptsprache.
PPS: Google einfach mal "engine using c#"
+OtakuNewb Wobei fast alle der engines diese aufgezählt hast In C++ geschrieben sind aber eben weil C++ so super ist auch mit C# zusammen arbeiten können für Leute die schnell ans ziel kommen wollen sind die am besten für welche die verstehen wollen wie man z.b eine Engine baut oder wie man spiele performanter hinbekommt ist C++ sicher keine schlechte Wahl ich finde einfach man sollte wissen was es für einen aufwand mit bringt z.b eine engine zu entwickeln denn dann weiß man auch was man benutzt und kann auch gleichzeitig während des spiele Bauens auch die engine erweitern.
Ich habe gerade bei Candy Bag das Wichtelfutter von Level ~ 100 auf Level 22540 gebracht. Mein Zeigefinger wäre fast abgefallen^^. Vielleicht wäre eine Funktion ganz nützlich, die soetwas verschnellert?
Gedrückt halten sollte funktionieren.
LetsGameDev Das habe ich getan.. Es hat trotzdem circa 15 Minuten gedauert.
+LetsGameDev Kannst du mal bitte zeigen, wie man mit Javascript ein GUI programmieren kann? Das würde mir sehr weiterhelfen :-)
Toll. Jetzt weiß ich immer noch nicht welche ich verwenden sollte. :D Tolles Video. Mein Abo hast du. Werde mit mehr ansehen.
P.s. Mein ziel wird es sein ein 10-köpfiges Team aufzustellen und ein Echtzeitstrategie Spiel für den Anfang entwickeln. Publisher suchen... Ende. (In sehr sehr ferner Zukunft). Muss mich ja erstmal für eine Sprache entscheiden. Und lernen lernen lernen.
MicPro-Duction
ja ich auch :(
MicPro-Duction Hey, vor dieser Frage stand ich auch vor einem halben Jahr. Um dir zu helfen, müsste ich wissen, ob du schon denkst das Programmieren total cooles ist oder ob du dir da nicht so ganz sicher bist. Dann könnte ich dir weiterhelfen ;)
Mit freundlichen Grüßen
Simon Schmitt
Wann kommt die nächste gppcc
Ich bin Java und Python Fanboy :)
Danke, eine gute Einführung...
Könntet ihr mir eventuell ein Buch empfehlen welches gut für den Einstieg um C++ zu lernen geeignet ist. Danke in Vorraus
Der Humor! Schade das ich erst jetzt über dich gestolpert bin =D
Damals, damals...HEUTE ist C++ Standart für AAA-Spiele. Virtual Reality SDK's, moderne Konsolen, Unreal Engine Module ,Vulkan API (Graka richtig ins schwitzen bringen) etc. kannste alles mit C++ performant und korrekt umsetzen. Und da kriegste dann als "Spieleprogger" auch ordentlich Moneten. Richtig Zaster Junge!
Da hast du Recht! Aber das hat ja nicht viel mit der Aussage des Videos zu tun^^
Sehr interessantes Video, wenn auch (für mich) wenig neues :D Trotz allem bleibt meiner Meinung nach Java zu empfehlen, wenn man mit dem programmieren anfangen möchte (außer man will jetzt unbedingt für Mac OS oder iOS entwickeln bspw.), da man sofort auf allen Plattformen einfach loslegen kann und eine große Reichweite erreichen kann, allein mit Java kann man halt Windows/ Mac OS/ Linux ansprechen und auch Android Apps schreiben
+DerInformatiker
Du kannst aber auch C++ für alles mögliche kompilieren, bei Java ist nur das verteilen einfacher, weil die gleiche .jar überall läuft.
+Hippo Wobei das man auch sagen muss java verwendet noch immer Carbon was ja demnächst fliegen wird weil sich keiner die mühe machen möchte eine Api für Coca für C++ zu bauen die man nativ Benutzen kann da Apple hier will das alle auf Objc oder Swift wechseln was mit java sicher schwer bis garnicht funktioniert insgesamt als C++ programmierer würde ich swift eher empfehlen als ObjC das ist einfach ein Syntaktischer graus.
Und wer hat jetzt bock eine Coca API in Assembler zu bauen für C++ und Java ?
Hi Tom, wollte mal fragen welche Programmiersprache du für Anfänger Stufe: Noob Noob Noob empfehlen würdest. Und muss man wirklich für das Programmieren von Spielen gut im Schulfach Mathe sein ? Würde mich über eine Antwort freuen, bin nähmlich noch unstimmig ob ich das später als Beruf ausüben werde.
Mfg. DMWTD
Welche Sprache du nun zu erst Lernen sollst, da wird dir jeder was anderes sagen. Und alle haben Recht. Und in Mathe solltest du folgende Sachen mindestens umsetzen können:
plus, minus, mal, getiles, prozentrechnung, sinus, cosinus, dreisatz, grundsätzliche Geometrie (a^2 + b^2 = c^2), interpolation, wurzeln. Das sind so die Dinge die du am häufigsten brauchen wirst.
Danke für die detaillierte Antwort ! Und mal noch eine blöde Frage, findest du persönlich das man für´s Programmieren ein Ass in Mathe sein muss ? Und für was brauch man eigentlich dieses ganze Gerechne ich bin immer davon ausgegangen dass man nur irgendwelche Commands eingeben muss um etwas zu programmieren- was ebenso bestätigt das ich leider nicht viel Ahnung habe....sry dafür ^.^ !
Ich finde, man muss kein Matheass sein. 90% aller Rechnungen beschränken sich auf plus, minus, mal und geteilt. Also den Pythagoras und nen Dreisatz sollte man schon beherrschen. Grundsätzlich verlangt Programmieren gar kein Mathe von dir. Der Sprache ist es ja total egal. Willst du aber ein Programm schreiben welches dir Flächen ausrechnet, solltest du wissen wie man Flächen ausrechnet ;P
Wirklich vielen Dank für die Aufklärung ! Mein Abo hast du !
Danke dir! Du darfst meine Videos sogar teilen ;)
Ich persönlich habe Game Maker am liebsten. Du bekommst einfach viel schneller und viel mehr in kurzer Zeit zusammen(als z.B mit c# in unity)
Bisher habe ich nur mit GML gearbeitet ob die drag n drop funktionen gut sind, kann ich nicht beurteilen xD
Mein Problem ist halt, ich bin Kilobyte-Fetischist :D Ich liebe es, wenn Programme klein sind. Deswegen tu ich mich auch schwer, wenn ich für ein Hello World in Rust erstmal 5 Gigabyte MS Build Tools runterladen muss (wozu eigentlich??). Oder Unity-Builds, wo eine leere Szene mit einem Würfel schon 2 GB hat. Schrecklich 😂
Mit was hast du eigentlich deine App Candy Bag geschrieben ? :) ^^
Danke für dieses gute Video!
Ich wollte noch kurz fragen, wie Funktioniert dann JavaScript? C / C++ (etc.) müssen komplementiert werden... Wie Arbeitet dann JavaScript? Ist das so in etwa ein "Framework" auf der Basis von C++ oder wie verwandelt JS den Code in eine Computersprache?
Würde mich sehr freuen, falls du mir dies erörtern würdest :) .
Vielen dank!
+DasPascal JavaScript nutzt eien Just in time Compiler (JIT-C) das heißt on the fly "guckt" sich der der Browser den Code an. Oder eher die JavaScriptEngine des Browsers. Dieser Code wird dann umgewandelt, also kompiliert und abgelegt. Wenn der Code dann noch ma augerufen wird, muss der nicht noch mal kompiliert werden sondern die Engine nimmt sich das Stück code von vorher. Also so ähnlich wie Java wenn man mal ein Auge zudrückt
+LetsGameDev Ahhh :D Vielen dank für die schnelle und gute Antwort! :)
Mit dem Rpg Maker ist man schnell fertig und das Ergebnis ist meist gut das stimmt.
Ich könnte das nicht man hat hinterher eigentlich nichts worauf man stolz sein kann man hat kaum was geschafft und sein eigen nennen naja... Wenn ich jetzt von zwei Nachbarn die Reifen klaue und Gelb anmale ist es noch lange nicht meins :)
Choco Gaming Meine Meinung! :D
Weiß nicht - wenn man nur Presets un d Zeug aus dem internet verwendet mag das stimmen. Wenn man aber eigene Artworks, Story, Musik verwendet kann man da schon drauf stolz sein würd ich sagen. Halt nicht auf's programmieren sondern auf den Rest.
wo würdest du denn C# einschätzen? ist es Komfortabler als C++ oder ist es schneller?
Komfortabler
C++ ist schneller, da weniger Overhead. Jedoch lassen sich diese Sprachen nicht direkt vergleichen. C#, Java sind eher abstrakte, höhere Sprachen. C / C++ sind systemnahe Sprachen. Embedded Systems, OS-Kernel, Spiele, Echtzeitsysteme sind eher das Zuhause von C/C++, während Dinge wie WebApps, Anwendungssoftware wesentlich produktiver in Java oder C# entwickelt werden können. Eine Sprache ist nur ein Werkzeug. Ich hole ja auch keinen Vorschlaghammer um ein Bild aufzuhängen, nur weil er beim Abreisen von Wänden ja bisher auch gut war.
1:13 Neeneenee, der GBA kam mit nem C SDK und in C wurden entsprechend auch die meisten GBA-Spiele programmiert! ;)
Was wäre deiner/eurer Meinung nach die beste Sprache für mobile Indi games
+LeinadPlay Ich persönlich nutzte dafür HTML5 in Verbindung mit Cordova und Crosswalk. Bin da aber eher noch eine Randgruppe^^Unity eigent sich auch gut für cross platform. ansonsten halt direkt android oder ios
+LetsGameDev Ich hab mir schon Phaser angeschaut aber ich wollt dann nicht mehr
Eine Frage. Wo ordnest du dann Visual Scripting ein?
Das kommt darauf an wie möchtig das ganze ist. Wenn es rein um logig geht dann kann das wie eine Bremse wirken. Wenn es aber darum geht node zu verwendne um Shader zu erzeugen ist das eine coole sache.
Hä? Seit wann übersetzt denn der C++-Compiler (welcher auch immer) nach Assembler? Nach dieser Aussage in Minute 3:33 musste ich leider dein Video beenden. Nur leider weiß ich jetzt nicht, ob du das noch irgendwo wieder richtigstellst und diese Aussage quasi nur im "Eifer des Gefechts" zustande kam.
Im Eifer des Gefechts kann sowas schon mal passieren. Die Empörung mir zu schreiben, dass du das Video abgebrochen hast tut mir Leid, denn das zeigt mir, dass ich dir nicht rüberbringen konnte worum es mir eigentlich in dem Video geht.
@@LetsGameDev Doch, ich habe es jetzt weiter geguckt. Der Rest ist nämlich echt gut!
Das freut mich zu höhren :)
kannst du vielleicht bitte mal eine Übersicht über Game Dev Tools wie RPG maker machen?
Das währe sehr bequem ;-)
Ein Anfang gibts es hier auf meiner gamesengine seite. Da gehts darum, welche Spiele wurden womit umgesetzt.
lets-gamedev.de/gamesengine/
4:30 "... aus scheiß?..." XD
Sehr sehr geil
Hallo ich brauche hilfe. Ich bin 13 Jahre alt und will auch anfangen zu programmieren, erkundige mich auch dies das halt. Aber weiss nicht welche Programmier sprache ich benutzen soll welche nicht so schwer ist zumal ich ja auch erst 13 bin. Habe gehört Java script soll einfach sein, könnte jemand so nett sein und mir eine programmier sprache empfehlen und villeicht noch sagen ob es dafür Bücher gibt um es zu lernen ein link.wär auch nett. Danke schonmal im voraus.
L.g Yoshi