Kombination C++ und Blueprints

  • Hallo zusammen,


    ich habe vor ein paar Tagen begonnen mich intensiver mit der Unreal Engine auseinander zu setzen und frage mich aktuell was der gängiste Weg ist mit der Engine zu arbeiten.


    Es gibt ja durchaus Spiele, die komplett mit Blueprints / Visual Scripting erstellt wurden. Ich lese aber immer wieder, dass ich mit Blueprints Performance und Flexibilität verliere, allerdings dafür Sicherheit (Fehleranfälligkeit) beim Erstellen gewinne.


    Ich stelle mir das ganze aktuell so vor, dass ich Klassen und Funktionen generell in C++ erstelle und diese dann per Blueprints "kombiniere".

    Also die Logik "was passiert" in C++ und in Blueprints dann das "wann passiert es" erstelle.


    Ist das ein valider und auch gängier Ansatz oder wie macht ihr das?


    Vielen Dank.

  • Also soweit ich weiss ist der Performanceunterschied zwischen C++ und Blueprint sehr gering.

    Generell kannst du fast alles mit Blueprints machen, wenn du jedoch etwas machen willst wofür Blueprints nicht ausreicht musst du auf C++ ausweichen. Oder bei sehr komplexen Mechaniken ist C++ wahrscheinlich übersichtlicher.


    Epic macht es so das sie C++ und Blueprints kombinieren, kannst du beim Shooter Example sehen


    Ausserdem gibt es die Möglichkeit Blueprints in C++ umzuwandeln, hierbei können aber Fehler entstehen


    PS:Aber wenn du dich erst seit kurzem mit der Engine beschäftigst ist es vielleicht Sinnvoll erstmals mit Blueprints ein wenig herumzuprobieren und ein Gefühl für die Engine zu kriegen


    PPS: Ausserdem hat man viel schneller Resultate mit Blueprints und es gibt ne Menge Tutorials.

    Alles was schiefgehen kann, wird auch schiefgehen.

    Alles sollte so einfach wie möglich sein, aber nicht einfacher

  • Vielen Dank schon einmal für die Antwort. Ich habe bereits den Blueprint GameDev.tv Kurs und auf Udemy den Unreal Engine 4 Blueprint Programmierung Kurs komplett gemacht und arbeite mich aktuell durch den Unreal C++ GameDev.TV Kurs.


    Ich sehe aktuell abgesehen von den angeblichen Performance Vorteilen von C++ keinen Mehrwert für meinen Skilllevel mit C++ zu arbeiten aber würde es gerne "richtig" lernen.


    Darum die Frage.

  • Also erst mal vorab - du kannst auch beim kompilieren alle Blueprints mit AUsnahme von Level BP und Macros über nativization in C++ umwandeln.


    Blueprints haben durch die Virtualisierung einen Overhead durch die VM - der ist aber so gering daß er auf modernen Computern kaum eine Rolle spielt.


    Alles in C++ zu machen läuft zwar theoretisch "einen Hauch" schneller, aber solange du keine uralt Hardware anpeilst wird das kaum merkbar sein.


    Alles in C++ zu pumpen bläht ausserdem die binaries entsprechend auf.


    Bei einem "reinen" C++ Projekt hast du ausserdem den Nachteil von C++ - es ist vom debugging her sehr viel anspruchsvoller. Während du in einem BP Projekt mit "Simulate" schnell und effektiv beim Debuggen siehst welchen Weg der Aufruf durch die Codes geht musst du in C++ altbacken mit Breakpoints und debuggern arbeiten - was echt viel Zeit für Kleinigkeiten fressen kann.

  • Herzlich willkommen hier im Forum LonelyGames,


    also ich habe den Eindruck, dass manche Sachen noch leichter mit C++ gemacht werden können. In einem eBook über das Programmieren von RPG's in der UE wird z.B. noch ein Code für das Aufsetzen eines rundenbasierten Kampfsystems und für ein paar andere Sachen wie XP und Schaden im Kampf berechnen verwendet obwohl das meiste mit BP's erledigt wird. Also beides zu verwenden ist auf keinen Fall unüblich und in einem eBook ist es auch angenehm, man kann ja den Code einfach rauskopieren. BP sind aber viel leichter zu erlernen, ich selbst konzentriere mich auf jeden Fall eher darauf.


    Ich wollte dann noch fragen wie Dir der Kurs gefallen hat, also ausgehend davon, dass Du gleich noch einen zweiten genommen hast, kann es ja nicht so schlecht gewesen sein. Ich kenne GameDev.tv nicht und weil die Kurse gerade um ganze 90% verbilligt sind, bin ich mir nicht icher ob ich das als seriöse Website einstufen sollte. Ich finde auch, dass knapp 240€ sehr viel für 100min wären.


    Hast Du auch gratis Tutorials ausprobiert bevor Du den Kurs gemacht hast und einen Unterschied bemerkt?


    Wie gut muss man Englisch können, damit so ein Kurs Sinn macht?

  • GameDev.TV an sich bietet aus meiner Sicht extrem gute Kurse an (ich hatte damals die Unity RPG Kursserie gemacht). Die Unreal und auch Unity Kurse sind was den Umfang angeht extrem groß und sind bei EPIC auch als offizielle Kurse gelistet, die auch eigene Badges im Unreal Learn Portal bei Abschluß liefern.


    Der Unreal C++ Kurs hat 31,5 Stunden On-Demand-Video und der Unreal Blueprint Kurs 10,5 Stunden On-Demand-Video


    Ich selbst habe Englisch nur durch Stream schauen gelernt und verstehe Englisch generell sehr gut wobei ich mich beim Schreiben und Sprechen eher schwer tue.


    Die 90% vergünstigt sind angelehnt an die Udemy Kurse (viele ihrer Kurse sind auch auf Udemy zu finden).


    Deren Kurse sind, wie ich finde, extrem gut strukturiert. Der Unreal C++ Kurs zum Beispiel beginnt in Kapitel 1 mit reinem C++. Kapitel 2 wird ein mitgeliefertes Unreal Projekt modifiziert. Kapitel 3 baut man ein eigenes kleines Escape Room Game von Null. Kapitel 4 ist ein kleiner Arcade Topdown Shooter und Kapitel 5 ein FPS.


    Jedes Kapitel liefert neue Techniken und baut auf bestehendem Wissen auf.


    Also von meiner Seite nur zu Empfehlen ohne jetzt Werbung dafür machen zu wollen ;)