Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Cookiezzz

Frischling

Beiträge: 91

Wohnort: Deutschland

Beruf: Schüler

  • Private Nachricht senden

11

05.04.2014, 00:37

Das hängt wohl davon ab, wie viele Gebäude auf einer map sind. Wenn es zu performance Problemen kommt sollte man sich wohl um eine effizientere Methode gedanken machen. Wenn es weniger Gebäude sind, warum sollte man sich das Leben dann unnötig kompliziert machen?

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

12

05.04.2014, 00:56

Generell gilt meiner Meinung nach: möglichst wenig Extraspeicher/Datenredundanz. Man schießt sich kurz oder langfristig doch nur ins Knie damit. Sollte es sich als "bottle neck" rausstellen, kann man immernoch optimieren.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

13

05.04.2014, 11:45

Man müsste es einfach mal ausprobieren. Generell sollte man alles was man Programmiert so einfach wie möglich zum laufen bringen. Sobald es funktioniert und getestet ist kann immernoch optimiert werden.
Was "so einfach wie Möglich" ist, hängt von deiner Arbeitsweise ab.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

14

05.04.2014, 20:16

Generell gilt meiner Meinung nach: möglichst wenig Extraspeicher/Datenredundanz. Man schießt sich kurz oder langfristig doch nur ins Knie damit. Sollte es sich als "bottle neck" rausstellen, kann man immernoch optimieren.
Das ^
Aber nicht das:
Man müsste es einfach mal ausprobieren.
Ich weiß nicht genau, wie es gemeint ist, denn unter "einfach mal ausprobieren" versteht man schnell, dass man multiple Ansätze mal probieren sollte. Sollte man nicht. Der einfachste Weg mit der geringsten Redundanz ist am sinnvollsten, da er einfach zu verstehen und zu warten ist. Dass man später noch mal überarbeiten kann, da stimme ich mit beiden überein.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

15

05.04.2014, 20:20

Das hast du wohl falsch verstanden. Ich habe Nox zugestimmt. Würde auch nicht mit dem zusammen passen, was ich sonst geschrieben habe oder?
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

16

05.04.2014, 21:29

Und ich glaube, dass Du nur die Hälfte gelesen hast und nach meinem zweiten Satz wohl abgebrochen hast. Ich wollte lediglich klar stellen, dass der Satz auch falsch verstanden werden kann. Der Rest Deiner Aussage entspricht ja der von Nox und dem habe ich ebenfalls zugestimmt.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

17

05.04.2014, 21:43

Tut mir leid. Den Kommentar habe ich total übersehen. Hast du den Beitrag vielleicht in den ersten Minuten nachträglich bearbeitet? Wenn nicht muss ich wohl gedacht haben, das wäre die Signatur oder so.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

18

06.04.2014, 13:33

Nope, habe ich nicht. Das würde man sonst auch sehen, wenn ich ihn geändert hätte, nachdem ihn schon jemand gelesen/abgerufen hat.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

19

11.04.2014, 23:58

Noch einmal zurück zum Event-System,

ich hab versucht mir auf dem Gebiet etwas mehr Erfahrung anzueignen. Leider war ich bis jetzt nicht sonderlich erfolgreich. Der besondere Knackpunkt vor dem ich stehe ist die Anwendung auf einer zwei Dimensionalen Karte. Sprich, dass die Position von Sender und einem möglichen Empfänger klar sind. Dabei geht es vorallem darum die "räumliche" Ausdehnung der Nachricht zu bestimmen, um festzulegen in wieweit andere Objekte das Event abfangen und verarbeiten können. Sorry, ich weiss, dass klingt jetzt etwas wirr. Weiss leider nicht, wie ich das besser darstellen kann. In den Tutorials die ich bis jetzt zu Event-Sytemen gelesen habe ging es leider meistens um allgemeine Anwendungsmöglichkeiten. Nicht jedoch um die Verwendung in einer zwei oder gar drei Dimensionalen Umgebung in der Objekte miteinander kommunizieren sollen. Vielleicht kann jemand ein paar Tipps (insbesondere zu Tutorials oder gerne auch Literatur) geben.

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

20

12.04.2014, 10:59

Wahrscheinlich wirst du da bisher nur ganz allgemeines Zeug gesehen haben (Observable bietet Methoden zum anhängen/abhängen eines Listeners und ruft zu einem bestimmten Zeitpunkt alle Listener auf, ggf. mit konkreterem Beispiel).

Im Grunde ist das übertragen auf deine Situation nicht übermäßig schwierig:
Beim Platzieren eines Gebäudes guckt dieses in seiner Umgebung nach allen Gebäuden, die in irgendeiner Weise relevant sein könnten (eine Eisenschmelze würde nach Lagerhäusern, Eisenminen, Köhlereien, Kohleminen, Werkzeugschmieden). Alle gefundenen Gebäude werden natürlich vermerkt.
Würden Gebäude gefunden werden, würden Events für das Abreißen, Verschieben, Lagerstandsänderungen etc. angehangen werden, abhängig vom Typ des Gebäudes. Wird ein Gebäude abgerissen, werden alle EventHandler wieder entfernt.
Gleichzeitig werden die gefundenen Gebäude über das platzierte Gebäude informiert, damit diese wiederum, sofern erforderlich, EventHandler anhängen können.
Hat die Eisenschmelze nun Eisen produziert, würde es ein entsprechendes Event auslösen und so der Werkzeugschmiede und dem Lager Bescheid geben, dass sich was am Lagerstand verändert hat.
Es gibt bestimmt noch die einen oder anderen Sachen zu berücksichtigen (bzw. vielleicht lässt sich das An- und Abhängen der Events auch etwas besser handhaben), aber bisher ist das ganze noch relativ übersichtlich.

Beim Bauen selbst kann man ähnlich vorgehen:
Immer, wenn die Position des Cursors sich ändert (sich also auf ein anderes Feld bewegt), wird der Radius des zu bauenden Gebäudes aktualisiert und alle Gebäude und Felder gesucht, die für dieses relevant sind, damit diese hervorgehoben werden können.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Werbeanzeige