Wie plane ich mein Projekt am besten?



  • Hallo,

    ich beschäftige mich seit einigen Tagen mit OpenGL und möchte jetzt ein kleines Grundgerüst für mein Projekt machen. Ich habe mich also hingesetzt und ein simples UML Diagramm gemacht(https://imgur.com/fy38zay). Das ganze ist noch sehr simpel und ich bin auch nicht wirklich zufrieden damit, kann aber keine gute Ressource finden, wie man so etwas sauber umsetzt. Kann mir jemand Tipps oder einen Link geben wie man solche Projekte sauber plant? Ich habe lediglich einige Bücher zur Objektorientierten Programmierung und UML Diagrammen auf Amazon gefunden, diese sind aber sehr teuer und ich bin mir nicht sicher ob da das drinsteht was ich mir erhoffe.

    Danke für eure Hilfe ^^



  • Sieht nicht so aus, als ob sich das großartig lohnen würde, 5 Klassen zu planen...
    Fang einfach an, die Erfahrung ist der wichtigste Faktor. Später kannst es schnell umbauen oder neuschreiben.

    Im Zusammenhang mit Spielen würde ich noch das Entity Component System (Pattern) erwähnen, das kannst dir auch mal anschauen.



  • Das ganze soll ein Minecraft Clone werden und soll halt mit C++ schnell laufen und vor allem sauberer, leicht vereinfachbarer Code und außerdem möchte ich das planen üben ^^. Ich habe im Internet das S.O.L.I.D Prinizp gefunden und beschäftige mich gerade damit. Danke für das "Entity Component System", werde es mir definitiv anschauen!



  • PowerOfCreation schrieb:

    mit C++ schnell laufen und vor allem sauberer, leicht vereinfachbarer Code und außerdem möchte ich das planen üben ^^.

    Ja, die Ziele sind nicht verkehrt. Aber Softwarearchitektur und "planen" sind keine einfachen Themen. Das lernst du nicht von heut auf morgen und da hilft dir auch kein Buch weiter. Es gibt viele Bücher, Patterns, usw. die man kennen sollte. Und verbunden wird das ganze durch Erfahrung. Du wirst nicht die eine Anleitung finden. Es gibt sehr viele Versatzstücke, und irgendwann lernst du durch Erfahrung einzuschätzen, was dir in einer konkreten Situation weiterhilft.

    Wobei das auch vom Themengebiet abhängig ist. Ich habe praktisch überhaupt keine Erfahrung mit Spieleentwicklung. Da gibts sicherlich einen Haufen eigener Patterns und Herangehensweisen. Grad wenn du willst, dass etwas schnell läuft, wird es nicht reichen, einfach nur C++ zu verwenden. Schau dir mal die Videos von der Cppcon an, da gibts immer wieder Beiträge von Spieleentwicklern (kann mich grad an EA und Ubisoft entsinnen), die investieren teilweise wahnwitzigen Aufwand in Optimierungen. Und die haben eben Erfahrung, die wissen, was sie machen 😉

    Deswegen nochmal, fand einfach schon mal an. Und schau dir nebenbei alles mögliche an, was du finden kannst. Es ist aber unrealistisch, dass du jetzt von vornherein etwas wirklich gutes planen kannst.



  • Habe mein UML Diagramm weiter verbessert auf Basis was ich im Internet so finden konnte und dem ECS Pattern. Meinungen, was ich verbessern könnte?

    https://i.imgur.com/VBVcfIz.png



  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.





  • Habe ich bereits, trotzdem Danke ^^



  • Naja, dein Diagramm setzt das ECS Pattern aber nicht richtig um, würde ich sagen. Da gibts schon fertige Frameworks, und es gibt auch ausführlichere Tutorials/Videos.

    Außerdem, wenn ich mir das Diagramm anschaue, kann ich mir unmöglich vorstellen, dass das reichen wird. Du brauchst nicht mehr als ein float[], um alles mögliche zu zeichnen? Deswegen, fang einfach mal an, dein Diagramm wird mit der Zeit wachsen 😉



  • sehr hilfreich ist es auch, erst einmal in ganz normaler sprache aufzuschreiben, was du da eigentlich machen willst und wie du dir das vorstellst. also vermutlich etwas in der art "der spieler soll sich durch eine welt bewegen und dabei von monstern angegriffen werden. wenn das monster so und so dicht am spieler ist, soll dieser mit einem hechtsprung ausweichen können... uswusf".

    das macht je nach umfang projekts 2 bis 150 seiten aus, aber du sparst dir nachher dieses ganze gebastel, weil du diese und jene eigentlich offensichtlichen einfälle vorher nicht berücksichtigt und schonmal "losgeproggt" hast.