- C++ 57.2%
- C 42.3%
- CMake 0.3%
- Shell 0.1%
| .woodpecker | ||
| data | ||
| src | ||
| test | ||
| .clang-format | ||
| .gitignore | ||
| CMakeLists.txt | ||
| COPYING | ||
| install-hook.sh | ||
| README.md | ||
| update_translations.sh | ||
Shipping
In Shipping, you are the owner of a shipping company. You buy and manage ships, and make money by chartering and delivering cargoes.
The game's focus is on the management of your ships – you don't buy or sell any goods, you only transport them; and you don't actually steer any ships.
The game is inspired by Ports of Call Classic Edition (© 2006 MultiMediaStudio R.-D. Klein Muenchen).
How to Compile and Run
Prerequisites
The program uses the CMake build system and requires a C++ compiler that can handle C++17, and the following libraries:
- GLFW3 (window framework)
- GLEW (OpenGL binding)
- Freetype (text handler)
- Catch2 (unit testing)
To install them all under Debian/Ubuntu:
sudo apt-get install g++ cmake libglfw3-dev libglew-dev libfreetype-dev catch2
Currently the program is only tested under Linux; patches for other operating systems welcome.
Building
cmake -B build . -DCMAKE_BUILD_TYPE=Release
make -C build -j$(nproc)
Running
./build/shipping
Installing (Optional)
For a system-wide installation, pass -DDEBIAN_PACKAGING=ON to cmake.
For a user-local installation, pass -DCMAKE_INSTALL_PREFIX="$HOME/.local" to cmake.
After building, call make -C build install to install.
You can then run Shipping by simply typing:
shipping
Quick-Start Tutorial
Start a new game with all the default settings.
Enter the shipbroker by clicking "Shipbroker" in the top panel.
Click "Buy" to view the list of available ships.
Select a Small or Medium ship in the list, enter a name for the ship in the text field, and click "Buy" to buy the ship.
Exit the shipbroker.
Click "Resume" in the top panel to start the game simulation.
You may use the keyboard shortcuts "," and "." (comma and period) to change the game speed.
Your new ship is delivered after a few short days and its window opens.
Click "Charter" to select a cargo and destination.
Pick a nice cargo from the list of available cargoes and click "Freight" to take it in.
The cargo's destination is automatically selected as your ship's next destination.
You can set the ship's speed in the right panel.
Click "Load" to send your ship with the chosen cargo to the chosen destination.
Watch as your ship travels to its destination.
When it arrives, the ship window opens again. You can see how much money you earned from your cargo.
You will need to refuel your ship. Click "Refuel", and then refuel either by a certain amount or simply click "Full".
Then click "Charter" to charter a new cargo, select a new destination, and load. Rinse and repeat.
Q & A
Q: What do "Deadline" and "Penalty per day" mean in the charter window?
A: This is the time frame in which your ship needs to deliver the cargo to the destination.
If you take longer than the deadline, you are penalized by this amount – the longer you need, the higher the penalty grows.
If you arrive just a little too late, you still generate a profit in sum, but if you're really late you could end up with a net loss.
If you arrive before the deadline, you are not penalized; there's no kind of early delivery bonus though.
Deadlines are colour-coded: Green deadlines are easy to uphold, red deadlines are impossible to keep,
and black deadlines are possible but the ship will need to hurry.
Q: What is a "home port"?
A: Your home port is the port where all your new ships start.
You get to select your home port when starting a new game.
You can change it anytime later in the office (accessible from the top panel), for a fee.
Q: How do mortgages work?
A: A mortgage is a loan that's tied to a specific ship.
You can take a mortgage on any ship you own.
Some of the more expensive ships are only partly paid for at purchase time and
come with the remainder of the cost as an initial mortgage.
You can take and repay mortgages from the office.
You have to pay recurrent interest on all your mortgages (deducted automatically), and if
you don't have enough cash, the bank will seize your mortgaged ship instead.
Q: I found a bug.
Q: Can you add this feature?
Q: My question is not listed.
A: The documentation is very incomplete at this point, and the game is not yet feature-complete.
Please open an issue on the bug tracker.
Author and Copyright
Created by Benedikt Straub in my spare time. I hope you like my work.
Licensed under the GNU General Public License version 2 or later (GPL v2+); see the file "COPYING" for details.