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 - Inspiration http://devdiary.zweistein.cz/ A project that I never really gave up on. Sat, 07 Aug 2010 17:18:50 GMT Dwarf Fortress moding So, I have been playing Dwarf Fortress. It is amazing game, and it has quite extensive ability to be modded.

One of issues with modding is, however, lack of tools. “raw” format used in game is easily editable by any bare bones editor, but it is seriously lacking documentation or even editor that “understands” it.

Sine I am quite spoiled by eclipse java tooling, editing raws is pain. Here comes idea: make “raw tooling“.

Unsurprosingly, there is project that helps with this task: Xtext. All you need to do is to write formal definition of language and apropriate tooling is then generated. It works amazingly well, and with some customization it is perfect.

1+1: Editor for raw files written with help of xtext. So far, it is not done yet, but work is in progress.

]]>
http://devdiary.zweistein.cz/articles/32/dwarf-fortress-moding Fri, 07 May 2010 20:11:33 GMT Zwei tag:devdiary.zweistein.cz,2010-05-07:00a484dcf4873229879f728f4df923dd/e453db9b599086cff4634737bb3f2a00
Drop rarity musing Loot is one of inherent parts of RPGs. One of important questions is: When does it drop? How rare is it?

Rarity of items and associated prestige is one of driving factors for players. For developer, inequality of Loot is important as well because it helps community as player will be more depended on interacting with others rather than just grinding himself when he wants to obtain something specific, making Trading part of game.

In order to create rare item, obvious solution is to make it so that it drops infrequently. Is it actually best solution?

Lets have scenario: Players want to obtain ‘Demonic essences’, a highly prized commodity. This essence is supposed to be infrequent and its usage is supposed to have important effect, something that would create demand for it – say, ‘Essence’ is used to grant player long lasting powerful buff. Ideal candidate for semi-rare item, so we assign it low droprate of 1%.

Player who recieves this item basically wins jackpot. However we run into two problems:

1) Player being very lucky and getting this item from first demon that he kills. This is not problem for player, but it creates precedent for him and should he share his experience (and he most likely will) it creates measuring yardstick for other players. Several lucky players flaunting their good drop rate skew perception and anyone less lucky heel he was cheated even if he is too above expected average droprate.

2) Player being very unlucky. When killing one thousand demons will not yield drop (and when confronted with player 1) ) he is getting rightfully pissed. Now, ideally he should resort to trading with lucky players, but chances are, he massacred Demons so that he himself has good to trade with. Now, there are ways how to lessen this: ‘Consolation price’ drops; steady amount of various not-so-desirable loot that he can still use, but he too will share his stories and more voices will join up. And usually, some kind of weird player behavior will result (“I killed Demon with Demonslayer sword and it did not drop essence in 1000 kills, so i switched to Angelslaying sword and had drop immediately.”)

As can be seen, ‘real’ probabilities just do not work well because while results add up in large numbers, players only see fraction of them and can be subconsciously selective, making them see all kinds of patterns.

There are ways how to solve this:

1) Guaranteed drop. When every hundreth Demon should drop essence, well, lets keep counter and make ‘right one’ drop it. This is quite awfull because total determinism is not really that much fun, and after a while players become correctly wondering why are they supposed to bother with killing 99 other demons.

2) Cumulative drop rate. Simply, every time item fails to drop, chance of it dropping increases eventually making drop 100% sure. This can give easy upper limit on number of Demons slaughtered. This guarantees drop after certain amount of attempts. However, individual kills that do not result in drop are still unsatisfactory.

3) Split drop rate.

Idea is simple: One ‘drop’ is split to ‘subdrops’ that can be combined. Individual subdrops can have much higher droprate, making each kill more satisfying.

Not only that, it also creates more market opportunities – being able to ‘argument’ someones droprate by selling him part of Item, and thus lowering amount of time she needs to spend obtaining such item.

And when we go further, this allows easy scaling of drops per difficulty. Item can drop more frequently but that does not give clear feedback. On the other hand, it is easy for player to grasp that Demon Lords drop several components at once or that they drop component on every kill compared to normal demons who drop less frequently.

]]>
http://devdiary.zweistein.cz/articles/29/drop-rarity-musing Wed, 23 Sep 2009 09:59:30 GMT Zwei tag:devdiary.zweistein.cz,2009-09-23:00a484dcf4873229879f728f4df923dd/8709a7f51c86c81d44e4fc6157063579
World Building, part 2 Okay, we have rough world map and we got all those pesky technical stuff like average temperature of desert of death right.

That would make interesting map for exploration and whatnot, but it is somewhat empty … there are no people.

Here comes second step: Again, we will play games (weeee!). We want to simulate “History” of world now, so there is no better choice that game from civilization series or its free clone.

How it is played is obvious: Load up map editor and replicate map you got from sim earth, place resources and starter cities. You want to watch so put playable faction on some far away island (possibly surrounded by impenetrable mountains) and cheat to get techs that will allow you to watch everything (i.e Satellites), take notes :).

You will eventually end up with more than enough background lore for your world.

Inspiration here is obvious: Generate world and get it right. Imagine MMO where each server would be unique and would have rich, detailed history. Imagine one-man show MMO where hours of new, unique, content consisting of new continent filled with towns, kingdoms, npcs and quests, unique items, maybe even skills and monsters. All added “simply” by clicking button.

]]>
http://devdiary.zweistein.cz/articles/18/world-building-part-2 Wed, 22 Oct 2008 12:47:11 GMT Zwei tag:devdiary.zweistein.cz,2008-10-22:00a484dcf4873229879f728f4df923dd/6cbb028b33a01ebfd86cc1a5d663d8f0
World Building So called “Curse of Fantasy” – a Map – is inevitable in computer game.

Highly improbable and arbitrarily placed countryside elements. Deserts in places which should be lush jungles and Rich Trade Capitals in places which shouldn’t even provide enough for small village to exist. Random 100years old ruins. Geographical and cultural mayhem.

Fatal mistake that is oh-so-often made is to start with clean sheet of paper, timeline and checklist of mountain ranges, countries and cities. Huge plus is given if continent has fjords.

However, there is much better approach: Play a computer game! Silly, eh? Does playing games instead of working have history of getting people fired per change?

This is not really bad idea thou. Saves some research and it is actually fun.

Phase one: how does realistic planet look like?

Here, Sim Earth helps. Draw your generic land and watch it come alive, toy with parameters and ensure that your mount Doom is in real volcanic active area. That your jungles are in right spot. And that your highlander comes from actual highlands.

As bonus, you get weather patterns, average temperatures, ocean currents and whatnot in one neat package! And you can simulate evil god nuking your version “Atlantis”. Neato.

So, go ahead, start with painting map of your favorite fantasy land and watch it become dry wasteland because author kinda overdid it with mountain ranges which provide excellent shelter from rain.

]]>
http://devdiary.zweistein.cz/articles/16/world-building Tue, 07 Oct 2008 17:38:50 GMT Zwei tag:devdiary.zweistein.cz,2008-10-07:00a484dcf4873229879f728f4df923dd/2b3e193ec7199fdea432ac898ca92c2a
Someone else article, how could it be? I shall meditate over this. It’s not exactly relevant to what i am planing, but still source of well expressed ideas and definitions.

]]>
http://devdiary.zweistein.cz/articles/17/someone-else-article-how-could-it-be Tue, 07 Oct 2008 17:17:04 GMT Zwei tag:devdiary.zweistein.cz,2008-10-07:00a484dcf4873229879f728f4df923dd/ef1a52795dfd99b55dce9f4e3738e5a2