If you want your ship to be animated, just create multiple files with the same name, with "-#.png" appended: The folder must be named "ship", singular "ships" will not work. This means that it's important for your ship image to be in that folder, so the game knows that it needs to calculate its outline. Everything in the images directory is automatically loaded when the game launches no need to add it to a list anywhere.įor collision detection, for all images in images/ship/ and images/asteroid/, or one of their sub-folders, a polygonal outline is generated when the sprite is loaded. To create a new ship sprite, just add a PNG file to the images/ship/ directory.
#Endless space 2 ships 3d free#
Depending on the government, the colors will be "swizzled" to green and yellow for the Free Worlds, blue and cyan for civilians, etc. If you are creating a human ship, it should be mostly shades of grey with some highlights in red, orange, and yellow. To keep the sprite sharp at any rotation, all ship sprites are twice as big as they are drawn on the screen: But it also means that the ship's position and rotation can change by fractions of a pixel at a time, which makes all movement look much less choppy. This means that the shadows don't move as you turn. Each ship is a single sprite, which is then drawn by OpenGL at different rotations. But, it also meant that turning had a choppy effect: if, for example, your sprite sheet had 36 images in it, your ship could only turn in 10-degree increments.Įndless Sky takes a simpler approach. This allowed for some cool effects (like realistic shadows that move across the ship as you turn). Most space games back in the 90s (after which this one is patterned) used a sprite sheet for each ship with pre-rendered images of it at a variety of rotations. Once your ship seems well-balanced, reduce the capacities to reasonable numbers, and copy the ship definition from your pilot file into a text file in the data/ folder of your plugin. At this stage you can also edit your pilot file to change the ship's attributes. In the game, load that pilot and experiment with different sets of outfits until you find one you like. that there are no stray pixels that might mess it up.) (You can also use the ship builder tool to check that your sprite's collision mask will be reasonable, e.g. Use the ship builder to set the gun, turret, and engine hardpoints for your ship. To start out with, give your ship large capacities so you won't be limited by them while testing. (I recommend making 3D models in Blender, then adding "grunge" to the ship by post-processing in GIMP.) Save that sprite in the images/ship/ folder of your plugin.Ĭreate a shipyard "thumbnail" for your ship, rendered from the same model.Ĭopy an existing ship definition from ships.txt into your pilot file use as a starting point. (If necessary, edit the pilot file to add access to other technologies as well.)Ĭreate a new plugin for your ship, rather than modifying the base game data.Ĭreate a new sprite, using your tool of choice. Using the cheater plugin, create a pilot who has access to all human technology on the same planet.
The recommended process for creating new ships is: All you need is a single image (which can be hand-drawn or generated by a 3D modeling program) and an entry in a data file. Because one of the first things I imagine people will want to try out when customizing or expanding Endless Sky is to create a new kind of ship, I've tried to make that as easy as possible.