Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - thiemo

Pages: [1]
1
Bug reports / My "Megaglest" does not appear to be in LAN
« on: 22 October 2017, 19:11:59 »
Hi all

I wanted to play a LAN game and found my client unable to connect to the providing client that I have been able on previous occasions.

I checked our IP addresses which where were perfectly fine in the 192.168.178.0/255 range.
I hosted myself a LAN game and found Megaglest show me 62.138.239.45 and 62.138.238.45 in the top line where as the top line showed the real ip address of its client.

I tried with removing the personal Megaglest config folder (.megaglest), I re-installed Megaglest and also rebooted - all to no avail.

My partner and I both use OpenSUSE Tumbleweed, however my installation is more uptodate. So, it might be, that this issue arises because of a system update. Hoever, I also debuglogged the network of Megaglest and found some strange things:
Code: [Select]
thiemo @ lenovo-tWeed ~/.megaglest % grep -RnF 62. debug.log                                                                                                                     17-10-22 20:44
395:[2017-10-22 20:27:30] In [/home/abuild/rpmbuild/BUILD/megaglest-3.13.0/source/shared_lib/sources/platform/posix/socket.cpp::getLocalIPAddressList Line: 691] myhostaddr = [62.138.239.45]
396:[2017-10-22 20:27:30] In [/home/abuild/rpmbuild/BUILD/megaglest-3.13.0/source/shared_lib/sources/platform/posix/socket.cpp::getLocalIPAddressList Line: 691] myhostaddr = [62.138.238.45]
1034:[2017-10-22 20:27:31] In [/home/abuild/rpmbuild/BUILD/megaglest-3.13.0/source/shared_lib/sources/platform/posix/socket.cpp::getLocalIPAddressList Line: 691] myhostaddr = [62.138.239.45]
1036:[2017-10-22 20:27:31] In [/home/abuild/rpmbuild/BUILD/megaglest-3.13.0/source/shared_lib/sources/platform/posix/socket.cpp::getLocalIPAddressList Line: 691] myhostaddr = [62.138.238.45]
1245:[2017-10-22 20:27:31] In [/home/abuild/rpmbuild/BUILD/megaglest-3.13.0/source/shared_lib/sources/platform/posix/socket.cpp::getNetworkInterfaceBroadcastAddress Line: 541] ifaAddrStr [127.0.0.1], maskAddrStr [255.0.0.0], dstAddrStr[127.0.0.1], ipAddress [62.138.239.45], broadCastAddress []
1247:[2017-10-22 20:27:31] In [/home/abuild/rpmbuild/BUILD/megaglest-3.13.0/source/shared_lib/sources/platform/posix/socket.cpp::getNetworkInterfaceBroadcastAddress Line: 541] ifaAddrStr [192.168.178.73], maskAddrStr [255.255.255.0], dstAddrStr[192.168.178.255], ipAddress [62.138.239.45], broadCastAddress []
1251:[2017-10-22 20:27:31] In [/home/abuild/rpmbuild/BUILD/megaglest-3.13.0/source/shared_lib/sources/platform/posix/socket.cpp::getNetworkInterfaceBroadcastAddress Line: 541] ifaAddrStr [127.0.0.1], maskAddrStr [255.0.0.0], dstAddrStr[127.0.0.1], ipAddress [62.138.238.45], broadCastAddress []
1253:[2017-10-22 20:27:31] In [/home/abuild/rpmbuild/BUILD/megaglest-3.13.0/source/shared_lib/sources/platform/posix/socket.cpp::getNetworkInterfaceBroadcastAddress Line: 541] ifaAddrStr [192.168.178.73], maskAddrStr [255.255.255.0], dstAddrStr[192.168.178.255], ipAddress [62.138.238.45], broadCastAddress []
Line 1247 of the debug.log shows that the real ip address of my system (192.168.178.73) is not entirely unknown to my Megaglest client, making me unsure whether this still is a flaw in Megaglest. Btw, I have not been able to figure out where those public ip addresses come from. Grepping /etc or .megaglest for it showed no result.

I did a standard tumbleweed installation with
Code: [Select]
zypper install megaglestfrom
Code: [Select]
lenovo-tWeed:~ # zypper repos -u -E
Repository priorities are without effect. All enabled repositories share the same priority.

# | Alias                            | Name                            | Enabled | GPG Check | Refresh | URI                                                               
--+----------------------------------+---------------------------------+---------+-----------+---------+--------------------------------------------------------------------
1 | download.opensuse.org-non-oss    | Haupt-Repository (NON-OSS)      | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/non-oss/             
2 | download.opensuse.org-oss        | Haupt-Repository (OSS)          | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/oss/                 
3 | download.opensuse.org-tumbleweed | Hauptaktualisierungs-Repository | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/update/tumbleweed/                   
5 | packman                          | packman                         | Yes     | (r ) Yes  | Yes     | http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/

The system report shows for the OS and Megaglest version the following.
Code: [Select]
***** Operating system *********************************************************

* Distribution: openSUSE
* Release:      20171006
* Codename:     n/a
* Architecture: x86_64
* LSB support:  1

>>> uname -a
Linux lenovo-tWeed.home 4.13.4-1-default #1 SMP PREEMPT Wed Sep 27 14:20:45 UTC 2017 (4dec972) x86_64 x86_64 x86_64 GNU/Linux

>>> cat /etc/issue
Welcome to openSUSE Tumbleweed 20171006 - Kernel \r (\l).

enp3s0: \4{enp3s0} \6{enp3s0}


***** MegaGlest version ********************************************************

>>> INSTALLATION_LOCATION (def2): [/usr/bin/].

>>> ./megaglest --use-language=en --version
megaglest v3.13.0
Compiled using: GNUC: 70201 [64bit] platform: Linux-X64 endianness: little
GIT: [Rev: $5604.3a5d459$] - using STREFLOP [SSE] - [no-denormals]

Is there a work around?

Kind regards

Thiemo

2
MegaGlest / My impressions and thoughts
« on: 20 March 2017, 22:21:47 »
After a some 10 games my impressions and thoughts. Not sure if to distil them into feature requests as they might alter the character of mg entirely. I would happily discuss the points, however. If it would be best to move the specific points into separate threads or point to already existing threads I shall do so or feel free to do it yourself.

I think it is already a great game. I am really amazed once again how good the quality and functionality of OSS can be. I do not want to imply that OSS developers (and - sorry for not mentioning all on by one - others having their share with bringing OSS to us) are less gifted than paid one. I just refer to the thing that not too many people can afford to spend a big deal of time in unpaid work - I imagine.

My overall impression on MG is that it is quite close to WarCraft. The general setup is acquire resources, put them to good use and defeat the opponent is the strategic aspect that compels me.

However, I feel that the weakness of WarCraft is present here. To me it very much feels that the AI ranges from dumb to particularly dumb - I mean no offence with that and will detail in a second. My feeling about stronger AI is basically - as in WarCraft - that the AI has more initial resources and perhaps some production/harvest/mining speed advantage. I did not test it out. For example I just finished a custom build where on Tropical Arena with a CPU Mega. Eventually I lined up a couple of sphinxes behind a ridge of rocks. AI kept sending its units just along the other border and they were grilled by the sphinxes when passing them. The first unit got through almost unscathed but could be finished off by my other units easily. All following where sent through hell dying or getting out almost dead.

I am not happy with some behaviour of the units. E. g. they do not try to avoid fire if they move to a certain point. Then, the units with distance attacks fire to the spot where the enemy is at the time of firing not taking into account the enemy's movement.

To me, there is a big imbalance between strategy and tactics. Maybe this is inherent in the setup. There is no way a human can control its units as fast as the computer. I mostly find myself deciding, I have not got the time to do this or that. E. g. with an ongoing battle I neglect my harvesting and unit production. While being in a game me against an AI I can pause the game and only blame myself if not doing so. But in network games with more than one human player I cannot. Sure, other players are much, much better in controlling their units, I just do not know how - maybe it’s just me being slow because of age and lack of practice.

Coop games are not so cooperative in my opinion. The ones I have played felt like, each one tried to build up as much momentum for oneself and targets the enemy wherever she sees fit. Sure, one cannot oblige the players to cooperate closely but it is too easy not to do so and still succeed.

I think it is good that one can control everything of the units and it is bad that one is obliged to.

To me the current setup boils down to a battle of material in the sense of “who is able to produce faster than the other” putting a strong emphasis on the strategic aspects of the game thereby neglecting the tactics do to lack of deputising.

Some possible improvements (I do not repeat point I already found in the forum)
a) I would like to be able to tell a building to keep training unit XYZ as long there is enough resources where enough also could be a threshold of the resources defined by me.

b) Make the units smarter such that the majority tries to avoid fire if moving to a point. Maybe its ok for Golems and the like not to. Make the units with range attack take into account the movement of their target.

c) Make unit groups concentrate attack. If I group units they only act as a group if I explicitly tell them what to do. E. g. I tell group one to battle enemy unit x they do, but when that unit perishes, the group members start to fire “randomly” at enemy units. I do not see why they should not pick a common target again. It could be implemented as follows. I make some presumptions. All units get investigated one after another. For the inspected unit it is decided if the unit continues its action or if a new action is set up. If the unit loses its attack target it picks a new one. So if the unit belongs to a group it gets the group target if there is one, if not, it just picks one the way it is done already and that target becomes group target. I see that in the heat of the battle it is not so realistic that one can identify (immediately) the aim of the others of the group. Therefore one could introduce a random element to make some individuals aim not at the group target. One could argue that those dumb rookies from factory are just incapable of coordination but I doubt that reflects sort of reality. Sure they would improve in finding the group target with raising experience but the attempt should be there from the beginning. One could also define a leader unit - be it a special unit type, be it an especially experienced unit - that has to be present in a group to have the advantage of coordinated actions. I guess it also would be a good idea if the factions should have varying effectiveness of coordination. The romans for instance are know to have had very extensive military drill such that their discipline was very high being precondition for extended coordinated actions.

d) Give the units an operation mode where they retreat fighting such that they preserve health by losing ground. Problematic is to define where to they ought to retreat.

e) I would like the units stop immediately when they have killed there immediate target and there is no alternative target in sight - literally. Why do they run to the spot of death of their "victim"? To see how it decomposes? I usually do not want it and would like to have a button to deselect this behaviour.

f) I would like to tell units with range attack to fire behind the nearest line of enemy. I mean, I can have so much collateral damage I am not sure whether to use a sphinx, archmage, dragon, ... or not. Is the damage of a splash attack a function of the distance of the affected spot to the centre of impact? It would make sense to me.

g) I would like to be able to build up a firewall ;-) . I. e. that range attack units keep firing on a spot no matter if there is a enemy unit or not. On the other hand, if the units themselfs got smarter, they ought to avoid such spots (running into my next ambush ;-) ).

h) I would like to be able to give my units standing orders. E. g. my healers at times run into battle even though they are not yet affected by them or even in danger to get affected. So I would like to tell them that they ought to hold position and e. g. after having healed another unit, switch back to hold position.

i) I like the idea of healing very much but in my opinion it is too tedious to be much of use. I have to tell which healer unit is to heal which unit. Totally impractical especially in combat. I would like to see some hospital areas. I imagine several variants of these areas. i. Some radius of a "healer" unit the healer automagically starts to heal if a wounded unit enters it. ii. Mark an area on the map healing ground and staff it with healers. Every unit in that area with healers gets healed eventually. iii. Special hospital buildings that need to be staffed with healer units and units to be healed need to enter it.

j) Having healing areas I would like to be able to tell my units to seek healing and they move and look for it autonomously. After being healed they either return to their previous position or stay just outside the healing zone. So those could be to separate actions or one action with a switch.

k) I would like to be able to tell my units to employ guerilla tactics when attacking. E. g. I do not see common sense in it that an archmage stays longer than necessary in the brunt of the battle especially if he has run out of energy.

l) I would like to be able to give general guidelines of behaviour ranging from "keep out of trouble" over "have good own damage to enemy damage ratio" to "hack and slay no matter what".

Maybe my ideas would lead to a boringly slow game. Sure it is supposed to be real time strategy game but why is it possible to pause or change the speed of the game then anyway?

Cheers

Thiemo

3
I'm rather new to MegaGlest - many thanks to all the authors of the game, it's just great - though I have played WarCraft I and II quite a while.

Now, I played the tutorial and tried some scenarios before I set up my own. I started with the eight opponent wheel where I made two parties. All CPU Mega 2.5 apart from me. I placed myself in the centre as Indian the others "equally" spread at the perimeter with random cultures. I invariably was eradicated rather sooner than later. I then placed an opponent in the centre and myself at the outside. In one occasion we won and I survived but just so. I came to the conclusion that the centre (because/despite of the narrow space) is a big disadvantage as the centred opponent vanquished first as well. I began to wonder how bad I am at glesting so I set up a one on one encounter with a CPU Mega 2.5 Indian against my tribe. I did not survive. In the end I was just flooded by enemy units. Now, I play a against a CPU Ultra 1.5 Indian with my tribe and it looks like I am quite in control. My lines are not torn thin (yet). So touch wood.

My strategy changed from stressing technology over quantity of troops to quantity of troops over technology. Background of the initial decision is that I am no way as fast as CPU to control many units. I eventually found out about the pause and game speed button so this disadvantage has much less weight now allowing me to change my strategy.

Initially thought that Ultra/Mega was kind of synonymous to the multiplier, but after searching the forums I came to the conclusion that Easy/Ultra/Mega/(Normal) are a qualifier for the intelligence of the CPU's strategy. I also found the multiplier to be a multiplier of resources and I assume that 1.0 means equal to human players. But now, is the multiplier applied only to the starting resources or is it production speed too? To me, it surely feels as if it affects production speed. But I could not find documentation. Did I miss it?

Should a CPU Mega 2.5 be a piece of cake? Can one only win against in a special setup (I had one 8 opponents setup where one of the CPU Mega 2.5 opponent was just next to me - both Indians where I was able to raid it before it could bring its resource advantage into account)?

Kind regards

Thiemo

Pages: [1]