Deprecated: Function set_magic_quotes_runtime() is deprecated in /DISK2/WWW/zweistein.cz/devdiary/textpattern/lib/txplib_db.php on line 14 http://textpattern.com/?v=4.0.6 Fate of Heroes Developer diary - Design http://devdiary.zweistein.cz/ A project that I never really gave up on. Sat, 07 Aug 2010 17:18:50 GMT Randomly generated roguelike maps arrived, pt2 I have discovered ingeious article about generating random levels with cellular automata. It worls like charm:

Now, from its looks it seems quite radom, but it makes wonderfull caverns, swamps and forests.

]]>
http://devdiary.zweistein.cz/articles/36/randomly-generated-roguelike-maps-arrived-pt2 Mon, 12 Jul 2010 06:51:41 GMT Zwei tag:devdiary.zweistein.cz,2010-07-12:00a484dcf4873229879f728f4df923dd/776e47b45dbb2743baf61c8aa5645b51
Randomly generated roguelike maps arrived! Well, surprisingly it was not that hard after all. Results are not ideal yet, but basics are covered:

As you can see, it looks quite different from typical roguelike map, looking more like circuit board than ‘true’ dungeon map. This has a lot to do with how it is generated:

There are several approaches on how to create map for roguelike, but generally, it is about placing rooms and then attempting to connect them. Rogue alorithm, for example works like this:

  1. Subdivide map to cells
  2. Place rooms to cells
  3. Connect rooms, ensuring that they are all accessible.

Most important thing here is subdividing map and tackling map creation locally on per-grid element.

I started by making library of map components, prefabricated map segments. Each segment is in relation to surrounding segments (that is, can be connected to them by small tunnel, wide hallway or not connected at all).

Then, creating map is simple matter of interating over grid and placing randomly chosen segments to place they ‘fit’. There is no magic involved: choose cell in which to put segment, ask library for list of matching segments and pick one randomly.

Here are some more examples:

As can be seen, they are not aestetically pleasing when displayed in their full glory, but when rendered inside game client, they are much better off because player can not see weird connections, limited to small displayed are and his memory of what is outside of it.

Now, this looks quite well, doesn’t it?

]]>
http://devdiary.zweistein.cz/articles/27/randomly-generated-roguelike-maps-arrived Sat, 12 Sep 2009 18:23:22 GMT Zwei tag:devdiary.zweistein.cz,2009-09-12:00a484dcf4873229879f728f4df923dd/5e83abe66ad796c389b3672ae06f8fc6
Items, part two: One of mudflation problems with items in game where they actually matter is that after some point you tend to get increasingly more and more powerful items and little incentive to wear and wield anything else.

Then, dreaded moment where your character becomes fully clad in golden/purple/rainbow/murky green with pink blobs items. Developers at this moment face problem of having to release new item sets that are even more powerfull or rarer. Anything less would be considered “not worth trouble” and at best, it would be bandaid for players who cant achieve top items, but can get shot at getting newly introduced ones.

Not only this tends to upsets more economically minded players which don’t appreciate their loot becoming worthless, it also upsets balance of game and players who can’t reach for them for any reason.

Solution is simple: Put nontrivial costs for equipment. But such costs that would actually make sense. Make them become hard and soft limits on what player can wield.

Example: Player wants to wear heavy armor set. Since it is heavy armor set, he needs Strength to wear it. So far it makes sense.

This player has only 10 points in strength, which equals to having 5 equip-points for “heavy armor” class if items. Each armor piece costs 1 of such points.

Result is: Player can equip only 5 pieces of such armor.

If player adds points from strength he would be able to wear more armor pieces. Player might want to have enough to wear full set to receive full-set bonus ( “interlocking armor bonus”). If he is not class that actually uses strength he has to make build compromise: How many armor pieces I want to wear?

Now, we shall expand this to “blessed” items – these items were blessed by priest-like profession sporting player. They have some interesting bonuses, however, each blessed item has also cost – “faith equip points”, gained by investing into Wisdom attribute. Similary with like with strength, player might want to invest enough to gain set bonus for wearing several blessed pieces (a holy aura).

(Faith Equip Points need some better name by the way)

Now, this is where it becomes more interesting: Blessed piece of heavy armor: as you might guess, this item costs both “faith equip points” and “heavy armor equip points”, which requires anyone who wants to wear several such pieces to have both high strength and wisdom.

Choices have to be made – Am I warrior – is plate armor enough for me, Am I priest – is blessed cloth enough for me, Or am I hybrid alike paladin which can wear more powerfull items, but has spread attributes and thus lower raw power.

(Or maybe you want to invest to Mana attribute and wear magical items too :) )

And now we add one more element: Some equipment pieces cost even more. stronger version of blessed item – a sanctified item – costs 2 “faith equip points”. As well as stronger version of heavy armor or magical enchanted item. And some unique items have, well, unique costs.

Now more choice have to be made – do i go for more but less effective items or few, more powerful ones? Which is more efficient? Or do i build character around that one legendary weapon and wield pretty much nothing else?

Regardless of what he chooses, next batch of items that developers release can be very diverse, because there will be place for everything from weak, but cheap items to uniques with overblown statisctics. To say so, there will be place to “Timmy”, “Spike” and “Johny” items

Player can, of course wear more than he is officially allowed by soft limit. However, that will have combat penalties: slow drain of, for example, stamina, decreased speed of regenerating action points, etc… If someone can handle it, he should be rewarded with more power.

]]>
http://devdiary.zweistein.cz/articles/15/items-part-two Fri, 26 Sep 2008 05:35:43 GMT Zwei tag:devdiary.zweistein.cz,2008-09-26:00a484dcf4873229879f728f4df923dd/bb6d3ac8060149c2d884846a10f36a98
Items as gameplay mechanic [1] Consider this quest: Aspiring warrior character gets simple quest from NPC: procure a sword so that i can train you in ways of swordsmanship.

Because NPC did not specify exact sword source, player is free to obtain weapon in any way he seems is best: Kill stuff until he gets sword weapon drop, Buy it from NPC or player, craft it himself, retrieve it from bank, etc …

Moreover, player is free to come back with plainest of plain weapons or with artifact so powerful that he barely has statistics to wield it.

This is self scaling quest: Player can simply go to NPC and buy cheapest word available. Or he can venture to deepest dungeon and baddest boss and return back with sword made of wondefonium. But this will affect reward:

Both players will receive skills they want, but the one that took harder way might receive bonus bonus. For example player that chose to craft his sword himself would get small experience boost for Agility or for Weapon Crafting, and this reward would be substantially better should he decide to craft costly masterpiece.

Goal is to enable low cost, and quick quest competition while encouraging players to find harder and harder ways to complete said quest because it would give them better rewards.

Non comprehensive list of “Item Sources” in list roughly ordered by their “Quest Value”:

* Chest loot / picked up unassigned item. * NPC Vendor * NPC Corpse * NPC Pocket * Bank (items owned by player for more than X days) * Auction * Direct player trade * Crafted * Boss corpse * “Unique” Boss corpse]]>
http://devdiary.zweistein.cz/articles/14/items-as-gameplay-mechanic Wed, 17 Sep 2008 13:08:44 GMT Zwei tag:devdiary.zweistein.cz,2008-09-17:00a484dcf4873229879f728f4df923dd/dbc3fbcfa67fedf89a2fa1857279ea62
Complexity [1] One of first issues with complex game is that well … it is not fun if you don’t get it. Zilions of options are sweet for veteran who had time to absorb them, but if you are newbie you have no frame of reference for them, so you have no clue what what means. And you might not even notice some options.

First obvious solution is some kind of tutorial. While tutorial works for getting around in gui and for basics, it can’t provide deep knowledge to players. Also, people tend to skip tutorials, which is quite understandable, longer, more indepth tutorial will bore and be more prone to people skipping it.

Another solution is to do away with tutorial and instead start with all but basic gameplay elements and reintroduce more complex ones later, well spaced out so that unlocking new gameplay elements feels like reward and character progression. This has disadvantage of being usually preset and provide rather dull gameplay untill you reach point in game where you are getting your “money worth” – which is not really bad for newbie which will be learning to navigate gui and world and confusing him serves nothing.

Yet another solution is simply to have system easy enough to grasp instantly and nothing more. Simple, easy, workds quite well if gameplay is more action oriented or when story overshadows combat.

My proposed solution is this:

Leave player choose what he wants to do. Idea is that pretty much everything will be Optional. Anything beyond swinging sword will be set to reasonable defaults and invisible until player chooses to discover it and progress in it.

For example, player will start without attributes, they will exist, but invisible, set in default “10” points. Player must first make effort to unlock UI for manipulations and seeing them and then then attributes themselves. Usually by thematic quests and by some other means (for example by using consumable items from random drops).

This makes place for lot’s of stuff, effectively hiding it but keeping it within reach.

]]>
http://devdiary.zweistein.cz/articles/13/complexity Mon, 01 Sep 2008 05:27:52 GMT Zwei tag:devdiary.zweistein.cz,2008-08-26:00a484dcf4873229879f728f4df923dd/f955b9304819842bd38fd6f98a44b7d8