Warning: include_once(/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php): failed to open stream: No such file or directory in /var/www/html/fields/dbp09/local/config.php on line 4

Warning: include_once(): Failed opening '/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php' for inclusion (include_path='.:/opt/php/lib/php') in /var/www/html/fields/dbp09/local/config.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/fields/dbp09/local/config.php:4) in /var/www/html/pmwiki-2.2.86/pmwiki.php on line 1250
Datenbankpraktikum SS 2009 - Gruppe 1 - Backend-forschung

Forschung

Kurzbeschreibung

Die Forschung dient dem Spieler dazu sich in bestimmten Bereichen weiterzuentwickeln und sich somit dort einen Vorteil gegenüber anderen Spielern erarbeiten zu können. Geforscht werden kann mit Forschungspunkten welche durch ein Forschungslabor produziert werden.

Umsetzung

Wir haben uns dazu entschieden die Forschungen als globale Verbesserungen anzusehen. Somit sind sie direkt an den jeweiligen User in Form von Attributen angebunden worden. Diese Attribute werden als Integer, welche das jeweilige Level des Forschungsbereichs wiederspiegeln abgelegt. Um Forschung generell zu ermöglichen, benötigt der User Forschungspunkte, welche durch ein Forschungszentrum generiert werden. Ein Forschungzentrum kann auf jedem Planeten errichtet werden und sie generieren unabhängig voneinander Forschungspunkte. Auch diese sind in Form eines Integer-Attributs direkt im Usermodell abgelegt. Aus Performancegründen wurde ein weiteres Attribut, in dem gespeichert wird wieviel Forschungspunkte der User pro Stunde gutgeschrieben bekommt, ebenfalls dort abgelegt. Dies wird abhängig von der Rasse des Users und der Stufen der jeweiligen Forschungszentren berechnet. Somit muss der Ticker diese Berechnung nicht mehr zur Laufzeit durchführen, sondern kann einfach den jeweiligen Wert aufaddieren.

Die Methoden zur Berechnung der Kosten für die nächst höhere Stufe sowie der Auswirkung der Forschungen sind in der Moduldatei rules_and_regulations.rb hinterlegt. Außerdem wurde auf Wunsch der Web-Frontend-Gruppe die Methode enough_score, welche überprüft ob der User ausreichend Forschungspunkte für die entsprechende Forschung besitzt getrennt von den einzelnen Forschungen implementiert, sodass auch ohne eine Erhöhung des Levels dieser Status abgefragt werden konnte. Dies ermöglichte ihnen eine vereinfachte Darstellung der möglichen Forschungen.

Auswirkungen

Förderbonus

Der Förderbonus steigert die Effektivität der Produktionsgebäude(Erzmine, Kristallfeld, Raffinerie) bei jedem Level um einen bestimmten Prozentsatz. Hierbei musste darauf geachtet werden, dass nicht nur das Level erhöht wird sondern es musste explizit die Methode zur Neuberechnung der Rohstoffproduktion pro Stunde aufgerufen werden, da diese sonst erst bei einem Ausbau eines Produktionsgebäude aktualisiert würde.

Konstruktionsgeschwindigkeit

Durch diese Forschung verringert sich die Bauzeit von Gebäuden und Raumschiffen um einen gewissen Prozentsatz je Level. Dafür musste bei der Berechnung der Bauzeit das jeweilige Level berücksichtigt werden und mit einberechnet werden.

Antriebsforschung

Die Antriebsforschung verringert die Flugzeit von Raumschiffen um einen gewissen Prozentsatz pro Level. Auch hier musste nur in der Berechnung der Flugzeit einer Flotte das Forschungslevel berücksichtigt werden.

Waffensysteme

Diese Forschung erhöht die Kampfkraft einer Flotte um einen gewissen Prozentsatz je Level. Hier musste ebenfalls ausschließlich in der Berechnung der Endkampfkraft einer Flotte bzw. eines Planeten das Level der Forschung mit einbezogen werden.


Page last modified on August 23, 2009, at 03:54 PM