Blog of Myriad
Conundrum in Spawning Adventures
I just wanted to write up what I'm working on right now. It has to do with creating the specific instances that are created when a party accepts a quest, or embarks on an adventure. (I have talked about the concept of instances previously.)
One thing to consider is that the spawned dungeon is only "for" a certain party. The spawned dungeon has to be connected to the area the party is currently in. Now, this area will be a spawned area itself. In most cases, it will be a world map (that will only have one special instance, so that's easy), but it might also be another spawned dungeon, or possibly in a city/town area (which are also spawned, but not as splintered as dungeons.)
A limiting factor is that once the spawned dungeon area is connected (with what I call a "portal"), the party's current area can not change - if it did, the new spawned area would not have the proper connection. Or, we could define the "from" as always being the from the "master" area. Then, we could just check the current room's link to the "master" room, then we wouldn't care about the spawned area...
It's pretty confusing. I'm just trying to figure out the best way to go.
One Year
You may notice that the last blog post here is from one year ago (almost to the day). This post is to tell you that I am still on the project. I almost gave up, but it seems I have reached a critical mass that allows (compels?) me to continue.
So the project will go on at whatever pace I can muster. My intention is to use the blog to talk about things going on from the programming side, or the content-creation side, whichever I happen to be working on at the time.
In the past year, a lot of the game mechanics have come together. Most of the database is there. The ongoing challenge is to create content : the world, the adventures and dungeons, and so forth.
An Update
I haven't made a blog entry in some time. I confess that development has been going so slowly that I really don't have anything new to report.
Here is what I do have: the basic movement commands are there. You can pick up and drop items. You can split a character off from a party, and likewise join another player's party. That's not much, but I think I might throw it up on the site to give users something to do.
Game "Instances"
I was reading a small review of the official Dungeons & Dragons MMORPG recently. The author mentioned "instancing", so I thought I would write a little about the instancing planned in Land of Myriad.
First, for those who don't know what instancing is, a basic definition is in order. Consider that when you are playing an MMORPG, you have some kind of map to move around. Now there may be one map for everyone, but in modern games this is not likely. There are simply too many players. So what you are likely walking around is an "instance" of a prototype map, that is a clone or copy. This instance has a limited number of players. This means you can interact with the players in your instance, but not players in another instance.
Why is this done? Primarily for performance reasons. Cloning playable areas makes it easier to manage the resources needed to keep the environment up to date. But even if we had unlimited resources, thousands and thousands of players competing for limited resources (ie, loot, dungeons to explore, monsters to kill, etc.) is untenable. Even if the hardware and software "worked", it would impact the enjoyability of the game.
Land of Myriad will manage instances in the following way:
- There will be one instance of the world map. Therefore, a player would have a chance to meet any other player in the "wilderness."
- There will be one or more instances of "town & city" maps. The idea here is to use instancing as little as possible, to give players a chance to interact. However, there will be an limit on the number of players using such an instance on a regular basis, and a town or city will be "spawned" as this maximum is reached.
- For each questing party on an adventure, there will be a separate instance for each such party. This means your party would never encounter players from another party inside a dungeon.
I chose to make "1 party = 1 dungeon" to replicate the table-top role playing feel. The party is composed of the players around the table, and the one instance is the module. Any number of people may be playing the same module, but the one your DM is looking at is your "instance." These specifications are not set in stone. I will adjust them based on what is going on as the game progresses.
Mapping Things Out
With the guts of the game system coming along, the job of creating the actual content - cities, dungeons, and wilderness, not to mention all the dialog and encounters - has become a weight on my mind.
At a minimum, meaningful game play will need:
- At least one "town" setting, where the player-characters can buy equipment, train, and encamp safely
- One or more "dungeons", areas where the PCs can have adventures and earn experience
- A "main map" - wilderness area that contains the town(s) and dungeon(s)
Now, the goal is to have multiple towns and cities, many more multiples of dungeons, and a nicely fleshed out world map. But to get started, I'm going to settle for one tiny village, a small sub-section of the entire world map, and a decent dungeon. Even with these limited goals, however, a lot of work lies ahead. Since the game (as presented on this web client) is text-based, rich descriptions of every "room" location are mandatory. Even a hallway has to be more than "You are in a hallway." In making a text game, I wanted to avoid the chore of creating graphics for everything. But this is the trade-off. I have to write compelling prose.
One thing that would become apparent in actual game play is that full descriptions quickly become tiring, and the player will stop reading. This problem as already been solved by text adventures long ago, however. The first time a player steps into a room, they get the full description. The second time, they get a more succinct description, or possibly just the "title" of the room. Subsequent entries are the title only, unless they issue a command like "look."
With that in mind, I am now working on the basic mechanics of moving about a map. I have 3 levels of description for any room: a title, a short description, and a long description. Of course, these can be changed by events in the game, in which case they fuller descriptions would have to come up again. A log will track the user and location, to keep track of whether they've been there before.
Character Creator
The character creator module is functional, even though there is really a lot to go on it. I admit there is a lot more to making a character than I knew. Here are some of the things missing:
- Alignment restrictions are not in place. For example, Druids are supposed to be only Neutral. As it is now, you can make a Lawful Evil Druid, if you so desire.
- Special abilities for classes (e.g., a Palidin's detect evil) are not "encoded", and in the game they would not be available.
On the other hand, much is there, like race min/max restrictions for ability scores, class restrictions with regard to ability scores, etc. One thing I ditched on purpose (just to make things simpler) was the sex differences in ability score maxes. I don't think anyone will miss them.
