joshimoo / Gorillaz

Gorillaz is an artillery-style game with procedural map generation
MIT License
5 stars 0 forks source link

Code für eea umschreiben #25

Closed ghost closed 9 years ago

ghost commented 9 years ago

Für den Fall, dass wir eea verwenden wollen.

tuCharly commented 9 years ago

Wir müssen eea verwenden

tuCharly commented 9 years ago

Wir haben und gegen EEA endschieden, es ist absoluter muell und Slick2d is more than capable to do everything it does and more

joshimoo commented 9 years ago

Diese Entscheidung ist noch nicht getroffen.

Dazu will ich erstmals Objektive Begründungen und Meinungen hören (Nutzt dafür den Forum post). Sowie Alternativen bezüglich MVC/Entities Framework, da dieses mit in unsere Bewertung einfließt.

Die Abschließende Entscheidung treffe dann ich.

tuCharly commented 9 years ago

Die Entscheidung wurde Demokratisch von und gefällt, du warst leider nicht da. Falls du dich ein bisshcen mit dem Framework beschäftigst, wird dir sicher schnell klar, dass es mehr einschänkt als es hilf. Für unsere aufgabe wird kein weiteres Framework benötigt. Slick2D ist mehr als ausreichent für unsere zwecke und baut auf dem nochmächtigenen OpenGL, und anders als das EEA schränkt es nicht die verwendung andere methoden ein. Auserdem schmeißen wir EEA nicht vollständig raus. In den simplen states, welche nur menueingaben verarbeiten kann es bleiben. Für den gamestate ist es aber völlig ungeeignet. Inwiefen zählt deine Stimme mehr als die unsere? Ich dachte wir währen ein Team ;(

joshimoo commented 9 years ago

Ich hatte mir das Framework bereits angesehen und die Meinung von euch ist mir natürlich sehr wichtig allerdings will ich Objektive und konkrete Begründungen für/gegen die Nutzung von euch hören. Und nicht einfach nur es ist scheiße :)

Sowie Alternativen bezüglich MVC/Entities Framework, da dieses mit in unsere Bewertung einfließt.

Ich kann natürlich verstehen das es erstmals Angst macht, da es hauptsächlich Komponenten getriebenes Design nutzt. Welches im Kurs nicht behandelt wurde. Allerdings im Spiele Bereich relativ wichtig ist und auch in sonstigen Bereichen einem Entwickler neue Perspektiven zeigt :+1:

Für die Interessieren unter euch, könnt ihr ja mal nach "entity component system" googlen :)

tuCharly commented 9 years ago

(i <3 roguebasin.com :D) Ich sehe es eher so, es solle gut argument geben für die nurtzung geben, nicht nur weil es so da steht

Erstmal gennerell für ecs: Gegen ein ecs an sich spricht nichts. Grade bei komplexeren spielen (wie z.b.RLs) macht es sinn sich so einen Oberbegriff zu fassen. Wie auch oben schon angemerkt haben wir uns nicht gegen ein Entity model enschieden, nur gegen das EEA.

Du sagst du hast dir das framework schon angesehen und sprichst so als hättest du erfahreung mit ecs, dann wirst du hoffentlich auch erkannt habene, dass es schlichtweg schlecht ist. Selbst wenn man jetzt nur die vorlesungen besucht hat, und so OOP gelehrnt hat, so sollte es offensichtlich sein, das allein die Struktur von EEA komplett gegen alles gute spricht, was OOP und java hat. Falls man sich dann entschließt, die Implementation anzusehen, könnte man fasst schon heulen. Es kommt fast so vor als hätte Alexander Jandousek nochnie zuvor mit Slick2d gearbeitet und sie hätten es einfach genommen weil sie keinen anderen weg kennen OpenGl in java zu benutzen. Wenn interresiet, kann sich mal auf der Slick2d website ein paar Tutorials duchrlesen, um zu sehen wie es benutzt werden sollte, bzw. wie die ersteller es sich gedacht haben.

Nun zu unseren Situation: Wir haben fix vorgegebene Entitys und die Komplexität dieser haällt sich stark in grenzen; Wie schon vorher geschrieben, bietet slick2d alles was man für ein ordentlichen ecs brauchen würde, was mehr als genug für uns ist. Auserdem bin ich der meinung, dass man weitaus mehr lehren kann, wenn man sich ein simples modell selbst aufbaut. Bisjetzt haben wir eine simple abstrakte Entity klasse die xy-koordinanten hat und die mehtoden render() und update() vorgibt. Damit folgt das Model strikt den slick2d vorgaben. Es ist noch platzt für ggf. Collisiondetecteion (welche slick auch mitbringt) und andere erweiterungen.

Das wichtigste: Es passt genau auf unser Proplem und es passt in das gegeben framework (OGL/SLick2D) und es versuche nicht Eventbasiertes-system in eine StateBasted Engine reinzuholzen (was eigentlich inherently exclusiv ist).

Bisjetzt nutzen wir ja EEA sogar noch für die Menustaters wo wir wirklich nurauf Eingaben reagiern müssen, und das sollten wir nicht unbedingt ändern. (If it aint broke, dont fix it) Aber im Spiel, wo wir sogar von der augabenstellung her Züstände vorgegeben haben hat das EEA einfach keinen platz.

Natärlich ist uns deine Meinung wichtig und wir verstehen, dass es erstmal Angst machen kann ein eigenens Entitymodel zu verwenden, aber eigentlich ist es ganz einfach und es sicn bis jetzt nur 12 Zeilen code :)

joshimoo commented 9 years ago

Konkrete Beispiele, warum es scheiße ist bitte. Und letztlich ist dein Sarkasmus einfach nur unnötig und beleidigend.

tuCharly commented 9 years ago

Mein letzter abschnitt spiegelt genau das wieder, was du ebenfalls geschrieben hast. Wen du dich nun beleidiget fühülst, ist die chance groß, dass die jenigen die deinen Text gelesen haben, ebenso fühlten.

Beispiele sind oben gegeben,zusammengefasst sind es: Inkonsistendes Design Inkompatibelität von Eventdriven und Statebased Misachtung von OGL und Slick2d richtlinen bzw. nichtbenutzen gegbenener Strukturen. (Aka das Rad neu erfinden)

Falls du Punkte hast, die für EEA stehen, würde ich sie gerne höhren.