Dungeondweller Development Diary
Archive
March
13
I playtested the game for a longer period of time today
and I found that some effects weren't removed when the effect's duration
had passed. This proved to be a simple bug to fix and the fix will be
included in the next version. A grammatic error has been fixed in the
eat command too. Other than that I've been working on the sensory events
for most of the time. The system works and visual and audible events are
noticed correctly. The direction of audible events is also reported ("You
hear movement to the north" and so on).
March
6
Ooops! A months abscence is not good... I have some lame
excuses like moving, changing ISP (broadband at last!) and lots of work.
I haven't had much time to work on Dungeondweller, but I have begun work
on sensory events and started thinking of how to generate the gameworld.
February
10
I decided to take Dungeondweller to version 0.6 today.
The effect system need minor trimming but it works as intended. The new
version includes the new attributenetwork that replaces the traditional
stats and skills. I've also linked each attack and defence to an attribute
now in the .txt files (previously they were all based on weaponskill).
Some changes to the keymap has been made too (see readme.txt in the .zip
files). I have planned to include a customizable keymap for version 0.7.
February
9
Due to the recent discussions on skilltrees and stats
at r.g.r.d I decided to move forward with the new skillsystem earlier
than previously planned. I have decided to
use an attribute network to represent skills and stats. Some attributes
will be assigned values at birth (strength, agility, intelligence etc)
and others has to be taught or practiced (blades, lockpick, magic etc).
Each attribute can be based on one or more attributes that in turn can
be based on yet other attributes, thus creating a network or web of interconnected
attributes (though som may not be conncted to other at all). When experience
is gained some of it is passed on to connected attributes that in turn
pass an even smaller amount to it's connections. The network resembles
the standrad skilltree in many ways but it isn't limited by the tree structure
an the constraint of only having one parent (though the web could be built
as a tree).
February
5
I just realized that I haven't documented another change
since the last version. From 0.5.4 natural attacks like punch and kick
will be defined in bodyparts.txt and not in monsters.txt. This way natural
attacks can be disabled if the appropriate bodypart is crippled or destroyed.
I've decided to upload a new version to include all the latest improvements.
I'm still not satisfied with the effect system so I wont take Dungeondweller
to version 0.6 yet...
February
4
The displayed text when inflicting (or receiving) damage
didn't show all the various damagelevels. This error boiled down to a
simple typecast error and was fixed real easy. A forgotten check while
generating the map made it possible to create non passable terrain on
cells with an entity. This resulted in trapped creatures and objects,
but was easily fixed.
February
1
The [E]at command was for some strange reason disabled,
but that is fixed now. I've added some healing roots just to test the
effectsystem. I have also changed so that blood won't be added to blocking
cells since it is shown on the opposite side of the blocking cell too.
The messagearea is increased to five lines, but I have made the surface
transparent so the size of the gamearea isn't reduced. I have also changed
so that weapons of fire emits light within a small radius. The AI for
the equip command has become a bit smarter too. Previously the loop that
tried to find suitable equipment stopped if a needed piece of equipment
wasn't equiped and wasn't present in the inventory either. Now, the loop
continues to search for useful equipment which makes equipment utilization
higher. The AI for the pick up command has also been somewhat improved;
damaged or destroyed objects are less likely to be picked up. And last
but not least the AI for the drop command; the item with the highest weight/value
ratio is now chosen instead of the first item in the inventory.
January
28
The effectsystem will be ready soon. I just need to add
a few more effects and effectareas before it is considered finished. I've
also made some cleanups in the code, removed some compiler warnings, changed
the screenlayout to show more of the game area, begun translation of my
swedish comments to english and stuff like that. I have also made the
physical speed of a creature less dependant on it's physical condition.
This way wounded creatures (and the player) have a higher chance of fleeing.
January
19
The field of view code is finally changed to use octants
instead of quadrants, thus removing the problem with a slightly asymmetric
field of view. I've also written a new article
on recursive shadowcasting and uploaded a simple implementation
of the algorithm.
January
15
I made some changes to my version
increment plan in order to have something a bit more fun to code than
the effectsystem :) I decided to begin with my plans for map templates
a few days ago. The idea behind map templates is to allow for an easy,
but yet powerful way, of creating maps with different looks. The templates
(found in maps.txt) determine what kind of structures (rooms, corridors,
caves etc) that should be generated and how probable it is for a certain
feature to become generated. Each structure can also be configured to
contain different kinds of objects and monsters, thus allowing to create
special rooms like a treasury, armoury or living quarters. The system
is almost ready, and all I have to do now is to code the different structures.
I have all of the basic structures ready (room, corridor, cave and lake)
but I plan to include many, many more as time goes by. I have also moved
the doors from objects.txt to a new file called features.txt. This new
file is intended for all mapfeatures, such as doors, stairs, altars, traps
etc, but right now all it includes are the doors.
I have also added a simple [M]inimap that shows the explored
parts of the dungeon. This is just a quick hack to help me with my work
on the map templates, but it will do for now.
Thanks to Ralph Moeritz I found a bug in the [A]imed attack
command. It was evidently so that the command didn't take any time to
execute, resulting in a rather big advantage in combat :-) Thanks to Ralph
noticing this bug I also found another bug of the same kind. This time
it was the take off equipment command [b] that didn't take any time to
execute either...
I have decided to upload a new version that will fix these
bugs and include the features mentioned above.
January
10
I have differentiated the AI a bit. The tendency to flee,
scavenge, attack and group can now be controlled in the monsters.txt through
the <FEAR> <HATE> <GREED> and <GROUP> tags. This
reminds me that I have to document the .txt files to make modifications
easier for other people. I have also added an [u]pdate command that refreshes
the screen. This is a temporary solution to the refresh bug.
I have decided to upload a new version that included the changes.
January
9
The new effectsystem was more difficult to create than
I had anticipated, but I think I have found a nice way to implement it
now. The system is not ready yet, but I hope to finish it within a week
or two... I have made changes in the way the .txt files are parsed which
resulted in easier, but slower parsing. The new parser has allowed me
to put some work into the object and monster templates. The templates
control starting inventory, stats and other things. Templates will allow
for more variation in objects and monsters without that much work. It
is quite simple to create variants of 'basic' objects and monsters. Besides
the new parser I have fixed a bug in the loot command that didn't allow
looting of inventory. The quit command didn't work either, but it is fixed
now thanks to David Mauser. Thanks David!
|