Mengengerüste in Excel
Von Marc Kamradt
Es kommt häufig vor, dass man für ein Projekt oder einen Teil eines
Projekts überschlagen möchte, ob man mit den gegebenen Ressourcen zum Ziel
kommt. Dafür stellt man ein Mengengerüst auf und kann schon im vornhinein
eine Abschätzung geben, ob die gegebenen Ziele erreichbar sind.
Zwei Beispiele von Mengengerüsten, die mir zuletzt begegnet sind und
anhand denen ich kurz die Nutzung von Excel zeigen will sind
Speicherverbrauch und CD-Ladezeiten.
Übersicht
Um zu sehen, ob die Daten für unser PS2-Projekt in die 32MB Hauptspeicher
passen haben wir in Excel eine Tabelle erstellt und erstmal die groben
Kategorien an Speicher definiert, also so Dinge wie:
- Geometrie
- Texturen
- Programm
- Leveldaten
- etc.
Nebenrechnung
Jede einzelne Kategorie haben wir in einer Art "Nebenrechnung" etwas
genauer beleuchtet. Das sah ungefähr so aus:
|
SpielerAnimationen pro Waffe |
50 |
|
Waffen pro Level |
4 |
|
SpielerStandardAnimationen |
53 |
|
Animation pro Gegner |
15 |
|
Gegner pro Level |
5 |
|
KB Speicher pro Animation |
50 |
|
KB Speicher für Animationen |
16400 |
Notizen
Jetzt konnte man an den verschiedene Parametern überlegen wie man sie
verbessern könnte und Lösungsansätze gleich per "Notiz" bei den einzelnen
Zellen vermerken.
Unsichere Werte
Werte, die weder durch Tests, noch durch Schätzungen belegbar waren,
haben wir rot markiert, damit wir auch wussten, wo noch Tests notwendig
waren.
In der Übersicht konnten wir sofort sehen, dass die Animationen den
meisten Speicher verbrauchen und das der Gesamtspeicherverbrauch deutlich
über 32MB lag. Jetzt konnten wir überlegen, wo bei den Animationen gespart
werden kann.
Am einfachsten schien uns als Programmierer natürlich zu überprüfen,
ob das Datenformat nicht verändert werden kann, um die durchschnittlichen
50KB pro Animation zu senken - und siehe da, mit ein paar Recherchen konnten
wir ziemlich sicher auf nur noch 10KB pro Animation runterkürzen. Voila!
Projektleitung
Da die Projektleitung natürlich an den (Zwischen-) Ergebnissen
interessiert ist haben wir die einzelnen Kategorien noch farbig
gekennzeichnet und die Datei zur Verfügung gestellt - Excel hat nun wirklich
jeder Projektleiter auf seinem Rechner.
An diesem Mengegerüst kann dieser nun Werte verändern, wie "Animationen
pro Gegner", wenn die Spieledesigner denken, das diese Werte verändert
werden können oder müssen. Die Auswirkung auf den Speicherbedarf ist sofort
sichtbar.
Intranet
Der Projektleiter konnte die aktuellen Schätzungen für den Speicherverbauch von Excel auch sehr unproblematisch als HTML-Dokument
exportieren und auf der Projekt-Intranet-Seite veröffentlichen, so dass sich
das gesamte Team über den Stand der Dinge informieren konnte.
Um die Ladezeiten unseres Dateisystems zu analysieren haben wir an
verschiedenen Stellen des Programms Einträge in ein Logfile geschrieben. Diese waren
anfangs ohne spezielle Struktur. Das half auch ein wenig, um einen ersten
Eindruck zu bekommen, wo und wann das Dateisystem auf der CD herumsprang,
aber mehr eben auch nicht.
Comma Seperated Values
Um mehr Informationen aus den Daten ziehen zu können haben wir das Format
jeder Zeile im Logfile vereinheitlicht, die einzelnen Werte mit einem
Semikolon (wahrscheinlich wegen der deutschen Version von Excel) getrennt
und der Datei die Endung .csv gegeben.
Jetzt konnten wir sie bequem in Excel laden und z.B. nach verschiedenen
Aktionen wie "OPEN", "CLOSE", "SEEK", "CACHING" sortieren und dort ein wenig
mit Summen und Mittelwerten herumspielen und jede Verbesserung (oder
Verschlechterung) an Laderoutinen oder Caching analysieren.
So haben wir herausgefunden, dass das eigentliche Laden nur ca. 2/3 der
Vorbereitungszeit eines Levels ausmacht und immerhin noch 1/3 durch
Konvertierungs- und Verwaltungsvorgänge aufgebraucht wurden.
- Daten Schnell sortiert und analysiert (Summe, Mittelwert)
- Einfaches Ausprobieren von Optionen
- Projektleitungs-freundlich
- Kann einfach auf Intranetseite veröffentlicht werden
- CSV-Dateien lassen sich unproblematisch vom Programm aus schreiben
|