Tutorial Create your own ships - Photoshop template & modding guide

Discussion in 'Starbound Modding' started by Xuhybrid, Dec 8, 2013.

  1. Denesta

    Denesta Subatomic Cosmonaut

    I was looking at the human ship stuff to get an idea of how all this worked and I noticed that there is a giant space station like ship in the folder that is chopped into four parts. How would you get the structure file to use all four and put them together right?
     
  2. kitsunespirit

    kitsunespirit Cosmic Narwhal

    Denesta: For that you would have to have all the parts linked in the structure file, with different x,y coordinates so they match up.
     
  3. Slark

    Slark Scruffy Nerf-Herder

    Very useful, could help me in the future once I have time to get into this lol...
     
  4. Denesta

    Denesta Subatomic Cosmonaut

    Are the position units measuring pixels? So it would be like [1934, 0], [0,0], [0, 1165] and [1934, 1165]?
     
  5. kitsunespirit

    kitsunespirit Cosmic Narwhal

    They are measuring the pixels of the dropshipblocks file as far as I can tell. I noticed this when I was messing around in Starstructor (very helpful), that very small increments will move the dropship pic (the ship file) a lot on the blocks. Like I had to use -0.25 and -0.5 or something like that to get it to match up properly... again this was in the starstructor.

    I'm not sure if Starstructor is very useful for multiple segment ships like that, but you could download on of the spacestation mods and look at how they did it. :)
     
    Denesta likes this.
  6. kitsunespirit

    kitsunespirit Cosmic Narwhal

    Gimp or Paint Tool SAI, both are free.
     
  7. Xuhybrid

    Xuhybrid Scruffy Nerf-Herder

    I believe ive seen a ship in the mods list which puts together a bitmap for that huge station etc. You'd use something like this to load multiple images (because there's a size limit).
    Code:
      "backgroundOverlays" : [
        {
          "image" : "shipship.png",
          "position" : [0, 0]
        },
        {
          "image" : "shipship2.png",
          "position" : [0, 12]
        },
        {
          "image" : "shipship3.png",
          "position" : [12, 0]
        }
      ],
    Obviously you need to align each position for each image. I assume that the order you list them is the order the images are loaded/overlapped.
     
  8. DemmyTree

    DemmyTree Orbital Explorer

    Can you explain how to do platforms? im struggling to add them in the foreground and a texture in the background.

    for instance i do this below, but only the platform shows and not the smooth metal behind it.


    {
    "foregroundBlock": true,
    "backgroundBlock": true,
    "foregroundMat": "platform2",
    "backgroundMat": "smoothmetal",
    "value": [
    255,
    255,
    0,
    255
    ]
    },
     
  9. DemmyTree

    DemmyTree Orbital Explorer

    use paint like me :D
     
  10. Marxon

    Marxon Supernova

    Problem, I use paint.net not photoshop, I cannot afford 10 bucks a month for simply occasional use of photoshop.
     
  11. Asatrix

    Asatrix Guest

    Hey I want to start working on a few things but am in gimp will the file you posted work with it Xuhybrid?
     
  12. Shadewarp

    Shadewarp Pangalactic Porcupine

    Get Starstuctor, a lot easier to use with a GUI, and it creates the dropship file...
     
  13. Asatrix

    Asatrix Guest

    starstructor looked like craw when I tried it last
     
  14. Shadewarp

    Shadewarp Pangalactic Porcupine

    Craw? It's amazing! Next update will be epic!
     
  15. Asatrix

    Asatrix Guest

    It severely frustrates me and I can't seem to add parts to my ship nor alter the parts present in any shape way or form. I'm ignoring its "value" until said update because it seems like a worthless resource to me right now.
     
  16. Dalboz

    Dalboz Phantasmal Quasar

    I'm quoting this in the hopes we can get a dev to answer or maybe I missed the answer -

    Items usually have color states (like Color 1, Color 2, etc...), does anyone know the proper code for this?

    Also, I am assuming there a master list of items and their images so we can call the right items in our notepads, can someone point me to this master list? Or is there a program that lets me look at all the items in the game so I can figure this out?

    tyvm
     
  17. Shadewarp

    Shadewarp Pangalactic Porcupine

    No, not if you mean the .ship file - that is not the point of the program, the point is to create new ships for starting out, like race mods and te likes (you can create a ship, log in with a new character, back out and replace the .ship file with this new one, to get said ship)
     
  18. paladian

    paladian Scruffy Nerf-Herder

    very nice guide, i tested it and effective create my own first ship. Thank you, now i understand how its works. Also, nothing needs to create a new game, its so perfect.
     
  19. Justin O.

    Justin O. Big Damn Hero

    When aligning the shipship.png file, where do the x/y coordinate start/relate to? Is the coord [1, 1] the upper leftmost pixel of the shipship.png?
    If my shipship.png was exactly 8x larger than my dropshipblocks.png file would I want the allignment be [0, 0]?

    Figured it out.
    The x/y coords are in relation to the dropshipblocks.png
    If your shipship.png is the same ratio as your dropshipblocks.png the coords [0, 0] should be correct.
     
    Last edited: Mar 18, 2014
  20. wtvr

    wtvr Space Hobo

    Does anyone know if there is a maximum dropshipblocks.png size? I keep getting access violation errors when trying to start with a new character with the ship I've created but not when starting with a different race. The file is 208x224 pixels so it is kind large. I considered separating it into parts but I don't really know how or if it would help so I haven't tried. I started by making the file in paint and then adding tiles with Starstructor and I've gone through the .structure file comparing it with others and it seems pretty okay. Hopefully someone will see this and know what I've screwed up.



    Here's the contents of the dropship.structure file if that helps.
    Code:
    {
      "config": {
        "fuelMax": 1000
      },
     
      "blockKey" : [
        {
          "value" : [255, 255, 255, 255],
          "foregroundBlock" : false,
          "backgroundBlock" : false
        },
    
        {
          "value" : [0, 0, 255, 255],
          "foregroundBlock" : false,
          "backgroundBlock" : true
        },
    
        {
          "value" : [255, 0, 0, 255],
          "foregroundBlock" : true,
          "backgroundBlock" : true
        },
       
        {
          "comment": "glass  ",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "glass",
          "value": [255, 255, 144, 255]
        },
       
        {
          "comment": "crystalblock  ",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "crystalblock",
          "value": [255, 117, 255, 255]
        },
       
        {
          "comment": "ok",
          "foregroundBlock": true,
          "backgroundBlock": true,
          "foregroundMat": "tribalplatform",
          "backgroundMat": "glass",
          "value": [227, 230, 8, 255]
        },
       
        {
          "comment": "88",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "glass",
          "object": "teleporter",
          "objectParameters": {
            "unbreakable": true
          }
          "value": [130, 19, 157, 255]
        },
       
        {
          "comment": "99",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "glass",
          "object": "apexfuelhatch",
          "objectParameters": {
            "unbreakable": true
          }
          "value": [128, 220, 182, 255]
        },
       
        {
          "comment": "1010",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "glass",
          "object": "apexcaptainschair",
          "objectParameters": {
            "unbreakable": true
          },
          "value": [21, 117, 84, 255]
        },
       
        {
          "comment": "mossy",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "mossypackeddirt",
          "value": [31, 79, 196, 255]
        },
       
        {
          "comment": "booost",
          "foregroundBlock": false,
          "backgroundBlock": false,
          "object": "boosterflamehuman",
          "objectParameters": {
            "unbreakable": true
          },
          "value": [68, 155, 90, 255]
        },
       
        {
          "comment": "dark wood",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "darkwood",
          "value": [154, 193, 200, 255]
        },
       
        {
          "comment": "baseboard",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "baseboard",
          "value": [169, 130, 57, 255]
        },
       
        {
          "comment": "door1",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "darkwood",
          "object": "hylotlshojidoor",
          "objectParameters": {
            "unbreakable": true
          },
          "value": [16, 19, 226, 255]
        },
       
        {
          "comment": "door2",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "baseboard",
          "object": "hylotlshojidoor",
          "objectParameters": {
            "unbreakable": true
          },
          "value": [159, 76, 75, 255]
        },
       
        {
          "comment": "engine wall",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "ornatewood",
          "value": [223, 60, 223, 255]
        },
       
        {
          "comment": "apex",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "apexshipwall",
          "value": [161, 116, 113, 255]
        },
       
        {
          "comment": "engine platform",
          "foregroundBlock": true,
          "backgroundBlock": true,
          "foregroundMat": "apexshipplatformplatform",
          "backgroundMat": "rustyblock",
          "value": [117, 118, 110, 255]
        },
       
        {
          "comment": "engine wall 2",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "mediummetal",
          "value": [12, 18, 39, 255]
        },
       
        {
          "comment": "windshield",
          "foregroundBlock": true,
          "backgroundBlock": true,
          "foregroundMat": "glass",
          "backgroundMat": "glass",
          "value": [147, 36, 235, 255]
        },
       
        {
          "comment": "rust",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "rustyblock",
          "value": [40, 74, 157, 255]
        },
        {
          "comment": "rust2",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "rustymetal",
          "value": [110, 148, 173, 255]
        },
        {
          "comment": "wreck gen",
          "foregroundBlock": false,
          "backgroundBlock": true,
          "backgroundMat": "rustymetal",
          "object": "wreckgenerator",
          "objectParameters": {
            "unbreakable": true
          },
          "value": [209, 171, 99, 255]
        }
      ],
      "blockImage": "dropshipblocks.png"
    }
    And the dropshipblocks.png (which is by no means finished but I wanted to see if it would work).
     

    Attached Files:

    Last edited: May 16, 2014

Share This Page