World of Wesnoth (MMORPG add-on project)

Discussion of all aspects of multiplayer development: unit balancing, map development, server development, and so forth.

Moderator: Forum Moderators

Post Reply
alex23
Posts: 179
Joined: October 27th, 2012, 5:54 pm

Re: World of Wesnoth (MMORPG add-on project)

Post by alex23 »

although i cant write lua its usually not that difficult to understand and find possible mistakes(usually). I like the idea of lua as it would really decrease the loading times.. just one last questioon: How are you going to prevent the usage of ebugmode?
User avatar
Xudo
Posts: 563
Joined: April 3rd, 2009, 5:26 pm

Re: World of Wesnoth (MMORPG add-on project)

Post by Xudo »

How are you going to prevent the usage of ebugmode?
Store two states of character: current and previous. In addition - record transactions with gamestate and store them too.

Strategy against debug mode:
On each character save, we should try to extrapolate new state from last saved using recorded transactions. If we get new state, then save character, in else case - abort saving.

Strategy against editing persistent variables:
On each character load we should extrapolate previous state. If we get current state, then everything OK In else case - mark this character as cheater, and do not save state in the end of scenario.

"Cheater" state might be saved in unit variables. As far as I know, it is impossible to edit them with debug mode directly.

One big flaw of any defense is loss of speed.

Question:
How wesnoth ladder prevents use of debug mode?
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: World of Wesnoth (MMORPG add-on project)

Post by Dugi »

About lua, I know a very little of it too, but it would work with the same things as WML, and therfore it should not be a big trouble.
For the things I named data files, they would be written in lua, but they should be repetitive enough for everyone to understand, and I shall write a quick guide.

About debug mode, it is not the most powerful thing if you are doing something more than an absolutely average campaign. All it would allow you is to see through shroud and fog (this can be done even in networked multiplayer without causing OoS errors anyway, and it requires only a very few WML knowledge), heal your units, damage enemies, create some mercenaries, get some experience, but you would have to cheat really a lot in order to really achieve something. It would be much easier to modify the enemies at the beginning to have level 1000 and give you tons of exp, or change area settings to get more items, and then to revert it in order to avoid OoS errors.
Various checks would possibly cause false positives, and avoiding that is highly needed (in Neverwinter Nights 2, it simply could not allow my Sorcerer advance to Favoured Soul, because it thought the resulting combination of stats was impossible and therefore I cheated, so I do not want to see this here).

@Heindal I have looked at your work. I have noticed quite a serious problem with the custom terrains - they were breaking the rule about custom terrains, the names of custom terrains must start with Y or Z to avoid clashes with possibly further versions of mainline stuff. You might need to use Find in Files, a function of Notepad++, to replace them globally.
Some interior locations are too large in my opinion.
We have discussed that the first enemies should be orcs and not undead, because orcs are easier enemies. If there were only soulless and walking corpses, it would be fine, but skeletons would be too hard for low level characters, especially bowmen. I am not sure with this, but also if the units on the recall list have the same usage (usage=fighter) and their level differs, the boss will recruit only the one with higher level, unless he is short of money.
Additionally, Walking Corpses and Soulless have a lot of variations and that causes lag. We might want to make some special walking corpses that have no variations, that are simply always humanoid (or some other shape). If this is not important enough, you might want to use the RECRUIT_UNITS_VARIATIONS macro to get them move varied (a good example is in HttT - Muff Malal's Peninsula).
The sides were not configured well (for a multiplayer scenario), see the wiki about sides.
From the other hand, I must tell you have worked on things I would never care about.
Last edited by Dugi on December 3rd, 2012, 1:17 pm, edited 2 times in total.
alex23
Posts: 179
Joined: October 27th, 2012, 5:54 pm

Re: World of Wesnoth (MMORPG add-on project)

Post by alex23 »

is there no possibility to disallow debug mode?
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: World of Wesnoth (MMORPG add-on project)

Post by Dugi »

Unfortunately, no. And making a system to track all changes would slow it down too much, but I said that with opening its files and editing petty things, you would be able to achieve much greater things than possibly with debug mode. Debug mode is practically useless to debug this, maybe just to help you to defeat the enemy. Nothing ground breaking. And useful for cheaters to get experience.
User avatar
Alarantalara
Art Contributor
Posts: 786
Joined: April 23rd, 2010, 8:17 pm
Location: Canada

Re: World of Wesnoth (MMORPG add-on project)

Post by Alarantalara »

Dugi wrote: @Heindal I have looked at your work. I have noticed quite a serious problem with the custom terrains - they were breaking the rule about custom terrains, the names of custom terrains must start with Y or Z to avoid clashes with possibly further versions of mainline stuff. You might need to use Find in Files, a function of Notepad++, to replace them globally.
This is not a rule about custom terrain. They should contain the letters Y, Z, y, or z, but they do NOT need to start with one of those letters. In fact, many mainline abilities assume that a terrain starts with a specific letter and the custom terrain will therefore not work with that ability. For instance, any terrain that should behave like a forest for ambushing must include an overlay starting with ^F.
User avatar
Heindal
Posts: 1357
Joined: August 11th, 2011, 9:25 pm
Location: Germany, Karlsruhe
Contact:

Re: World of Wesnoth (MMORPG add-on project)

Post by Heindal »

Thanks Alarantalara and dugi, I will keep that in mind.

Its not the big deal, as I can change the one map for our MMORPG. Unfortunately I just made a urban style terrain (with streets, computers, tanks) and created several maps for a scifi campaign. I will have to change each manually now or create them right again. I will have to redo all maps, thats no fun.

An Idea about stances: instead of stance as a unique feature we can realize it like a buff or spell - I think you already made that proposal.


And by the way - its just a scribble dugi, we can change everything about that.
The future belongs to those, who believe in the beauty of their dreams.
Developer of: Trapped, Five Fates, Strange Legacy, Epical, UR Epic Era
Dungeonmasters of Wesnoth, Wild Peasants vs Devouring Corpses, Dwarf Dwarfson Dwarvenminer
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: World of Wesnoth (MMORPG add-on project)

Post by Dugi »

Use Notepad++ and its function to Find in Files to replace them globally - shouldn't be much work, just replacing some strings with others.

I have done a few tries with lua, actually my attempts to make a custom window for character creation are quite problematic, I even got something working, but graphically awkward. Anyway, I think that it might be possible to make all interface stuff in lua so that you would just have several wml tags to handle all of this, making save files really small and making it lightning fast.

I am still struggling with unfamiliarity with lua, but I will get over it, just as I did with WML. In addition, I know what to learn. I'll post the stuff once I get to it and figure more things out.
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: World of Wesnoth (MMORPG add-on project)

Post by Dugi »

Pfff. I have made the first working thing in lua. The interactive character creation window. It still has some graphical glitches, but it can be used and it looks as it should with proper circumstances.
Image
Feedback is welcome.
alex23
Posts: 179
Joined: October 27th, 2012, 5:54 pm

Re: World of Wesnoth (MMORPG add-on project)

Post by alex23 »

looks GREAT, but shouldnt be the fairie thing be an upgrade and not the female variant?
ah and could you upload the code? I want to look at it to understand how to create windows in lua:)
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: World of Wesnoth (MMORPG add-on project)

Post by Dugi »

That is merely a symbol, unrelated to the game. As I said, units and animations will be assembled from body, armour, head, shield, ...
alex23
Posts: 179
Joined: October 27th, 2012, 5:54 pm

Re: World of Wesnoth (MMORPG add-on project)

Post by alex23 »

ah ok, but still please upload the current lua code or send it per message
thanks

EDIT: You might need a place for a short description of race and maybe a little more room for the class description
And as we might add more races, maybe make male/female only a choose icon..( I dont know how its called in english, but I hope you know what I mean)
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: World of Wesnoth (MMORPG add-on project)

Post by Dugi »

Here it is. I had to modify quite a few files in the things Heindal wrote to launch it, most of it will be put into macros later, but now, when testing, it's enough. But as I said before, it is just a nice piece of menu, it does nothing after asking you the stuff. And it glitches graphically, it is just pretty to look at.
MMORPG.zip
(792.43 KiB) Downloaded 728 times
You might need a place for a short description of race and maybe a little more room for the class description
I have issues with this because of the graphic glitches I haven't resolved. I'll fix it as soon as somebody tells me what should I do. Attributes of races are shown there, btw.
And as we might add more races, maybe make male/female only a choose icon..( I dont know how its called in english, but I hope you know what I mean)
You mean hermaphrodites? That shouldn't be a problem, the length of lists can vary, it might be done even so that if you hit the hermaphrodite race, you'll see only hermaphrodite instead of the two genders.
alex23
Posts: 179
Joined: October 27th, 2012, 5:54 pm

Re: World of Wesnoth (MMORPG add-on project)

Post by alex23 »

Thanks, It reminds me alittle of the html syntax (the tabel thing)

A few "mistakes"
Barbarian the the mighest melee warrior, with almost all abilities related to melee combat. Barbarians can withstand incredible damages and defeat many enemies with brute force. The only magic a Barbarian knows are a few shamanic spells.
"Necromancer is a specialist on raising undead minions and crippling enemies with various curses and poisons, with a skeletal figure affecting reistances. Necromancers are specialist spellcasters, and generally weak in melee combat.
maybe mention that they are superb summoners who can overwhelm their enemies by a mass of undeads or something like that

Code: Select all

			if preshow_gender_selected == 2 and preshow_name == "Annihilator" then
				wesnoth.set_dialog_value("Annihilatrix", "gui_name")
			end
			if preshow_gender_selected == 1 and preshow_name == "Annihilatrix" then
				wesnoth.set_dialog_value("Annihilator", "gui_name")
			end
that works only with the name Annihilator right?
Idk if thats useful because its work that isnt that important as people can vary the name by themselves
Last edited by alex23 on December 4th, 2012, 10:39 pm, edited 2 times in total.
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: World of Wesnoth (MMORPG add-on project)

Post by Dugi »

Corrected them in my scribble. You may reformulate the descriptions, it was just something I wrote quickly.

EDITS: Because you edited your post above this.
that works only with the name Annihilator right?
Idk if thats useful because its work that isnt that important as people can vary the name by themselves
Annihilator is the default name, and that part of the code changes it to Annihilatrix (attempt to create a female form of that word) if the gender is changed and vice versa.
Idk why but often you cant read the whole word
I am aware of that problem, but I don't know what is the cause. You must understand that I started working with lua only yesterday.
Last edited by Dugi on December 4th, 2012, 10:40 pm, edited 1 time in total.
Post Reply