Time for the daily update! None of this is on the server yet (I'm trying to get material-gathering spots in as well) but it will be later tonight. Possibly a few more things will be added to the list...
- Dungeons are displayed in a slightly different way. Only unexplored explorable tiles are masked - the rest are shown as a "solid wall" graphic.
- Dungeons can also specify which layouts they use. Only two layouts are in and all dungeons use them right now, but the mechanics are done.
- Several keyboard shortcuts are coming in, such as "escape" to bring up the menu. Given that much of the gameplay in the dungeon is keyboard-based, I felt this would be more appropriate.
- Treasure can be obtained from chests. The current item list is pretty small though. Note that items will be wiped upon leaving the dungeon as I haven't written the code to save them to the server yet (though this may be done by the time I do the update). At least you can get extra cash to donate to Reimoo.
- Several small additions have been made to the scripting engine, such as waiting for a keypress (spacebar) to dismiss a window.
- Support for material-gathering spots is in. As mentioned above, they will probably be functional by the update.
I figured this is as good a time as any to talk about the game's currently-implemented mechanics in-depth. :)
Shop (Buy, Sell, Identify) The list of items is based on an internal flag every items has that identifies it as appearing in the shop. While not currently implemented, items that exceed your character's level by a certain amount will not be displayed.
Items are sold back to Rinnosuke at half their value. If an item is cursed, it is sold at 1/5th its value. If an item is not identified the curse penalty is not applied (as a player could easily tell which of their unidentified items are cursed by attempting to sell them; besides, it's not like Rinnosuke knows about it any more than you do).
Identifying an item costs 1/6th the item's actual value. Unlike selling, curses do not affect the item's value.
Offertory Box (Uncursing, Storage)Uncursing an item is a very costly process. It's often better to just get rid of it rather than try to salvage it. It costs 125% the item's value. For identified cursed items, they will generally have negative enchantments so there generally isn't much of a point to it except in the rare case where the bonuses outweigh the penalties (ex, a weapon that increases magic and reduces strength is still useful for a magic-user). For equipped cursed items, well, no choice but to pay, really. >:)
Storing items is relatively inexpensive (5% of the item's cost, rounded up). Retrieving the item, on the other hand, is free. Items can be exchanged between characters (and are displayed in red) but this is very costly to discourage cheating (ie, using your super-high level character to get epic loot for your level 1 character). The item in this case will cost 75% of its value to transfer.
Dungeon GenerationThe algorithm I use is a pretty simple one.
1. Create as many rooms as there are free spaces in the layout. Place each room in a list (leaving you with as many lists as there are rooms).
2. Pick a room at random. Select a random neighbor.
3. If the neighbor belongs to a different list, merge its list with the current room's list and connect the rooms.
4. If the neighbor is in the same list, each room can make an "internal" connection to another room in its list only once (to prevent "spaghetti" mazes).
5. Repeat from 2 until there is only one list left.
Because the rooms inside a list are always connected, once we've merged things down to a single list we can be sure that every room is accessible from every other room. Content is now generated in the rooms at random. Each area specifies its own density of treasure, traps, enemies, events, so forth.
To render the room, two groups of three tilesets are used. The first group contains the "room" tiles used to represent rooms with content. The second group contains the "passage" tiles used to represent rooms without content. The three sets in each group provide different variations on the tiles used; the first set is favored, then the second, and finally the last.
Here's the tileset current being used as a placeholder.
Item GenerationThe dungeon level, referenced occasionally in this section, is calculated as follows: Area Level + (Current Floor / 3)
The following table is used to decide what type of item is obtained from a chest.
50% | Money |
30% | Consumable |
6% | Weapon |
4% | Armor |
4% | Hat |
4% | Accessory |
2% | Loot |
If the contents are money, the following formula is used: ((DungeonLv + 1) x (DungeonLv + 3)) ? 16%.
If the contents are an item, it will be generated at a level between 5 below and 3 above the current dungeon level (the lower the difference, the more likely the item to be picked). Items and dungeons have special flags that indicate which "type" of items should be found in a dungeon, which also modifies the odds of getting an item (+50% or -50% per matching flag; there is also a set of "impossible" flags to prevent certain item types from ever appearing in a dungeon). Bonuses are not currently applied.
If an item is equipment, it is automatically unidentified and has a 1 in 32 chance of being cursed. Some areas can have a special flag that increases these odds to 1/8, and an other to reduce it to 1/128.
CharactersA few odds and ends...
I need to stress this point:
the classes and races are based on their related characters; they aren't these characters. Not every half-ghost HAS to use a katana like Youmu. In fact, there's no reason why Youmu couldn't be an exception, and most half-ghosts are actually powerful magic-users rather than swordswomen. Granted, this isn't how I'll be doing this, but it's important to keep this in mind as I'm aiming way more for something balanced than something that mimics every character to perfection (for instance, weapon categories are distributed more or less evenly among the races/classes to give everything a roughly equal chance at being useful). I should also note that the characters are built around the game, not the other way around - I have no plans to include complex and involving mechanics that will only be usable by one single race/class.
The level cap is 50. A typical first run through the entire game will take a character to level ~30-35. Why 50? There are 65 classes/races and they all need some new spellcards every once in a while - say every 5-6 levels. Even ignoring the possibility of a skill tree, this means at least about a dozen spellcards per class/race. 780 spellcards. Yeah. Going to level 99 would either mean a thousand or two spellcards, or long stretches of leveling up before finally getting something new for your efforts. And again, this is assuming straightforward get-ability-x-at-level-y style skills - which as I'm hinting, is not what the game'll be doing. :) (Granted there'll be some overlap between some classes/races, but you get the idea nevertheless...) I also expect most people will want to play more than just one of the 65 races/classes, so being able to "complete" a character in a reasonable period of time seems like a plus (not that a character can't still progress once they hit the level cap, mind you).
Similar story for equipment. If every class/race has its own personal weapon, that's 65 weapon types. Given the earlier equipment-generation table, the odds of you...
1- Getting a weapon (6%)
2- Getting a weapon (6%) that's of the category you want (out of like 65 other; ~0.09%)
3- Getting a weapon (6%) that's of the category you want (out of like 65 other; ~0.09%) and that carries interesting bonuses
...becomes painfully low (~1/1000 chance of getting a weapon per chest, no word on what kinds of bonuses if any). There are only about 16 weapon categories as a result (though they're kept somewhat generalized) and all classes/races can be proficient in the use of several different types rather than just one specific weapon category.
Races/classes have no restriction on what they can equip. However they do have proficiencies. A shrine maiden, for instance, is proficient in the use of a gohei. Giving her a katana instead will impose penalties on its stats because your shrine maiden just wasn't trained in using a weapon like that. It doesn't mean she can't hold it in her hands and swing it around by any stretch of the imagination but pulling a Youmu just isn't going to happen. Likewise there's no reason a nekomata can't try to put on a shrine maiden dress - whatever divine protection it would have given a shrine maiden won't be granted to a nekomata but it's still a layer of clothes to buffer blows, though!
More will follow as it gets implemented. :)