DSB Version 0.6

This forum is for the Lua scriptable clone of DM/CSB called Dungeon Strikes Back by Sophia. Use DSB to build your own highly customised games.

Moderator: Sophia

Forum rules
Please read the Forum rules and policies before posting.
Post Reply
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Post by Sophia »

I've decided to give the next beta a wider release, due to the number of people who have expressed interest. I was originally going to hold it back until 1.0, but this version is definitely in condition to be played around with... also, my inbox was exploding a bit from bug reports/suggestions, they may be easier to organize here. :)

In addition, there are some rather subjective issues that would stand more opinions--

Is the delay after an attack where the damage pops up too long?

Is showing cumulative damage to the characters a nice touch, or annoying?

Should rusters rust?

... etc. :)

Anyway, I've updated the top of the thread with a download link.
Tom Hatfield
Ee Master
Posts: 688
Joined: Mon May 07, 2001 7:00 pm
Location: Indiana, USA
Contact:

Post by Tom Hatfield »

No problems this time around. I'm assuming there's nothing left after killing the death knights?

The short damage popup has always been one of my highest grievances. I just don't think DM has a good damage feedback system. However, I understand you're making a clone, and that includes all the perceived drawbacks. In that case, it feels about the right amount of annoying.

By cumulative damage, I assume you mean poison damage. Without this, I'd never know when my characters were poisoned or how badly, so I say keep it. (DM2 was even nicer because it had a poison meter, so I knew approximately what power VI BRO I needed to heal my guys.)

Rusting rusters . . . why would you call them rusters if they didn't rust? A conundrum indeed. Maybe you could have polishers instead.
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

Stand under a door and the damage meter comes up with cumulative damage from the door
DSE
Lo Master
Posts: 364
Joined: Sat Mar 20, 2004 12:22 pm
Contact:

Post by DSE »

is the cumulative damage where you keep walking into a wall and the figure just goes up and up. If so, I dont like it, did the original do this ?
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

You aren't taking more and more damage though, it's just telling you how much damage you are taking from one group of activities

Each damage was seperate in the original, so you only ever saw 10 and 10 and 10, in DSB you an now realise that standing fighting under a door say you have taken 150 damage in total, or walking into a wall repeatedly you have taen whatever
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Post by Sophia »

Tom Hatfield wrote:No problems this time around. I'm assuming there's nothing left after killing the death knights?
Right.
Tom Hatfield wrote:The short damage popup has always been one of my highest grievances. I just don't think DM has a good damage feedback system. However, I understand you're making a clone, and that includes all the perceived drawbacks. In that case, it feels about the right amount of annoying.
The attack damage popup used to be a bit longer, but that caused people who were fond of rapid-fire punching to have to slow down their attacks, as the damage popup stayed up into the time when the next attack would be available.

Perhaps one answer would be to have the damage popup last longer by default, but be cleared with a click-- or even have that click be interpreted as a valid click in one of the click zones, for the really impatient. ;)
(That is, you can't SEE the weapon icons, but if they would be considered to be clickable, you can still select them)

If you have an alternate way of showing the damage that still feels DMish (or even not, I could always have it as a configurable option in the ini file, so purists could turn it off), feel free to suggest it, though. :)
Tom Hatfield wrote:DM2 was even nicer because it had a poison meter, so I knew approximately what power VI BRO I needed to heal my guys.
Oooh. This would be something nice to have anyway.... ;)
User avatar
Trantor
Duke of Banville
Posts: 2466
Joined: Wed Mar 09, 2005 4:16 am
Location: Berlin, Germany
Contact:

Post by Trantor »

My 2 cents:

-Time of damage popup: Yes, too long.

-Cumulative damage: Irritating for me.

-Rusters: Not by default I think.
-
User avatar
Joramun
Mon Master
Posts: 925
Joined: Thu May 25, 2006 7:05 pm
Location: The Universe

Post by Joramun »

I agree with Trant on all those points.

DSB should focus on flexibility, and being able to rust etc. is ok, but the original DM dungeon should be respected as closely as possible.

Bug : sometimes I have sound parasites (like a "scratch" after the regular sound of an action, like throwing a torch. But it's not always. More like 1 in 20 or 30 actions. Totally random)
What Is Your Quest ?
User avatar
linflas
My other avatar is gay
Posts: 2445
Joined: Tue Nov 04, 2003 9:58 pm
Location: Lille, France
Contact:

Post by linflas »

i've just finished the demo and sorry if i'm a bit harsh :
- i have a slowness feel, for almost everything in the game (comparing with CSBwin or RTC), this is probably caused by the popup damage delay, but objects throwing is also delayed.
- sometimes i don't go forward and have to press again numpad 8 key (i am sure my keyboard works fine because i don't have this with other DM clones)
- cumulative damage is an excellent idea, maybe the way it is calculated gives too high values.
- rusters didn't rust by default but i like the idea.
- range size to pick objects on the floor seems too small : this is harder to pick them.
- i read the doc and a few of your lua scripts and well... let's hope an editor will come !
- color pixels defining objects seems really a strange idea to me ! but that agrees with my previous point
DSE
Lo Master
Posts: 364
Joined: Sat Mar 20, 2004 12:22 pm
Contact:

Post by DSE »

I have just tried your clone on an old machine I have here. Its a Pentium 3 450 with 384 MB, and it works great. Really well done with this work, its great, I love it !
User avatar
ian_scho
High Lord
Posts: 2806
Joined: Fri Apr 07, 2006 8:30 am
Location: Zaragoza, Spain

Post by ian_scho »

Well I tried it and I liked it.
I agree with Linflas' comment though, about the sluggish feel to things. I'm being really picky here.
Again, it's a demo but the editor is needed me thinks. Also, if you can include with it a wallset builder thingy if you have one?... :P
I just LOVE the idea of being able to programmatically change spells and mosters. This is definately the selling point of this clone for me. Whether this converts to wacky and wild dungeons only time and a lot more of Sophia's toil will tell.

Good work and well done!
User avatar
Paul Stevens
CSBwin Guru
Posts: 4319
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

On my AMD Athlon running at about 1250MHz
I noticed no slugishness whatsoever. My video
card is an NVIDIA TNT2 model 64. Nothing
very special about that!!!

I noticed that DSB did consume a fair
percentage ofthe available CPU
time (~50 %). The demo seemed very
true to the original DM look and feel.

I did lose about 90 minutes of work when
DSB started up and switched my graphics
mode from 1280x1024 to whatever. Caused
my video capture process to restart. Oh, well.

Having examining some of the lua code,
I want to repeat.....this is a remarkable effort.
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Post by Sophia »

linflas wrote:i have a slowness feel
Add the line "ClockDivide=2" to your dsb.ini, in the "Settings" section.
Does it still feel slow? ;)
(Seriously, though, the default value is 7. Maybe 6 or 5 will feel better to you...?) By the way, below 2 seems to cause the game to be unplayable, so don't do that.
linflas wrote:sometimes i don't go forward and have to press again numpad 8 key
It's not purely your computer, or it would show up elsewhere, and it's not purely DSB, or it would show up for other users-- so I think it's some interaction thereof. What OS are you running? Is there something odd about your keyboard?
I'm a little stumped on this one.
linflas wrote:cumulative damage is an excellent idea, maybe the way it is calculated gives too high values
I don't quite understand. What I mean by "cumulative damage" is that it simply just keeps showing the damage you've taken in a certain period of time rather than resetting the damage popup... that's all it does. Like, if you stand under a door, rather than 4 3 3 5 etc. the number will go 4 7 10 15 etc.
linflas wrote:let's hope an editor will come !
Hehe, I'm hoping that too. ;)
User avatar
linflas
My other avatar is gay
Posts: 2445
Joined: Tue Nov 04, 2003 9:58 pm
Location: Lille, France
Contact:

Post by linflas »

i played a moment with the ClockDivide value and there's no unique value that can be realistic for everything. so, i tried a few settings and here are the values i would put for specific events :
- 2 for shooted arrows with bow, lightning/des-ew/fuse spells
- 3 for punch/stab/jab and other throwing actions, fireballs/poisons bolts spells
- 4 for kick and swing/chop class of actions
- 5 for melee/thrust etc.
- 6 for hack/berzerk
- 7 for door closing/opening

about the keyboard problem, i assume that it comes from my way of typing (maybe my left middle finger has maleficent faculties) : does DSB acts when the key is pressed or when it is released ?
EDIT: actually i know why it happens : i press 7 to turn left and immediately after/at the same time, i press 8 to go forward but it seems that DSB can't cumulate succesive key typings while CSBwin or RTC can.

about too high values in cumulative damage, i was thinking about poison (i got about 8/10/15 points health damage while sleeping and having been poisoned several times by the scorpion) but under a door, yes, what you suggest is realistic.
Last edited by linflas on Fri Mar 02, 2007 11:51 am, edited 2 times in total.
User avatar
linflas
My other avatar is gay
Posts: 2445
Joined: Tue Nov 04, 2003 9:58 pm
Location: Lille, France
Contact:

Post by linflas »

is there an option to play DSB windowed ? with scaling ?
User avatar
Joramun
Mon Master
Posts: 925
Joined: Thu May 25, 2006 7:05 pm
Location: The Universe

Post by Joramun »

Zo Kath Ra spell has "nil" mass -> bug when throwing (in util.lua)
Attempt at changing the mass with exvar failed (same error)
Also ground image for the spell is wrong (currently it's not a corbum)

I'm testing the game with different Clockdivide, and i feel 5 or 6 is better.

I don't understand what you mean Linflas. The game speed can't be different for different objects !
(otherwise, we'll face a major space-continuum aberration)
:idea: Star Trek dungeon ! :lol:
What Is Your Quest ?
User avatar
Gambit37
Should eat more pies
Posts: 13720
Joined: Wed May 31, 2000 1:57 pm
Location: Location, Location
Contact:

Post by Gambit37 »

No, what he's saying is that different events "feel right" with different speeds set. So, the implication is that the speed of events that feel wrong needs to be tweaked.
User avatar
linflas
My other avatar is gay
Posts: 2445
Joined: Tue Nov 04, 2003 9:58 pm
Location: Lille, France
Contact:

Post by linflas »

c'est exactement cela :)
User avatar
Joramun
Mon Master
Posts: 925
Joined: Thu May 25, 2006 7:05 pm
Location: The Universe

Post by Joramun »

D'accord, d'accord... Still i'll submit my Star Trek dungeon idea :P

I experienced several crashes when manipulating objects (putting them on the ground). It may be due to exvar abuse from my part (to avoid scroll and potion crashes, i affected power and text to all objects i was spawning on the ground with my dear "for loop" )

EDIT:
- it appeared with Clock divide = 2, and I couldn't reproduce it with Clockdivide = 5. I forgot to save the corresponding log.txt :(
- Item comments are not parsed as scroll text ( / doesn't mean new line)
- Potential bug : poison cloud visible when thrown on hidden fake wall tile.

- Suggestions :
:arrow: affect "class" attribute to objects that have particular behaviors but come in different types : eg for all potions have : class = "POTION" etc.
:arrow: function : dsb_set_cell(lvl, xc, yc, state) where state = 0 or 1 (square and wall)
:arrow: function : dsb_get_cell(lvl, xc, yc) return cell_state (0 or 1)
What Is Your Quest ?
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Post by Sophia »

Hmm, some more issues:
linflas wrote:i played a moment with the ClockDivide value and there's no unique value that can be realistic for everything.
What I got from this list is that you feel thrown objects seem need to go a lot faster, attack recovery times need to be a little lower, and door opening and closing feel right the way it is... is that right?

You play mostly RTC, right? I based DSB's timing on CSBwin and memories of DM on an overburdened CPU... I think thrown objects in RTC go at a full 6 ticks/sec so it seems faster (still not as fast as ClockDivide=2 though!) Right now thrown things move one square per game "tick" so there's not a lot of flexibility there. Attack recovery times, more so, though, as far as I can tell, the values are straight out of DM... at least the numbers are.
linflas wrote:i press 7 to turn left and immediately after/at the same time, i press 8 to go forward but it seems that DSB can't cumulate succesive key typings while CSBwin or RTC can.
Wow, I didn't realize people played/typed this fast!
Ok, I'll take a look at this. :)
linflas wrote:is there an option to play DSB windowed ? with scaling ?
Yes to windowed, no to scaling-- but it's rather experimental. I hacked it in quickly and forgot about it, to be honest. If you'd like to play with it, though, add "Windowed=1" to your "Settings" section of dsb.ini.
Joramund wrote:Zo Kath Ra spell has "nil" mass -> bug when throwing (in util.lua)
No, for me, the mass is always initialized to 0, which is valid, and I can't reproduce this...
Joramund wrote:Item comments are not parsed as scroll text ( / doesn't mean new line)
It automatically breaks these into newlines. Good/bad?
Joramund wrote:Potential bug : poison cloud visible when thrown on hidden fake wall tile.
Clouds are visible on walls to make the Vi Altar work, and because that is (as far as I know) the way DM works too.
Joramund wrote:affect "class" attribute to objects that have particular behaviors but come in different types : eg for all potions have : class = "POTION" etc.
Ok, I'll do this.
Joramund wrote:dsb_get_cell(lvl, xc, yc) return cell_state (0 or 1)
dsb_set_cell(lvl, xc, yc, state) where state = 0 or 1 (square and wall)
It returns "true" or "false" (Lua booleans) but otherwise "dsb_get_cell" is in already. "dsb_set_cell" isn't, but I'll add that.
User avatar
Joramun
Mon Master
Posts: 925
Joined: Thu May 25, 2006 7:05 pm
Location: The Universe

Post by Joramun »

About item comments :
What I mean is, scrolls do consider a '/' as a new line, while item DON'T eg: if i add text="TEST/TEST" it will read "TEST/TEST" on an item and :
TEST
TEST
on a scroll. It's not really a problem.

Concerning Zo Kath Ra : I was mistaken. It was normal spells (like zo or oh ir ra) that would show up in hand as a zokathra, on the ground as a small blue thing, and raise an error when thrown. I should have put them as items in the dungeon ;)
What Is Your Quest ?
User avatar
Paul Stevens
CSBwin Guru
Posts: 4319
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

A strangeness....I added the 'Windowed=1' line
and then the program uses 100% CPU while
waiting at the Prison Entrance. After entering
the Prison it uses about 75%.
User avatar
Parallax
DMwiki contributor
Posts: 424
Joined: Mon Aug 28, 2006 7:56 pm
Location: Back in New Jersey

Post by Parallax »

Sophia wrote:It automatically breaks these into newlines. Good/bad?
Bad. Could you please let a '/' or another special character sequence force a new line, and the presence of at least one such line return disable the auto-formatting for that object?
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Post by Sophia »

Paul Stevens wrote:A strangeness....I added the 'Windowed=1' line
and then the program uses 100% CPU while
waiting at the Prison Entrance. After entering
the Prison it uses about 75%.
Oh, unfortunately, this is not strange, it's about right.
The main loop of DSB is quite simple: Update the game world, draw a frame, check for input. It tends to use up whatever CPU cycles it can get hold of.
Parallax wrote:Could you please let a '/' or another special character sequence force a new line, and the presence of at least one such line return disable the auto-formatting for that object?
I've added '/' as a line break.
As for disabling the auto-formatting, I don't know why you'd want to, but I did figure I'd need to add support for other fonts, so I added a command:

Code: Select all

dsb_textformat( chars_per_line, y_offset_per_line, max_lines )
By setting chars_per_line to something unreasonable, you will effectively disable word wrapping. :)
User avatar
Paul Stevens
CSBwin Guru
Posts: 4319
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Oh, unfortunately, this is not strange, it's about right.
That's how DOS programs work. That is how
CSBwin worked when it was translated from
the Atari. But that is not how Windows programs
work. That is a 'Show-Stopper' for me because
my computer is being used for other things that
must proceed. In fact, that is why CSBwin exists.
I tried using RTC in the early days and could not
because I had a 133MHz machine and RTC used
all available time.

At the minimum, I would think that the dungeon
would not change more than n times per second
and therefore the screen need not be redrawn
nor the game world updated more often than
that. CSBwin also only redraws those parts of
the screen that have actually changed.
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Post by Sophia »

Paul Stevens wrote:my computer is being used for other things that
must proceed.
They will proceed just fine. DSB will play nice when it has to, though not necessarily when it doesn't have to. It does tend to busy wait and other practices that I admit are not exactly "Windows friendly," but it can function on far less CPU cycles than it would take on an idle machine. I tied up over 60% of my CPU with other things and tried to play DSB, and it still ran flawlessly, so it shouldn't interfere with other programs that keep your CPU busy.

That said, I am no expert on Windows programming and some of my practices are more simplified and grounded in the DOS era. When I first started writing the program I had two choices:

1. Go forward with the technology I knew and develop a game.
2. Start learning lots of new technology.

I chose option #1. Perhaps some of the people who now have DSB in their hands will think that was a good choice.

Of course, I am always open to improving the engine and various optimizations and improvements are always on the horizon, but I'd like to get it functional and playing first.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4319
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

It ain't right and it ain't pretty....
A search of CSBwin for 'Sleep'
will turn up a couple of matches. But:

While (nothing to do) Sleep 1 millisecond;

Beats

While (nothing to do) repeat;

by a BIG BUNCH. And it maintains
the 'DOS-Like-Look'.
DSE
Lo Master
Posts: 364
Joined: Sat Mar 20, 2004 12:22 pm
Contact:

Post by DSE »

any kind of "thread sleep" in your main game loop will immediately drop the utilisation of the cpu (by a massive amount, even if the "sleep" is just for 1 millisecond) and you wont notice the difference in your game. otherwise your app will take all available processing power (or the maximum allowed by your runtime libraries). the main point is to allow the windows messages to be processed and allow other application some cpu time.
User avatar
Parallax
DMwiki contributor
Posts: 424
Joined: Mon Aug 28, 2006 7:56 pm
Location: Back in New Jersey

Post by Parallax »

Sophia wrote:By setting chars_per_line to something unreasonable, you will effectively disable word wrapping. :)
That's all I'm asking for: the right to be unreasonable. Thank you. :)
User avatar
mikko
Craftsman
Posts: 102
Joined: Sun Jan 15, 2006 2:42 pm
Location: Helsinki, Finland

Post by mikko »

DSE wrote:the main point is to allow the windows messages to be processed and allow other application some cpu time.
Well, it's the job of the task scheduler in the OS to do that, but if your application has nothing to do, it's polite to sleep and allow other processes _more_ time. This will of course show as low cpu utilization when there are no other processes around.
Post Reply