libsigc++ oder boost:signals

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Benutzeravatar
Jonathan
Establishment
Beiträge: 2373
Registriert: 04.08.2004, 20:06
Kontaktdaten:

libsigc++ oder boost:signals

Beitrag von Jonathan »

Ich möchte in meinem Spiel (C++/OpenGL, crossplattform) ein Nachrichtensystem einbauen, um die Spiellogik zu vereinfachen. Jetzt will ich damit ja nicht bei 0 anfangen, sondern vielleicht schon eine fertige Lib benutzen und überlege nun, welche das sein soll. Im Moment hab ich 2 Alternativen:

Boost::signals
Dafür spricht, dass ich boost eh schon benutze und boost erfahrungsgemäß für das was es sein soll recht gut ist.

libsigc++
Argumente dafür oder dagegen hab ich nicht, es ist nur so eine Alternative.


Wichtig wäre mir halt, dass das ganze relativ schnell ist, ich will Nachrichten für so ziemlich alles benutzen, damit es einheitlich ist. Früher hatte halt jedes Objekt eine einfache Update Funktion die das ausgeführt hat, was das Objekt macht, jetzt könnte man sich das bei Bäumen, die ihren Zustand eh nie verändern sparen und nur Charaktere bewegen. Ebenso könnte man das geschlagen werden als Nachricht auffassen oder das Sterben, bei dem der Angreifer informiert wird, dass er jemanden getötet hat und dementsprechend jetzt Erfahrungspunkte bekommen muss.
Wichtig wird das vor allen Dingen bei komplexeren Charakteren die magische Ausrüstung oder Auren haben, die zum Beispiel den erlittenen Schaden reduzieren oder reflektieren. Es gibt möglicherweise eine Vielzahl ähnlicher Effekte die alle in Unterschiedlichen Situationen ausgelöst werden, und das klingt meiner Meinung nach sehr nach Nachrichten.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Antworten