FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login

    A Method of Recreating Classic Total Annihilation Maps in SupCom

    Scheduled Pinned Locked Moved Mapping
    5 Posts 2 Posters 1.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Axle
      last edited by Axle

      This document will walk you through a process to import the heightmap from a Total Annihilation map into Supcom.

      Unfortunately for the rest of the map creation process, its business as usual - ie hand painting albedos, placing decals and mex patches so there's nothing to be gained from reading this document in that regard.

      Maybe there's an easier, less fiddly way to do this that I'm missing. If you know one, leave a comment!

      Step 1: extract your original TA map
      Tool: HPI View by JoeD (https://files.tauniverse.com/files/ta/utilities/hpi-view-pack-dump)
      Run HPIView and "file" "open" any .ufo, .hpi or .ccx that contains some maps:
      a792680a-a9bc-4c4f-aefe-173ae4039c0a-image.png
      Extract the .tnt and .ota files of the map you want to recreate.

      Step 2: export height-map
      Download and install "annihilator" map editor: https://www.fileplanet.com/archive/p-11530/Total-Annihilation-map-editor
      Run Annihilator and open your map
      12e5da53-c140-4dd2-99ab-f4a9fb856063-image.png
      Go "map" "export heightmap" and export to .bmp

      Step 3: convert to 16bit and re-scale
      You may have another image editing tool that can do the job for you, but you'll need some specialised features. Specifically, the tasks we're going to carry out are:

      • convert to 16 bit
      • scale or change canvas size to 2^n+1 x 2^n+1 (eg 257x257 or 513x513 or 1025x1025)
      • multiply intensities by about 10
      • export to .raw

      One such tool that can accomplish all these tasks is ImageJ (https://imagej.nih.gov/ij/)
      Load the .bmp into ImageJ
      cc9352fa-56d9-4222-a26c-f9e6a88228cf-image.png
      Go "Image" "type" and select "16 bit".

      [edit] As of at lest v2.10 it seems Gimp is able to work with 16 bit greyscale imges. So you may find Gimp can do the job too although I haven't tested.

      Go "Process" "Math" "Multiply" and choose 10. You may need to experiment a bit with this.

      There seems to be a bug in imagej where the image appears saturated, but don't be alarmed. That's just a rendering issue, the underlying numbers are fine.

      Go "Image" "scale" and re-scale to some power of two plus one. I've chosen to scale to 513x513 (10km x 10km) in this case.
      64fcbd5d-f5ce-464e-864c-714b0323dd56-image.png

      Now go "File" "Save As" "Raw Data" and give a filename such as "crystal cracked.heightmap.513x513x10.raw" to record for posterity the scale factors you used.

      Step 4 create the SupCom map and import the heightmap
      Install OzoneX's fine map editor (https://wiki.faforever.com/index.php?title=FA_Forever_Map_Editor).
      Load it up and create a new map, set the map size to match what you scaled your height map too (512x512 in my case).
      e8ea4f08-283e-4104-95e7-1d0b46b85f02-image.png
      Go "Terrain" "Import" and navigate to your "crystal cracked.heightmap.513x513x10.raw" file. Go to "add height" and add a bit elevation as required. eg I added +10 to bring the islands just above the water line (which I set as 16).
      1fdb1f49-1ae7-446d-b863-878e8e170804-image.png

      Step 5. Get Creative
      Now its time to get creative. Look at the original map to see where the resources (mexes, hydros, rocks, trees, spawn points) are placed. Copy or approximate or re-blance as you see fit. Do a bit of play-testing.
      And then get to work making it look beautiful with layered albedos and decals.

      If after having done all that hard work you find you want to change the map size, take a look at https://github.com/Axle1975/ScmpRescale/releases, a tool for rescaling SupCom maps and/or importing them into other maps.

      1 Reply Last reply Reply Quote 1
      • MadMaxM
        MadMax
        last edited by

        thanks for sharing im in the process of reviewing the guides and tutorials available for mapping i think you just got yourself on the list

        Vault Admin / Creative Team / Map Guru

        1 Reply Last reply Reply Quote 1
        • A
          Axle
          last edited by

          No worries MadMax, I hope it helps someone

          1 Reply Last reply Reply Quote 0
          • MadMaxM
            MadMax
            last edited by MadMax

            just tried this i don't think the settings used in imagej are right the imported map was well off in height

            Annotation 2020-09-07 183851.png

            i exported it from ozonex and scaled the height and acheived this

            Annotation 2020-09-07 184526.png

            i will obviously be doing more work on it but it's good enough for a base

            Vault Admin / Creative Team / Map Guru

            1 Reply Last reply Reply Quote 0
            • A
              Axle
              last edited by Axle

              yeah something gone wrong there, its a fiddly process. My guess is that you scaled the height (the "multiply" operation in ImageJ) by too much and then when you imported into FAForever Map Editor you selected the "clamp top" option when it complained about "distance between lowest and highest point is higher than 50".

              Another possibility is that in ImageJ (if you're not careful) the saturated rendering can affect the numbers. I can't remember exactly what to do in ImageJ to make that happen, but if you mouse-over the pixels you should be able to see what intensity (ie height) the pixel is at the top left of the window. Check that just before you export to .raw. If those numbers seem saturated, then that's the problem.

              1 Reply Last reply Reply Quote 0
              • First post
                Last post