• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Stellaris Dev Diary #32 - Modding art

Hello Modders. Today's dev diary will be about modding art, and give a cursory glance at what is possible to do in Stellaris. We will mainly talk about characters and ships in this dev diary. Today we are releasing our Maya exporter, which opens up a whole new world of possibilities for modders. So, provided you have the skills in Maya and Photoshop, you can do anything you want - anything we have done, you can do too!

(more info and links can be found at the end of this post)


For characters, you have two options. The simpler one is static 2d avatars. These are just an image with transparency that is used directly in-game. They don't require Maya or any other fancy tools, and will likely be the initial choice for most modders. Static portraits are not used by the core game, but the functionality is there for the modders. There is an example for this in the games files, where we specify the species, so you just add textures and point to them in the files and you get new species.

01_character.jpg



All the characters we have created for Stellaris are animated 2D portraits. What we do is we draw characters in Photoshop, and split the images up into separate parts for anything that will be in a different layer, looking something like the picture below. We then create a plane for each asset in Maya, and layer them correctly.


02_character_split_up.jpg



If you want to create an animated character, you have two options. One, you can mod an existing one by modifying an existing character’s texture. This is desirable if you don't want to or can't use Maya for any reason but your Photoshop skills are high. This is a bit limiting of course, since you can only change the look so much within the confines of that character. The animations will of course be the same, so you can't move the eyes etc.
If you want to do this, take an existing texture and add some more colors to the entire texture, and you can see the entire area you have to work with.There is some space outside the edge of the character to work with.

Secondly, if you have some Maya skills, you have more freedom. The level of knowledge required is really not that high. Just creating a few planes, cutting, creating some joints and simple animations. What you do is you create texture similar to ours, then create a few different planes and cut out each area. Build a simple rig, and add some animation.

03_maya_character_cutup.jpg

04_character_rigged_side.jpg

05_character_rigged.jpg

You can also mod in more clothes, triggering the use of different outfits in different situations. In the game currently we use this for the different leader types such as scientist, admiral etc. We also use this for the rulers, so that if you are a militaristic society, your ruler will wear a military uniform. This has very few limits, and could be used to create some very unique characters.

There is another layer where you can add other things to you characters with the help of triggers. We use it to add the different hairstyles for the humans, but you could just as well add glasses to your characters, or some other visual attribute.

If you are feeling fancy, you could even extend a race to use multiple portraits. So that you insect race has a Queen model for your ruler, a lieutenant for you leaders, and a third model for your pops.

Though all the portraits in the game are shown as 2D, they are technically 3D and there is nothing really stopping you from adding a 3D model (though we have yet to try that ourselves).

If you wish to know exactly how to add new portraits, there is a detailed guide on the wiki:
http://www.stellariswiki.com/Portrait_modding



Moving on to to ships. With the release of our maya exporter, you can now create any model you like and add it to the game. The process is very straightforward. You build your mesh and use maya to export it. There is fairly little to be said simply because most things are theoretically possible to do. If you want ships with like 5 sections you can do that. Vertical ships? Sure. Organic ships? Absolutely.

Stations are also technically ships that don't move, so these are of course modable as well.


Code:
corvette = {
    max_speed = 5.25
    acceleration = 0.35
    rotation_speed = 0.1
    combat_max_speed = 1.5
    combat_rotation_speed = 0.08
    collision_radius = 2.0
    modifier = {
        ship_armor_add = 3
    }
    max_hitpoints = 300
    size_multiplier = 1
    fleet_slot_size = 1
    section_slots = { "mid" = { locator = "part1" } }
    num_target_locators = 2
    is_space_station = no
    icon_frame = 2
    base_buildtime = 60
    can_have_federation_design = yes
    enable_default_design = yes    #if yes, countries will have an auto-generated design at start 
 
    prerequisites = { "tech_spaceport_1" }
 
    class = shipclass_military
    required_component_set = "ftl_components"
    required_component_set = "combat_computers"
    required_component_set = "thruster_components"
    required_component_set = "ship_sensor_components"
}


You can place any number of locators on the ships. You can, for example, add locators to where on the ship enemies ships will aim, so that they don't all hit the center. You can also add locators for where the guns will be and where the engines are. You can easily add guns to your ship without having visible turrets, which is likely what most modders will do.

With all these new possibilities, I very much look forward to what the community will produce.


If you want to download the exporter right away, go to
https://accounts.paradoxplaza.com/profile/downloads

More details on the exporter can be found on the wiki:
http://www.stellariswiki.com/Maya_exporter

We also started a new sub-forum for the exporter.
https://forum.paradoxplaza.com/forum/index.php?forums/clausewitz-maya-exporter-modding-tool.935/



We have recently worked on support for static galaxies. This will allow users to create a specific galaxy to use for specific scenarios. In this test we have more than 5000 stars, which still renders smoothly. Might have to optimize the game a bit though :)

stellaris_dev_diary_31_01_20160502_galaxy_test.jpg


And also a video for you guys!
 
Last edited by a moderator:
  • 169
  • 62
Reactions:
I greatly appreciate your correspondence but I am now confused; can the hard cap for stars in a regular, dynamic galaxy be modified via the defines.lua file?

The levels for galaxy size are currently not included in defines.lua, I believe they are set in code.

Can you just say 2-3 sentences how to mod a static Galaxy effort-wise??

Would like to start my first game in a static one :rolleyes:

Basically you script each star.
system = { id = "0001" position = { x = -250 y = -200 } initializer = sol_system_initializer }
The initializer is not mandatory, if you leave it out you get a random name and system content.

You can also script hyperlanes

add_hyperlane = { from = "0001" to = "0002" }
prevent_hyperlane = { from = "0003" to = any }
 
  • 19
  • 2
Reactions:
Would be interesting how I can go with my computer:eek:

Intel® Core™ i7 5700HQ 4x 2.70 GHz with 16 GB RAM
2x NVIDIA® GeForce® GTX 980M (SLI with 8MB each)


I would go nuts if at least 3.000 would be playable!!!
 
  • 1
Reactions:
Thank you @Aerie !!!!

Wow, sounds like lot of work :eek:

So first I have to define the size of the map, where all star systems are located in
 
  • 1
Reactions:
The levels for galaxy size are currently not included in defines.lua, I believe they are set in code.



Basically you script each star.
system = { id = "0001" position = { x = -250 y = -200 } initializer = sol_system_initializer }
The initializer is not mandatory, if you leave it out you get a random name and system content.

You can also script hyperlanes

add_hyperlane = { from = "0001" to = "0002" }
prevent_hyperlane = { from = "0003" to = any }

Got it, thank you very much gentleman. Danke schoen.
 
With all the modding, I really hope there will be teams gathering for it.

Everyone have different skills, and just because you are good at one thing, doesn't mean you are good at everything.

Please... all you great artists, join up with the ones with great writing skills, and you guys, join up with the ones that don't make typos in the mods

:)
 
Now THAT is a galaxy I want to see. Frankly the basic Stellaris galaxies are just seem a bit small, especially that there are so many systems with no habitable planets. I want a gigantic galaxy with ~1000 habitable planets and tons of empty ones to recreate the true Star Wars experience (Pre-Republic era of course :p)

All the hyperlanes are generated by the game here, so if the stars are positioned in this way, this what you get.
There is support for scripting manual hyperlanes though.

Can you script multiple hyperlanes. I mean like highways with faster travel and traditional lanes with slower?
 
  • 3
  • 2
Reactions:
Is there a defined size like 500x500 (x= -250 to +250; y=-250 to 250) ???
 
Is there a defined size like 500x500 (x= -250 to +250; y=-250 to 250) ???

The default grid is -500 +500 for x and y. Though these values can be easily modified global. So if you for any reason have positions with a greater range, you dont need to convert that data.
 
  • 7
Reactions:
With a future generation of computers we might even all together be able to play in one game in a galaxy with as much stars as our own has. That would be titanic...:)
 
The more I admire that 5000-star screenshot the more I'm convinced that it would make for an amazing wallpaper. *saves to computer*
 
  • 3
Reactions:
I wonder what would happen to my PC if I try a 1 billion stars galaxy :eek:

OOM crash uppon loading probably. Or endless loading screen. Or if proper error handling uppon load is in palce return to the Main Menu with an informative Error message appearing.

My monex goes to OOM crash :D (sry PDX)
 
  • 3
Reactions: