Overview
This tutorial will walk you through everything required to make a working starter boat in Stormworks.This guide will be a mostly step-by-step process of making a simple but versatile starter boat, however there is no reason you can’t design your own boat using similar components while still following along. This boat will not be a work of art, but it will hopefully be the first step towards making things that are way more interesting.Here’s what’s covered in this guide: Workbench tools and their usesBuilding a hull that floatsDesigning a helm with working instruments and controlsBuilding basic diesel enginesGearboxesElectric systemsLogic and Data connectionsMicrocontrollersDriving and controlling your first vessel
Modular engine update warning
With the release of modular engines a few weeks ago the engine/gearbox mechanics changed even for simple engines. I have not gotten around to updating the guide to reflect the changes. Despite this, a vast majority of the guide is still relevant and should still be useful for new players. Since I’m taking a break from the game there won’t be any updates soon, but once I return I’ll try to make the relevant changes.
1.0 Update
I finished writing the first version of this guide on June 16, 2019. Stormworks just hit version 1.0 on September 18, 2020, and this guide has been long overdue for a rewrite. I’ve gone back through and rewritten the entire thing from scratch, redesigned the boat mostly from the ground up (not much changed actually), and I believe that it is much easier to follow now with the inclusion of animated GIFs. If you are new to Stormworks and you have found various Youtube tutorials to be lacking in explanation or extremely outdated then you have come to the right place.
Existing Tutorials
With the 1.0 release there are now official video tutorials created by Youtube user Mrnjersey. The videos are available by clicking ‘video tutorials’ on the main menu or pause menu, however I will also include a link to the playlist below.
For some people these relatively short videos is enough to get started creating vehicles, however with this written Steam guide I intend to go into much greater detail with further explanations about how the game systems and menus function. This is my second iteration of this guide and includes more screenshots than before, and the explanations are even more comprehensive.
Setting up the game
If this is your first time playing you may wish to view the tutorials in the section above, but I will be going into more detail with everything covered here. While there is an in-game tutorial included, it mostly covers basic gameplay and includes a rather fancy boat that may be difficult for a new player to reverse engineer. Instead we’re going to make our own boat from scratch. Starting from the main menu, select New Game (circle with a plus sign in the middle). You should be greeted with a screen with a small selection of options. If you clicked Confirm now, then you would launch into a standard career game with the default tutorial active, which we do not want.
The world seed is a number put into the computer which it then uses to calculate the positions of the various islands, creating a relatively unique map for each campaign. Most of the time you don’t need to touch this unless you wish to generate the same game world used before or by someone else.
Stormworks features weather effects which may make building and driving your first boat more challenging, alongside a day/night cycle which can make it difficult to see. This guide will assume you are going to be playing with the creative menu enabled. Unfortunately this means we cannot run a standard career game. You may choose to skip this step if you don’t mind not having control of time and weather.
From the Game Mode drop-down, select Custom
Below the Game Mode drop-down is a large button with a thumbnail of the starting base of choice along with its name. Since we chose to play a custom game this will be set to the Creative Base. We want to instead click this button and select the Starter Base which is what the default career games begin on. It should be the very first option in the top left and say ‘features a small dock.’
Click the Enabled Addons button to show a list of missions that spawn by default. In this case ‘missions’ includes things like fuel pumps and elevators/lifts at various islands and much more. Sometimes you can download special custom fuel stations and other buildings on the steam workshop, but since we’re running a default game we want everything to be checked on. However, at the bottom of the list is Default Tutorial and we want to make sure it is NOT checked, then click Back.
Once your new game is set up the way you want click Confirm to be brought to a loading screen. Afterwards you can select the way your character looks. This is entirely cosmetic and can be changed at the Wardrobe in your starter shack later if you wish. Once you’re happy click Complete. You will spawn inside a shack, assuming you selected the Starter Base as the starter base.
Once outside you may notice that the weather is likely to be poor, and time is passing by at a steady pace. If you have created a Custom game you can temporarily eliminate these issues, otherwise skip to the next section. Open the pause menu (Escape key) and then click Custom Menu (Circular symbol with a white top half and dark bottom half. Top half features a sun and the bottom half a moon). Alternatively you can rebind a key in Settings►Controls►Miscellaneous►Custom Menu if you want to quickly access this menu.
Once the creative menu is open there are a ton of options to fiddle with, however we are only interested in the very left hand side. Change Override Time to On and then move the slider for Current Time until it’s roughly noon or 12:00 (I usually set it to about 11:30). This will prevent time from advancing so it is perpetually daytime.
Next, change Override Weather to On, then change the Fog, Wind, and Rain sliders all the way to the left or 0%. It is now an infinite gorgeous day to create your first vehicle! Later on we can do things like crank the wind all the way up to see how the vehicle performs in inclement weather or change the time to day to test the lights.
All that’s left to do now is make your way down the path to the large green shack where we will create the boat. Inside the hangar on the right as you enter the large door should be a blue workbench. Interacting with this is how we enter build mode. If there is already a vehicle in the hangar then the existing vehicle will be brought into edit mode where you can delete it or modify it.
Workbench Interface
The workbench interface (or just build mode interface) features many buttons and a few obscure features. This section will thoroughly cover everything in the UI, starting from the top left and working around clockwise. A majority of these features should be self explanatory, but I will cover them anyways. If you already have a grasp on this interface then you can simply skip to the next section where we’ll begin building the hull of the boat.
The top pane of the UI handles saving/loading vehicles on the left and a plethora of specialized tools on the right.
The first button will exit the workbench, refunding the cost of the vehicle’s components in a campaign game to be used later. Entering the workbench later will load the vehicle for editing again unless a new vehicle was created or loaded. The Spawn button will spawn the current vehicle, and hovering over the button will summarize the weight/mass of the vehicle as well as its total cost.
The New Vehicle button will delete everything and start a new vehicle with a single block to work off of. Load is how you access both vehicles you have saved as well as any downloaded Steam Workshop creations. Save is how you don’t lose progress when building your vehicles. Save often! Workshop will allow you to put the vehicle on the Steam Workshop for others to download and play with.
The two circular arrow buttons are for undo/redo. These buttons also have shortcut keys, CTRL+Z for undo and CTRL+Y for redo, as you would expect.
Most of the next 8 buttons will be covered in more detail later, but this is where you can find the Erase and Paint tools. As for Select, Move, Logic, Merge, Selection Grid, and Microcontroller Editor they can be left alone for now. Notably the Erase tool has a shortcut key, toggled with X.
The right pane is primarily tools for visual aids and camera/symmetry controls.
The first button toggles the symmetry tools for all 3 axes, plus a Disabled button and a Show/Hide Move Widget button for disabling and moving the symmetry plane respectively. Once the symmetry is set the way you want you can click the button to hide the pane until you need it again.
Section Plane is similar to the symmetry tools, except it us used to view a cut-away/cross-section view of your vehicle.
Camera has a Reset Camera button to return the camera to the default view, as well as options to change between Orbit Mode and Free mode. Most recommend changing this to Free Mode so you can use the normal movement keys to move the camera around.
Centre of Mass will display a purple box somewhere on the vehicle showing the point at which the combined weight/mass of the vehicle is centralized. This is useful for balancing the vehicle so it does not lean to one side in the water or drive in circles instead of going straight.
Direction Arrows will display blue arrows for various special blocks showing which direction they are facing, and also the blue border on paint blocks, so if you are painting using the paint blocks then you can disable this to see how it looks much easier. Usually you want this to be enabled.
Rotation Labels are visual indicators for rotating blocks before putting them down. Eventually you might learn which key rotates in what direction and then you can simply disable this. These can be toggled with the P hotkey.
Grid Lines will display an outline around blocks which can help with placement. I don’t like them, but I am enabling them for the purposes of this tutorial.
Measurements will display the size of the area you are covering when placing blocks in a line or plane. Each block is 0.25 meters. The first number is the number of blocks and the second number is the absolute measurement. When placing blocks the point you clicked will show colored lines showing what measurement relates to what axis.
World View will display the workbench area as it appears in the actual game world. The vehicle will spawn exactly as it appears here.
Editor Warnings is a debug feature which will warn you if some components are missing connections or electricity etc. so if something in your vehicle doesn’t work then it may be a good idea to toggle this on to check if anything is missing. Be aware that this will also display false positives, so do not take its suggestions as gospel.
Most of this section is the hotbar for blocks and components which can be accessed by pressing the numerical keys or clicking them directly. To the right of that is the inventory screen which can also be accessed by pressing Tab. In career mode your company’s current funds are also displayed to the right.
There is a bit of empty space between the bottom pane and the left and right panes on either side. On the right side is where the measurements will show up if Measurements are enabled. On the left hand side are context hints which are often easily overlooked and I highly recommend looking here any time you are using a new tool or holding a modifier key.
This is a context sensitive toolbar, but most commonly it displays a set of default color swatches to color your vehicles with. The large circle at the bottom is where you access custom colors and RGB sliders (no hex or HSV inputs though! Devs plz). When selecting a different tool this pane is replaced with other options, notably the Logic tool will show various different logic types, and the Selection Grid will display cut/paste, resizing options, inserting a sub-vehicle, etc. Selecting the Paint tool will also unlock the Paint Mode button at the top.
In the middle of the view is a series of dotted lines showing the maximum size you can make a vehicle. Each workbench has its own maximum size. If you are using the starter base then this is one of the smallest workbench zones. There is also a large grey arrow on the bottom at all times, showing which direction the front of the vehicle should be.
Building a (watertight) Hull
It is now time to start actually building. Once you open the workbench for the first time there should be a single white cube in the middle of the screen, and it will have a purple box inside of it if Centre of Mass is enabled. If there is something other than a single white cube then click the New Vehicle button at the top left.
We’ll start by building the deck of the boat. Make sure the Block is selected in the first hotbar slot, and also enable the X Plane symmetry from the symmetry menu (a red grid should appear in the workbench area). Click and drag on the side of the existing block to start building planes of blocks, and notice how identical blocks will be automatically mirrored on the other side of the red symmetry grid. Holding Shift will usually change what direction the blocks are built but it’s also largely dependent on the current camera angle. It’s also a good idea to enable Measurements so we can check the size of the deck. We’re going to want a deck 19 blocks wide and 21 blocks long.
One way to get the correct size is to build a plane 9 blocks from the side of the starter block and 9 blocks forward (10 blocks including the starter blocks). This will give you a 10*1*19 plane Then build a plane 11 blocks out from the back of all this resulting in a deck size of 21*1*19 once filling in any empty space. This method is demonstrated in the GIF
While you could count each individual block to see if you have the correct size, you can instead click and drag a plane of blocks over the existing ones, acting as a measuring tool. On the bottom right the red number should be 19 and the blue one should be 21 if done correctly. You can push X or select the Erase tool and click and drag to remove excess blocks, and CTRL+Z and CTRL+Y to undo and redo. You can see a little reference for what color represents what axis when you start to click and drag.
If you’re having trouble getting the blocks to draw in the correct orientation try moving the camera or hold SHIFT to change the direction of the plane. You can hold right click and move the mouse to rotate the camera, and middle mouse will pan the camera, or use the standard movement keys if you are using Free Camera.
Once you have the deck the correct size look at the bottom of the workshop area and find the large grey arrow. This points in the direction of the front of the boat. Add a vertical 3*3 set of blocks on the front center of the craft, which we will be using later to build the helm but it’s best to add it now.
With symmetry mode still enabled build the sides of the hull down 2 blocks so the side is 3 blocks tall including the deck pieces. Now select the Wedge block which should be in the second hotbar slot. Naturally the wedge isn’t symmetrical on all sides so you will need to use the J, K, and L keys to rotate it into position. (The U, I and O mirror keys can also be used but they’re harder to work with). Press P to toggle rotation labels on or off. Move the camera into a position under the boat near the center and looking towards the front or back, rotate the wedge piece until it is sloping inwards to form the rounded part of the hull, and then click and drag it diagonally down by 3 blocks. Use the erase tool to remove the excess blocks it creates. If you have trouble creating the 3 blocks this way even when holding Shift then the camera might not be in the right position, in which case you can just create a ‘staircase’ of normal blocks and build on that. From here you can click and drag lines of wedges all the way along the hull to give it a somewhat curved look.
These GIFs showcase both methods for building the start of the slope (right one is drastically edited/sped up). Afterwards you should be able to click and drag from the side of the wedges all the way along the side of the boat.
The next GIF summarizes what we just built.
Move to the stern of the boat and then build 2 wedge blocks out to make the rear of the boat slightly curved. Connect normal blocks all the way across, and also fill in the gap on the deck. Build blocks one extra step down and delete one from either side so that it’s lined up when adding the final 2 rows of wedges to the bottom.
To do the corners we will use the Pyramid block located in the third hotbar slot. You should see that when rotated correctly it lines up nicely with the 3-tall slopes we made earlier on the sides. Simply click and drag across the corner and it will automatically fill everything in. It may create some extra blocks so remove those as necessary. If you miss a block you can try using an Inverse Pyramid to fill it in or delete one of the pyramids and try again. Remember to try holding Shift to try to change the direction of the line. Finally use normal blocks to fill in the bottom of the boat (I forgot to do this so the bottom remains empty in the following image).
If you did not build the 3*3 vertical blocks at the front then you should do that now. Build the deck out 2 blocks towards the front and then use the wedge block to build forward diagonally until the bow deck reaches a point. Delete any extra blocks and then fill in the final piece at the front with a standard block. Remove the wedges on the inside of the line you just made, and then click and drag a plane of blocks to fill it all in. If done correctly it will know to only fill in the deck area and not build any extra blocks on the outside.
From here move the camera to look at the underside of what we just built, grab your pyramid block, and then from the bottom/side of the boat click and drag out to a point towards the from like we did with the deck above, remove extra blocks, and then fill the very front with a wedge piece, clicking and dragging upwards to make a slope from the keel to the deck. Now start clicking and dragging from the wedge blocks out to the side. filling in any missing Inverse Pyramids or Blocks. Finally click and drag a plane of blocks to seal the bottom just like you did with the bow deck.
Once all of the above steps are complete you should have a completely sealed hull and and understanding of the various ways you can click and drag the basic shape blocks to build quicker. Save your vehicle and let’s see if it floats. Click Spawn in the top left and the vehicle will spawn in the dock. The vehicle should be floating comfortably high in the water. If it looks like it’s half sunk then it means there is a hole somewhere, even on the top where you might think water can’t get in. With a few exceptions, the physics calculations in Stormworks requires everything be sealed completely in blocks to count as an air pocket for buoyancy, otherwise it thinks the whole vehicle is ‘outside’ and not filled with air.
Helm and Exterior
Congratulations, you now have something vaguely boat-shaped that floats. Before we get to adding the more complex components let’s instead work on the exterior and finish that off. Remember that vertical 3*3 set of blocks I told you to build? On the sides of that build wedge blocks 2 high and 3 long towards the back/side of the boat, removing the internal wedges. Build a third row above that but keep the internal wedges on that one. Next build 5 blocks long and 3 high towards the stern from those slopes. This will be the start of the helm/cockpit. I changed the last block on the top corner be a wedge down to give it a slightly more interesting shape. Now from the middle of the 3-block high section in front fill it in to the first normal block on the sides to create a dashboard, and then fill in the single row of blocks below that so we can’t look under it.
Let’s add a chair for us to control the boat from. Either hit TAB or click the inventory button to the right of the hotbar to open the Inventory. A menu will open with an absolutely overwhelming amount of stuff to build with. We’re only interested in one piece for now, so in the search bar at the top type Seat to narrow things down, and then either select the Compact Pilot Seat or the Driver Seat, which are identical in function but look different. I prefer the Driver Seat for our purposes, but you will need to delete 2 blocks in the middle of the dashboard to fit the wheel and steering column in.
As an optional step you can delete deck blocks underneath everything we just built, just as long as it doesn’t create holes. These blocks will only add weight to the craft for relatively little benefit. You will probably need to move the camera inside the boat to accomplish this, or use the Section Plane tool and look at the boat from the bottom.
Looking good so far, now let’s add a windscreen. In the inventory search for or find the Large Corner Window and then place it down on the 3-length slope we had built earlier. With these in place we can now add a Large Angled Window directly in the center. You will have to aim your cursor at the inside edge of one of the corner windows to place it in the correct spot since the edge of the large window sticks out from the center if we try to place it directly on the normal blocks. Also make sure to rotate it the correct way around so it looks flush with the corner windows.
With the shape of the helm in place let’s build out the rest of the exterior. From the stern of the boat build up 2 blocks to create a railing, and use a combination of blocks and wedges to wrap the railing around the side up to be in line with where the cockpit ends. Delete a 3-wide set of blocks along the side of the boat and then replace them with Ladder blocks so that people can easily climb onto the boat. I also taper the railing down to the ladder and then down to the deck just to add to the shape of the boat. I don’t have a railing on the front of the boat to allow jumping off the front of the boat onto a dock or the water if necessary.
Now 6 blocks back from the back edge of the helm add in a pair of Passenger Seats to both sides of the boat, snug against the rail and leaving a 5 block aisle between the pairs of seats and 6 blocks of space to the back railing. This will allow 4 passengers to safely ride in the boat (they can also stand on the deck but they are not strapped down so may fall overboard when going over large waves) as well as cram some cargo crates behind the passengers seats for deliveries.
Helm Instruments
Certain gamemodes might not have the various special gauges or buttons unlocked by default and they must be researched. The Key Button can be substituted with a Toggle Button if needed, and is unlocked through the Buttons research. Two Dials can replace the Gauge Display if it’s not unlocked, one for throttle and one for clutch, and it can be unlocked through the Displays research.
Let’s fill the helm’s dashboard with useful stuff that will help us operate the boat. It’s probably easiest to follow the screenshot to see where the recommended instruments go. You can place any instrument wherever you want, this is simply the setup that I ended up liking the most. Be sure to disable symmetry before adding the instruments, then enable it again once everything is finished.
We will be using the following:
- 4 Dials
- Digital Display
- Indicator Light
- Gauge Display
- 2 Toggle Buttons
- Key Button
- Throttle Lever
Again, use the screenshot for a reference, but I will try to explain where things go anyways, replacing blocks as necessary.
Place the Gauge Display directly in the center, just past the steering wheel if you’re using the Driver Seat, both the horizontal white and red bars should be towards the driver’s wheel. To the left of the gauge place 3 Dials. To the right of the Gauge Display place a Toggle Button near the bottom and an Indicator Light towards the front. Place a Throttle Lever to the right of the Toggle Button
On the front of the dashboard on either side of the steering column place a Toggle Button and a Key Button both facing the driver.
Finally remove the 3 blocks underneath the Large Angled Window and instead place a Digital Display on the left with the plus sign towards the left side, then place the final Dial to the right of it over the Indicator Light
We will not be using the Throttle Lever to control the throttle of our engines, but rather the clutch pressure of our clutch. Still, this component will be referred to as the Throttle Lever throughout the guide. Just know that it can do more than just control a throttle despite its name.
Now let’s change the properties of all of these instruments so that they’re actually useful. Use the Select tool at the top of the screen (not the Selection Grid tool) and change the properties of each instrument, giving them names and changing the minimum/maximum values to something sensible. Below is a table with the recommended properties.
If you do not change the minimum/maximum value of the dials then the needle will spin wildly as the value changes, but it will still read the correct value on its in-game tooltip.
While we are changing properties up here we might as well adjust the settings on the driver’s chair. These settings might not make sense immediately but they will eventually. Most of the default settings can stay, but here are the ones to change:
You can also swap hotkeys 2 and 3 depending on personal preference, or change the label to something that makes sense to you (Clutch Up/Down, In/Out, ^/v, etc.), just make sure that the toggle/push modes are correct. The ‘Label’ is what appears in the vehicle controls help while sitting in the driver’s chair and pushing H to toggle them on. Leaving it blank will hide the tip for that control altogether.
Lights, Propeller, Rudders, and Painting
Let’s finish the rest of the exterior features before moving on to the interior. Move to the front of the helm and find the Search Light in the inventory. Aim the cursor at the center block, then rotate (likely with L) until the solid arrow with the plus sign is pointing clockwise/towards the right (starboard) of the boat and place it down. If you don’t see any arrows make sure that Direction Arrows is enabled on the right.
Next move to the bottom side of the boat. Somewhere down here in the center, replace one of the blocks with a Light. This is useful for finding your boat while swimming underwater at night.
Now go to the stern. Replace the middle bottom-most full block just before the inward slope with a Small Propeller. With symmetry mode still enabled count 5 blocks to one side of the propeller and delete one wedge and 2 full blocks vertically. Now temporarily disable symmetry mode because we’re going to place our rudders down and if we place them with symmetry enabled then they will counteract each other any time we try to steer. Grab a Fin Runner and place them in the vertical sets of blocks we had just deleted on either side, ensuring that the solid arrow is pointing towards the right. Make sure to turn symmetry back on when you’re finished. You can delete the single wedge beneath the rudders and replace them with a full block then add another wedge to make it look nicer.
Let’s add a cage of sorts behind the passenger seats so that any cargo we’re transporting doesn’t fly out if we go over rough a waves. You can use a combination of Pipe Straight, Pipe Angle, Pipe T-Piece and perhaps even Pipe Cross. Or you can copy what is in the screenshot below. I also added a set of pipes in the aisle between the two sets of chairs so that crates do not slide forwards out of the cargo area.
On the very front of the boat there is a single full block in between the wedges. We can replace this block with a Rope Anchor to allow us to attach a tow rope to the vehicle if we ever need to rescue it. You can also add one to the stern if you do not value your sanity and want to try your hand at towing other vehicles using this one.
So far we have been building using plain white blocks. Enable the Paint tool at the top of the screen, choose a color on the left, and click on a block to change its color on the selected face. You can click and drag to paint faster, or you can click the button above the colors on the left to change the painting mode. Plane Fill will paint entire sections at a time, while replace color will change everything from one color to another. When using Plane Fill it will respect changes in color, so you can paint an empty rectangle then fill it.You can also access and save new custom colors by clicking the large circle below all of the smaller colored circles. Spend as much time as you wish painting the boat the way you want.
Here’s how I painted it.
There is also an Additive paint mode which at first does not appear to do anything. This is because this mode only changes the color of things that emit light such as activated buttons, dials with backlights enabled, the big search light we placed earlier, the light we put on the bottom of the boat, and more. If the lights or instrument backlights are too harsh you can ‘paint’ them with a darker additive color to dim them a little.
Engine Selection
We’re mostly done with those boring blocks and wedges, so let’s move onto something more exciting (Warning: you may miss only having to worry about those simple cubes soon enough). In order to get our boat-shaped hunk of nondescript material to actually move through the water we will need to use propulsion of some sort, and that propulsion is going to need Mechanical Energy or Power in order to work. There are many ways of generating power in Stormworks, but we are just going to stick with a direct-drive diesel engine setup since it is the most common method and understanding how to build one is incredibly important.
While there are many things that go into making a diesel engine work in Stormworks it’s fairly simplified compared to a real diesel engine. The engine will need oxygen (from fresh Air), and Fuel in order to actually run. Once the air/fuel is combusted it needs to vent the resulting Exhaust somewhere outside the craft or it will just back up and stall. As you would expect, having little explosions constantly going off in a small space is going to heat things up fairly quickly, so the engine will also need some form of Coolant to keep it from catching fire and exploding. For those keeping track that is 4 different fluids that need to be connected, with coolant using 2 ports, one for input and one for output.
Currently there are 3 sizes of diesel engines in the game, however a pair of Small Engines will be plenty for such a small vehicle. We are going to place these in an extremely specific location with a specific orientation so pay attention. If you are using the Free Camera you can fly the camera directly inside the hull to look inside of it, or you can enable the Y Plane Section Plane and then use the move widget (enable it if it’s hidden) to move it so that the deck of the boat disappears allowing you to see inside when looking down from above. You can hold down SHIFT to slow the camera movement when navigating inside tight spaces.
Many images from here on out will have sections of the boat cut away for better visibility
Open the inventory and make sure you have the Small Engine selected. Do not place it down yet, position it to be 9 blocks from the back wall and 2 blocks from the block sticking up from the side (or 3 blocks from the side wall itself). Now rotate it so the 5 holes are facing the front of the boat. Look closely and tap the U key a few times.
You will notice that there is what looks like a fuel tank of some sort connecting the two middle holes, but it does not fully cover one of them. You want it oriented so that this ‘fuel tank’ is covering the hole towards the middle of the boat and isn’t covering the outboard hole. Once positioned, place the engine, then hover the cursor over the various holes to see what they do (select a normal block to make it easier to see). When placed correctly the holes that say In Coolant and Fuel will be towards the middle of the boat, Out Coolant and Exhaust will be towards the side wall, and all of the holes will be facing the front of the boat. With symmetry mode enabled (you still have it enabled right?) an identical engine will be placed on the other side with its pipe inputs facing the correct directions.
Before continuing select the Select tool and change the “max RPS” of both engines to 16. Leaving them at 20 is fine but entirely unnecessary since we won’t ever be running the engines that quickly. Symmetry mode doesn’t work with the Select tool so you will need to do both of them individually. The “Max RPS” works similarly to the redline of your car and will (usually) prevent it from exploding. A common misconception is that increasing the limiter to 100 will increase the power output of the engine even at lower speeds, which is entirely false. All the limiter does is prevent the engine from rotating past a certain speed. Keep in mind we want all engines that will be connected together to have the same RPS limit settings otherwise one or more RPS unlimited engines will try to spin a limited RPS engine past its rev limit and put immense strain on the unlimited engines, making overheating more likely.
Engine Fluids
As mentioned in the previous section the engine will need 3 fluids going into it and will have 2 fluids going out. In order to accomplish this we will need to use the various Pipes available in the Blocks category of the inventory. If the inventory is not sorted by category then you can click the second button in the top left. The first one removes categories and the third button will alphabetize the inventory.
There are currently 7 pipe blocks in the game, each having a corresponding watertight/enclosed variation for a total of 14. I recommend adding the Straight Pipe, Pipe Angle, and Pipe T-Piece to your hotbar by clicking and dragging from the inventory, but it is up to you. Unless otherwise noted we will be using the normal pipes, not the enclosed ones.
It’s important to note that fluids will not enter or exit the “open” ends of regular pipes, despite their appearance. In order for fluids to enter or exit a pipe they need to connect to a component such as an engine or fluid tank, or to a special “fluid port” like a fluid port, fluid exhaust, fluid intake, etc.
In order to make your jumbled mess of pipes easier to understand you may wish to have each one a different color. What colors you choose is entirely up to you. Personally I use a pastel blue/pink for cold/warm coolant, a custom red for fuel, dark grey for exhaust, and white for air. This is purely cosmetic and to make things more readable, so pick colors that suit you (or don’t, fuel doesn’t really care what color pipe it’s moving through, just that it explodes after it reaches its destination).
The most common way to cool an engine is to use water. The small engine comes with about 196 liters of water to use as coolant, so in many situations the easiest way to cool it is to hook it directly up to a radiator. If you were to place down a Fluid Heat Radiator you will notice that both of its input/outputs line up perfectly with the input/outputs of the coolant pipes for the engine. Note that the radiator does not need to be exposed to air to function, and the direction coolant enters or exits does not matter since it acts as a very large pipe piece with no specific input/output. I will be hooking up one of the engines in this manner just to demonstrate how it looks, however there is a much better and simpler way to cool our engine because of the design of our vehicle.
Instead of using a Fluid Heat Radiator, we will instead take sea water directly from underneath the boat. Unless the boat is up in the air or on a beach then it will have a constant supply of cold seawater, and we can just dump the warm water back into the ocean once it’s passed through the engine. Stormworks currently does not distinguish between salt water, fresh water, or actual “engine coolant” so this is perfectly safe.
In order to accomplish this first delete the two blocks directly in front of and below both the coolant inputs/outputs. Next find the Fluid Port in the inventory and place it down where the blocks used to be, making sure that the vents are facing down and the pipe connection is facing up into the boat. Now it’s a simple matter of adding Pipe Angle to connect the fluid ports to the engine and your cooling woes are now resolved! Obviously this will not work when you start making helicopters or trucks which is why the radiators are still useful (although most people use custom cooling tanks).
The exhaust is going to be the next easiest thing to tackle. All we need to do it pipe this out of the vehicle somewhere, and for this I have two recommendations that I will leave up to you:
- Wrap the exhaust pipe around and straight back out of the boat using a Fluid Port to connect the exhaust pipe to the outside of the boat. If the exhaust is on the outboard side of the boat like I instructed then this will end up being directly next to the rudders.
- Replace the blocks between the two existing Fluid Ports for the coolant with a third one, then pipe the exhaust into it, allowing the exhaust to exit the bottom of the boat into the water.
For the air intake we will work backwards. Return to the helm area we created earlier and with symmetry mode still enabled delete the normal block just behind the corner window piece and replace it with a Fluid Port with the vents facing up. Next, replace the blocks beneath it with Pipe Straight (Enclosed). Enable the Direction Arrows option on the right side of the screen to see where the pipe is connected.
Next, angle the pipe towards the engine and build straight to it, then move the pipe down to connect it to the engine. This is the red pipe in the image above, but will appear white in later images. If you did not delete any blocks underneath the dashboard then it will look different but it will still work fine. The pipe needs to hug the ceiling as much as possible since we will be building a fuel tank directly under it in the next section.
Custom Fuel Tank
Certain gamemodes might not have the Fluid Spawner or Fluid Meter unlocked by default and must be unlocked with Fluid Management research. The custom fluid tank will function without them as long as the holes where these components should be are filled in beforehand, you will just need to manually fill the tank with fuel each time. Alternatively you can use 6 Fluid Tank Medium connected together with pipes instead of a custom tank, but getting the fuel content to read out will require logic or a microcontroller.
Engine coolant can be cooled and recycled, air can be constantly taken from outside the vehicle (except for submarines), and exhaust is simply pushed out from the vehicle. So far things have been relatively easy, however fuel just does not occur naturally everywhere outside our vehicle so we cannot simply have an intake port to have a steady supply of it. Instead we are going to need fuel tanks to store fuel in the vehicle, and there are two main ways to accomplish this. We could use either the Fluid Tank Small, Fluid Tank Medium, or Fluid Tank Large to carry fuel with us, however these carry relatively small amounts of fuel (or other fluids if desired) so we would need to place many of them on our vehicle, plus you will end up getting less fuel for the same space compared to using a custom fuel tank. So, let’s go with a custom fuel tank. To make one we simply need to create another enclosure using normal blocks (or other watertight components). Just as Stormworks calculates the inside of our hull as full with air to make it buoyant since there are no holes leading outside, we will create a small enclosure inside the hull that counts as its own separate space that can be filled with diesel fuel without spilling out into the rest of the hull.
Our fuel tank will be 11*3*6, or 11 wide, 3 tall, and 6 long. You can make it larger or smaller if you wish, but I feel this is a pretty decent size for most purposes, and also has the same capacity as using 6 medium fluid tanks. Start with 2 blocks of space from all of the input/output ports of the engine (or 1 block of space from the coolant angle pipes) and then build blocks across toward the other engine. Symmetry mode should still be doing half the work for you and meet in the middle. Add more blocks so the wall is 3 tall, just touching the air intake pipes from before. It should now be easy to add blocks on the side and top until you have a hollow 11*3*6 box. If you wish you can replace all of the corners with wedges and pyramids to reduce weight and then color the whole thing to make it more obvious that this is a fuel tank and not a random box in the hull. If you need to maximize the capacity of the tank then you can build the inside walls using wedges or other special blocks, however this is already plenty of space so do not worry about it.
The fuel tank will need to be connected to the engines, but will also need to connect outside in some way so we can refuel the boat later. The easiest connection will be to the engines. Drag straight pipe from the fuel port of the engine to the wall of the fuel tank, and then replace the block with a Fluid Port. Remember that fluids cannot enter or exit the ‘open’ parts of pipes and must use fluid ports, intakes, exhausts, or slots in order to transfer fluid between the pipe and what it’s connected to.
To add a place to refuel the tank we’ll replace one of the blocks on the side of the tank with a Fluid Port and then add pipes up and to the side of the boat. Replace one of the blocks on the side of the boat with a Pipe Angle (Enclosed) and have that hook into the bottom of a Fluid Hose Anchor on the deck. Use the blue indicators to make sure there is a connection between the Fluid Port on the side of the fuel tank all the way to the bottom of the Fluid Hose Anchor.
To finish off let’s make it so the tank spawns full of diesel ready to go instead of having to refuel every time we spawn it in. Delete any one of the full blocks making up the edge of the fluid tank (probably in the center somewhere since we’re still in symmetry mode and we only need one block) and find the Fluid Spawner and place it so the special-looking side is facing inside of the fuel tank. Make sure that the special-looking side isn’t facing the other direction since it will instead fill the entire hull with fuel and leave the fuel tank empty. By default it should have diesel fuel selected as its fluid type, but you can make sure by using the Select tool.
Now do the same thing again, except this time place down a Fluid Meter. This will allow us to measure how much fluid is inside of the tank and read it on one of the displays on our dashboard.
Mechanical Energy, Driveshaft, and the Clutch
Finally we have all the fluid connections the engines need in order to function. In theory if we could turn them on now they will happily spin away until they run out of fuel. That won’t do us any good however since their spinny parts (crankshaft) aren’t connected to anything. We want to connect the engines to a propeller so that as the engine spins the propeller spins as well, making the boat move. However, if we put in a little more effort we can not only get a lot more speed and efficiency, but also allow the engines to run without spinning the propeller, letting us idle the engine so we don’t have to restart them every time we come to a stop.
Let’s begin by adding a driveshaft to our crankshaft. Thankfully we don’t need anything special to accomplish this, all we need to do is find the Power output on the top of the engine and add regular pipes to it, the very same pipes we were using to transfer fluids earlier. Like the fluids, I color code my power pipes, personally I use orange. Since we’re using two engines we will bring these pipes towards the center of the boat and connect them together with a Pipe T-Piece angled down. Try not to think too hard about how we are casually making our driveshaft twist and bend this way, “it just works.” With the outputs connected bring the pipe down to the floor and angle it towards the back of the boat but don’t drag any pipe that direction yet.
For some reason this is a fairly difficult component for people to understand. If we connect the pipe directly to a propeller then any time the engine is spinning the propeller is also spinning because they are directly connected. In theory if we could use an external force to spin the propeller then it would also cause the engines to spin. A Clutch separates the driveshaft into two sections, in this case the engine section and the propeller section.
When the clutch is disengaged the engines will spin without exerting force on the propeller and the boat will remain still. As you increase clutch pressure the two systems will gradually transfer power between each other, allowing the engines to smoothly engage the propeller. With heavier vehicles, larger propellers, weaker engines, or wheel-driven vehicles this is important because not engaging the clutch smoothly in this manner could simply stall the engine. Not having any clutch at all means that you will be using the built-in electric starter motor to try to get both the engine and the propeller up to speed which will rapidly drain a battery leaving your vehicle stranded if the battery runs out before the engines can get started.
With all that said, we’re going to use a clutch in this vehicle, even though it is optional. It is still very beneficial to learn how to use the clutch. An important note: there is an A and B side of a clutch, however the orientation is irrelevant, so don’t worry about putting it on ‘backwards’. Go ahead and add a Clutch to the end of the pipe we have made so far.
Gearboxes Made Simple
WARNING: Gearboxes have changed drastically since the update on 02/18/2021 and this section is now outdated. I have not been playing Stormworks recently and I will need to exeriment with the engine changes so I know how to rewrite this section.
Let’s talk about one of the hardest things for newer and even some experienced players to understand: gearboxes. There are many tutorials about gearboxes floating around, but I am about to make things dead simple for you.
(They are also torque multipliers in the opposite direction, but we are trying to keep this simple.)
Stormworks measures rotational speed in Rotations per Second or RPS, so that is typically how players measure it. RPS = Rotations per Second. 1 RPS = 60 Rotations per Minute. The diesel engines in the game run at much lower speeds than the gasoline engine of a typical car.
Obviously there is more to it than that, however for a beginner that is mostly all that you need to know to start using them. Still, let’s break down what I mean by “rotation speed multiplier”. Let’s say you have an engine spinning at 10 RPS. Connect this to the propeller and both the engine and the propeller are now spinning at 10 RPS. All well and good… but we can do better.
In our case our engines are powerful enough that we can push this propeller harder, yet we don’t want to increase the engine RPS too much because higher engine RPS not only increases fuel consumption but it makes the engines hotter and more prone to explosive failure. Introducing Gearboxes/RPS Multipliers. Place a gearbox in between the engine and the propeller, set its multiplier to 2, and now the engine is spinning at 10 RPS as usual, however the propeller is now spinning twice as quickly at 20 RPS, meaning the boat is going much faster for roughly the same fuel consumption as before
(In this setup: Engine RPS * Gearbox = Propeller RPS).
So gearboxes are RPS multipliers, but if you were to try to put one down now you will notice that there are ► marks that resemble arrows. This is because the multiplication works depending on which direction the arrow is facing. If we were to reverse the above example then we would end up with an engine spinning at 10 RPS but the propeller would only spin at 5 RPS since it’s now multiplying the Propeller RPS by the gearbox.
(In this setup: Propeller RPS * Gearbox = Engine RPS).
So which direction do we want to put our gearbox?
Since we want to multiply propeller RPS we want to place it down so our smaller ratio is towards the engine while the larger ratio is towards the propeller. The easiest way to remember this is that the small end of the arrow ► is the small ratio while the large end is the larger ratio. Because of this, we want to add a Gearbox connecting to the Clutch such that the small part of the arrow ► is pointing into the Clutch while the large end is pointing towards the propeller. This is often referred to as ‘placing the arrows towards the engine’.
While we are at it let’s place down a second Gearbox in the same manner, having the small end of the arrow ► pointing into the large end of the arrow from the first gearbox. Chaining gearboxes like this allows us to multiply our already multiplied ratio to allow us to get even higher speed, however in this case we’re mostly using it to allow us to have a “negative ratio”, commonly known as a reverse gear, so we can move both forwards and backwards. Finally connect the second gearbox to the back of the Small Propeller we placed earlier.
So we have both of our gearboxes placed, but now we need to actually select what ratios they are going to use. Using the Select tool, click the first gearbox we placed and it will turn orange and two options appear on the left. For Ratio 1 click the arrows until you find 6:5, then change Ratio 2 to 1:-1 which is the reverse gear. Now click the second gearbox to change its properties. Set Ratio 1 to 6:5 and Ratio 2 to 2:1. If you wish you can do the math to figure out exactly what numbers these would eventually result in. For now just pretend that you have reached these values after much trial and error like I have, or were intelligent and used math to figure out which ratios were best for your engine setup.
Gearboxes have two ratios but only one is selected at a time. By default the first ratio is what is output. Turning the gearbox on will change to its second ratio, but turning it back off will revert it to the first ratio again. We’ll set up logic for this later on.
In-game, RPS multipliers are listed as unsimplified division, or ratios, which is incredibly annoying but is how gear ratios are typically written. In our above example where the engine spins at 10 RPS and the propeller at 20 RPS, the gearbox will be listed as a ratio of 2:1, meaning 2 propeller rotations per 1 engine rotation. That’s weird but fine, but then you start getting ratios like 9:5 and 5:2. 9 propeller rotations per 5 engine rotations, and 5 propeller rotations per 2 engine rotations respectively. If you do the math you will discover that these two ratios simplify into 1.8 multiplier and 2.5 multiplier. The next section is some conversion tables for all of this for your convenience.
As mentioned before, turning the gearbox in the other direction will cause the engine to spin faster but the propeller to spin slower. This is reflected as ‘inverted multiplier’, and is mostly used in land vehicles to get them up to speed or to haul heavy loads since it’s more difficult to get their wheels to spin across the ground than it is for a propeller to spin in the water.
Gearbox Ratio/Multiplier Reference Table
This section is not required to finish the tutorial, but rather is a reference for your convenience when building your own vehicles while still learning the nuances of using gearboxes.
All values assume that the arrows of the gearbox are “facing the engine”. When facing “away from the engine” the RPS multiplier becomes a torque multiplier and vice versa.
Alternative gearbox table
An engine spinning at 10 RPS with a gearbox facing the engine with a ratio set to 9:5 will have its propulsion spin at 18 RPS because 10 RPS * 1.8 = 18 RPS output
An engine spinning at 10 RPS with two gearboxes in sequence facing the engine each with ratios of 2:1 will have its propulsion spin at 40 RPS. 10 * 2 * 2 = 40. Remember that gearboxes multiply each other when in sequence like this.
An engine spinning at 10 RPS with a gearbox facing away from the engine with a ratio of 5:2 will spin its propulsion at 4 RPS because 10 * 0.4 = 4
A ratio of 1:-1 will reverse its output, allowing the propulsion to spin in the opposite direction. This is important because an engine cannot spin ‘backwards’ so a gearbox is needed to reverse its output.
• If your vehicle can get up to speed just fine and you have plenty of engine power to spare (constant redlining)…
• If you can’t get the vehicle to move from a standstill without stalling…
• If the vehicle gets up to speed but the engine runs at very low RPS in highest gear, reducing top speed…
• If you want more speed and the engine runs at the RPS desired in highest gear but you cannot increase gearbox multiplier any higher without losing speed…
Electric Systems
The Electric Relay component is not available by default in some gamemodes and must be unlocked with the Electrics research. The relay is an optional but recommended component that can be substituded with an Electric Circuit Breaker located near the helm which must be manually operated, or you can simply connect everything to the batteries directly if necessary.
Congratulate yourself for building your first engine. Once you get the hang of it then it won’t take nearly as long as it did in this guide. There is just one more small thing to add to it. Above the angle pipe leading into the Clutch replace the straight pipe with a Pipe T-Piece with the third opening pointing above the clutch. Now grab a Small Generator and place it onto the end of the pipe. Generators will take the power produced by engines and convert it into electricity to recharge our batteries. For this craft a single small generator will do, we don’t want to add too many because each one will siphon off power that we’re using to drive the propeller. We could add in a gearbox to make it spin faster, but that would also slow the engine down even more and even without a gearbox it generates sufficient electricity.
Now let’s add some batteries for this generator to recharge. Find the Electric Battery Small in the inventory and place one on the floor in between the pipes and the fuel tank. You may wish to have 3 instead, giving you more charge before they run out, but a single battery should be enough. Keep in mind that in a campaign setting with limited money both batteries and generators tend to be quite expensive. Batteries also tend to be fairly heavy so it’s unwise to just fill your boat with them.
Most boats include one or more Electric Circuit Breakers, however we’re going to design our electrical system to turn on when we turn the engine key on with very few components connected directly to the battery. To accomplish this we will use an Electric Relay. The Electric Relay does the same thing as an Electric Circuit Breaker, except the breaker can only be operated by physically flipping the switch while the relay can be activated remotely. In our case it will turn on once we turn the key to the engine. Place an Electric Relay somewhere near the batteries, I put mine on the ceiling.
Connecting electrical components together is much simpler than connecting parts of an engine using pipes. Instead of running physical cables or pipes we will be connecting electrical nodes together using the Logic tool. At the top of the screen select Logic, then on the left side click Electric. There should now be several yellow circles with plus signs. These are the electric nodes we will be connecting. Similarly to how the clutch of an engine splits the driveshaft into two distinct systems our relay will separate our two electric systems until we turn it on. If you accidentally connect a node from one system to a node from the other system then you will close the circuit and everything will act as one system, so be mindful of what you are connecting. Do not connect one side of the relay to the other either since that also jumps the circuit and has the same effect.
To actually make connections simply click and drag from one node to another. Trying to make a connection that already exists will delete the existing connection. Holding CTRL while clicking will allow you to make multiple connections quickly. The quickest way to make connections is to choose one of the batteries, then just connect that to everything that will be on the battery system and one side of the relay, then ctrl+click and connect everything else to the other side of the relay. This creates a mess of yellow lines everywhere and works fine, but it may become impossible to see anything if you are making a lot of connections.
The alternative method is to connect things in a chain. Electricity will flow through the connections with no issues, and the path can even split and join or branch off wherever. The important part is that there is a connected path from the component to either the battery or the electric relay or circuit breaker. Both the ‘spider web’ and ‘chain’ method are valid, so pick one (or combine them if you want) and start connecting.Pictured: all of the connections we need on the “battery” side of the relay, with the other nodes greyed out, assuming we’re using 3 batteries.
Here is a list of things that should be connected before the relay (on the battery side). Anything not listed here should be connected to the other side of the relay.
- Small Generator
- All batteries
- Key Button (controlling the engine on/off)
- Throttle Lever (controlling the clutch)
- Both Fin Rudders in the rear
- Electric Relay (either the A node or the B node, but not both. The other node is what everything else will connect to)
Remember not to connect anything from the other side of the relay to anything in that list or the electricity is going to simply bypass the relay altogether. Also make sure everything has a connection, otherwise it will remain unpowered and depending on the component it simply may not function at all. Dials are fairly harmless since they work without electricity, they just won’t have backlights, but if you don’t power the engines then you cannot use the starter motor and if the rudders don’t get power then they get locked in their current position.
Pictured: Fastest Electrician in the West? Or just a Counter Strike player? You decide.
Data Logic
It is very difficult to portray logic using images because of how cluttered things get. Just try to do your best to follow along!
Now that you have a feel for how to connect logic nodes together using the Logic tool we can move onto something more complicated. Without Data Logic our boat may as well be a floating brick with fuel. We need a way to tell the boat what to do when we’re sitting in the driver’s seat and we push the movement keys, or what we want to have happen when we use the key button, or what dial should read the battery level and which should read the fuel level, that sort of thing.
To get started make sure the Logic tool is selected at the top of the screen and that Data mode is selected on the left side. Only blocks that have logic connections of some sort will be visible now, as well as various colored circles and dots. If you have some form of colorblindness or are having trouble telling the red and green circles and dots apart you can change the colors in the pause menu under Settings►General►Accessibility►Color Palette. Screenshots and colors referenced will be using the Classic pallet.
So you may be wondering what exactly all these dots and circles are for. There are two types of data logic and two types of logic node. The dots represent Outputs and the circles are Inputs, where logic moves from Outputs into Inputs. A single Output can connect to any number of Inputs, but Inputs only accept a single Output connection. Inputs cannot connect to other inputs and outputs cannot connect to other outputs, the logic only flows in one ‘direction’.Hovering over a node will give you more information about it, including the name of the component, the name of the node itself, the data and in/output type, and a description of what the node does.
Next are the different colors, differentiating the types of logic. Red nodes are for On/Off logic (sometimes called Boolean logic) and green nodes are for Number logic. Hovering over a node will tell you whether it is for On/Off or Numbers. As you might expect On/Off logic is either on or off, enabled or disabled, yes or no, true or false, or any other way you can describe a Boolean. On/Off logic will default to Off when not given an input.
Numbers on the other hand can be any value you would find on a number line, including decimals. It’s important to note that Numbers are never “Not a number” like you may see some calculators display when dividing by zero. If a Number becomes invalid or it simply has not been defined or has no input then it will default to 0.
Just like with Electric logic, all you need to do to make a logic connection is to click and drag from one node to another. You can click and drag from an Input to an Output if necessary, but the Ctrl+Click trick from before works best when starting from an Output if multiple connections are needed. We don’t have quite everything we need to hook everything up, however things get messy very quickly so we will simply connect everything we can for now and sort out the rest later. Below is a list of all of the logic connections we will make right now, separated into On/Off and Number tables. All of the connections are also visible in the image, but it is hard to see all of them from a still image that cannot be rotated.
Note that you can swap the connections of hotkeys 2 and 3 and the two throttle lever inputs to change whether pushing 2 will increase clutch pressure or if pushing 3 will depending on your preference.
Since we have two engines and only one dial for both RPS and temperature just select one of the engines to take the values from. With large more complex vehicles you may wish to have separate meters for each individual engine, but for our purposes both should be operating pretty much identically so it should be no issue.
Logic Gates
So far we have been connecting an input directly to an output, but what if we want to modify the logic signal in some way before it reaches its destination? For example, currently when we push the Hotkey 1 of the driver’s seat it will engage the second gearbox’s high gear, but we have a Low Gear Indicator Light on our dashboard that is supposed to light up whenever we have low gear selected. If we connected the hotkey directly to the indicator light then it will only light up whenever we engage high gear which is the exact opposite of what we want. However, if we put the Hotkey 1 signal through a Logic Gate first then we can take the input, change it, and then output a modified value. In our case we want the indicator light to get an On signal whenever the output of the Hotkey 1 is outputting an Off signal, and vice versa.
Fortunately for us this is a fairly common situation and we can use a very simple logic gate called a NOT gate. In order to find it in the inventory you simply have to type NOT into the search bar since all logic gates are displayed by its actual name without the ‘gate’ at the end.
On the left: the NOT gate selected in the inventory, along with all of the logic gates available to place. You will not be using these often fbecause of Microcontrollers. On the right: placing a NOT gate down and then connecting its logic from the chair to the indicator.
If it’s still enabled you can disable Symmetry since we only need to place one of these, then find an empty space somewhere inside the hull of the boat out of sight and place it down. Mine is under the dashboard directly underneath the Indicator Light this will connect to. Now connect the Hotkey 1 of the Driver’s Seat to the A input of the NOT gate, then connect the NOT A output to the Indicator Light. That’s all there is to it, it is an extremely simple logic gate. Other logic gates may have multiple inputs or may only activate a signal when its input value is a certain Number input, there are too many varieties to cover here so I’ll just stick to the ones relevant for this boat.
Certain gamemodes might not have the Linear Speed Sensor unlocked by default and must be unlocked through the Sensors research.
The speedometer is going to be the next easiest thing to set up so let’s do that now. Somewhere inside your boat place down a single Linear Speed Sensor with the sensory-bits facing the front of the vehicle (or don’t, it doesn’t matter in this case). Using the Select tool change the Sensor Mode to Horizontal so that it senses any horizontal movement instead of movement in any direction. You may also instead choose Directional if you want to detect speed in the direction the sensory bit (I think it’s supposed to be a weird pitot tube) is looking and will also detect backwards movement as negative numbers.
With the Linear Speed Sensor all set up we could connect it to our speedometer the way it is, but there’s a small issue. The sensor only outputs the speed it measures in meters per second. That’s not a sort of measurement of speed that most people use very often, usually people will either measure normal speeds in kilometers per hour or miles per hour. Since we’re making a boat let’s instead convert the meters per second from the sensor into knots.
In the inventory find the Function (1 Input) and place it somewhere inside the boat. The Function logic gate and its various iterations are very unique and powerful logic gates that combines the functions of no less than 12 of the logic gates available in the inventory all into one place. What we are doing would normally require both a Multiply and a Constant Number but if we instead type in the correct function it will do the work of both of those logic gates together.
Using the Select tool click the Function (1 Input) and a text field should appear on the left as well as drop-down boxes that we can use for reference. If you click the ‘conversions’ drop-down you will find a reference for some of the most common speed conversions. Find the one for “m/s to knots” or kmph or mph depending on what you want displayed and type it into the f(x) box near the top left. Since I’m converting from meters per second into knots my function would be “x*1.943844” without quotes. This means we have “x” which is the input variable (which will be the output from our speed sensor), asterisk (*) is the multiplication operator, and “1.943844” which is the constant number we are multiplying our “x” input by. Put together this is our “function”.
With our function all set up all that’s left to do is connect it with the Logic tool. Connect the Linear Speed Sensor to the Input 1 (x) of the Function (1 Input), then connect the f(x) output into the Digital Display
Microcontrollers
So we know how to place logic gates and use them, but if we keep adding more and more logic gates to the boat eventually it will be covered in them and things will eventually end up getting very confusing very quickly. To remedy this we can create Microcontrollers or MCs. In essence, MCs are little neat boxes filled with logic gates that would otherwise clutter up your vehicle. Not only that, but if there are a set of logic gates that you use together often you can bundle them into a microcontroller and then save them for later use in your other vehicles, even appearing right in your inventory like other blocks.
Since our vehicle uses a single fuel tank instead of 6 medium fuel tanks we do not need to add the contents of each together in order to get the fuel total. That would have been a very convenient way to teach a new player about microcontrollers, because that would normally use about 5 ADD logic gates (or a single 8-input function but I’m getting ahead of myself). As you may have guessed, the first version of this guide did just that, but now what shall I use as a microcontroller example?
Well, that function that we just made converts the speed from a Linear Speed Sensor into something more readable, and that sounds like something that we may be using quite often on a lot of vehicles, so perhaps let’s start with that. I have an idea that can make it even better anyways.
Let’s build a speed converter microcontroller. As always save your vehicle, because we’re about to switch to the microcontroller editor. In the top right corner there should be a button that looks like a computer processor called Microcontroller Editor which is what you should click now.
You should be greeted with a screen somewhat similar to the vehicle editor, only some of the options at the top have changed and the main view looks a fair bit different. On the left should be Schematic which is a top-down view of what our MC will look like, then three tabs labelled Properties, Logic and Symbol on the right. For now choose the Properties tab and type a name for the MC (“Speed Converter” would make sense to me but it’s up to you). The name is what the microcontroller is named in the inventory once we save it. Description is the small blurb that appears under the component thumbnail when the piece is selected in the inventory, and is optional. For the width we want to shrink this to 1 and the length can be shrunk to 2, giving us a 1×2 MC to work with.
Now under the Logic tab click the Add Node button twice. You should notice something appear on the Schematic to the left. You need to click and drag one of the nodes we just made to be in the white space since nodes cannot overlap (indicated by a pulsing yellow warning sign). Now on both nodes click the dropdown that says On/Off and change it to Number since both our input and output will be numbers. Now name one of them “Linear Speed Sensor Input” or something else that makes sense to you, then change the other node’s type to Output and name it “Speedometer Output” or “It’s 1 AM I should be asleep” or similar. The descriptions are often overlooked but they are what appears in the tooltip when hovering over the node in Logic mode. You should now have two Number nodes, one being an Input and the other an Output.
The Symbol tab is for 1-bit pixel artists. Whatever you draw here will be used for the thumbnail in the inventory screen.
Like with vehicles, you will want to Save fairly often at the top of the screen. The name you save it as does not have to match the name you gave it in the Properties tab earlier.
Here is the MC we are going to create. How to do so is detailed below, but I’m putting it first so you get an idea of what we’re doing.
Once ready click Logic at the top of the screen to switch to the ‘internal view’ of the microcontroller where the magic happens. The two nodes we created in the Design mode are currently sitting on top of each other so click and drag them off to each side. If you need to move around you can hold Middle Mouse Button to pan the view. We’re going to add two more nodes, so open the Inventory just like in the vehicle editor. Find the f(x, y, z) (it’s easier to find it in the Arithmetic category than it is to search for it) and Property Dropdown and place them both down. Now arrange everything so that both the input we made in design view and the Property Dropdown are somewhere on the left, the f(x, y, z) is in the middle, and the output is on the right.
Next, connect the speed sensor input into the X input of the Function, connect the Property Dropdown to the Y input of the Function, and connect the output of the Function into the speedometer output. Now click on the Function to open its properties. Just like with the other function we made we are going to multiply the output of the speed sensor by a constant number. The difference is that the constant number is going to come from our Property Dropdown which is a special logic gate that allows us to click the microcontroller and change its properties just like we could change the properties of a throttle lever or driver’s seat. As such, our function this time is simply “x*y” or “Linear speed sensor multiplied by property dropdown”.
The “Z” input of the function doesn’t do anything for us since we only need the X and Y inputs. If we were to try to use Z in our function right now Z would always be 0 since it has no input. It is not required to connect every input on a logic gate if its functionality isn’t needed or the default state is okay to use
Let’s go give the property dropdown some options to choose from to make it useful. Click it, then on the left enter “Convert ms to…” as its property name. Then click the Add button 3 times so there are 3 options. Then enter these values:
The checkmark is simply the default option, so if you use Kilometers per Hour more often you can change the checkmark to that.
Now whenever we choose one of these options it will change what constant number this outputs. Since “knots” is selected it’s outputting 1.943844 into the “y” variable of the function we made. Remember to Save the microcontroller before clicking the Back button in the top left to return to the vehicle editor.
Back in the vehicle editor you can replace the Function (1 input) with the microcontroller we just made. It should appear in the inventory with the name you gave it earlier under the Microcontrollers category. Connect the logic between the speed sensor and the digital display just like before, then enable the Select tool and click the microcontroller to see our drop-down in action. If you have made a mistake or want to edit the microcontroller the small button with three dots in it will open the MC back up for editing on the spot. You can even Update it onto the vehicle without saving it in case you have microcontrollers specific to certain vehicles and don’t feel like saving them in the MC editor.
Engine Management Microcontroller
At this point the boat is nearly complete. Now we just need some logic to control the engine throttle and the starter motor etc. Usually people will add a push button to their vehicle just for the starter motor, but we already have a Key Button that can get the job done. The issue is that we only need the starter to run until the engines have started, but connecting the key to the starter right now would simply run the starter until the batteries drain.
On top of that we need a way to control the throttle of the engines, and we’re controlling throttle using the Driver’s Seat. The throttle input of an engine takes a number between 0 and 1 but the axes of a Driver’s Seat outputs numbers between -1 and 1, meaning that half of the output range is a big dead zone that won’t do anything.
To put icing on the cake we want the engine to idle comfortably as long as the key is turned on, but we want the engine to shut off once we disable the key. We can accomplish everything above with a single microcontroller with a bit of logic.
Open the MC editor and click New Microcontroller to clear the current design. By default the size of the MC is 2×2 which is exactly what we want so no need to change the size. Enter a name, I’m using “Key Engine Start/Stop” but you can also use “Simple Engine MC” or something similar, the description is optional. Under the Properties tab click Add Node four times. We’re going to need 2 On/Off nodes and 2 Number nodes, and each type needs one Input and one Output. As for names, you can name the On/Off Input as “Key Input” and the Output as “Engine Start”, then name the Number Input as “Throttle In” and the Output as “Throttle Out”. Finally in the Symbol tab you can draw something if you want.
As before this is what the MC will look like by the end of the section, including that ominous empty space.
Moving on to the Logic screen move the existing logic so you can see all 4 of them with the inputs on the left and the outputs on the right. I also suggest having the on/offs below the numbers to make things easier to read later on. This MC will be using 6 logic gates, but we’ll start by connecting the on/off logic up to our starter motor output. Place down a Pulse (Toggle to Push) to the right of the Key Input, then place down a Capacitor to the right of that and position the Engine Start output after that.
With everything in place connect the Key Input to the Pulse (Toggle to Push), connected to the Capacitor, connected to the Engine Start output. You can click on each of these to see different properties. The default settings for the Pulse (Toggle to Push) are fine, but you will want to change the Capacitor‘s “Charge Time” to 0.0 Seconds and its “Discharge Time” to about 0.5 seconds.
Let’s go through what all of this does. By default our Key Button outputs an Off signal, but once we turn it on it will output an On signal to the Key input of our microcontroller, which then goes into the Pulse (Toggle to Push). The Pulse (Toggle to Push) then very briefly sends an On signal to the Capacitor before immediately turning back Off even though it’s still receiving an On signal from the key. Meanwhile the brief On signal ‘charges’ the Capacitor immediately since its charge time was set to 0. It will begin outputting an On signal to the starter motor, and since it’s no longer receiving an On signal it will spend the next 0.5 seconds outputting an On signal before it’s fully “discharged” and turns back off.
All of that can be simplified into “When the Key Button is turned on, run the starter motor of the engines for 0.5 seconds”
Engine Management Microcontroller (cont.)
Finished microcontroller up front, reference it throughout the section.
That was the easy part. Now let’s tackle the most complicated system that our boat will use. Place down the following logic somewhere above the previous logic: Greater Than, Less Than, Up/Down Counter, and Numerical Switchbox. Keep in mind where that Numerical Switchbox is in the inventory and perhaps even add it to the hotbar at the bottom because I guarantee you will be using that thing all of the time. Now arrange the logic so that the Greater Than is sitting above the Less Than and both are just to the right of the Throttle In. Then put the Up/Down Counter to the right of that, and the Numerical Switchbox to the right of that, and finally have our Throttle out output.
Some people may suggest using Threshold Gates instead of the Greater Than and Less Than but with the way we have our Driver’s Seat set up the end result will be the same.
Connect the logic as follows: the Throttle In connects to the A (topmost) inputs of both the Greater Than and Less Than. The Greater Than connects to the Up input of the Up/Down Counter while Less Than connects to its Down input. The Up/Down Counter connects to the First Value (On) of the Numerical Switchbox, which then connects to the Throttle Out output. Finally connect the Key Button output to the Switch Signal node of the Numerical Switchbox.
Before explaining what all of this does open the properties of the Up/Down Counter and set these properties:
Increment: 0.008
Reset Value: 0
Clamp: Enabled
Min: 0.08
Max: 1
The “increment” displays incorrectly on the logic gate because it rounds the number on the display, even though internally it’s using the correct number.
To understand all this logic let’s start with the Driver’s Seat. As explained before a Driver’s Seat outputs a value between -1 and 1. Usually it will smoothly move along its axis, but increasing the Sensitivity will change how quickly it moves. Since our sensitivity is all the way to 100% it will immediately jump to 1 any time we push the forward button and -1 any time we push the backwards key. Since we also have it on “reset” instead of “sticky” it will move the opposite direction towards 0 once we stop pushing keys. This means that our seat will only output one of three values: -1, 0, or 1, but nothing in between.
With that in mind, the seat connects to our Throttle In which then goes to our Greater Than and Less Than gates. The Greater Than gate compares its A input to its B input, and if the A value is greater than the B value it will output an On signal. Since the B input is not receiving any signal it will simply default to 0, meaning it is checking whether or not the output from our chair is greater than 0, and if it is it will turn its output on. The same thing happens with the Less Than but in the other direction.
Once we’ve detected that we’re inputting something into the chair it goes into one of the inputs of the Up/Down Counter. The Up/Down Counter acts in a very similar way to the Throttle Lever component, it will increase its value when its UP input is on and decrease its value when its DOWN input is on. Its “Increment” settings is how quickly the value changes, or its sensitivity. “Clamp” will make sure that the value does not exceed a certain amount while the “min” and “max” values set the lower and upper boundaries of the clamp. In this case the counter will output a 0.08 at mimimum and a 1 at its maximum, while an up or down input will change its value by 0.008 every ‘tick’ (1/60ths of a second. Yeah, it’s weird but there’s a good reason for it). Finally it will output its value to the Numerical Switchbox
The Numerical Switchbox… works sort of like a traffic light at a Y intersection. There are two numbers going into the switchbox and they each want to reach the output, but only one of them can go at a time, so how do we decide which one gets to go through? By default the value from Second Value (Off) will get to go through, but if the Switch Signal input receives an On signal then the Second Value (Off) no longer makes it through and instead the First Value (On) passes through. Since Second Value (Off) has no input it will default to 0, meaning by default the switchbox outputs a 0 to the Throttle Out output. But if we ever turn on our Key Button the Numerical Switchbox will instead allow the First Value (on) from our Up/Down Counter to go through to the throttle.
That was quite a lot to explain, so here is what all of that logic does in simpler terms. We have a digital throttle lever. Pressing the forward or backwards keys while sitting in the Driver Seat will increase or decrease its output. If the Key Button is off then the engine throttle is 0, which will turn the engines off. If the Key Button is on then the engine throttle is controlled by the digital throttle lever with a minimum throttle value of 0.08 for idling. Again, this ‘digital throttle’ is controlled by our driver’s seat.
After Saving the microcontroller return to the vehicle editor so we can add our fancy MC to the craft, preferably out of sight. Once placed, use the Logic tool to connect the Key button to the MC’s on/off input, then connect its on/off output to both of the Starter nodes our Small Engines. Then connect Axis 2 from our Driver Seat into its number input, then from its number output connect the Throttle of both Small Engines as well as the Primary Display Value of the Gauge Display on our dashboard so we can read the throttle value while driving.
Systems Checklist and Troubleshooting
At long last our little boat is complete and functional… hopefully. Before we Spawn the boat in look on the right side of the workbench UI near the bottom. There should be a button called Editor Warnings. If you have been following this guide exactly then there should be no warnings. If there are, make sure the data and electrical is connected correctly depending on the warning you see, then turn the Editor Warnings back off because they get annoying while building. Now we can Spawn the boat in and start testing all of its features and buttons. Here is a sort of checklist to make sure everything is set up correctly, make sure to do it in order.
• If the boat sinks that means 1 of 3 things: there is a hole somewhere in your hull, there is a hole in your custom fuel tank and your hull is filling with fuel, or the Fluid Spawner is backwards and is filling your hull with fuel.
• Sit down in the driver chair and look at the various Dials on the dashboard. The Fuel, Battery, and Engine Temperature dials should not be 0 when looking at them. If not then you need to connect the correct sensor number to its input. If the needles go haywire as the value changes then that means the minimum and maximum values have not been entered into its properties. The Digital Display may also be changing slightly as the boat bobs in the ocean, which is perfectly normal. If it’s stuck on 0 even when the boat moves then check its data connection.
• Try pushing both the Reverse button and the Searchlight button. Nothing should happen. If either button turns on at this point then you need to check your electrical connections to see if you’re jumping the Electric Relay at any point. Similarly, the Indicator Light should not be on at this time even after pushing Hotkey 1.
• If third person mode is enabled you can hit TAB by default to enter third person view, then press the left and right movement keys. You should be able to see both Fin Rudders move. If one or more does not move check its electrical and data connection. If they move in the wrong direction then they have been placed backwards. If they move in opposite directions to each other then they were built while Symmetry mode was enabled and one of them will need to be flipped the right way around.
• Try pushing the Throttle Lever forwards and backwards. If the throttle lever does not move then its electricity needs to be connected on the “battery side” of the electric relay just like the key button. If it does move then you should also see the red bar on the Gauge Display move as well. If not then you need to connect the output of the lever to the ‘secondary’ input of the gauge.
• Press the Hotkey 2 and Hotkey 3 (by default these are 2 and 3 on your keyboard. You can also push H to toggle control hints). The throttle lever should move while one of the keys is pressed and stop moving when you let go. If it continues to move after releasing the hotkey then you need to change the hotkey mode from “toggle” to “push” in the properties of the Driver’s Seat. Once finished make sure to return the lever to the 0 position.
• Now start the engines and enable the Electric Relay by holding an interact key with the Key Button. If the button does not respond when using it then you need to check that its electrical connection is on the “battery” side of the Electric Relay. If it takes too long to actually turn the key then you need to lower its Hold Duration property. Once the key is on several things should happen simultaneously.
• You should be able to hear the starter motor of the engine run for 0.5 seconds. If it runs for longer than that make sure you are connecting the starter to the microcontroller we made earlier and not directly to the key. If it is connected to the microcontroller then there is a problem with the microcontroller itself. If the motor does not run at all that means you need to either check the electrical connection to the engine or check that the microcontroller is set up right.
• The backlights on all of the dashboard instruments should light up, and the light on the bottom of the boat should also illuminate. While these aren’t vital they can be very useful at nighttime. If something doesn’t turn on then make sure it has a data connection to the Key Button and an electrical connection to the Electric Relay.
• The Indicator Light should be on assuming you have not pressed the Hotkey 1. If it does not turn on even after pressing Hotkey 1 then check its data is connected to the NOT gate and its electrical connections are correct. Also connect the Hotkey 1 to the NOT gate if it isn’t already connected. Make sure the light is on before continuing.
• The Tachometer Dial should read about 3-4 RPS. If it ever dips below 2.5 then the engines will stall and you will need to start them again. If the value is stuck at 0 even if the starter motor runs then make sure it has a data connection to one of the engine’s RPS outputs.
• The white bar on the Gauge Display should be visible now and read a value of 0.08. If not then make sure the throttle output from the microcontroller is connected to the primary value of the gauge.
• Press the left and right buttons (by default) to pan the searchlight left and right. You should hear its rotation motor run and visually see it swivel just past the cockpit. If it does not move then check both the data connection to the driver chair and its electrical connection. Next push the “Searchlight” button on the dashboard. If the button does not turn on check its electrical connection. If the button turns on but the searchlight remains off but you can turn it with the arrow keys that means you need to connect the data from the button to the searchlight. If the searchlight continues to move after releasing the arrow keys that means the Axis 3 sensitivity is too high on the Driver’s Seat, 7 or 8 is a good value. If the search light keeps returning to a neutral position after releasing the keys then you need to change the “reset” value of Axis 3 to “sticky”. You can turn the searchlight back off now if you desire.
Boat Completed! Take it for a spin
Assuming everything from the checklist is correct then your boat should be completed! Now it’s just a matter of learning how to drive it. If the boat has wedged itself against the edge of the dock then you may want to exit the seat, look at the boat, and then push R to bring it back to the workbench. Here you can spawn it again in its default position. Once its engine is running and you’re sitting comfortably in the driver’s seat you’ll be ready to get moving.
Demonstrating one way to get moving. Notice how the tachometer dips when changing gears yet the boat doesn’t slow down.
In order to get moving we’ll need to throttle the engine up and engage the clutch. Engaging the clutch too soon will stall the engine. The easiest way to do this is to hold forward until the white line on the throttle display is all the way at the top and then increase the clutch until the red line is all the way at the top. The boat should be moving now! You’ll notice that we quickly hit our RPS limit, so we should press Hotkey 1 in order to change gears. Don’t worry about disengaging the clutch before shifting, it will shift fine by itself.
While you’re out here try out some turns to see how the boat handles. You’ll notice the RPS may start to dip, so if it gets low shift back down with Hotkey 1. Once you’re moving and the clutch is 100% you shouldn’t need to touch the clutch lever unless you want to come to a complete stop, or the engine RPS dips very low even in first gear (usually when moving extremely slowly). You could also use small amounts of throttle and careful clutch manipulation to get the boat to ‘crawl’ along at low speed.
Once you’re ready to try moving in reverse come to as much of a complete stop as you can with the clutch set to 0. Enable the “Reverse” button on the dashboard and give the engines a small amount of throttle. Gradually increase clutch pressure, increasing throttle as well if RPS starts to dip, and eventually you should be able to go in reverse with the clutch at 100% even with very little amounts of throttle. You can even enable high gear to make it a little less sensitive. The boat is not designed to move very quickly in reverse. Often times the propeller will come out of the water and the controls in general are very finnicky, so use Reverse when needed but try to use forward gears when actually travelling.
Now if you have Creative mode enabled you can open the Creative menu and adjust the time of day to test out the lights, or adjust the weather settings to see how the boat handles when the waters get rough. Once you’re finished you can bring the boat back into the workbench either by looking at it and pressing R, or pressing M to open the map and click on the boat and bring it back that way.
It’s a beautiful day to go surfing!
Conclusion
You are now ready to take on the simpler missions in the work of Stormworks, with a boat you created yourself (with my help =3 ). Hopefully the guide has been informative and has given you the knowledge to start creating your own vehicles. Please leave honest feedback in the comments, I would love to hear if this guide has been helpful to you or not!
As an added bonus, here’s the (slightly modified) finished product so you can compare it to what was made in the guide.
[link]