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
Mabuse
Posts: 2239
Joined: November 6th, 2007, 1:38 pm

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

Post by Mabuse »

Heindal wrote:@Mabuse I know it is a [censored] of work, thats why I reuse as much as I can and my mapdesign can be done in one day of work (which can be several real life days, concerning corrections and enhancements, sometimes I have a rush and I can pull off big maps in several hours).
well, whatever you say - but in case of the example scenario i must add that i personally think that the map could need some more work.
Heindal wrote: If you like you can send me some of your maps
what i can offer is something like a conversion of (some of) these maps (2nd post of the thread).
http://forums.wesnoth.org/viewtopic.php?f=15&t=36165


of course the gameplay will be adapted. there will be also moving enemies and stuff.

so not only maps but fully developed scenarios with custom terrain and custom enemies.
each map is basicaly a day-long adventure

with balance i mean the balance in-game, not if the map is balanced, but the strengh of the enemies - in relation to the strengh of the players, and how all the stuff plays out

you might also be interested in my own development of a dungeon generator, which works puzzle based. It is still at its very beginning, but it works and still can be improved.
btw, that sounds interesting - i remember wesband also used someting like this.
if you dont mind i would liek to take a look at it.
The best bet is your own, good Taste.
User avatar
Heindal
Posts: 1344
Joined: August 11th, 2011, 9:25 pm
Location: Germany, Karlsruhe
Contact:

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

Post by Heindal »

@dugi Well, now you force me to answer, so I added the new version in this post.
Dugi wrote:Maps done for 1.11.4 can't be used on 1.10 afaik, so we will need to figure out a way how to transfer it.
Its quite easy: you load the scenario with that map, you will than get an error message and you will just need to replace the one or two tiles with a search & replace function. Worked fine for Five Fates and Strange Legacy.

I mean they changed the map of Wesnoth in 11.4 - just have look at it:
http://www.cartographersguild.com/attac ... s-httt.jpg.

My ingame map of the worldmap is based on the old map in 1.10. I don't know if they will keep the changes, after all the dwarves are located at the Ford of Abez, where the hell are the orcs than?
I have no idea how are you interacting with the inventory. Not telling that it can't be done without lua, but it is uneasy. I think that you're making some kind of secondary inventory, that is incompatible with the existing one. Mine was not intended to any hold potions (but it can be edited to hold them), and I did not plan to have potions there, when characters heal whenever outside combat and all characters have healing skills. Regarding shops, I would like to code it myself, you must agree that you tend to use too many macros that increase the bloat and it would slow down all multiplayer, not just this. My over 100 kilobytes of lua code are loaded in a fraction of second, I can tell that because it is reloaded whenever you load a save game (that does not contain lua). Actually, I don't understand at all what are these party items, I have a feeling that it is something we haven't discussed yet and should discuss.
You are right, just have a look at them and see how they work. They are very simple in use and I just wanted to throw the idea into discussion. I simply added a helpmenu option in global events, which is not interferring with your code. I know that is your "battlefield", but we need some kind of questlog which is available under partyitems as well. I entered comments at the beginning and at the end, so if you don't like it, just delete it.

The idea is that the players can buy objects and that the entire party can use. One could argue that the healingscroll is overpowered, but it costs gold and a priest can do the same for free and by changing the prices for a healscroll you are able to keep the balance. The shop is the same technique as in colosseum.

BTW: The low performance of strange legacy is not based on the shops it is based on the inventory. Instead of using a function for equipping a weapon, armor and whatever I used a macro. Thus means with over 200 pieces of equipment the inventory is just takes to much space, the concept however worked fine when the addon was smaller.
Attachments
World_of_Wesnoth.zip
(2.79 MiB) Downloaded 191 times
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 »

Its quite easy: you load the scenario with that map, you will than get an error message and you will just need to replace the one or two tiles with a search & replace function. Worked fine for Five Fates and Strange Legacy.
Can? I thought the file format is completely different. It was completely different and incompatible on some version of 1.11.0-.
I mean they changed the map of Wesnoth in 11.4 - just have look at it:
If it affects your map, let it be, it will take long till 1.12 will be released.
My ingame map of the worldmap is based on the old map in 1.10. I don't know if they will keep the changes, after all the dwarves are located at the Ford of Abez, where the hell are the orcs than?
No idea, orcs are everywhere far enough from human settlements.
You are right, just have a look at them and see how they work. They are very simple in use and I just wanted to throw the idea into discussion.
...
Ah.
I don't know how good it will be. In short journeys, you will have enough of these items, but you will be unable to leave for a long journey if you are used to use them. It would also decrease the importance of healing skills. Another problem is that the amount of gold you receive should naturally increase, in order to make better items more expensive in shops, and that would inevitably make these helpful items extremely cheap.
In colosseum, it is required because there are no real healing skills and death is permanent.
Path of Exile nicely overcame this problem by making potions refill themselves after a fixed number of kills (units stronger than average for that area refill it more).
The low performance of strange legacy is not based on the shops it is based on the inventory. Instead of using a function for equipping a weapon, armor and whatever I used a macro. Thus means with over 200 pieces of equipment the inventory is just takes to much space, the concept however worked fine when the addon was smaller.
Yeah, but I assumed that you would need to make some kind of inventory to access it. I have done the inventory by putting all the items into a variable and then a cycle that reads through them and generates some kind of message. It is slightly more heavy on operations, but way more effective at size (especially needed as the system here can already generate like 10000 items if played areas of sufficent level). I have done it in your way as well, but I was frustrated by endless loading times (and knew the truth behind macros because I wanted to study the guts of the game by reading through save files) much more and rewrote it, and I don't want to fall into the same pit again.
User avatar
Heindal
Posts: 1344
Joined: August 11th, 2011, 9:25 pm
Location: Germany, Karlsruhe
Contact:

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

Post by Heindal »

What do you think about party items and consumables at its very basic? Even though in Path of Exile you can get different kind of flasks with different abilities and there are more than consumables with wisdomscrolls, portalscrolls and well most obviously orbs.

I like my portalscroll and the teleportscroll (even though ist just some kind of massive phasedoor transport) and they are super for testing stuff.

We can get rid of the healingscroll (or reduce the effect to a special ammount of hitpoints lets say 10-15) or increase the prices with character level. I'm quite sure you will make some kind of supreme armor and equipment store, where player will be forced to pay high ammount of gold to get their wanted rare item. So a healer can save the partys gold and is still an attractive character if he for example has a special anti undead spell.

The idea of consumables is to allow parties without healers to make a living somehow and allows alternative ways of party development. For example a Party that consists of only meleefighters. I used to play old rpgs, where it of cause had some advantages to have a magy or cleric in the party, but you did not had to have one to survive.

If you dont like the concept, please let the questlog where it is. We will need something like this, but maybe you know a way to code it more performant.
Hope you all like the worldmap.
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 »

What do you think about party items and consumables at its very basic? Even though in Path of Exile you can get different kind of flasks with different abilities and there are more than consumables with wisdomscrolls, portalscrolls and well most obviously orbs.
I find them relatively annoying. In all games I played I strived to have a character that could do without them. In Neverwinter Nights, I always cared to have a character with regeneration, life steal, or healing spells. In NWN2, I made a character that was good at offence, but was also a powerful healer. In Skyrim, I always healed myself with spells and used potions only sometimes and only in desperate situations. In Diablo II, I always prefered my necromancer who had an item that healed him when he killed something, and the potion management was bothering me with other characters. This is why I really liked the automatically refilled potions in Path of Exile (and also added a nice mechanic of enchanted potion flasks). Wisdom scrolls and portal scrolls weren't related to combat, and there was also a skill that opened portals to town. I found the need to identify items rather as a nuisance. The orbs served there as crafting and currency items.
I like my portalscroll and the teleportscroll (even though ist just some kind of massive phasedoor transport) and they are super for testing stuff.
Not telling that portal scrolls should not be here, I think that these ones would be great here. But their cost would it be a problem, make it cheap and it will be free for high-levels, make it expensive and it would be unavailable or not worth the gold for low levels, make the cost depend on level and high-levels will have to ask low-levels to buy them for them. Maybe they should be found-only...
The idea of consumables is to allow parties without healers to make a living somehow and allows alternative ways of party development.
Every party will try to be powerful and will not include healers, and will be constantly annoyed by this. That is why I gave all characters skills that will let them heal themselves and also made characters heal between fights (or when not fighting, to be more exact).
Hope you all like the worldmap.
I do. But I think that it will need some progressive updates to suit particular sublocations better, though I guess you think so too.
Oezi
Posts: 21
Joined: April 13th, 2013, 1:17 pm

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

Post by Oezi »

About the potions scrolls etc- Why not let the price of those teleport scrolls depend on the map you play and only be accebible there.
1) You could make them disappear after you finish a scenario OR you make different ones for each scenario?(i dont know which of that would be easier to code).
2) ABout Potions: Auto-refilling potions are a good idea, OR you make a few types of potions like 10 hp - 20 hp etc and a character can carry maximum one potion per 5 lvls so that highlvls dont buy 10000 cheap 10 hp potions.. Then you the price balancing would be easy (as f.e. make the 10 hp potion cost 10 gold the 20 hp potion 100 gold and the 40 hp potion 1k) and people would still need to buy the 40hp on high lvl as they would probably need as many as possible (many games make it like that)
3) Difficulty etc isnt important yet in my opinion one can make it more/less easy by equiping more/less weapons and play with more/less chars
4) Unlimited movement will be difficult as f.e. the first player will move 100 steps to a teleport and tzhen start a fight and the rest will need ages to get there
5) Heindal thx for adding the autoteleport that was probably the most important thing i noticed
6) Idk if orbs and stuff would be neccesary - this rpg probably wont have jobs? and real crafting.. i think some "gems" for improving weapons would be cool but thats all for later as now its simply useless work
7) a placeholder would be nice.. I looked through this topic and saw that you already made a few placeholders? why not use them?
User avatar
Heindal
Posts: 1344
Joined: August 11th, 2011, 9:25 pm
Location: Germany, Karlsruhe
Contact:

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

Post by Heindal »

@dugi

I accept your point of view. We can get rid off the healing items than. But as heroes heal over time, there is no real need for a healer either, except he could heal some negative stats (I now realize that I have to test all classes and read through their abilities). I really recomment to give healer some kind of spell, that does extra damage to undeads, spirits and demons.


@Oezi

1. Maybe this is an idea, but I also like dugis idea of finding them. So far there hasn't been a way to use gold, and as I saw an easy way to embedd that I just did. But on the other hand, one could set the prices globally for each map. This is very easy coded, so People who play over several scenarios keep there items.
2. Well I don't think that autorefilling potions will come, as the characters heal themselves after a while (autorefilling heroes so to speak). This should be enough, even though its also time consuming and can become annoying too, as the whole party has to rest!
3. True, but at least a little challenge ^^.
4. One could make the others following the moving hero and than autoend and switch to the next side, or that the active player is "leader" of the party.
5. Realising the teleport was harder than I thought, because side=1,2,3,4,5 just randomly teleported a single character and neither [and] nor side=1 return side=2 ... worked for that. I think the questlog and Mission Labels are as important. And of course the fully playable worldmap :D.
6. Orbs? Maybe in a distant future ^^.
7. I'd tried to change the hero unit, but it had no efffect ^^. The character creation is dugis Baby, so I don't wanted to look deeper into it, nor change it.
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 »

In longer fights, healing will be needed. Some areas should have spawning enemies and in that case, healing will be needed if fleeing from combat will not be an option. Areas like this would ruin all your potion stocks quickly.
An idea about the scrolls might be so that the price will be derived from the overall quest progression, or average character level.
Regarding graphics - it is right that there are so many scripts around the characters (without any documentation) that it is hard to edit things in my domain. I am quite busy lately (bachelor exams near), so I just visit the forums and do little else.
Mabuse
Posts: 2239
Joined: November 6th, 2007, 1:38 pm

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

Post by Mabuse »

Oezi wrote: 4) Unlimited movement will be difficult as f.e. the first player will move 100 steps to a teleport and tzhen start a fight and the rest will need ages to get there
no.

Unlimited movement works like this (or better said COULD work):
you get your moves restocked until an enemy is within a certain radius around you.
once PLAYER 1 gets near an enemy, he doesnt get his moves restocked.

PLAYER2 and more can still reach him, because they get their moves restocked until they are near an enemy too. (and, considering they follow the tracks of our P1 friend, that wont be until they are near p1 -.. of course nobody can keep them from moving to a complete different location)
The best bet is your own, good Taste.
Oezi
Posts: 21
Joined: April 13th, 2013, 1:17 pm

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

Post by Oezi »

Unlimited movement works like this (or better said COULD work):
you get your moves restocked until an enemy is within a certain radius around you.
once PLAYER 1 gets near an enemy, he doesnt get his moves restocked.

PLAYER2 and more can still reach him, because they get their moves restocked until they are near an enemy too. (and, considering they follow the tracks of our P1 friend, that wont be until they are near p1 -.. of course nobody can keep them from moving to a complete different location)
hmm but if player one reaches an enemy and player 2 can still move it means that the unlimited movement points depend on each character for itself? If yes this should be implemented for healing in my opinion


@Heindal
But as heroes heal over time, there is no real need for a healer either, except he could heal some negative stats (I now realize that I have to test all classes and read through their abilities). I really recomment to give healer some kind of spell, that does extra damage to undeads, spirits and demons.
Healers heal themself AND they heal during a battle which is extremely useful
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 »

Hey. I am back.

I have worked on this add-on all the time I was away, and I have done a lot of progress. In fact, more than I expected to do, but I was offline, and I could not do many other things and I didn't feel like playing Skyrim.

I can proudly tell that now, my part of the code is close to be complete, all major features are coded, except adding some smaller details, fixing bugs, and maybe coding some expansions. It seriously needs more scenarios now.

Things I have done:
-coded all skills (this was quite a pain, because it's easy, repetitive and therefore boring, so there might be numerous bugs)
-characters have graphics now, however, absolutely no animations, because drawing it all would take me too much time, and I am not an expert on it (the things I have made aren't very good neither)
-spells have missile and explosion animations now (technically converting Heindal's code to lua and drawing some effects)
-all item properties neglected as unimportant before should be working
-bosses (units who have the yellow leader crown) have a chance to drop unique items now, I haven't created many of them (about 4 per item type, but I guess that voluntaries for this might be easy to find)
-added item shops, where items can be sold and bought for gold (they are technically terrain types)
-gold is exported with the character, so each character has his gold (this breaks compatibility with previously exported characters, but it can be fixed, see bellow)
-higher level characters get more attacks per turn now (fighters get more)
-items can be dropped from the inventory on the ground
-networked multiplayer should work without fatal non-stop OoS (but I could not test it)
-documented the lua code with notes what does what and a short readme about new WML tags
-racial skills now work (elves and orcs have some)
-fixed a lot of bugs (surely created much more, though)

The quantity of changes is quite likely to break all save file compatibility, it will load, but WML and lua error will happen a lot (since updated lua will run with outdated WML), so I recommend to start scenarios from the beginning.
Exported characters will seem to have 0 experience, but will get strangely large amounts of gold. To fix this, look into 1.10/persist/various_world_of_wesnoth.cfg and add a million to every number larger than 3 millions (so all numbers like 3003204 should be changed to 4003204). You can use debug mode to fix it too. They will also get some default graphics instead of the actual ones.

I have also meddled into Heindal's code, adding some comments and fixing the problem that teleporting whole sides didn't work well with summons (and also shortened that chunk of code slightly).

I have also committed it, but as nobody gives a damn...
World_of_Wesnoth.rar
(4.52 MiB) Downloaded 302 times
A screenshot of the visible things.
Image
User avatar
Heindal
Posts: 1344
Joined: August 11th, 2011, 9:25 pm
Location: Germany, Karlsruhe
Contact:

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

Post by Heindal »

This sounds awesome! I hope you had a good offline time!

I'll test it this evening, after my work for the day is done. After that we should discuss the future development, especially concerning the storyline.
And will find somebody for the animations ^^.
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
Heindal
Posts: 1344
Joined: August 11th, 2011, 9:25 pm
Location: Germany, Karlsruhe
Contact:

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

Post by Heindal »

Hello dugi,

I just played the campaign with a single hero (yes its possible, if you know how).
Played as orcish barbarian:

- saving and reloading worked fine, I never had any problems with that
- its impressive what you have created and coded there - i've have not seen anything compareable to this
--> I was very impressed that the weapons you equip actually show and the hero images look very nice. The inventory images should be aligned in columns.

Now lets talk about the bugs:

- Blacksmith: the smith search missions doesn't seem to work? Have you changed them?
--> I just stepped three times on the same spot and the smith teleported to the tavern has the wrong resulting in attacking the cleric
- final dialogue seems to be broken, also the necromancer should be able to recruit good units: which is done in the search Mission
- when leaving the village map you can not enter the last mission, it says that it can't load a unit with an empty type field
- once import hero is selected, it seems that you can't go back
- I tested the campaign on a online server and received the following message: This server does not support games with more than 9 sides. Game aborted.
--> we need to get rid of the 10th side (the npcs, maybe we can reduce the number of hostile npcs)
- when having more exp than the maxexp the ai won't attack
- Labels and lua Errors overlay the inventory and other menues
- some of the shop items don't show the statuschanges
- the one and only lua message I received was: lua utils lua 855 bad Argument #1 to 'put unit' (WML table expected, got table)


Regards

Heindal
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 »

I haven't done anything regarding the collecting and I remember that it worked when I was trying it. I haven't touched the scenario at all, the only code I changed in your files was the TELEPORTHEROES macro, improving and shortening it. I have also seen the blacksmith attacking the priest, but I think it was a problem in your code.
once import hero is selected, it seems that you can't go back
This is possible, I used [character_creation] with cannot_go_back=yes, so I think that I should change the meaning of the cannot_go_back argument, it was intended to prevent the player from cancelling it and starting the game with a normal unit, that would instantly start throwing errors.
The inventory images should be aligned in columns.
I know, but the appearance of the GUI windows is somewhat out of my hands. And only a very few people know to use it. I might ask Vultraz about it.
when leaving the village map you can not enter the last mission, it says that it can't load a unit with an empty type field
This is rather a WML problem. I suggest to store all units in a victory event and unstore them in prestart.
I tested the campaign on a online server and received the following message: This server does not support games with more than 9 sides. Game aborted.
--> we need to get rid of the 10th side (the npcs, maybe we can reduce the number of hostile npcs)
I was reported a similar problem with LotI recently, I think that nothing can be done with it, we have to get rid of the tenth side. This limitation sucks. The enemy sides I made were just to quickly populate the level with monsters, it wasn't meant to be something final. I think that it might be time to discuss the creation of a WML tag to create them, what do you suggest about its usage? I think that it would require a number of enemies (and possible random change in it), what kinds of monsters would be randomly generated, and where.
when having more exp than the maxexp the ai won't attack
Didn't realise. This won't be easy. I think that experience might be stored somewhere outside the usual space for experience, and moved there each turn. The experience display on the panel is useless anyway, it fails to show the experience if the unit has tens of thousands of it.
Labels and lua Errors overlay the inventory and other menues
I have seen this, but I have no idea what to do with it.
some of the shop items don't show the statuschanges
Statuschanges? What?
the one and only lua message I received was: lua utils lua 855 bad Argument #1 to 'put unit' (WML table expected, got table)
This has something to do with wrong format resulting from mana calculations, so I believe that it appeared at the start of a turn. However, it's still too unspecific, when it happens so rarely. What were the conditions? Do you have a save file where it can be reproduced around?
User avatar
Heindal
Posts: 1344
Joined: August 11th, 2011, 9:25 pm
Location: Germany, Karlsruhe
Contact:

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

Post by Heindal »

I haven't done anything regarding the collecting and I remember that it worked when I was trying it. I haven't touched the scenario at all, the only code I changed in your files was the TELEPORTHEROES macro, improving and shortening it. I have also seen the blacksmith attacking the priest, but I think it was a problem in your code.
Than it is my bad and I have to work out these bugs. I was shocked, as I was certain that these problems were solved. I was also able to get to the next level in my last test :(. Maybe I could not enter the worldmap as their as I played alone.
when having more exp than the maxexp the ai won't attack
Didn't realise. This won't be easy. I think that experience might be stored somewhere outside the usual space for experience, and moved there each turn. The experience display on the panel is useless anyway, it fails to show the experience if the unit has tens of thousands of it.
I just wanted to mention it. The ai behaves that way when a character or enemy unit is about to level up. It will be ignored, as the levelup can heal the unit. However with an Aggression of 1.0 this should not happen but it does :/. Maybe you could just save the levelup in a variable?

Labels and lua Errors overlay the inventory and other menues
I have seen this, but I have no idea what to do with it.

some of the shop items don't show the statuschanges
Statuschanges? What?
You might delete the labels when entering a menu and replacing it, after this is done. Or we just make activateable label for each scenario. As lua Errors should not show, we might as well ignore that ^^.

Statuschanges mean: defence: 8, 20% attack up and so on

the one and only lua message I received was: lua utils lua 855 bad Argument #1 to 'put unit' (WML table expected, got table)
This has something to do with wrong format resulting from mana calculations, so I believe that it appeared at the start of a turn. However, it's still too unspecific, when it happens so rarely. What were the conditions? Do you have a save file where it can be reproduced around?
I'm not quite sure. It started when the scarecrows attacked. It might has something to do with my special attack "trash" which triggers on defence. In the attached save game, it indeed shows when the turn starts.
Attachments
MMORPG_The_Village_(5_P)_Runde_386.gz
(140.69 KiB) Downloaded 209 times
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
Post Reply