Dreamlords Levels

Som mitt examensarbete sista året på högskolan kände jag att jag ville jobba med grafik men med en ganska så tekniskt inriktning.
Runt den tid hade jag börjat ana att vi kommer att vara tvungna att byta från TGE (Torque Game Engine), TGEA (Torque Game Engine Advanced tidigare känd som TSE, Torque Shader Engine).
Vid detta tillfälle visste ingen riktigt hur vi skulle göra banor till TGEA.
Jag såg det lämpligt där av att ta mig an detta område.
Mitt mål blev att ta fram en arbetsprocess samt verktyg för att effektivt kunna göra banor till Dreamlors.

Premisser

Banorna i TGEA utgörs av:

  • MIS: Textfil innehållande objekt på banan samt deras olika parametrar
  • TQT: Marktextur
  • CHU: Heightmapdata

Heightmapen i TGEA fungerar inte som heightmaps traditionellt brukar fungera. I TGEA fungerar det på följande sätt. Först tag en heightmapfil sparad i RAW-format (16b unsigned integer, little endian) oftast 513×513 och en 8192×8192 JPEG-fil, kör sedan dessa filer genom en konverterare, ut kommer en TQT- och en CHU-fil. Det konverteraren gör är att den först styckar upp terrängen i ett antal större tiles med olika LOD dessa placeras sedan in i ett quadtree.
Problemet med detta det var att det tar ganska lång tid att spara ut och konvertera dessa filer samt starta upp motorn. För att underlätta arbetsprocessen ville jag kunna jobba i Maya.

Resultat

Jag gjorde då en plugin till Maya i MEL och C++. Anledningen till att jag använde C++ var att MEL var alldeles för långsamt på att läsa in och generera en heightmap, dessutom saknade MEL vissa funktioner som krävdes för att läsa in RAW-filen binärt.
Arbetet jag gjorde rent konkret resulterade i:

  • Manual
  • Maya plugin
  • Några banor
  • Rapport

Filer

Bilder

Leave a Reply