Yup, basically been working on a project with BYOND. It's fairly close to an initial release as well.
It is essentially multiplayer Dwarf Fortress Online. Minus the dwarves.
You play as a single guy and do whatever you want! Mine mines, build buildings, kill killings, fish fishings and so on.
There is about 26 skills in the game (of which only 3 are not finished yet), 7 are combat related (all finished), 6 are gathering skills (all finished) and the rest are skills for making items (of which there is a good 300+ items to be made so far, but 3 of these are not finished yet).
The game is not yet as detailed as Dwarf Fortress, but combat is about as detailed (if not more) than Dwarf Fortress.
But crafting is generally simplified. You do not need buildings and tons of complex procedures to make stuff. You need ingrediants, a tool and skill/knowledge on how to do it (you have to learn from external sources how to craft more complex things).
It still has a level of depth similar to Dwarf Fortress, for example, blacksmithing requires you to mine stone, turn it into bricks, build a forge, find a fuel source for the forge, light the forge, put ore into it then wait for it to turn into metal, take this metal and turn it into an anvil.
With this anvil you can forge other metal components, like parts of a weapon, armor or tool.
Once you have these parts, you put them together and have a finished product.
As I say, it is generally similar in number of steps to Dwarf Fortress, but much simpler due to easier controls and a system in place that will work out the rough results of what you might craft as well as components needed and so on.
It works like a collapsable list, usually in the format of...
Material > Tool Needed > Can be turned into (with what it can be turned into being examinable for a list of exact materials and skills needed).
The world in the game however is not nearly as complex as Dwarf Fortress, for several reasons.
The world is 1000x1000x5 in size. And I could theoretically make it bigger, but I cannot for the simple reason that BYOND does not offer much in the way of memory management.
I literally cannot find an affordable host for the game because it is using tons of RAM and I cannot do anything at all to decrease this without making the world smaller (and people want a bigger world, not smaller).
The second major problem is saving/loading the world. BYOND again needs some method of directly saving and loading a dmm file.
The world is semi randomly generated (resources like animals, trees and ore are placed randomly, but the shape and layout remain the same otherwise). The dmm file for the entire map is just under 4Mb in size. A more than reasonable size for 5 million tiles.
Trying to save and load the world? Saving takes about an hour and outputs a wopping 800+Mb file. Loading takes just as long. (What the hell, why did the file size increase by 200,000%?)
I slightly managed to get around this problem by keeping a log of every location that is modified in the game. And then dividing the world into 200x200x1 areas (125 areas in total). If an area is modified, it is saved/loaded, otherwise it is not. A single area results in a 6-7Mb file and is much quicker to save/load (but still stupidly huge).
And this is what I need major help with.
1. I need recommendations for a suitable host for the game.
The minimum requirements are at least 400MB of RAM, ideally 512MB or more.
CPU is not majorly imporant except for generating, saving/loading the world, on a 2.4Hgz processor CPU usage rarely peaks above 5% (and that is with over 1000 mobs in the world).
Since saving the world requires huge amounts of space, 1Gb is the minimum server capacity required, 2Gb or more would be ideal.
As for price. An acceptable range is between $15 and $30 a month, but I can only pay with direct debit or pay pal.
The second thing I need help with is decreasing both RAM used and the time/space needed to save/load the world. WITHOUT decreasing the size of the world.
RAM usage is currently at 360-380Mb. The best I can do at the moment is remove any and all redundant variables from turfs (did this knocked it down from 450Mb of RAM to what it is now).
A method of saving/loading the world that is smaller and faster than what I have now would also be helpful. I am currently using Lummox JRs SwapMap library for saving/loading the world in 200x200 sections (but only if they need to be saved/loaded). Any recommendations would be useful here.
ID:73245
Jun 19 2009, 5:48 am (Edited on Jun 19 2009, 5:54 am)
|
|
Zaole wrote:
Here's my advice: this is BYOND. Five million tiles is not necessary. Do you think thousands of people are going to be exploring this world on one server? Actually, as I said. People want MORE than 5 million tiles to do stuff on. This game lets people build whatever they want, whereever they want in a permenant world. 1000x1000 might initially seem large, but I have over 700 potential people wanting to play the game, and in a month or two 5 million tiles will be way to small. And who would want to waste all that time with a group of friends building a city in the game, only to have it wiped every month or two. The game is an online sandbox game (similar to Dwarf Fortress) with a permenant world defined by it's players, it NEEDS to be as big as possible. 1000x1000x5 is currently too small, I am looking for ways to make it bigger. Don't mean to sound rude, but I am not looking for opinions on the game, I am looking for valid help and advice. |
What kinds of advice can be offered on an issue like this without examining your code?
It sounds to me like you're using BYOND to do what BYOND was not built to do. I'm not saying you can't or shouldn't, but you simply aren't going to get very good results if you expect to create an extremely large, highly populated world with an engine like BYOND. |
Is there any way you could tie in the building with the person's savefiles? Arthosa had something like this with icon chatterz, only you had your own custom world and could load it at any time.
Gameplay wise, I'd go about limiting how much a person can build, deleting it if they haven't logged on in like a month straight. For example, you start out and can only build a 5x5 space, then you can upgrade to being able to build in 10x10..etc. Then it would cost more time/trouble to get bigger land titles, that would at the least bide your time. However, I don't know anything about programming. |
The Magic Man wrote:
The game is not yet as detailed as Dwarf Fortress It never will be. (and people want a bigger world, not smaller) Go with a single layer of 1000x1000. If you get enough players to make that seem small, you'll likely find a willing host among them to host another world. I literally cannot find an affordable host for the game because it is using tons of RAM and I cannot do anything at all to decrease this without making the world smaller What are you talking about. A shoddy computer from walmart comes packed with 2 gigs of ram, I'm sure any respectable hosting service will be able to accommodate you. A method of saving/loading the world that is smaller and faster than what I have now would also be helpful. I am currently using Lummox JRs SwapMap library for saving/loading the world in 200x200 sections (but only if they need to be saved/loaded). Any recommendations would be useful here. SwapMaps bloats the savefiles like you wouldn't believe. Try Iain Peregrine's dmp_reader and dmp_writier. I found that they work much better for saving/loading than SwapMaps. That and they save into the same format as Dream Maker, as such you shouldn't have the 4MB to 800MB problem, and this also allows for you to edit the saved map directly in Dream Maker. Couple that with your sections idea and I think you'll be good. 1000x1000 might initially seem large, but I have over 700 potential people wanting to play the game, and in a month or two 5 million tiles will be way to small. Where do you figure you have that many 'potential' players? |
Just over 10% of the average BYOND population is a potential player?
Vermolius wrote: Where do you figure you have that many 'potential' players? What he said :P |
Chris-g1 wrote:
Just over 10% of the average BYOND population is a potential player? Not likely, they are probably playing Naruto: Superuberultimaterip number 1034r and DBZ: superstrongultimatefighterreborn. |
Vermolius wrote:
What are you talking about. A shoddy computer from walmart comes packed with 2 gigs of ram, I'm sure any respectable hosting service will be able to accommodate you. A dedicated VPS is not the same as a shoddy PC from Walmart. Most good ones charge as much a month as one of those shoddy PCs would cost. For what I want, the average price seems to be between $40 and $60 a month. More than I can afford to pay on a game that wont be making any money back. SwapMaps bloats the savefiles like you wouldn't believe. Try Iain Peregrine's dmp_reader and dmp_writier. I found that they work much better for saving/loading than SwapMaps. That and they save into the same format as Dream Maker, as such you shouldn't have the 4MB to 800MB problem, and this also allows for you to edit the saved map directly in Dream Maker. Couple that with your sections idea and I think you'll be good. Will take a look into it. Where do you figure you have that many 'potential' players? Been advertising the game in other places (the game is largely built around a specific community, their tastes and uses inside jokes that only people there would understand, so advertising it anywhere else would not make sense). Since the beginning of June I have had over 2,000 unique visitors to the forums I use for this sort of stuff, and about 700 of those have visited more than once. (This has any bots excluded from it) It's not unsafe to assume that if these people are keeping upto date with the development of the game that they are potential players (whether many of them will play it or not is a different issue). |
The Magic Man wrote:
It's not unsafe to assume that if these people are keeping upto date with the development of the game that they are potential players (whether many of them will play it or not is a different issue). I suppose one could assume that all the players of BYOND are potential players as well. Might as well add some thousands to your 700 figure (whether they will realistically play or not is a different issue). :) I was just trying to keep your expectations realistic. If by some trickery you can manage to have more than 15 regulars, I'd say you're doing good on BYOND. Also, hasn't this exact game been made, here on BYOND, before? I'm pretty sure this follows the exact inspirations and idea of your game. |
Will this game have randomly generated terrain (eg: Valleys, mountains, and rivers randomly placed throughout the world, along with Biomes, and mineral veins)
|
Vermolius wrote:
I suppose one could assume that all the players of BYOND are potential players as well. Might as well add some thousands to your 700 figure (whether they will realistically play or not is a different issue). :) Naw. The difference between those people and everyone on BYOND is that those people are coming back to the website, and keeping up to date with the game and it's development. I was just trying to keep your expectations realistic. If by some trickery you can manage to have more than 15 regulars, I'd say you're doing good on BYOND. Released 2 demo so far. They have both had at least 20 players in them (would have had more, but my internet connection cannot handle this amount of players and almost ended up exploding). Also, hasn't this exact game been made, here on BYOND, before? I'm pretty sure this follows the exact inspirations and idea of your game. It is a similar idea. But in the game I am making you only control a single person, not a group. Will this game have randomly generated terrain (eg: Valleys, mountains, and rivers randomly placed throughout the world, along with Biomes, and mineral veins) Yes and no. The game can fully generate a play area, what areas are land and sea, temperature, mountains, rivers, beaches, forests, mineral veins and random terrain features such as a volcano, underground river or cave. But the game can also use a template island, and just populate it with resources, this is mainly used for testing but can still produce a fully playable world. |
With 1,000,000 tiles, and even if you get 1000 players, that's still a 1000-tile chunk for each of them (50x20 or divided some other way)
Of course, that would put them all right on top of each other, with little to no open/"wild" space between "settlements", but then again, since 1000 is most likely a gross overestimation, there's likely to be plenty of room... Especially for the time it takes from the beginning of the game until enough players have finally played it long enough to fill things up... |
Were I to be playing this game, I wouldn't want to play on such a large map. It'd take hours to go from point A of interest to point B of interest, with a lot of entirely uninteresting things on the way there.