TradeRoute() is a real time strategy game where the player must establish a global, naval trading empire that influences the world.

To ’win’ the game you must achieve an average influence over all regions above a certain amountas well as meeting some other requirements yet to be decided. Every time you meet a certain influence level and the objectives of that tier your company expands allowing you more features (such as more ships in your fleet).

----------------------------------------

The game will be developed by myself with art from Milos Galdon as part of our newly formed team 'The Lonely Pond'

At this point I've just finished a week long prototype of the game consisting of a few random ports around the UK & ROI to test the route building at basic trading, the full game will feature a map of the entire world.

Here is a photo of the first working trade routes being drawn to screen, the routes are calculated using A* pathfinding across a 2D grid, path are only requested once per trade route so it's quite efficient to use and I've already done some optimisation so that the route can be calculated over multiple frames if need be.

To draw the trade routes to the screen I am using a unity5 package called Vectrosity which is available via the asset store, as much as I would've like to dive into working out how to draw lines and calculate splines on the screen I needed to focus on getting a prototype of the gameplay finished, maybe later on if I find Vectrosity isn'tworking quite right for me I'll try my own solution.

AT this point I added representations of boats that can carry resources between ports, to test things out currentlythe only resource in the game is wood. Eventually there will be a global economy that manages the prices, supply and demand of all the resources in the game.

Boats aren't meant to travel fast, eventually you'll have massive trade routes spanning the entire globe, it'll hopefullybe quite cool to just sit back and watch.

Here is where i'm up to now, the individual ports randomly create or use up wood, the boats can be used to carry woodin-between the ports, also added some debug info for the ports so I can see in realtime all their resources.

----------------------------------------

Here is a current example of trade routes expanding over a continental scale.

Interesting idea! What era are we talking about? Before the 20th century, right? Adding some archaic maps as placeholder art would really sell your concept well at this point imo.

Haven't pinned down a specific era yet, currently thinking 17th century, sort of East India Company time period. For the art Milos is currently working on putting some concept styles together which will take over from this placeholder art asap.

Interesting idea! What era are we talking about? Before the 20th century, right? Adding some archaic maps as placeholder art would really sell your concept well at this point imo.

Haven't pinned down a specific era yet, currently thinking 17th century, sort of East India Company time period. For the art Milos is currently working on putting some concept styles together which will take over from this placeholder art asap.

Sounds like a good plan. As far as I know the relevance of boats started to decline after the industrialisation.

? Unsure if it's available in English but in Sweden it's called "Havets Vargar". I think it might serve as good inspiration.

Cool, i'll check it out, games looks interesting i'll see if i can find a version i can run.

Enjoy. It's a German title as you might've guessed and published by the Swedish company that became Paradox (which probably explains why it doesn't seem to be localised internationally). Good luck on finding it, I'm sure it's floating around.

Picaresque Studios' "Nantucket" has an art direction you might take inspiration from. Otherwise you can also check out Paradox Interactive's Europa Universalis series.

Looking forward to this!

Ah yeh that's similar to what we had in mind, we were thinking to base it originally off of old cartographer maps and the parchment colouring, hopefully can implement it in a way that brings our own style to the game though.

Update 001So after a long day of looking into parts of C# i'd never done before and learning that delegate are a thing, i've got some basic implementation of a news feed that allows events to post news to the player and also the basics of the scenarios.

Scenarios in the game will be randomly occurring events that force the player to make a choice about their company, which can have consequences on a global scale. Mixed in there may also be some stories if people wish to seek it out. Anyway here is a little gif of a trade route creating a newsfeed item and the scenario option screen.

Looks neat! Will the player be able to start with little resources, and then expand their trading abilities until they're sending voyages around the world?

Yes there will be a sense of exploration to the game, the whole world will not be available to you straight away. You will have to undertake 'missions' which i'll get into later before you can travel to certain areas like the americas. Currently in my mind thought the play can trade resources freely the only resource that the player actually needs to use is gold for purchasing ships etc.. so the player won't be limited by resources in that sense

Update 002Hey again, so I've been working on and off on TradeRoute over the past couple of weeks in-between work and uni, I've been trying to get rough, working examples of the systems in the game to allow me to iterate by adding new content instead of new systems.

One of the most recent things i've been working on is a custom in game debug console, that will eventually allow me to enter commands and effect the game during runtime but also allows all the subsystems to log relevant game data, not only in the Unity console that ends up as a bit of a mess while I'm actively working on the game. Eventually as well as login significant events in the game this will allow me to create a proper log for crash reports and to enter debugging cheats.

I also worked on introducing missions into the game, missions are specific point A to point B routes that the player can complete, some of which are vital to progress and some of which are the player choice. Each mission involves delegating a ship to trade from any port to a specific travel point, this involved me re-writing the trade route system to work off of points called travel points that can be either missions markers or ports instead of the previous setup that was just port to port. A simple example of where missions will be applicable is expanding the playable map, before the player can launch trade routes to the americas they must first compete a mission to explore to the west.

All of this has been me laying the groundwork for me working on one of the major systems of the game over the next week which will be the dynamic global market, something I'm going to have to spend some time researching before I get started with it.

Update 003So I worked on parsing the command input properly and making it able to run commands, currently there are about five commands build into the system. As I expand the systems in the game I'll be adding more commands allowing me to manipulate the world fully. Here is a quick example of activating one of the in-game missions and running the help command.

Although there is some error checking currently for command parameters, the system can't really handle incorrect input for example the newmission command takes an integer as it's parameter, the system check that there is a parameter and then tries to parse it from a string to an int, if it is not an int however it doesn't currently know what to do and will just crash/throw an exception, eventually this should be handled better but for now it's just on the todo list.

Update 004Continuing with jumping into fields that I have never done before I started playing around with shaders and realised that I am way out of my depth on this front, however I managed to get some little bits and bobs working so that the sea background now looks a little better and is no longer just a flat colour. I created this by combining a parchment texture and creating a radial gradient dependent on the cameras position in relation to the gradient (I might actually write this up as i could find no examples of this online).

I have also started a rough UI layout with a world map in the bottom right with notifications above it (yes it's inspired by civ 5) and a banner at the top to put quantitive information such as state, time etc... this is just a rough beginning and it will change a lot over the course of the project.

Update 005Just a quick update played with shaders a bit more today and followed the tutorial on the amazing develog for Semispheres and managed to get the shader for the sea pretty much how i wanted it. (There is a bit of degeneration in the gif due to compression) As you will also se in the gif I added the ability to navigate the map and zoom in and out using the qweasd keys.

The shader combines a radial gradient between the centre and edge of the screen and texture that has been modified by the time and a PerlinNoise Texture. Eventually this will also blend a third texture generated from the node weight from the A* grid so that there is some sort of visual representation of the best paths.

Been a while since the last post, i've unfortunately been crazy busy with University work and my part time job, until Sunday I'd been up for four days with a total of 8 hours sleep Which didn't leave me in the mood to do any game development, thankfully this week so far has been a lot gentler and I've been able to get some work done. One design decision that me and Milos made was that we were going to use Vector graphics to keep the landmass edges looking great even when zoomed in close, so using the great asset SVG importer (available off the unity asset store) we began the task of getting the word map into the game.

The separate countries need to go into the game as separate gameObjects as they are each going to act as an independent region, regulating all the ports attached to them, unfortunately this means building the world map is going to take a while, so as we're developing We're just going through a few at a time, so that we have enough for an alpha, and adding them into the game. Hence the world map currently looks like this:

As you may notice as well the ports have now moved, instead of being randomly placed around to test the game the ports are now placed where some of the most significant european ports during the 15th century were (this may not be 100% accurate, this is from initial research), the next land areas that are going to be added are going to be those surrounding the north sea as this is where the early stages of the game are going to take place and this is the area that i want to done for the prototype before we decide how to proceed with the project.

Update 007 - The Economy BeginsHey there, it's been a while! I've been super busy with University work and so decided to put this project down for a while but I've decided to pick it up again this week.

For these last couple of days, I've been working on one of the most important systems in the game, The Economy. The games economy will be the driving force for all the trade in the game, there is no point having resources to sell if no one wants to buy them.

One of the first parts I've been working on is having a way for resources to be valued on both a global and local scale allowing prices to fluctuate between different ports depending on how much of the resources they have and how much they want.

As you can see from the screen above, on the left hand side, the game is tracking the total count for the resource and calculating an average cost based off of an initial value for the resource and changes in the global amount of the resource.

Each port then uses these values to work out how far they are off thew average amount of the resource and adjusts their prices accordingly. In the screenshot you can see the port with 9000 wood is valuing it less then the port with 6000 wood.

Next I'm going to try work on a simple AI that creates trade routes based on this economic data and tries to maximise it's profit by buying cheaply and selling high.