Since I noticed no one has really mapped out and explained all of the developer.exe's features, I'd thought I'd do it myself. I finished the change galaxy menu today, I'll add the rest as I have time.
Tested on Diplomacy 1.21/1.31 against normal/hard AI on a 1v1 map. Most remains accurate for Rebellion.
The Developer.exe is a modding tool that can be found in your main Sins of a Solar Empire folder along with the regular game.exe. There is one for each version of Sins you have, and are named Sins of a Solar Empire [Version] Dev.exe. They are updated automatically with the base game via Impulse or Steam.
Most features of the Developer are accessed through a special menu that is brought up by pressing [ctrl+shift+.]. Their effects are defined below. All the commands should work the same on all versions of Sins, though some features may not be present in all versions.
For Rebellion, the above still holds true, but the install directory is in your steamapp folder. Also the dev.exe has its own mod folder in Rebellion, so for testing mods you must start the dev.exe once to create the mod folder, then move any mods you're working with to the newly created dev mod folder.
In addition to the commands that are defined below, the Developer.exe has several built in special features that are always active are a big help with testing mods. These include.
Show Errors and Logging: On starting the Developer.exe for the first time, the game will rewrite your settings file. Your achievements will be okay but most other information, including hot keys, player name, resolution settings etc. all return to default, so make a back up of your user/diplomacyuser files so you paste them back into your App Data Settings folder when you are done. While this is a pain, this will allow the Dev.exe to display any errors it encounter in game right when it encounters them, which is crucial for debugging mods. Also the Dev generates a log of these error messages and tons of other useful info in your AppData debug folder (the log name is displayed on the Dev menu bar). These two features are really the only way to get useful data about crashes, so learn to use them.
Update: As of Rebellion version 1.84, the dev.exe has its own set of setting, camera and UI mapping files. It will no longer override your standard settings file. Earlier versions and expansions will have the dev.exe replace these files.
File reloading: The Dev.exe supports the reloading of several file types in game. This means if you change one of these supported file types in a mod, the game will immediately reload the file with any changes on the spot. For things like entity weapon visual settings, textures and other files where you really have to see the effects in the game engine, this saves you a ton of time that would have been wasting by exiting and relaunching Sins every time you had to make a change. Supported file types include (though there may be others) all entities, textures (though some visuals like tech trees and most UI are only generated at the beginning of the game and thus this doesn't help you), meshes, and string files. Note .manifest files do not reload, so if you need to add an entirely new file you still need to exit the game.
Change Galaxy Menu [a]
Note: Most if not all commands in this menu will result in a desync if used in a multiplayer game. You can still play the game but spawned units and the like will not be visible to the other player. Things like Setup Quick Play and Overrides may work better, but try to have you and your friends apply them at the same time to try and avoid problems.[a] - Setup Quick Play: Triggers a variety of factors for faster gameplay. All build times are set to zero, planet slots are ignored, all research is given (including artifacts), 1000000 of each resource is given, and game speeds are increased. Essentially a one click trainer mode.
[b] - Overrides Menu: Contains several useful toggle options.
[c] - Change Entity Menu: Contains several useful commands that will be applied to a selected entity or entities.
[d] - Change Player Menu: Contains several options to manipulate player settings.
[e] - Change AI Menu: Options to adjust the AI. Some options and perhaps this whole menu is for Diplomacy only
[f] - Spawn Entity: Allows you to spawn capitalships, frigates, planet bonuses, cannon shells, or debris for a selected player. Options are populated from the player.entity file. Very useful for spawning specific units or fleets to test.
[g] - Single Step: Allows you to move the game by one frame while paused.*
[h] - AutoSingleStepRate: Sets the game to automatically do x amount of single steps while the game is paused. Essentially puts the game in slow motion for low values, begins to look like lag for higher ones.*
[i] - Take Screenshot on singlestep: Toggles whether you want the game to take a screenshot with a manual single step.*
[j] - Change Build Speed: Switches the build speed setting in game.
[k] - Change Culture Speed: Switches the culture rate setting in game.
[l] - Change income rate speed: Switches the income rate setting in game.
[m] - Change Research Speed: Switches the research speed setting in game.
[n] - Change physics Speed: Switches the physics speed option in game.
[o] - Change Fleet Supply Scalar: Switches the fleet supply setting in game.
[p] - Spawn Random Event: Lets you spawn most of the random events if you have the Stellar Phenomenon DLC. Only the Partisans and Open Rebellion events are unavailable, but the new culture flip option in change entity allows you to test that one.
Overlays Menu [b]
Note: All commands in the Overlays section are toggles for windows that show various statistics. Some do overlap and can be difficult to use all at once. I assume it is safe to use these in a multiplayer game.
[a] - Show FPS: Brings up a one line window in the upper left behind the Dev commands window. Displays your frames per second, good for performance testing.
[b] - Show Profiler: Not entirely sure what this is for. Brings up a window in the upper left (behind Show FPS) that says something about nodes, worst time and call count. Since I had zero nodes while testing I was unable to see what it does.
[c] - Show Memory: This gave me a one line window where Show FPS was with a red error message saying "No Memory Info Available". Thus I was unable to figure out what this displays. If this function works on someones machine please leave a post detailing the statistics it displays.
[d] - Show Entity Type Counts: A very useful large window on the middle right that displays the number of each type of entity (stars, frigates, research, abilities, buffs etc.) currently in the game. Can be used for map testing, AI analysis, ability testing, anything where the number of an entity type is important.
[e] - Show Times: A small window in the upper left below show FPS and in front of Show Profiler. It seems to display the number of real and game (non-paused) seconds that have elapsed, as well as something about "Queued Ticks"(?).
[f] - Show Network State: Creates a large menu in the upper left below show FPS and in front of Show Profiler and Show Times. Gives ICO and LAN status, server status, and some statistics about each player like latency, Sim Updates etc. Must have for network/lag troubleshooting.
[g] - Show Commands: Toggles a very large window on the right over the Show Entity Type Counts menu. Seems to count the number of times a large list of commands (Ping, purchase capitalship level etc.) have occurred in the current game.
[h] - Show Client Update Status: No window appeared after enabling this. I suspect it may only work in network/ICO games.*
[i] - Show Effect Status: Brings up a window in the central upper part of the screen that counts the number of all categories of various effects, the number of those effects that have been terminated, and most importantly the memory usage of each category. Useful for identifying which effects types are slowing your mod down.
[j] - Show Particles Status: Brings up a large window in the upper left below FPS and in front of all the previous commands. Shows a lot of statistics about individual particle effects, including which ones are actively being rendered, a count of the current particle and simulation pool, which particles are using the most memory, and the total number of each specific particles both on screen and generated gamewide. Somewhat overlaps show effects status but since the window background is partly transparent they should be useable together.
[k] - Show Bloom Composition Steps: Brings up four red boxes in the upper left screen in front of everything. It seems to be a mini-rendering window that shows just the bloom on your current screen at different resolutions (if you have it enabled). I'm sure its uses are obvious to someone who knows what exactly bloom is and wants to mod it.
[l] - Show Shaders: Brings up a window in the middle right above Entity Type Counts and Commands. It shows all the shaders being used by the game and the "technique" they are being used with.
[m] - Show Direct3D setup: Toggles a menu in the very upper right in front of everything except show shaders. Gives your resolution, device type, and other statistics that would presumably be useful for Direct3D troubleshooting.
[n] - Show Textures: Brings up a large menu starting from the upper left that shows the total amount of loaded textures and the amount of memory they are using. It also shows the "worst textures" that take up the most memory (the Advent Starbase seems to win by a large margin) and some statistics about them. Extremely useful for optimizing textures.
[o] - Show Sounds: Toggles a menu in the upper left hand corner that oddly displays CPU usage as well as sound channel information, the number of sounds currently playing, and the channel and volume of each sound.
[p] - Show Music: Brings up a menu in the upper right behind everything but show entity types and commands. Show the currently playing track, the current action and emotion levels, some statistics that determine these, and the track playing at each location you have visited and how many seconds of each track that have already played. A must have for configuring custom music, or just trying to understand how the music system works.
[q] - Show Entity Create Counts: Brings up a window across the entire left screen that shows the number of each individual entity created so far in the game, starting with the ones that have the most. Note that this can cause an extreme performance decrease (I went from 60 fps to 10) while this is shown, so you should only use it while paused. Very useful for tracking a specific entity in the game.
[r] - Reset Entity Create Count: Okay, this the one thing in this menu that is not a toggleable window. This resets the data shown in Entity Create Counts, so if you are only interested in tracking entities after a certain point in game (or you want to use that tool with a decent fps) this could come in handy.
[s] - Show Market Status: Toggles a menu in the upper right that displays most of the market variables, such as the state, crash and boom threshold of each resource, when the game will check again for a crash/boom etc. If your mod changes the market settings or you are curious to how this system works, you probably want to use this quite a bit.
Entity Info Menu [c]
Again everything in this menu is a toggle, though some change things in game instead of create windows.
[a] - Show Entity Internals: Creates a window in the lower left that displays the internal entity name, owner and other information depending on the entity type, including HP, Mesh, and most importantly all buffs that are effecting the entity. Extremely useful for any entity mod that adds entities, and vital for ability modding.
[b] - Show Spatial Sphere: Creates a blue sphere around the entities with length, width and height axes expanding from the center point of the mesh. I don't think the game uses this internally but may be useful to those having trouble getting their mesh to appear correctly in game.
[c] - Show Bounding Box: Creates a blue box around the selected entities that seems to show the "hit box" the game uses for determining collisions. Good if you are having fleet formation troubles or ships clipping into one another.
[d] - Show Entity Shield: Makes the shield mesh appear for the selected entities if present.
[e] - Show Far Orbit Sphere: Can only be used on a planet or star entity. Creates a blue sphere around the range of the outer boundary of the gravity well.
[f] - Show Movement State: Creates a small window above the selected moveable entities that gives some information about their movement variables. Not entirely sure what they mean at this point.
[g] - Show Movement Path: No noticeable effect.*
[h] - Show formation connections: When used on a group of entities carrying out movement orders, white lines are generated from all other group entities to the central group entity. Seems to indicate what the group centers on.
[i] - Show fleet connections: Same as show formation connections, except with fleets instead of groups.
[j] - Show Physics - Velocity: Creates a small box above selected moveable entities that displays a variety of physics information including speed, distance to move order target, turn rate, distance at which it will start to slow down etc. Also creates a white line to destination and a yellow lines on the various axes when turning.
[k] - Show Physics - Destination: Generates a red line from all selected moveable entities to its destination, which appears as a red sphere. A must have for pathfinding difficulties.
[l] - Show Physics - Other: Generates a dark blue sphere around the entity's center and possibly many other spheres of different colors that change size as the entity moves. I am unsure of what they represent however.*
[m] - Show orders: Creates a small window over the selected entities that display what order type it is carrying out, the internal mission type, auto attack range etc.
[n] - Show Target Lines: Displays a flashing line from the selected entities to their current target, with a small sphere around the targets center. Warning, may cause seizure.
[o] - Show Pre Auto Attack positions: Generates yellow lines from the selected entities to the position they will return to after carrying out an auto attack order. Also may generate a white sphere with groups of entities but I am unsure of what it represents.
[p] - Show Hangar Points: Generates a small red, cyan and green line along each axis with its center at a valid hangar point for the selected entities. Good to ensure your fighters are spawning from the correct positions.
[q] - Show Weapon States: Toggles a window in the upper left that displays the potential and actual DPS of a selected entity, the number of weapon points that can fire in each direction for each weapon, and the total number of targets the entity can fire on and the maximum DPS for each direction. Vital for adjusting weapons.
[r] - Show Weapon Ranges: Creates a red sphere around targeted entities that represents the weapon range of the weapon the entity uses for close in distance. This is useful for seeing how many targets and entity can hit without moving, but doesn't help with fine tuning ships with different weapon ranges for different weapons.
[s] - Show Asteroids: Creates a red dot at the center of each aesthetic asteroid around a selected planet entity. Resource asteroids do not count.
[t] - Show Dust Clouds: Creates multicolored sphere around the area covered by dust clouds for the selected planet/star entity. Note they may be significantly outside of a gravity well so you may need to rotate your camera or zoom out to seem them.
[u] - Show Collision Bubble: Possibly creates a yellow sphere around selected entities. I am unsure of what it represents since it is substantially larger than the collision boxes for those units, it may be the area at which the game will start checking for collisions.*
[v] - Show Point of Approach: Creates red or green cylinders around the selected units extending to a dot of the same color, usually at the destination. I am unsure of exactly what this represents.
[w] - Show Distances: A very useful function that will display red text in the center of the screen that shows the distance between two selected entities.
[x] - Show Entry Vehicle positions: I believe it has something to do with the entry vehicles that appear when you colonize a planet, but I have yet to test.
[y] - Show Entity ID: Creates a small window above the selected entities with their ID number in it. This is unique to each individual entity in each game, and can be used to see if you are looking at say the exact same fighter or not.
[z] - Show Mesh Points: Generates small red, cyan and green lines along each axis with its center at a valid hardpoint (weapons, exhaust, ability, hangar etc.) for the selected entities. Exactly which way these lines go indicates orientation. Useful for getting your hardpoints in the right place or seeing which hardpoints are available for a given mesh.
[A] - Show ShipBuilder Info: Creates a menu on the upper left that displays which each shipyard for a given planet/star entity and any build orders currently queued, among other things.
[B] - ShowClosestAdjacentPlanetInEmpireThatAreColonizeable: Creates a small window at the nearest planet(s) to your empire that don't have a owner with their name inside.
[C] - ShowClosestAdjacentPlanetInEmpireThatAreAttackable: Creates a small window at the nearest planet(s) to your empire that are owned by hostile factions.
[D] - ShowAllThreatenedFrontierPlanetsInEmpire: Creates a small window at all of your planets that have a phase lane connecting to a planet/star entity you don't control. The closest enemy planets to your empire are also displayed.
Player Info Menu [d]
[a] - Show Mission Cue: Causes a window to appear at the top of the screen when looking at an AI player's diplomacy screen (where missions, treaties etc.are at). A bit misleading, it seems to show information about what actions the AI is thinking of taking, rather than information about missions the AI gives to the player. Most important are the priority the AI gives to things like exploring, colonizing, attacking etc., as well as variables that seem to effect this. Very useful insight into how the AI operates.
[b] - Show Fleet Comparison: Displays a window center screen that shows statistics for the entity's fleet broken down by armor type.
[c] - Show Combat State: Toggles a small window in the upper left that displays a sort of threat indicator for the selected entities. I.e. whether there are units nearby, all clear, losing etc.
[d] - Show Economy: Toggles a small window in the center of the screen that displays the credits/resources of the owner of the selected entities. Also shows some variable called "value", but I have no idea what it represents (its not the value of the selected entities).
[e] - Show Spending: Toggles a small window in the upper right that displays information about the AI's current spending when selecting an entity that belongs to that AI player. Human players always seem to have values of zero.
[f] - Show Build List: Toggles a series of windows that displays what the select entity's owner is building, researching etc. Also displays which kind of AI the player is (researcher, economic, aggressive etc.) Very useful for AI analysis.
[g] - Show Research: Seems to show the number of each lab the selected entity's owner has and how many research subjects are queued up.
[h] - Show Diplomacy AI: I got a crash to desktop selecting this option. It seems many of the Diplomacy related options no longer function.
[i] - Show Pirates: Just seems to toggle a small window at the top of the screen that counts the number of pirate raids still in progress.*
Rendering Menu [e]
[a] - change skybox: A command that allows you to specify which skybox to display. Names seem to be populated from the skybox.manifest file and you can select skyboxes that do not normally appear at a given star.
[b] - Show Greenscreen: Toggles a green screen that replaces the skybox/background stars and removes skybox specific lighting. Great for examing textures without interference from extra lighting or for hard core machinima makers who want to edit in their own background.
[c] - Show All Entities: Similar to "All Entities Detected" in the Change Galaxy Overlays menu. However, there are two main differences. First, while you can see all the entities/planets etc., they do not get counted as explored, which means it won't break your scouts on auto explore, but at the same time you won't be able to give move orders to planets you haven't naturally discovered yet. Second is that this command will reveal hidden entities like planet bonuses and artifacts that would normally require exploration upgrades. Also this naturally means the CPUs won't have access to this information for you cheaters out there.
[d] - Force Mesh Visible - Star: When set to true, prevents stars from being hidden by their icon. In other words, no matter how far you zoom out, you'll still see the star mesh rendered instead of the icon. If combined with Force Mesh Visible - Planet, it will force the game to show the galaxy per scale, and if you add in "Other", all objects in the game will render to scale. Great for amazing screenshots, though on maps with lots of objects you can get performance problems.
[e] - Force Mesh Visible - Planet: When set to true, forces planet meshes to always render and disables icons. See Force Mesh Visible Star for more detailed analysis.
[f] - Force Mesh Visible - Other: Forces any entity that is not a planet or star to always render and disables their icon's. See Force Mesh Visible Star for more detailed analysis.
[g] - Show bottom bar: Toggles the menu bar at the bottom of the HUD.
[h] - Show top bar: Removes the top bar of the HUD. Note this does not include the mini underground window.
[i] - Show Chat Window: Toggles the chat window.
[j] - Show Playback Window: Had no effect in game, may need to be in replay mode.*
[k] - Show Linear Path Effects: Generates target lines during at least weapon effects, showing the path of the object. Unsure if the different line colors represent anything.
[l] - Show Elevator connections: Generates white lines between all planet elevators (cities) of a selected planet entity. This roughly corresponds to the path planet traffic follows on the planet.
Windows Menu [f]
[a] - Show Window Areas: Toggles a bunch of multi-colored squares around each window area (usually buttons or HUD display). A lifesaver if you are tweaking the UI but not useful for much else.
[b] - Show Window Status: Toggles a large window on the left that seems to indicate which window areas are in current use, possibly among other things. Debugging tool if one of your buttons doesn't seem to work.
[c] - Show Window Overlay: Toggles a series of green and purple boxes over most of the playing area. Not exactly sure what exactly it is used for.
[d] - Show Window Tab Order: Produced no visible effect.*
[e] - Show Brushes Under Cursor: Toggles a window that displays the name of any brushes (usually icons) you cursor is over in the upper right, as well as some information such as the brushes' pixel box location etc.
[f] - Show Brushes Rendered: Toggles a large window on the right that displays data about the currently loaded brushes.
[g] - Show Frontend Status: Toggles a small window in the upper left that gives some information about "screens", but I'm unsure of what it means exactly.*
[h] - Force Escape Menu Network Status Action: Command that produced no effect in Single player. I suspect you need to be online or on LAN for this to work.*
[i] - Force Show Load Screen: Command that immediately takes you to a load screen. Press i repeatedly to get back to the game.
Camera Menu [G]
[a] - MinDistanceDisabled: Allows you to zoom in all the way to the center point of a model, regardless of the entity mindistance property.
[b] - Show State: Toggles a window in the upper left that displays detailed camera information, including position, number of rendered meshes and planets, etc.
[c] - Show Stored Position: Did not produce any effect, even after saving a camera position. More testing needed.
[d] - Show Zoom Position: Displays colored spheres that seem to indicate where the camera moves towards when you zoom in.
[e] - Store Position: Command that saves the current camera position. Not really sure how to interact with it though.
[f] - Reset Angles: Command that returns the camera to the default angle.
[g] - Shake Camera: Not sure what this did, someone with more 3D experience will need to figure it out.
* - Means I'm reasonably certain of the effect but wasn't able to do a thorough test.
needs to be sticky/pinned
This is accessed by pressing Tab?
I can add this to the weeblys Dev page
You should, esp. as eventually this thread will just get buried under the other more active topics, unless it's pinned, which would be an utter shame.
Great list here btw, makes me think of actually using the Dev exe for stuff. Does anyone know if the Dev exe work on lan matches where both users are using the Dev exe?
Go ahead whenever this is done. I already see a bunch of typos that I'm going to fix when I add the next menu so I don't want you to have to go through all of that as well. Though a sticky would be nice as well if its possible to get a moderator's attention (does Stardock not have forum mods? Darvin or Annatar would be great picks for the Sins forum).
You can launch the Dev.exe during a LAN game, the problem is using most of the change galaxy commands will result in a desync (when spawning a unit for example). Both players can still issue orders fine so it may have some use, but the other player won't be able to see spawned units and probably other things. It may work better with setting changes like quick play I'm not sure.
Thinking more for making videos, I have Sins running on my netbook. Can use the Dev.exe to spawn units, rather than spending so much time building them.
Added the Overlays menu, and some more general information. Does anyone happen to know if the website supports same page hyperlinks (so if I reference one command you can just click it to be taken to it within the guide)? I assume the weebly does myfist?
Again you can spawn units, but you will get an immediate desync and your friend will not be able to see them (I tried for the sake of making videos as well ). The set up quick play, instant build times features may work better as at least the game still technically produces them. You may still get a desync but if your friend can still see the units it should be good enough for movie purposes. If you are not in the same room make sure you disable any other settings like pirates that could screw with your random number generator, and try to use and dev commands at the exact same time (if you both want to disable damage for example).
Actually, the "friend" in this case would be myself. Though I do see what you are saying, so I'll just avoid using the Dev.exe for this.
Added the Entity Info section. Karma for whoever answers my hyper link question, this is far too much for a single post.
So why would you be doing a LAN game in the first place?
[a] Galaxy Change[b] Overlays[c] Entity Info[d] Player Info[e] Rendering[f] Windows[g] Camera[h] User Input[i] Sound[j] Dump[k] Settings[l] Network
You cannot login to ICO on two computers at the same time. As such, the only way for me to have a Sins game where I control both players (and thus can set up an awesome game by killing auto-attack temporarily), is a LAN match. Though for some reason Sins isn't letting me set up a LAN game, prolly due to crappy Port Forwarding on my end.
Sorry for the delay, but the Player Info menu has now been added.
That's why the Developer.exe allows you to disable AI and switch between players.
This is fantastic...thank you so much...I'm posting here just so I can always link to this via MyReplies...
No problem. I do intend on finishing this once I get all of my mods updated by the way, so don't let me forget this is here.
...Well then, this will be very useful once I figure out how to use it properly. :3
Somebody knows how to farm karma
Anyways, great guide. Now I'm just wondering what the drifting thing does lol...
Was messing around with the dev and I figured out what the drifting thing does.
If used on a fleet, it takes all the ships and sends them back to a previous point (ie a spawn point from a factory) and then lets you watch as the AI tries to make them not be on top of each other.
As a result though, you can get some interesting mashups...
Behold the Advent Capitalship Trinity
In case you were wondering, that's a Halcyon, Radiance, and Rapture on top of each other. I tried it with the Vasari, but it doesn't look very good... It looks like someone shoved a Kortul up the rear end of the egg, or alternatively the egg is giving birth to a Kortul. Either way, kind of bizarre, whereas the actually Advent looked really cool.
Added the rendering menu (must read for screenshot fanatics and photoshopers/moviemakers) and a new special features section that explains some of the built in features of the Developer.exe that don't require commands.
Thanks for figuring that out, though I'm now scared of what that Vasari monster must look like.
Added the Windows menu. Technically there wasn't very much useful stuff there unless you are into UI overhauls, but at least I'm now over half way done.
Excellent. Good work Goa.
Can someone please help.
I am trying to access the dev.exe files and every time I press CTRL\SHIFT\. in-game I get a temporary lock symbol on the Zoom to Cursor in all versions of the game.
I think you're missing the dot. I get that when I fail to hit all three at the same time.
Thanks GoaFan77 for your reply.
I have tried many times (have just this moment tried) without success? All three keys were pressed simultaneously.
There are many great features available to you once you register, including:
Sign in or Create Account