ID:153240
 
Well as you may or may not know I'm currently working on a trading game set in space. I've run into a few design snags and figured I'd post here for feedbackon my current ideas and the various issues I currently have with them.

The core gameplay of course is the trading of various goods from planet to planet. This will be the most profitable way of making money if you do it properly and the best way to lose big if you don't do it right. The buy/sell prices will be dynamically handled and will vary largely based on many things though mainly the supply the planet currently has and how much it needs. So if you find a good trading route you'll eventually meet the demands of the planets and the profit obtained will dwindle and you'll have to find other places to trade. Other factors include things like:
Distance between the planet you bought an item and the planet you are selling to(ie the item is more exotic though the game will keep track of the nearest planet that the item was sold from so it won't do any good to buy something common and sell it a great distance away if the planet can get it from a nearer source)
Wealth level of the planet since if the people can't afford to pay much they won't.

You can also complete requests to transfer goods. These will net garunteed profit but won't get you nearly as much money as a good trade. This is good easy cash early on and the nice thing about doing this is that when you decide to trade on your own you don't need to retool your ship unlike the other types of stuff you can do.

Similiar to transfering goods you can also transport people from planet to planet. The amount you get paid depends on how nice of service you provide(ie if you have better quaters you get more rich people that pay better and if you get them there in a timely fashion you can net an extra bonus). This is nice easy money like transporting goods but if you decide to change over to doing trading you need to retool your ship, but as a plus it makes a bit more money than good transport.

The last type of gameplay is playing as an explorer. As an explorer you generally build yourself a ship that requires little maintenance and stack on a bunch of various scanners. You can make money by just collecting map data while wandering around and sell it(the less the sectors have been sold and the older the previous data is the more you make). You can also take requests to preform various scans/searches on planets and return the data to the requestor. This doesn't make too much money but since you have a low maintenance ship you don't need as much either. This is a great way to start the game since while your out you can check out what goods difference planets produce, what they consume and by how much.

The big problem is that despite the fact that I want to host this persistently there really isn't much I could do in the way of features that allow players to interact and work together. So it would feel mostly like a single player game with chat functionality. I can't let players share money since that is the primary focus of the game itself and would break it. So any suggestions would be good :P.

Another thing is map generation. Currently I just have it generate star systems in a fairly bland way where they are just placed randomly within certain bounds from other star systems. Which generates a fairly even distribution that doesn't look too great. I plan on adding in a clustering effect so there will be groups of starsystems close together and these clusters will be seperated by good distances which should generate another level of economy(ie within the star system, between star systems in a cluster, and then at a global level rather than just in a star system and then globally). But this method won't generate a very interesting looking pattern. So I need some ideas for star distribution too that wouldn't cause any weird economies.

Any other comments or suggestions on this would be welcome too.
Theodis wrote:
The big problem is that despite the fact that I want to host this persistently there really isn't much I could do in the way of features that allow players to interact and work together. So it would feel mostly like a single player game with chat functionality. I can't let players share money since that is the primary focus of the game itself and would break it. So any suggestions would be good :P.

If all you can do is trade, and you do not want people to be able to share, with what you have in place there is no multiplayer advantage. The only thing I can think of that would make multiplayer more meaningful is to add combat. Having pirates and escorts which eventually forces convoys and pirate fleets is always fun, and people like me would like it better since we prefer to be an escort for merchants rather than be merchants ourselves.

Another thing is map generation. Currently I just have it generate star systems in a fairly bland way where they are just placed randomly within certain bounds from other star systems. Which generates a fairly even distribution that doesn't look too great. I plan on adding in a clustering effect so there will be groups of starsystems close together and these clusters will be seperated by good distances which should generate another level of economy(ie within the star system, between star systems in a cluster, and then at a global level rather than just in a star system and then globally). But this method won't generate a very interesting looking pattern. So I need some ideas for star distribution too that wouldn't cause any weird economies.

Random map generation is one of those things where the creator is never pleased with the results, as they always seem too synthetic - at least that is how I feel. However, I will try to supply some ideas.

It might be a good idea to run through the map and place random areas first, areas that tag places for different spatial places for different styles of system placement. For example, you could have type /area/map_generation with subtypes nebula, star cluster, empty, black hole and so on.

After setting up random areas, you could generate the type needed for each. If you have black holes you would most likely want only one per black hole area grouping, unlike the many stars that might go into a star area.

For getting the area setup right, you might want to put down a random number of them, then go back through them all and randomly enlarge them. With what space is left that was not consumed by a special area you could place distanced stars randomly with no special groupings.
Loduwijk pretty much summed up my thoughts, although I'll elaborate a bit on what I was thinking.

Space Piracy
Any time you have value being transported, theres the risk of that value being hi-jacked / stolen / pirated. What better to simulate that than other players? It seems like you are making a conscious effort to steer away from the typical "space combat" hell that these sorts of games usually become, but it seems like a bad idea for me to omit it entirely.

One thing in particular that fuels players is the ability to "own" some part of the game. In this case its perfect, because you won't have any space(no pun intended) problems. If players have territory to protect from piracy in order for their comrades traderoute to be safer, they also have a sense of meaning in the game / multiplayer interaction. All sorts of interesting factors can enter the game at that point, in order to prevent abuse(Players with too much money rigging up a ship and preying on new players. Essentially griefing in space age) like a judicial system, clans/guilds/civilizations and such, interplanetory defense systems to protect against invasion / raiding and to protect cargo ships leaving the planets vicinity from enemies. Of course this also introduces all sorts of possibilities for abuse, but thats how it is with multiplayer games :)

Randomly Generated Space Universe
I agree with Loduwijk. Diablo employs the concept of randomly placed pre-generated clusters that are resized relatively randomly to great effect. You could do the same, and in fact I'd voucher to say its vital that you do in order to maintain a semblance of control over the economy (Which is influenced by the systems surroundings).
In response to Loduwijk
The only thing I can think of that would make multiplayer more meaningful is to add combat. Having pirates and escorts which eventually forces convoys and pirate fleets is always fun, and people like me would like it better since we prefer to be an escort for merchants rather than be merchants ourselves.

Well this brings about plenty of nasty blanace issues that I don't want to deal, BYOND isn't well suited to action type stuff as Racing Game has shown, and lastly I need to limit the number of mobile objs/mobs in my engine since they could largely bog down my game especially around the borders.

Though I may not support combat directly I am planning to allow players to have weapons for defensive purposes both for the ship and ground crews. But you never see weapons being fired or targets to fire. There will be unsafe terrirtories and bandits/pirates will be treated sorta like attrition damage in Rise of Nations where you're just slowly sapped of resources if you aren't properly armed. So you could provide escourt services but it won't be that much more interesting than the usual trip through space.

Random map generation is one of those things where the creator is never pleased with the results, as they always seem too synthetic - at least that is how I feel. However, I will try to supply some ideas.

Heh well at the star system level the planet/moon distribution looks just as good as any designer could come up with. Probably since there really isn't much you can do at that level.

It might be a good idea to run through the map and place random areas first, areas that tag places for different spatial places for different styles of system placement. For example, you could have type /area/map_generation with subtypes nebula, star cluster, empty, black hole and so on.

Well the thing is I can't have the map physically loaded all at once since it's much too large. I generate each star system individually and just keep track of their bounding box and have to work outwards from this. I can still get the same effect I just have to do it diffferently :P.

For getting the area setup right, you might want to put down a random number of them, then go back through them all and randomly enlarge them.

Huh? I'm not sure what you mean by randomly enlarge them.
In response to Alathon
One thing in particular that fuels players is the ability to "own" some part of the game. In this case its perfect, because you won't have any space(no pun intended) problems.

I was planning on allowing players to purchase and from planets, and build various resource harvesting/manufacturing buildings to extract and refine natural resources on a planet. Which of course alleviates the need to buy these goods but you have to cover maintenance costs to keep everything running and pay the workers. The only problem is this may just turn into a bottomless pit of funds for the player if I don't make the maintenance too high but if I make it too high it might not be worth the effort and players won't bother :P. But I guess I can refine that when it's actually done and I have a slew of playtesters checking the balance.

If players have territory to protect from piracy in order for their comrades traderoute to be safer, they also have a sense of meaning in the game / multiplayer interaction.

Well it will be in in some sense but nothing more than just having the proper amount of equipment to alleviate the issue.

All sorts of interesting factors can enter the game at that point, in order to prevent abuse(Players with too much money rigging up a ship and preying on new players. Essentially griefing in space age) like a judicial system, clans/guilds/civilizations and such, interplanetory defense systems to protect against invasion / raiding and to protect cargo ships leaving the planets vicinity from enemies. Of course this also introduces all sorts of possibilities for abuse, but thats how it is with multiplayer games :)

Well direct combat isn't ever going to happen so this won't be an issue :P. The only thing close I may allow is to let players do surface raids by just equiping the crew members with various weapons/shielding systems and dropping them off on the planet to do their dirty work. If they hit another player it won't be as bad since before a player can even purchase land, buy building, and fund workers they are already rich anyways so you can't really hurt new people with this.

I agree with Loduwijk. Diablo employs the concept of randomly placed pre-generated clusters that are resized relatively randomly to great effect. You could do the same, and in fact I'd voucher to say its vital that you do in order to maintain a semblance of control over the economy (Which is influenced by the systems surroundings).

Well yeah I already planned to have it generate systems in clusters, but I was going more for wanting various types of groupings people could come up with. So I could have some more shape rather than just having basic clusters.
In response to Theodis
Theodis wrote:
Huh? I'm not sure what you mean by randomly enlarge them.

You place some random areas, but they only have a single turf in their contents at each point obviously. Then you expand each point where the area is at by adding more tiles surrounding the central one.

It all depends on how you have things set up, and from the way you talk about it, it seems as though this will not work exactly how I stated it. But as you said, you can adapt it.
In response to Theodis
Theodis wrote:
Diablo employs the concept of randomly placed pre-generated clusters that are resized relatively randomly to great effect. You could do the same, and in fact I'd voucher to say its vital that you do in order to maintain a semblance of control over the economy (Which is influenced by the systems surroundings).

Well yeah I already planned to have it generate systems in clusters, but I was going more for wanting various types of groupings people could come up with. So I could have some more shape rather than just having basic clusters.

I do not think he meant clusters in that way. As you can see, he stated that Diablo uses the concept; and I do not think Diablo has star systems. Rather, it was meant to describe the fashion of map generation that I described with area clusters that form different styles of space.
In response to Loduwijk
(This is an expansion and addition, not a clarification or correction. Just so you don't go "What? That's what I was talking about!" or anything. ;-))


One very simple thing to remember about "vaults" (the roguelike term for designer-created rooms/maps that are plunked down): they can be rotated into four different directions.

Make a little starfield icon, and rotate it in all four directions, and you'll see how different it looks in all four directions. Judicious (not universal!) use of rotating map chunks can create nearly infinite variation.

Another good idea is to make your "vault" format hand-editable (i.e. plain-text) and drag-and-drop; bring a vault file into the vaults folder, and it can be used (and rotated if desired) whenever a new sector is generated. That way, you can make the game easily expandable, put no real restraints on how the vaults are made available, and save work for yourself -- enterprising players will make their own vaults and send them to the server.

I've always considered a mix of about 10% vault/90% random to work well in any random-map creation.
In response to Theodis
Along the lines of weapons, make it so that weapons are used for both offensive and defensive "attrition" damage. When you are alone in space, weapons reduce the amount of bandit "damage" you take. When a friendly ship is in view, their weaponry is factored into that bandit damage. When an enemy ship is near, their weaponry is factored against it. And furthermore, when you're near an enemy ship, you'll swap cargo based on your weaponry. You could modify it by how close the ships are to each other too.

That would warrant having three levels of alignment though, as each ship would either have to be friendly, neutral, or hostile towards you. And I have no idea how you'd determine each ship's alignment.

But anyway, that would give ships a reason to fly in groups, and it would let "bandit" players "attack" other ships without actually engaging in combat. It would give "escort" players a purpose, to buy lots of weapons and fly near "merchant" ships.

And of course, players are going to want to attack ships with valuable cargo, not "newbie" ships, so balance shouldn't be much of a problem. It'd also give speed more meaning than just getting to your destination faster.

Oh, and there could be different kinds of "attacks", either by setting or by weapon choice. Raiding attacks would steal cargo, and there could be disarming attacks and disabling attacks, bent on destroying weapons or subsystems for the ships, making it possible for escorts to disarm attackers, and for bandits to disable defenses and engines on ships they're attacking, if they're not quick enough to get away first. Or the other way around.

Also, besides attacking other players, you can also attack planets. Suppose a certain rich player has a well known, very abundant planet. Well, the rich player is hogging the economy, and a guild of other players doesn't like that. So, they get a group of 5-10 warships together and consecutively raid/bombard the planet until its no longer a threat. A single player couldn't do that alone, because the rich player would doubtlessly be stronger. But several players working together could do some damage.

Whether any of that works or not, there needs to be some reasons for players to be together. If other players only effect the economy and spoil trade routes, then you'd be better off avoiding them, and that's no fun.
In response to Foomer
Along the lines of weapons, make it so that weapons are used for both offensive and defensive "attrition" damage. When you are alone in space, weapons reduce the amount of bandit "damage" you take. When a friendly ship is in view, their weaponry is factored into that bandit damage. When an enemy ship is near, their weaponry is factored against it. And furthermore, when you're near an enemy ship, you'll swap cargo based on your weaponry. You could modify it by how close the ships are to each other too.

Well I don't know if there will be visual enemy ships but if there are they will be for visual purposes only since I'm trying to not have action components since with BYONDs lag and input limitations these types of things are generally more of a pain than they are fun. The main purpose to the attrition thing is for players to have to make a decision between keeping weapons around or having to take a longer route.

But anyway, that would give ships a reason to fly in groups, and it would let "bandit" players "attack" other ships without actually engaging in combat. It would give "escort" players a purpose, to buy lots of weapons and fly near "merchant" ships.

Yeah well the plan is to have players that weapons have a field effect on the attrition that reduces the farther you get from the ship. So all you have to do is tag along near a ship with decent weapon systems.

And of course, players are going to want to attack ships with valuable cargo, not "newbie" ships, so balance shouldn't be much of a problem. It'd also give speed more meaning than just getting to your destination faster.

Probably not going to happen since I want the focus of the game to be on the economy rather than combat. Though if I get the economic part done and I still have interest in the game I may eventually integrate something like this if I can find a way to properly balance it without haveing a bunch of jerks trying to ruin everyone's day.

And just the economy stuff behind trading might be enough to keep the game complex enough to make combat an unneccesary addition. After doing poorly in Patrician 2 before even making it far enough to get to combat I know the economy can be complicated enough to keep the game challanging. Though in the case of Patrician 2 I think it was a bit much since I didn't play all too much since it was way too fruterating and I could never pull off making a decent profit. On the other end of the spectrum Uncharted Waters:New Horizons was way too simple and just degraded into using one or two trade routes to easily make millions of gold piecies(not to say the game wasn't fun but it really could have used more depth). So moral of the story is if I don't feel there aren't enough complications after I get the core stuff in and I feel like doing more work on the game combat will probably get added in. And if you couldn't tell already both the Uncharted Waters games and Patrician 2 were the major influences behind the game.
In response to Theodis
Its not necessarily combat I'm talking about, it just seems like an easy way to get players involved with other players. You could always just let players broadcast messages saying they need a certain kind of cargo. Any player with that cargo can respond with an offer to sell it for whatever price. If the buyer accepts, they meet somewhere and exchange cargo. Player interaction accomplished.
make it so once you've seen the planets you can do one of the following -

set yourself on autoplanet, constantly traveling to each planet (can go to a planet on auto navigate) to lower the amount of repetativeness of having to go to each planet.


OR

allow you to set a trade route (I think you were talking about this... I don't know I just woke up and a lot of it blurred together lol) and have little npc flyers that belong to you do the trading for you, then you can call them to come to you. However it's dangerous because if an asteroid hits one of them they'll die and lose everything, or if someone destroys them etc.
In response to Jon Snow
set yourself on autoplanet, constantly traveling to each planet (can go to a planet on auto navigate) to lower the amount of repetativeness of having to go to each planet.

My plans for autopilot is that you always have the basic autopilot that just sets your angle and sends you in the right direction and automatically stops on the planet. If you spend the money on an advanced autopilot system it will also refull for you and calculate a good balance between a cheap and fast trip(the weights for each you'll be able to adjust).

allow you to set a trade route (I think you were talking about this... I don't know I just woke up and a lot of it blurred together lol) and have little npc flyers that belong to you do the trading for you, then you can call them to come to you. However it's dangerous because if an asteroid hits one of them they'll die and lose everything, or if someone destroys them etc.

Well I'll be avoiding anything that just generates money for the player since this just leads to bottomless funds which the player can spend on more of these things which generate money, and keep repeating the process until they just make ridiculous amounts of money for being on. Since no collision is handled by the engine asteroids are out of the picture as actual objects and I don't want to make it a random event. So there is no way to balance this out unless the player has to do something to actively maintain these things.
In response to Theodis
well about the flyers doing it for you -

it wouldn't be so hard to balance out.

For instance, you don't buy them they're just the "ability of a ship"

so like you get 1 trader for a level 1 ship, and so on and you can't upgrade that unless you acquire a new ship.

That way the money would be minimal because the ships can be limited in speed and how much they can carry.

I see your point though, it probably would eventually create bottomless pits of the game was left on all night and no one bothered to kill off the freights.
In response to Foomer
Dang, stole my idea!

Here's another idea. Maybe ships can get damaged or run out of fuel, and can hire other ships to tow them to a place where repairs can be performed. Of course this might not be much fun in single-player mode or in a game of uncooperative players. (You could always have a couple AI tow services available... maybe they'd take longer to arrive on the scene than live players.)
In response to Gughunter
Here's another idea. Maybe ships can get damaged or run out of fuel, and can hire other ships to tow them to a place where repairs can be performed. Of course this might not be much fun in single-player mode or in a game of uncooperative players. (You could always have a couple AI tow services available... maybe they'd take longer to arrive on the scene than live players.)

Yep there will be fuel which is what determines the three categories of ship engines. Most ships allow for having several different engines but at most one of each category.

Solar powered - These engines for the most part aren't too fast(and the moderately fast ones will cost a fortune) but the good thing is you don't have to pay for fuel so there is no maintenance fee associated with them. You do have a limited battery power which you can charge up by sitting near a star. While you have battery power you move at the engines full potential. If the battery power runs out you still can move around at half speed. Every ship is required to have one solar power engine so they never get stranded(though they generally aren't too fast so it may take you awhile without help).

Generic fuel powered - These engines get you more speed for a cheaper price than the solar powered ones, but you have to buy fuel so there is a maintenance fee involved. Because the fuel is generic you can purchase it anywhere you can trade.

Unique fuel powered - These types of engines require a specific type of fuel which is generally hard to come by, very expensive, and probably in short supply. But well worth the effort because these types of engines are extremetly fast. With them you can easily hop from star cluster to star cluster in next to no time compared to the other types of engines.

So players will never get completely stuck but they'll probably appreciate help if they send themselves flying out into deep space with a fast engine only to run out of fuel and have to use the solar drives to get back :).
In response to Theodis
Stop it, you're making me want to fly around in a game you never host. :P
In response to Theodis
Sounds great! Even if you don't implement the towing idea you could still give players the option to transport fuel and/or sell fuel from their own tanks to other players.

The idea of being stuck out in space, six months from anywhere, has always struck me as very creepy -- but then I suppose you know that. :)
In response to Gughunter
Gughunter wrote:
The idea of being stuck out in space, six months from anywhere, has always struck me as very creepy -- but then I suppose you know that. :)

Depends on how cute your fellow shipmates are...

My comments are getting less and less useful aren't they? :)
In response to Foomer
Foomer wrote:
Depends on how cute your fellow shipmates are...

Aw, the liddle alien is hugging his face, how cute...

My comments are getting less and less useful aren't they? :)

At least they started out useful. This is my first post in this thread. =P