ID:48712
 
So, there are a few BYOND roguelikes and a few non-BYOND multi-player roguelikes, bit no multi-player BYOND roguelikes that I am aware of. With that in mind, I decided to try to put one together. I decided to forgo the turn based RL structure in favor of real time. I think it makes the multiplayer much more manageable. It does change the play a bit from traditional RLs as you must now make some faster decisions.

Some issues currently bother me concerning dungeon generation. One is whether or not the entire dungeon should be generated at runtime. The idea is that it can then be saved and then allow levels to be loaded and unloaded as necessary via SwapMaps. However, I am not sure how the number of players should interact with this generation. There should probably be more gear and monsters the more players. But how do I factor this in creation? And what if a player leaves or joins after generation? I imagine I will handle logout by keeping a player's mob ingame for a while if they don't logout in a safe place (IE town, a cleared area, etc.) with a message to the player letting them know if it is safe to rest (logout) or not.

Also, how to handle death. Usually in a RL death is the end of the game. But with multiple players, it is conceivable that another player could resurrect you through a spell, wand, scroll, etc. I am leaning toward allowing players to wait a revive until their corpse rots. Then they are gone.

I am also unsure on how to handle the base dungeon structure. My initial thought is that any host will have just 1 dungeon, but once completed (or the host decides) a new one may be generated to replace it. Another approach may be to do like Darke Dungeon and allow descending into instanced dungeons.
Darke Dungeon is Rogue-inspired if not really Rogue-like, and I struggled with all the issues you're worrying about in this post when working on it.

I recommend against creating the entire dungeon at the beginning of the game. That will really bog down the server at the beginning of the game and probably result in wasted effort if the computer generates a 30 level dungeon and the players all die on level 1.

The simplest method of dungeon generation would just generate them as needed and discard them when the player leaves, like the original rogue. Loading and saving dungeon levels continues to be a significant resource hog in Darke Dungeon, and I have systems in place to cache levels based on how recently they were used and how likely it is they will be used again in the near future. This would probably be a lot less of a problem in a game that puts everyone in the same dungeon though.

I like permanent death in Rogue-likes. The option to wait until someone resurrect you is nice, but just letting someone return to a safe haven with a few bad things happening to them detracts from the true Rogue-like experience, IMHO. I hope you implement dead players haunting the dungeon. I loved Bones levels! It would help give others incentive to resurrect people if they can avoid having to face their overpowered ghost. ;)

I think the best way to handle monster counts would be to have random monster spawns react to the number of players on any given level. You might even have the level despawn a few critters if the spawn cycle comes up and there are far too many critters on a level for the number of players there. I could see a level holding 10 players at once, then 9 of them leave and the 10th player dies. The poor 10th player might never be able to progress past that floor if it keeps 10 times the monsters on it.

Gear generation should probably be handled by monster drops, rather than random placement. With random placement of items, if 3 people play the game it just means the first player gets 3 times the loot while the other 2 explore large empty spaces. Darke Dungeon suffers from this when players try to explore a dungeon that someone else has already been through, so I made levels spawn items if they go below a certain threshold.

Alternately you could make gear spawn over time rather than with level generation, perhaps even weighting it so that gear is more likely to spawn on a level with players that have less items.
Actually, with SwapMaps, it is pretty easy to determine if a map is in use and unload it if not. Since there is only 1 dungeon, this simplifies things greatly.

Yeah, I want to avoid something more Diabloesque. I am shooting for more oldskool D&D. Death is the end of the road unless you happen to have a wand, scroll or high level cleric to res you. Yep, bones is in the plan. When a player dies permanently, they are added to a list to draw from for future undead encounters. Reviving will prevent that.

Good point on item spawns. I do want some random treasure, though, especially for rogues who go the stealth route. Otherwise it doesn't give much incentive to not go fighty. I like the idea of spawning stuff over time. Maybe load a few items initially and if the level hasn't been explored for a while.
Have you considered mixing turn-based and real-time elements? Rogue is turn-based and I think that works well for a variety of reasons, not the least of which is that it makes strategy a huge element. My biggest problem with Darke Dungeon is that the real-time combat happens way too fast, and if an enemy is doing massive or caustic damage you can get into a situation where it's impossible to come up with the proper response fast enough; there's no way to use scrolls and such instantly without using the hand system, for instance. The mix of real-time combat and complex controls makes combat kludgy, IMO.

But if only one player is allowed in a dungeon at any given time, you can have the freedom of turn-based exploration without the problem of how to handle multiplayer action. You could then revert to real-time interaction when players are in a common area like the overworld. This does limit the ability of players to "party up", but in practice I don't think that happens much anyway. Far more interesting, for me, would be a means of finding NPCs in the overworld that you can recruit into your party.
One of the things I am really aiming for is to allow players to team up in the dungeon. Combat is not terribly fast, and there are action delays/cooldowns. Scrolls and potions use conventional RL commands (zap/quaff/drink) or just double clicked and don't need to be held. Kind of like a DIKU mud, but with more maneuverability and ranged weapons.

Hiring fodder....erm companions is a very good idea, though!