Wednesday, November 29, 2017

History, Inspiration, and just Why?

First a bit of history....  So Broadside has been at various stages of planning or development for years, starting early 2013.  I started it at that time as a first game for me written with Unity, and only shelved it when the project turned out to be far more work involved for a newbie that I had originally anticipated.  (Hint for new game developers, don't make an MMO your first major project)

At that time in 2013 to 2014 the project had made it to an early semi-playable prototype that I was very satisfied with at the time, but had trouble continuing for various reasons.  You can see a terrible YouTube demo of this prototype here:


That prototype was built on Unity 4 Pro with the uLink networking API and the uGameDB noSQL database back end.  Little did I know while developing that uLink and uGameDB would be dropped by their developers even though they denied it for years even while no new builds were coming out.  That drastically hurt the project, and to continue would require nearly a complete rewrite of the whole server side code.  That and realizing the total work involved made me realize I needed to walk away and possibly come back later.  

Shortly thereafter I learned of the Naval Action MMO, which further discouraged me from returning, as it looked at the time like my idea for Broadside-Online just better in almost every way.  So why continue?

Original Inspiration

I was originally inspired to build Broadside (then called Broadside-Online) primarily from two sources:  Eve Online and Uncharted Waters Online

I have been playing Eve Online for a long time.  That is actually where the name of the company Joe Censored Games LLC comes from, as my main character in Eve is Joe Censored.  I don't have time to play right now, but I always intend to come back.  Its a game you can get burned out on but always eventually want more of.  For those not aware, Eve Online is an open world space MMO where you fly internet space ships around trying to blow up other internet space ships.  I could talk Eve Online for several posts on its own, but I'll sum up what I liked from it that i wanted to see in Broadside:
  • Vast open world experience with almost an endless amount of exploration potential
  • Player vs Player combat with high risk vs reward
    • If your ship gets blown up, it is just gone, and some of your loot is dropped for the winner to scoop up
  • Complex player driven item manufacturing and market system
  • Non-instanced combat system
    • Combat occurs in the same world as just moving around, not pulling players into a separate combat instance

Before going into those details, I'll go into the other primary inspiration, being Uncharted Waters Online.  This was (or is?  is it still running?) a fun open world ocean based MMO set in the age of sail.  It was hugely fun, and felt like the world was so vast.  You could sail anywhere, and just felt like your options were endless.... at least until you realized they were not.  The game suffered from what I consider several serious fundamental design problems that simply broke the game for anyone trying to take it seriously.  First the good stuff though:
  • Again, vast open world experience
  • A great array of ship choices and customizations
  • Opportunities to trade, bring back spices from india, or even be a pirate waiting for trades to try to make it past Africa where you would be waiting on their way to cash in in Europe

But as to its failures, they are many.  Firstly, the trade system was outrageously restrictive.  So you go to bring back spices from India lets say, you find you are artificially restricted on how many you can buy or how many you can sell.  If I remember correctly the price would drastically change.  You don't buy from players on a market, you buy from the game system, and are restricted on a per player basis.  You try to bring a lot and you basically are punished, where another player shows up and can immediately buy at the original low price.  This actually discourages advancement in the game strangely enough.  

Another issue is the game was basically split in two, where most of the time you were in your ship on the ocean, but there were also land missions where for some stupid reason you as the captain go off on your own fighting people on land while your crew waits safely in your ship.  Also your personal weapon you choose for yourself for land combat impacts your crew's ship boarding capabilities drastically.  Why even have this feature?  Why does the captain's personal side arm affect how well your crew can board or repel an attack at sea?  It makes no sense!

A side issue is the seemingly nonsensical city system where you walk around the city in 3rd person to do things that could simply be done with a menu system.  Why even include this 3rd person human character time waster when all you want to do is get something done in the city so you can go back to sea?  

Combat was another huge problem.  Firstly it was an instanced based combat system, where when a battle starts it takes everyone in the battle out of the open world and puts you in a closed combat ring that was very small.  Other players not included in the initial combat instance are generally not allowed to come in and join the battle.  All a player needs to do to escape is to go full speed and exit the ring, which was stupid easy to do most of the time.  At that point the player becomes invulnerable and can't be taken into another battle instance for like 5 minutes, so you basically have to let them go.  

To attack another player you basically had to position yourself in front of the potential victim so if they continue straight you block their exit from the ring, making them have to hard turn and take longer to give you enough time to hit them before they can make it around you to the ring edge.  How at all does that feel like you're in a real wooden ship battle?  

On top of the ridiculous instancing system for combat, was the equally ridiculous fantasy RPG style system for abilities and items in combat.  You would use various abilities like speed boosts, damage or range boosts, etc, like spells.  You would also use items that made no sense throughout combat.  For example, as you're taking damage or using using your spell like abilities you need to replenish yourself to continue which was done by eating meals.  So as the captain of this ship you spend the fight just downing luxury meal after luxury meal like a glutton in order to keep spamming damage and range bonus abilities and heal abilities, which of course were instant heals.  Miracle workers on your ship apparently repaired your ship's hull immediately based on how well the captain can win an eating contest.  OMG this was maddeningly bad design.  

Why?

So now to why....  I want to capture the fun, exploration excitement, and overall open feel and setting of Uncharted Waters Online, take out all the nonsense garbage, and take in a lot of the good stuff implemented in Eve Online, and make a free to play sailing game people will want to play and have at least enough realism to not pull the player out.  I want to build this game, because I want to play this game.  

But there is Naval Action?  Yeah....  well Broadside isn't going to be on the same level as the combat in Naval Action, at least on the mechanics of the combat itself. They did such a good job, I simply can't compete with what they have pulled off.  But I don't think they have done that well with the rest of the open world aspects of the game or with strategy related to combat.  The fact they have taken their top notch combat system and are releasing a World of Warships style match based game seems to be an acknowledgment on their part that the open world aspect of their game is the weak link and they are walking away from it, focusing instead on their strengths in combat, and not instead reworking their open world.  

They have some of the same issues with instanced combat as Uncharted Waters as well.  You simply can't set up complex combat strategy when you lock a combat instance.  I would like to see players be able to set a trap.  Put a galleon full of loot out there to attract pirates....  engage them, and then minutes later the main fleet arrives to engage the pirates, whom have been their menace to their trade for months.  The pirates fall for it, take some sail damage and are now unable to out run the main fleet!  You can do these complex head games in Eve Online all the time, in fact they are the norm.  But you cannot do that kind of even basic complexity in either Uncharted Waters or Naval Action.  The games are designed to not allow it.  And without complex strategy the game has a low ceiling to how deep players can take it on their own, and these types of games are more driven by what the players come up with than what the developers hand out. 

As an example, here is how a typical small fleet fight goes in Eve Online.  Sorry if you don't understand everything here, but hopefully you get the basic concept of why this is better.

---
So you and your small fleet are looking for a fight.  One of your fleet mates has an alt account that spots a small gate camp a few systems away (alt account is a second character logged in that is usually of limited abilities, used in this scenario for scouting instead of fighting).  4 enemy ships are in system and all 4 are on the gate.  The scout reports the fleet composition, and your 7 ship fleet quickly fits up to counter them. 

Now if you just jump all 7 of your ships in on them, they are likely to run.  You need to try to force the engagement to get a real fight.  So you fit up an inexpensive but heavy tank battlecruiser to use as bait.  You send the bait ship through the gate, while the rest of the fleet waits for the call.  You jump the bait ship through and begin burning back to gate, which means acting like a lone player that just realized they made a mistake and is trying to get back to the relative safety of the neighboring star system he came from. 

The gate camp fleet falls for it....  They all go red (meaning they all open fire on the bait ship, which largely commits them to the fight).  At that point you call in the rest of the fleet, and on the bait ship you warp scramble as many of the gate camp ships as you can.  The gate camp fleet using their own alt characters sees this larger fleet coming, realizes they just fell into a trap, and now the fleet commander of the gate camp has to make a choice....

The gate camp can retreat, leaving some members of the fleet behind to die which are scrambled by the bait ship. 

The gate camp can try to destroy the bait ship as fast as possible, which is likely a long shot, so that all gate camp ships can escape before the larger fleet arrives. 

The gate camp fleet can decide to simply stand and fight even though the odds are intentionally against them. 

The gate camp fleet can actually have a 4th option up their sleeve though.....  which is what they do here.... 

Your fleet jumps in, engages all 4 members of the gate camp fleet.  At that moment the gate camp fleet "spreads points", meaning they each try to warp scramble a different member of your fleet to maximize the number of your fleet scrambled, unable to escape.  Suddenly one of the gate camp ships "pops cyno" which basically opens a portal for another larger fleet that has been waiting for just this circumstance to happen, to instantly jump to the gate camp's location from a far away star system. 

Suddenly two carrier capital ships and 20 sub-capitals jump to the cyno right on top of your fleet.  "WARP OUT WARP OUT!!!" your fleet commander yells, but it is too late.  The bait ship dies, and another 4 ships in your fleet are caught.  2 ships that weren't scrambled miraculously make it out....  
---

I know if you've never played Eve Online that may have been hard to follow, but I hope you can see how there should be more to combat than simply everyone in a fight is known from the beginning, enters a combat instance, where the instance gets locked after an arbitrarily short period of time.  It leaves no room for head games or larger strategy, and makes all combat feel the same and eventually uninteresting.  Now a game like Broadside won't use warp drives, jump gates, etc, but some of this kind of strategy will still be possible.  Combat will be relatively slow, which will allow friends enough time to travel from nearby zones to help friends, or even get some friends who are offline to log in quickly to join the fight.  Running from a fight will also be more complex than exiting an imaginary circle as well.  You'll have to out maneuver, damage sails, or otherwise earn your escape somewhat creatively in comparison to other systems. 

I 'think there is still a place for a game like this set on the high seas, and I want to bring it to you, for players to play, as well as myself.  Thanks for reading.  

-Joe Censored

Saturday, November 11, 2017

The Server Cluster

Broadside sticks to the typical format for an MMO where the player downloads the game client, which connects to central servers for authentication, item and stats tracking, and game play.  The Broadside client cannot be used to host private games or to be played single player.

As far as the servers are concerned, they operate as a central controlled cluster.



The game world is separated by local geographic area as Zone Servers (local geographic area referring to the game world, not the real world).  The exact final number is not yet determined, but it is expected to be over 100 when the game world is complete.  All players near each other are all connected to the same Zone Server.  When the player crosses the border into the next zone they switch to the next Zone Server.

A Zone Server is a single game instance, but the physical servers can handle multiple Zone Servers at the same time.  The Master Server manages what physical server hardware hosts each Zone Server.

The Master Server starts, then it launches the Database Server.  Once the Database Server reports it is online, the Master Server then launches the Login Server and Zone Servers for high traffic areas of the game.  The Master Server has a configuration of all physical servers and what their Zone Server capacity is and will allocate Zone Servers to physical hardware accordingly.

As players travel to zones that are offline, the Master Server will start that zone.  When no player activity has happened in a zone for a period of time, the zone will automatically shut down.  This allows a far larger game world than would normally be possible with the server hardware.

I hope you found this description interesting as to how Broadside's server cluster is implemented.

What is Broadside?



Broadside is an MMO for desktop (PC/Mac) where you take the role of a ship captain in the age of sail.  Command one of over 40 wooden sailing ship classes, and dominate the world through trade, manufacturing, privateering, or even piracy.  Broadside is entirely free to play, with no pay gates preventing meaningful progress without paying.


  • Control ships from galleys, to quick and nimble frigates, all the way up to a powerful ship of the line
    • Over 40 wooden ships to choose from, from the smallest cog, to caravels, to frigates, and even larger ships.  High end expensive ships can even include steam engines, and then for coastal defense there is a small class of ironclad warship to throw in the fight.  
  • Sail anywhere in the entire globe!  
    • Though it would take a very long while to cross, the entire world's oceans are included in Broadside.  Bring spices from India back to Europe, search for riches in the new world, or setup your own outposts on far away pacific islands.  Its all your choice where you want to go!
  • PVE and PVP combat is included.  
    • Many of the world's developed cities are located in areas where PVP is disabled, giving new players or those not interested in fighting each other a relatively safe area to play.  The rest of the world allows for virtually uninhibited player vs player combat.  
  • "Full loot" combat system.
    • Don't undock in any ship you're not willing to lose!  The stakes a high in Broadside, as if your ship is sunk or captured, it is lost for good.  Items dropped can be picked up by the victor.  At the same time this makes the rewards to taking down another player all the more valuable!  
    • Don't worry, you can own as many ships as you like, and you and your friends teaming up in an armada of small inexpensive ships is often a better and more sensible strategy than being alone in a much larger and more expensive ship.  
  • Non-instanced combat
    • Combat takes place in the same open world as the rest of the game, which allows for various combat strategies not available when combat is taken to a closed instance.