Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are
spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the
password reset link.
Entire forum
➜ MUDs
➜ General
➜ Tiny MUD Server - version 2
Tiny MUD Server - version 2
|
Posting of new messages is disabled at present.
Refresh page
Pages: 1
2 3
4
5
6
7
8
Posted by
| David Haley
USA (3,881 posts) Bio
|
Date
| Reply #15 on Fri 10 Feb 2006 06:07 PM (UTC) |
Message
| What kind of help are you looking for, then? SMAUG has lots of examples of how you'd go about doing this kind of thing. There's going to be tons of work to do, but there's a big example right there. What are your specific issues? |
David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone
http://david.the-haleys.org | Top |
|
Posted by
| Nick Gammon
Australia (23,122 posts) Bio
Forum Administrator |
Date
| Reply #16 on Sat 11 Feb 2006 03:51 AM (UTC) |
Message
| Adding fighting and bots is no trivial task, but the basic idea is to use timers (which are already in the server) to periodically do things, like make the mobs move, or if they are fighting, do the next round of the fight.
You need to decide on what your fight rules are, what attributes affect fights (eg. health, mana, stamina, dexterity and so on), what spells you know, what attack method the player (and the mob) chooses, what happens when they attack (eg. does it miss) and so on. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Enderandrew
USA (37 posts) Bio
|
Date
| Reply #17 on Thu 16 Feb 2006 11:10 AM (UTC) Amended on Thu 16 Feb 2006 11:16 AM (UTC) by Enderandrew
|
Message
| If you're building from scratch, then take advantage of that.
Don't try to emulate what Smaug offers, but allow yourself to try new things that no other codebase offers.
I'd like to see more interactive and interesting combat.
Either do something like Operation Overkill, where the player's reflexes come into play (keeping the player tense/alert as opposed to falling asleep at the keyboard) or allow for some strategy.
For instance, creating a Rock/Paper/Scissors type combat system might spice things up.
There could be three different offensive and three different defensive positions or manuevers. A trumps B which trumps C which trumps A...
Or you could do something like...
Aggressive (+X power / -X defense)
Precise (+X to-hit / -X speed)
Defensive (+X defense / -X power)
Quick (+X speed / -X to-hit)
I'd also love to see a good implementation of ranged/melee combat. Again, I'll refer to the old Operation Overkill BBS/Door game.
When combat starts, you check for which parties are aware of each other. Is the PC suprised? Is the PC surprising the mob? Make stealth and awareness skills worthwhile here to everyone, not just rouges/thieves.
Next, determine range at which combat starts. Psuedo-code:
PC or mob enters room:
Make opposing skill checks
PCAware = PCAwareSkillCheck - MobStealthSkillCheck
MobAware = MobAwareSkillCheck - PCStealthSkillCheck
if ((PCAware || MobAware) > X)
range=1
enter combat
else move to closer range
endif
PCAware = PCAwareSkillCheck - MobStealthSkillCheck
MobAware = MobAwareSkillCheck - PCStealthSkillCheck
if ((PCAware || MobAware) > X)
range=0
enter combat
else ships passing in the night
endif
if (PCAware > MobAware) MobSurprised
elseif (MobAware > PCAware) PCSurprised
else random init-check
endif
You then have the options to change range status, which takes a turn. You either try to create distance, or close distance. At range, only ranged weapons work. In close proximity, ranged weapons take a significant penalty.
If you are in melee range, and you try to create distance, the other party takes a free swipe at you.
Possibly, if they succeed at hitting you, you fail to create distance.
Not HORRIBLY complex to code, but adds plenty of spice to MUD combat, which is often a snooze-fest.
The pain is to handle checks of various parties leaving and entering rooms. The above system is a simplification for a single player experience. How many players/mobs do you keep track of being aware of in an X-room vicinity?
You could only include parties in one room, which seems to be the simplest. Leaving a room while someone is engaged with you allows said party to take another free swipe. Once both parties are in the same room again, do you go straight to an init roll?
As far as attributes, I think most systems for equity should have:
Damage Governing Attribute
To-Hit Governing Attribute
Defense Governing Attribute
Soak/Con/HP Governing Attribute
(these 4 balance well against each other)
Speed/Init Governing Attribute
(balances directly against itself with an opponent)
Int/Chi/Mana Governing Attribute
Anyone can then choose to expand past there for skill-specific attributes, or multiple magic systems, whatever.
A person could add social attributes, mental health, willpower, genetalia size, whatever. The point is that combat is well balanced, and yet the system is expandable beyond that. |
"Nihilism makes me smile." | Top |
|
Posted by
| Nick Gammon
Australia (23,122 posts) Bio
Forum Administrator |
Date
| Reply #18 on Fri 17 Feb 2006 03:27 AM (UTC) |
Message
| Very interesting ideas. The ranged combat is a can of worms itself because of the problem of representing range in a text MUD, but it would be interesting to do things along the lines of what you described. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Nick Cash
USA (626 posts) Bio
|
Date
| Reply #19 on Fri 17 Feb 2006 07:40 AM (UTC) |
Message
| It will be interesting to tackle all of these issues in the near future. Luckily I have some open minded designers to help with everything.
Oh, this isn't really the place, but any news on BabbleMUD? The site says a release was scheduled for mid-2005, which obviously has passed. Of course real life often prevents work on such projects!
If you ever get a release out be sure to post about it, because I for one would take it for a test spin and quite possibly use it over what I'm running currently. |
~Nick Cash
http://www.nick-cash.com | Top |
|
Posted by
| David Haley
USA (3,881 posts) Bio
|
Date
| Reply #20 on Fri 17 Feb 2006 07:51 AM (UTC) |
Message
| We started writing code about three times and stopped every time because we hadn't hammered out the design and found ourselves charging in a direction without knowing exactly what that direction was. Not only that, but we all got very busy with that pesky real life stuff.
Now, we've stopped writing code and are laying out as precisely as we can the game design, and as we decide on game design, the code design. In theory, coding it up should be "relatively easy" once the design is all set. But everybody knows what tends to happen to "in theory" plans... :-) |
David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone
http://david.the-haleys.org | Top |
|
Posted by
| Enderandrew
USA (37 posts) Bio
|
Date
| Reply #21 on Fri 17 Feb 2006 01:03 PM (UTC) |
Message
| I neglected to mention the idea for "reflexes-based" combat.
It shouldn't completely replace stats, but it makes combat more interesting. Again, this was stolen from Operation Overkill.
When you take a swing, the game will tell you to hit the space bar on 3. Then it starts with a random number and starts outputting text fairly fast...
......11111......22222.....33
And then you hit space bar!
The closer you get, the bigger of a bonus you get to your skill check, and vice-versa. You could just replace the random element of the skill-check with this, and keep the stat based natural bonuses.
Some players may not care for "twitch-gameplay", but there are tons of muds out there with standard and simple combat. I say spice it up and do something different. It should keep players awake at the keyboard. |
"Nihilism makes me smile." | Top |
|
Posted by
| Zeno
USA (2,871 posts) Bio
|
Date
| Reply #22 on Fri 17 Feb 2006 01:49 PM (UTC) |
Message
| Except hitting the space bar won't do anything. You have to actually send it to the MUD, thus you'll have to hit enter (depending on client) to sent it. So it's really spacebar, then enter. Doesn't exactly work all that well.
Unless you design your own client to work on with MUD. |
Zeno McDohl,
Owner of Bleached InuYasha Galaxy
http://www.biyg.org | Top |
|
Posted by
| David Haley
USA (3,881 posts) Bio
|
Date
| Reply #23 on Fri 17 Feb 2006 03:08 PM (UTC) |
Message
| You could always just use empty lines instead of the space, though.
Although, I have to admit I'm not sure I like the idea of having to keep hitting the button. I mean, Diablo gets kind of tiring when you have to clickclickclickclickclickclickclickclickclickclickclickclick non-stop. :) |
David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone
http://david.the-haleys.org | Top |
|
Posted by
| Enderandrew
USA (37 posts) Bio
|
Date
| Reply #24 on Mon 20 Feb 2006 08:39 AM (UTC) |
Message
| Actually, the purpose of such a thing would be to make it exactly UNLIKE Diablo.
As it is, you can just hit Attack non-stop in most Muds. There is little to nothing to combat. Adding a variety of options, or reflex based combat would force the player to pay more attention to combat. It would add strategy, tension and enjoyment to combat.
With Diablo you simply mindlessly click.
Adding more player involvement is a good thing.
I'm seriously thinking that working from a new, fairly clean codebase is a good way to go as opposed to working with a bloated, buggy one.
A new codebase has great potential. I am fairly new to C and C++ however, and would love to see more of the "meat" tackled before I started with such a codebase. Honestly, instead of the ten-million forked derivatives we have, I'd love to see a new codebase emerge that applies all the various lessons we've learned over the years.
A new codebase should be fast, secure, streamlined, portable, etc.
C++ and Lua or MySQL really do seem to be the way to go. So this project has great potential.
In an ideal universe, I'd love to see a codebase support "modules". The core codebase can be updated then, where as forked codebases rarely are able to apply updates to the original code to their modified version.
If the server could accept scripted modules, you wouldn't have to recompile, or take the system offline.
The scripted modules could add skills, races, commands, events, etc.
The codebase just needs to create hooks where the scripted code would effectively be added in. Then people can drop in modules. The modules could be activated and deactivated on the fly from immortals/admins.
Such a server/codebase might revitalize the scene a good deal. I'd love to see it. |
"Nihilism makes me smile." | Top |
|
Posted by
| Enderandrew
USA (37 posts) Bio
|
Date
| Reply #25 on Mon 20 Feb 2006 08:43 AM (UTC) |
Message
| I'd also like to see all of the hard-coded text moved out of the source code for two reasons.
Let's say that there is code for currency. The code has a bank system with specific menus. The code refers to "gold" as the currency. If someone wants to make a sci-fi mud, they might alter the code and recompile. Again, we develop a fork in the code.
If all the text that appears in the game is moved out of the code to a seperate data file, then not only can we change the theme without altering the core code, but it allows for easy localization/translation without altering the code. |
"Nihilism makes me smile." | Top |
|
Posted by
| Enderandrew
USA (37 posts) Bio
|
Date
| Reply #27 on Tue 21 Feb 2006 05:29 AM (UTC) |
Message
| I am broke (with new kid) but will try to pick up the book when I can. |
"Nihilism makes me smile." | Top |
|
Posted by
| Enderandrew
USA (37 posts) Bio
|
Date
| Reply #28 on Tue 21 Feb 2006 07:20 AM (UTC) |
Message
| I also made suggestions here because I'm hoping that Nick wants to continue progress on this. If he is done and wants someone else wants to pick up and run with this, then so be it. If I were a better coder, then I'd love to. Right now I'm fixing up a feature-rich codebase, but if I felt more confident, I'd love to start with something like this and build it up.
My suggestions remain. I'd love to see Nick develop this into something that supportal modular scripts, externalized the text for localization, and added a new combat system. |
"Nihilism makes me smile." | Top |
|
Posted by
| David Haley
USA (3,881 posts) Bio
|
Date
| Reply #29 on Tue 21 Feb 2006 08:46 AM (UTC) |
Message
| We're already developing the BabbleMUD server. We're in the process of hammering out game design so that we can have a clear idea of where we're going with the code. But chances are, you'll see all this and more in our server.
For instance, we won't just have simple string localization: we'll have a whole grammar module so that localized output is actually done correctly.
You can check out babble.the-haleys.org for a small glimpse of what we're up to. Keep in mind though that that hasn't been updated for quite a while. |
David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone
http://david.the-haleys.org | Top |
|
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.
344,725 views.
This is page 2, subject is 8 pages long:
1
2 3
4
5
6
7
8
Posting of new messages is disabled at present.
Refresh page
top