Ergebnis 1 bis 20 von 95

Thema: Neuer RPG Maker - RPG Maker MV

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Dann müssen einfach die entsprechenden Standardklassen derart designed werden, dass man soetwas wie Plugins angenehm einfach verwenden kann.
    Was du in Ruby machst ist in der Software-Entwicklung verpönt. Aber im RPG-Maker bist du mehr oder minder dazu gezwungen, weil der Code der Standardklassen unter aller Sau ist. (Vielleicht ein bisschen übertrieben, aber der Code ist dennoch ziemlich schlecht)

    Wenn du ein gutes System haben möchtest, welches Plugins unterstützt, dann würdest du eine ordentliche Klassenhierarchy mit Factories und Delegation aufbauen um alle einzelnen Bestandteile modular austauschen zu können. Allerdings muss man dafür etwas mehr als minimale Programmierkenntnisse besitzen, also schätze ich soetwas ist für die Entwickler des RPG-Makers zu viel.

  2. #2
    Zitat Zitat von Cornix Beitrag anzeigen
    Aber im RPG-Maker bist du mehr oder minder dazu gezwungen, weil der Code der Standardklassen unter aller Sau ist. (Vielleicht ein bisschen übertrieben, aber der Code ist dennoch ziemlich schlecht).
    Dafür aber sauber auskommentiert, was ich für wichtiger halte.

    So kann ich den Code verstehen. Aber ich habe mich entschieden z. B. mein Spiel eh komplett über Events laufen zu lassen, da ich keine Lust habe mich nochmal neu in Ruby bzw. die Feiheiten von RGSS3 einzuarbeiten.

    Klar, so was wie eine Hypoth-Funktion bzw. allgemein eine Wurzel wird schmerzhaft vermisst aber da ja nicht alles 100 % korrekt in einem RPG-Maker-Spiel laufen muss kann man da super irgend nen Quark runterscripten der halt läuft und Ergebnisse im richtigen Bereich liefert.

    Guter Code? Nein! Spaß beim "Spiel machen"? Ja!

    Und für ein Hobby-Projekt auch voll ok.

    PS: Sorry für´s Offtopic.


  3. #3
    Zitat Zitat von Pepo Beitrag anzeigen
    Dafür aber sauber auskommentiert, was ich für wichtiger halte.
    Eh? "Sauber auskommentiert" mag Ansichtssache sein, mMn zählen die Kommentare im RPG Maker mit zu den unnützesten überhaupt, weil sie fast nie genutzt werden, um Code zu erklären, sondern oft - manchmal wortwörtlich - wiederholen was als Code schon da steht.
    Im Ace wurde das reduziert, aber im XP (und vermutlich auch im VX), wo scheinbar krampfhaft versucht wurde wirklich jeder Zeile einen Kommentar zu verpassen, findet sich zuhauf Blödsinn wie das hier:
    Code:
    def moveto(x, y)
      super
      # Centering
      center(x, y)
      # Make encounter count
      make_encounter_count
    end

  4. #4
    Exakt. Die Kommentare im RPG-Maker (zumindest im XP) sind die absoluten Anti-Kommentare. Sie verbessern den Code nicht, ganz im Gegenteil, sie machen die Qualität des Codes sogar schlechter.

  5. #5
    Zitat Zitat von Cornix Beitrag anzeigen
    Exakt. Die Kommentare im RPG-Maker (zumindest im XP) sind die absoluten Anti-Kommentare. Sie verbessern den Code nicht, ganz im Gegenteil, sie machen die Qualität des Codes sogar schlechter.
    Ich besitze den Ace und da waren die Kommentare zumindest aus meiner subjektiven Sicht gut, da ich mit ihnen den Code schnell nachvollziehen konnte.

  6. #6
    Das kann sein. Es sollte nicht schwer sein bessere Kommentare als im XP zu schreiben wenn man bedenkt, wie schwer es sein muss schlechtere Kommentare schreiben zu können.

  7. #7
    Typescript statt Ruby ist mal megascheiße. Sonst hört sich das alles ziemlich gut an.

  8. #8

    "Vibration of Nature" - It's a long story
    stars_mod
    Also ich find es ja sehr cool, dass der neue RPG-Maker auf JavaScript und HTML5 setzt.

    Und Java? Bloß nicht.
    Klar kann man mit Java das selbe erreichen wie mit jeder Skriptsprache - nur mit dem Unterschied, dass es keinen Spaß macht und man sich die Finger wund schreiben muss.

    Im Vergleich zu Ruby/JavaScript ist Java vom Design sehr viel strikter veranlagt. Typen werden sehr genau genommen und jede Erweiterung muss vom Design exakt berücksichtigt werden (über Interfaces oder abstrakte Klassen).
    Shining hat in seinem Beispiel ja bereits erklärt, wie es das Erweitern von Klassen umständlich macht.

    Ruby/JavaScript sind hier was Erweiterbarkeit angeht viel flexibler. Natürlich kann man damit viel Mist bauen und sich damit in Richtung "schlechtes Design" bewegen, muss man aber nicht zwangsläufig.

    Letztendlich bin ich aber davon überzeugt das gerade bei der Spielentwicklung viele der strikten Design-Praktiken aus der allgemeinen Softwareentwicklung einfach nicht angebracht sind.
    Spiele brauchen a) nicht die Wiederverwendbarkeit von generischen Software-Libraries/Modulen und sind b) von ihrer Nutzungs/Lebensdauer derart beschränkt, dass ein besondere Augenmerk auf Erweiterbarkeit und sauberer Struktur ein verschwendeter Zeitaufwand ist. Insbesondere Spiel-spezifischen Inhalte darf man ruhig hacken. (wird z.B. auch von Naughty Dog so gemacht: http://www.dualshockers.com/2014/03/...our-long-talk/ )

    ...Im Endeffekt ist es natürlich alles persönliche Präferenz. Ich hatte meine paar Jahre mit Java und vermiss die Zeit jedenfalls nicht. :P

  9. #9
    Zitat Zitat von Lachsen Beitrag anzeigen
    Und Java? Bloß nicht.
    Klar kann man mit Java das selbe erreichen wie mit jeder Skriptsprache - nur mit dem Unterschied, dass es keinen Spaß macht und man sich die Finger wund schreiben muss.

    Im Vergleich zu Ruby/JavaScript ist Java vom Design sehr viel strikter veranlagt. Typen werden sehr genau genommen und jede Erweiterung muss vom Design exakt berücksichtigt werden (über Interfaces oder abstrakte Klassen).
    Shining hat in seinem Beispiel ja bereits erklärt, wie es das Erweitern von Klassen umständlich macht.

    Ruby/JavaScript sind hier was Erweiterbarkeit angeht viel flexibler. Natürlich kann man damit viel Mist bauen und sich damit in Richtung "schlechtes Design" bewegen, muss man aber nicht zwangsläufig.

    Letztendlich bin ich aber davon überzeugt das gerade bei der Spielentwicklung viele der strikten Design-Praktiken aus der allgemeinen Softwareentwicklung einfach nicht angebracht sind.
    Spiele brauchen a) nicht die Wiederverwendbarkeit von generischen Software-Libraries/Modulen und sind b) von ihrer Nutzungs/Lebensdauer derart beschränkt, dass ein besondere Augenmerk auf Erweiterbarkeit und sauberer Struktur ein verschwendeter Zeitaufwand ist. Insbesondere Spiel-spezifischen Inhalte darf man ruhig hacken. (wird z.B. auch von Naughty Dog so gemacht: http://www.dualshockers.com/2014/03/...our-long-talk/ )

    ...Im Endeffekt ist es natürlich alles persönliche Präferenz. Ich hatte meine paar Jahre mit Java und vermiss die Zeit jedenfalls nicht. :P
    Dass Java strikt ist ist ein Vorteil gegenüber den anderen Sprachen. Das, was nicht erlaubt ist (wegen der Striktheit), sind für gewöhnlich Dinge, welche in den anderen Sprachen auch zu einem Absturz führen würden. Aber Java warnt den Programmierer ohne, dass man das Programm dafür testen muss. Wie irgendjemand solch ein Verhalten als Nachteil ansehen kann ist außerhalb meiner Vorstellungskraft.
    Ich habe meine Zeit mit Ruby und den ganzen Scriptsprachen verabscheut. Die fehlende Sicherheit eines schützenden Compilers, die zusätzliche Zeit, welche in das Debugging gesteckt werden muss um triviale Fehler zu finden, welche mit anderen Sprachen garnicht möglich gewesen wären.

    Das Beispiel von Shining war, wie Shining es auch selbst herausgestellt hat, ein extrem schlechtes Beispiel. Die vorgestellte "Erweiterbarkeit" war hier eher etwas abstoßendes. Das Fehlerpotenzial solcher Scripte ist gigantisch und der Wartungsaufwand explodiert sobald man solchen Code schreibt.

    Zu dem was du zur Spieleentwicklung sagst, würde ich das komplette Gegenteil behaupten. Gerade Videospiele profitieren am meisten von gutem Design. Sie zählen zu den komplexesten Programmen überhaupt und eignen sich vortrefflich für die Anwendung von Programmier-Pattern und Software-Prinzipien.
    Besonders wenn man bedenkt, was für eine riesige Anzahl an Spiele-Projekten regelmäßig abgebrochen werden, ganz sicher auch wegen zu schlechtem Code. Denk nur darüber nach wie dringend Videospiele heutzutage von Updates abhängig sind. Neue Funktionalitäten, neuer Content, verbesserte Nutzeroberflächen, optimierte Performance, etc etc. Deine Philosophie im Sinne von "hoffen wir, dass es gut wird" ist keine gute Taktik für die großen Spieleentwickler, welche heutzutage Millionenbeträge in die Entwicklung von Spielen stecken. Spiele, welche in dieser Zeit den höchsten Qualitätsanforderungen gerecht werden müssen.

  10. #10
    Haha, großartig.

    Irgendwie könnt ihr beide letzendlich Recht haben, zumindest kann ich beide Meinungen nachvollziehen. Nur kommt es wahrscheinlich auf die Skalierung eures Teams an. Ein millionenschweres Blizzardspiel, das über die nächten 10 Jahre mit Erweiterungen zugeballert werden soll, würde ich auch niemals in einer Skriptsprache entwickeln und sollte an jeder Stelle auf sein Design achten. Das "kleine" Indieprojekt hingegen kann schnell an so einer fein säuberlichen Arbeitsweise dahingerafft werden. an dieser Stelle sind schnelle Entwicklung und unsaubere Handgriffe schon weitaus mehr zu verkraften, wenn am Ende ein fertiges Produkt bei rumkommt.

    Geändert von csg (28.08.2015 um 01:31 Uhr)

  11. #11
    Zitat Zitat von Cornix Beitrag anzeigen
    Gerade Videospiele profitieren am meisten von gutem Design. Sie zählen zu den komplexesten Programmen überhaupt
    Meinst du das ernst?

  12. #12
    Aber natürlich. Videospiele haben ALLES was es gibt. Man braucht ein ordentliches Model für die Datenhaltung, Nutzereingaben, Speichern / Laden, Netzwerkkommunikation, GUI programmierung, künstliche Intelligenz, Grafikprogrammierung, Zeitverhalten, Multithreading, Plugins, komplexe Algorithmen (Pathfinding, Graphenalgorithmen, etc) und wahrscheinlich noch viel mehr.

    Natürlich hat nicht jedes Videospiel all diese Dinge, aber Videospiele im Allgemeinen können eine beliebige Kombination aus all diesen Themenbereichen verwenden.
    Andere Applikationen, zum Beispiel Simulationssoftware, Finance oder Controller von eingebetteten Systemen müssen sich immer nur um ein paar ganz spezielle Teilbereiche kümmern. Aber in Videospielen sind alle diese Dinge wichtig, sie sind perfekt dazu geeignet um gutes Programmieren zu lernen und zu üben, darum verwenden wir in unseren Praktiken an der Universität immer Videospiele für die Gruppenarbeiten.
    Man kann sie zudem auch noch beliebig schwierig und komplex machen. Von Pong über Zelda zu World of Warcraft kann man die komplexität der Arbeit ins unendliche steigern.

  13. #13
    Ich stimme zu, dass die vielen Disziplinen es zu einem guten Lehrmittel machen, allerdings lassen deine Vergleiche darauf schließen, dass du von den Inhalten von Videospielen mehr weisst als von langweiliger Softwareentwicklung für Business und Industrie ;-)

    Wenn letztere wirklich "nur" so Arbeiten in einem Teilbereich wären, dann hätte ich wohl einen viel leichteren Job. Ein Spiel ist ( MMOs ausgenommen ) ein abgeschlossenes Produkt. Das Team fängt damit an und kontrolliert was rein kommt und wie es zusammen arbeitet. In der weniger spassigen Softwareentwickung ist ein sauberer Neustart, auch noch bei einem Produkt, dass nur für sich selbst funktioniert, ein Luxus, den man leider nur selten genießt.

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •