Page 4 of 7

Re: DarkDale: Betrayal

Posted: Mon Jul 22, 2013 7:21 pm
by Diarmuid
More progress! Creature animations, artificial intelligence, combat and some new tools for the editor: http://www.darkdale.net/2013/07/developer-update-3/.

:)

Re: DarkDale: Betrayal

Posted: Mon Jul 22, 2013 11:03 pm
by Komag
nice update, cool bats surrounding the party! I like the sewers in gameplay, can't wait to play this thing next year or whenever it's done, It will be very cool!

Re: DarkDale: Betrayal

Posted: Tue Jul 23, 2013 3:39 pm
by thomson
I've posted a comment on darkdale.net, but then realized that there are no other comments there, so perhaps it would be better to post it here.

Good progress, good level of details. Are you planning the attacks to be instantaneous? It would be cool if the attack to a while. That makes sense as rogue can throw a knife much faster than large barbarian can swing a two-handed axe. That would lead to fun options. You could implement onAttackBegin and some creatures could attempt to dodge it or block it. That in turn would lead to lots of new challenges – evasive creatures immune to slow weapons, creatures that you need to force into a dead end before you can kill it, etc.

Instead of implementing separate function for each event (onDetectParty, onAttacked, etc.) you could define one function with the first parameter being event name. That would be more extensible as modders could generate their own events, e.g. "warscream" event. The party yelling a war cry and weak monsters could panic and flee while ogres could go into a rage and charge.

That's just an example. Instead of trying to implement it directly, think how you could adapt your engine, so the modders could implement something like this.

Re: DarkDale: Betrayal

Posted: Tue Jul 23, 2013 4:04 pm
by Diarmuid
Hi Thomson, thanks for the comments!

(By the way, there are a few comments on the blog too here and there, just not that much yet. I'll copy this answer over there as well, for others to read, but we can continue the discussion here. I'll open forums over there anyway some day.)

I was thinking attacks to be instantaneous, and the "evasiveness" to be handled by the toHit rolls which are basically char accuracy vs creature evasion. Faster creatures will have higher evasion ratings. Slower weapons, such as large hammers, will have lower accuracy bonuses. A quick dagger will have a higher accuracy. Two handed weapons have accuracy penalties (slower) which get progressively removed as you level your skill. The delayed attack idea is interesting, but I'm not sure if it wouldn't complicate things a bit too much (there's cooldown already also which distinguishes fast from slow attacks). Also I'm not sure how to properly provide visual interaction as you don't see the char's weapons that the monsters can dodge...

As for events, definitely, that's a good idea. As with behaviors, I will provide some predefined ones, and allow custom ones as well.

Because of the coding structure of the game, I cannot however put everything in lua, as the game is written in C# with lua accessible through a wrapper. For that reason, performance intensive calculations that need to be very optimized, such as pathFinding or line of sight algorithms (and the associated actions or events) have to be done in native code and provided as is.

But I'll think of how I could implement a generic event system accessible from lua scripts.

Re: DarkDale: Betrayal

Posted: Tue Jul 23, 2013 7:09 pm
by thomson
Diarmuid wrote:as the game is written in C# with lua accessible through a wrapper.
What??? And how are you planning to run it on Mac OS or Linux? Come on, C# is not portable. Act like a grown up and use C++ ;-) With boost, you get almost the same level of garbage collection as in C++.

John Woodsworth mentioned that he plans to reimplement GMT in C++ (it is written in C#). Ask him about the reasons, but his response will likely be the same - portability.

Yes, evasion based on probability will work. But you still can consider onAttackEvent, so the monster could jump sideways. You may pass a flag if the monster was hit or not. Or perhaps do onHit and onMiss. It would be funny if the monster laughs at you if you miss or insults you if you hit :)

Re: DarkDale: Betrayal

Posted: Tue Jul 23, 2013 7:19 pm
by Diarmuid
thomson wrote:What??? And how are you planning to run it on Mac OS or Linux? Come on, C# is not portable. Act like a grown up and use C++
Relax... I'm using the Unity3D engine to build it, so I don't have much choice about the programming language. As it's portable, there will be Mac & Linux versions as well, of course.

Act like a grown up, please calm. Hey, I'm not a professional coder and I cannot build a whole engine by myself. It's already enough to do all the programming, design, writing, modeling, animation, music... all alone when 6 months ago I didn't know how to do the three quarters of all that, I never would have been able to get where I am without a great tool such as Unity.

Re: DarkDale: Betrayal

Posted: Tue Jul 23, 2013 8:05 pm
by thomson
Hey, my comment about being grown up was intended as a joke. It was accompanied with a smiley. Please don't take it seriously. I'm sorry if you got offended. It was not my intention.

I can barely imagine how much work it requires to build such a game and I wrote a lot of code in my life. Obviously, your approach to use existing engine is a proper one.

BTW I just checked - Unity uses open source Mono implementation for C#, so it is portable. I withdraw all my comments about lack of portability.

So how many people are working on this Darkdale? Neikun mentioned that he helps as a tester. How about actual developers?

I'm quite impressed by the pace of developement. Especially the progress you made since the last update, which was barely a month ago. What is really important is that you already passed a stage where most projects fail. You already have something that can be showcased. It doesn't seem playable yet, but it is mature enough to have more people interested in. That's a very good sign.

Re: DarkDale: Betrayal

Posted: Tue Jul 23, 2013 9:03 pm
by Diarmuid
Don't worry, I'm not offended... :)

Neikun's been helping with brainstorming on mechanics/skills/classes & such, and by testing builds from time to time. John Wordsworth & Xanathar are also giving me programming tips when I'm stuck with something in code, JohnW having also tested a build.

Apart from that, I am developping it entirely alone, and I've been working on it since february approx., and full time for the last 4-5 weeks.

Re: DarkDale: Betrayal

Posted: Tue Jul 23, 2013 10:03 pm
by thomson
Diarmuid wrote:and I've been working on it since february approx., and full time for the last 4-5 weeks.
Yup. The progress you made in the last month looked like a full time job.

Re: DarkDale: Betrayal

Posted: Thu Jul 25, 2013 9:14 pm
by germanny
Diarmuid wrote:Apart from that, I am developping it entirely alone..
Hey Diarmuid, this is unbelievable! And you´ve done very much and good (what is seen so far) since the beginning.
You do what i tried to do few times - to build up a dm like game with outer world to explore.
Ended because of different goals of the involved members. But the concept was great!
Wish you a hard will and dont give up! But alone.. you will need help in content creation at a point.