Jump to content

Christmas Testing Bundle


Recommended Posts

Hello everyone,

We're happy to release the first testing bundle of 0 A.D. Alpha 26 (name to come). Keep in mind, this is not a 'Release Candidate' yet, and so some bugs are to be expected. We provide this in the hope of finding and squashing them efficiently. If you choose to test, please keep that in mind.

Downloads - Current bundles are for SVN revision  r26108 
(See below for updated bundles)

Things to note:

  • Translations are not complete & may be buggy -> Play in English for now.
  • Mind your mods -> they might introduce issues or Out Of Sync.
  • Save your A25 config file somewhere, ideally.

Changes: https://trac.wildfiregames.com/wiki/Alpha26

Points of attention:

  • Acceleration

Currently known issues:

What to do if I have an error or notice something weird?

Post your commands.txt (replay) and the interestinglog.html file from your folder. You can also reply to this thread.

What to do if the game crashes

Update your crashlog.dmp and crashlog.txt  see https://trac.wildfiregames.com/wiki/GameDataPaths

What to do if I have an Out Of Sync?

You should go in your logs folder, find the replay (commands.txt at least), the mainlog/interestinglog and find the OOS dump folder. Zip all these files and upload them here. Ideally, you should coordinate with the OOS players so that they upload their own OOS dump, so we can compare them.

Things you may want to test (non-exhaustive)

  1. Launch a random game
  2. Launch a skirmish.
  3. Connect to the lobby
  4. Play on the lobby with someone
  5. Launch Atlas and try things out there
  6. Open Unit tests demo (To see if there any breakage in displaying entity's) (It's in scenarios)
  7. Enable feedback and see if it works (Main menu) Example video
  8. Connect to and use mod.io ( Try to download and install the linux libertine font)
  9. Test replaying new games
  10. Test Screenshots (F2)
  11. Test Big Screenshots (Maj+F2)
  12. Test hotkeys
  13. Test Saving and loading a game.
  14. Test Quickload/Quicksave

And of course playing games.

  • Like 6
  • Thanks 3
Link to comment
Share on other sites

Linux newb ...

Used the build instructions and got the following error:

AttributeError: module 'collections' has no attribute 'Sequence'
ERROR: SpiderMonkey build failed
 

Upon further search it seems Python 3.10 creates a conflict when installed (using Arch ... Can't uninstall 3.10 as it has dependencies ...).  Please note that 2.7 is installed.

Is there a way to mask 3.10 or create some kind of compile environment?  Just need a keyword/pointer in right direction if anyone has one.

Link to comment
Share on other sites

48 minutes ago, Dizaka said:

Upon further search it seems Python 3.10 creates a conflict when installed

SpiderMonkey should be installed using a python3:

$ tail -n 1 libraries/source/spidermonkey/mozjs-78.6.0/js/src/configure
exec python3 "$TOPSRCDIR/configure.py" "$@"

So there is no need to uninstall python3 - the problem is different
Please attach full python error backtrace,
to understand the sequence of the call

Edited by nwtour
  • Thanks 1
Link to comment
Share on other sites

@nwtour

 

Traceback (most recent call last):
  File "/home/akazid/Downloads/0ad-0.0.26-rP26108-alpha/libraries/source/spidermonkey/mozjs-78.6.0/build-debug/../js/src/../../configure.py", line 25, in <module>
    from mozbuild.configure import (
  File "/home/akazid/Downloads/0ad-0.0.26-rP26108-alpha/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/configure/__init__.py", line 33, in <module>
    from mozbuild.util import (
  File "/home/akazid/Downloads/0ad-0.0.26-rP26108-alpha/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/util.py", line 760, in <module>
    class HierarchicalStringList(object):
  File "/home/akazid/Downloads/0ad-0.0.26-rP26108-alpha/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/util.py", line 785, in HierarchicalStringList
    class StringListAdaptor(collections.Sequence):
AttributeError: module 'collections' has no attribute 'Sequence'
ERROR: SpiderMonkey build failed

 

 

Edited by Dizaka
Link to comment
Share on other sites

59 minutes ago, Dizaka said:

@nwtour

 

Traceback (most recent call last):
  File "/home/akazid/Downloads/0ad-0.0.26-rP26108-alpha/libraries/source/spidermonkey/mozjs-78.6.0/build-debug/../js/src/../../configure.py", line 25, in <module>
    from mozbuild.configure import (
  File "/home/akazid/Downloads/0ad-0.0.26-rP26108-alpha/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/configure/__init__.py", line 33, in <module>
    from mozbuild.util import (
  File "/home/akazid/Downloads/0ad-0.0.26-rP26108-alpha/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/util.py", line 760, in <module>
    class HierarchicalStringList(object):
  File "/home/akazid/Downloads/0ad-0.0.26-rP26108-alpha/libraries/source/spidermonkey/mozjs-78.6.0/python/mozbuild/mozbuild/util.py", line 785, in HierarchicalStringList
    class StringListAdaptor(collections.Sequence):
AttributeError: module 'collections' has no attribute 'Sequence'
ERROR: SpiderMonkey build failed

 

 


@Dizaka
Yes. Problem in python > 3.8

$ python3 mozjs-78.6.0/python/mozbuild/mozbuild/util.py
mozjs-78.6.0/python/mozbuild/mozbuild/util.py:785: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working


Try my patch mozjs-78.6.0/python/mozbuild/mozbuild/util.py
 

--- mozjs-78.6.0/python/mozbuild/mozbuild/util.py.orig	2022-01-02 01:30:06.252368078 +0300
+++ mozjs-78.6.0/python/mozbuild/mozbuild/util.py	2022-01-02 01:28:37.594372830 +0300
@@ -22,6 +22,13 @@
 import stat
 import sys
 import time
+
+try:
+    from collections.abc import Sequence
+except ImportError:
+    from collections import Sequence
+
+
 from collections import (
     OrderedDict,
 )
@@ -782,7 +789,7 @@
         self._strings = StrictOrderingOnAppendList()
         self._children = {}
 
-    class StringListAdaptor(collections.Sequence):
+    class StringListAdaptor(Sequence):
         def __init__(self, hsl):
             self._hsl = hsl

p.s.
Mainstream bug/commit:
https://bugzilla.mozilla.org/show_bug.cgi?id=1719144
https://hg.mozilla.org/integration/autoland/rev/2418633d529c
 

Edited by nwtour
  • Like 1
Link to comment
Share on other sites

@nwtour  TY for help.  Just to double check I understand syntax correctly:

Run ./update-workspaces.sh -j3

For util.py create backup util.py.org afterwards

Modify util.py by:

Add:

+
+try:
+    from collections.abc import Sequence
+except ImportError:
+    from collections import Sequence
+
+

Then replace "class String.ListAdaptor(collections.Sequence):" with:

+    class StringListAdaptor(Sequence):

 

The following:

  • @@ -22,6 +22,13 @@
  • @@ -782,7 +789,7 @@

Are just line locations? So do nothing with the above.

Ok, so I do the above but I'm lost on the next steps :(.  When I redo ./update-workspaces.sh command the data gets overwritten.  (Yea, this is probably a total newb move/error and sorry about this.)

Edited by Dizaka
Link to comment
Share on other sites

@Dizaka
The easiest way to fix the source code is when a developer runs a diff of two files on his computer. And the user runs the patch utility on his computer
 

Here is the patch that fixes your problem from Mozilla:
https://hg.mozilla.org/integration/autoland/raw-rev/2418633d529c

Change to directory libraries/source/spidermonkey/mozjs-78.6.0/
Save the file there by the link

And run the command:

patch -p0 < FILENAME

If it does not display any errors, then the files have been successfully updated and the game will begin to build.
 

Edited by nwtour
  • Like 1
Link to comment
Share on other sites

 

1 hour ago, nwtour said:

@Dizaka
The easiest way to fix the source code is when a developer runs a diff of two files on his computer. And the user runs the patch utility on his computer
 

Here is the patch that fixes your problem from Mozilla:
https://hg.mozilla.org/integration/autoland/raw-rev/2418633d529c

Change to directory libraries/source/spidermonkey/mozjs-78.6.0/
Save the file there by the link

And run the command:

patch -p0 < FILENAME

If it does not display any errors, then the files have been successfully updated and the game will begin to build.
 

So patch file cannot find files when ran.  Using 2nd method (see below).

 

45 minutes ago, nwtour said:

@Dizaka
Or another variant
Got to https://phabricator.services.mozilla.com/D119080#change-hoVh7lmqfh4R
and just download new version of mozjs-78.6.0/python/mozbuild/mozbuild/util.py
1222289473_2022-01-0202-32-03.thumb.png.0128199568821b33deb9ddb066f9b6f2.png

Tried this.  I get stuck on resuming the game to build.  Not sure on the commands.  I think this might be, currently, above my linux understanding or abilities to resume the build with the patched file (util.py).  I'll try tomorrow from the beginning and try figuring out why the build doesn't resume and/or if I need to issue some kind of commands to resume the build.  Lost on that part.  TY and appreciate the help.

Edited by Dizaka
Link to comment
Share on other sites

@Dizaka

Unfortunately Spidermonkey is not build with python = 3.10

Fix one error = another follows next

AttributeError: module 'collections' has no attribute 'Sequence'
ImportError: cannot import name 'Iterable' from 'collections'
AttributeError: module 'sysconfig' has no attribute '_get_default_scheme'. Did you mean: 'get_default_scheme'?
AttributeError: module 'distutils' has no attribute 'sysconfig'
ModuleNotFoundError: No module named 'logging.handlers'; 'logging' is not a package

This will be fixed only after the update of the version of Spidermonkey in the game
You can build yourself a custom python specifically for the game:

# hidden requires
pacman -S libffi

# build python
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar xvfz Python-3.8.0.tgz 
cd Python-3.8.0
./configure --prefix=/usr/local/MyPython38 --disable-test-modules && make && sudo make install

# build 0 A.D with custom python
cd 0AD_DIR
PATH=/usr/local/MyPython38/bin:$PATH ./build/workspaces/update-workspaces.sh && make -C build/workspaces/gcc config=release

# clean after build
sudo rm -rf /usr/local/MyPython38

 

Edited by nwtour
Link to comment
Share on other sites

  • 2 weeks later...

This is for the mac bundle. I agree that infantry acceleration should be a little faster. 

  1. Launch a random game +
  2. Launch a skirmish. +
  3. Connect to the lobby +
  4. Play on the lobby with someone (nobody else there)
  5. Launch Atlas and try things out there +
  6. Open Unit tests demo (To see if there any breakage in displaying entity's) (It's in scenarios) +
  7. Enable feedback and see if it works (Main menu) Example video +
  8. Connect to and use mod.io ( Try to download and install the linux libertine font)
  9. Test replaying new games + 
  10. Test Screenshots (F2) +
  11. Test Big Screenshots (Maj+F2) +
  12. Test hotkeys + (except for shift + delete)
  13. Test Saving and loading a game. +
  14. Test Quickload/Quicksave +

The acceleration makes formations look unnatural when changing directions (same swirling motion as in A25, but slower now) Would it hurt to use @alre's formation changes (from proposals for formations), or does that cause other issues?

Thanks for sharing the build, you all have done a great job!

Link to comment
Share on other sites

  • 2 weeks later...

what? are we really talking about the 100% accurate projectiles? You guys serious?

It doesn't make any sense from a "realistic" point of view in a game that pride itself to be historically accurate.

And is also just plain bad. It looks bad. It takes away from "immersion" with those "missile guidance" arrows and defeat the meaning of range units, by eliminating one of their weak spots.

It could make (maybe) sense with some modern warfare games, not in an ancient warfare theme. 

If big games make this choice to follow their competitive, multiplayer, big-buck starcraft arena target good for them. I don't need it.

At least indie games like this can allow themselves to be a bit unpopular but genuine.

  • Like 1
Link to comment
Share on other sites

3 hours ago, ValihrAnt said:

Personally not a fan of the acceleration, nor was I a fan of the rotation times. It simply makes the unit movement feel and look clunky. I'd much rather the AoE4 approach of homing projectiles to eliminate dancing, but retain smooth movement.

@bb_ @wraitii maybe better value can be found.

Link to comment
Share on other sites

I've been advocating removing randomness from missile damage for some time. please don't talk to me about immersion because if you are not distracted by seing a health bar above people's head, you shouldn't be concerned by something that is so easy to conceal like damage mechanics for ranged fire. I bet most players aren't sure about how that works anyway. besides, in 0AD it's quite hard to see missiles at all.

another pro for that: no lag-fest range queries.

Link to comment
Share on other sites

4 minutes ago, Stan&#x60; said:

maybe better value can be found.

The better values are having some realistic turnrates, instead of the almost insta turns that happen in current svn.

What is seen as "clunky" movement, is not caused by turnrates or accelerations at all, they merely highlight the actual issue. Which is "units bumping into eachother all the time".

  • Thanks 2
Link to comment
Share on other sites

what's the purpose? avoid "dancing"? Is not hardcoded anywhere that you're supposed to "dance" anytime, it's simply a player's behaviour.

On the contrary, to punish the behaviour, you want to hardcode a different game mechanic altogether. This stems uniquely from a  competitive mindset, but I don't find it necessary at all to the game.

It also create an unbalance, since melee units (which are supposed to be the major composition of ancient armies) become simply meatshield under machinegun fire. Agree that -perhaps- the difference won't be as perceptible, but I don't find this an improvement, nor a feature.

Yes, it does remove immersion to have perfectly accurate units, and I've seen this concept at play already from the aforementioned AOE4 example: it's ugly.

The UI doesn't bother me at all.

 

EDIT:

Quote

another pro for that: no lag-fest range queries.

That would be the only pro I could see

Edited by Radiotraining
  • Like 1
Link to comment
Share on other sites

45 minutes ago, Radiotraining said:

what's the purpose? avoid "dancing"? Is not hardcoded anywhere that you're supposed to "dance" anytime, it's simply a player's behaviour.

player behaviour is the main driver for every game development, I don't get what are you suggesting here.

47 minutes ago, Radiotraining said:

It also create an unbalance, since melee units (which are supposed to be the major composition of ancient armies) become simply meatshield under machinegun fire. Agree that -perhaps- the difference won't be as perceptible, but I don't find this an improvement, nor a feature.

how can a new feature create an imbalance that is already there? it's two different things altogether.

48 minutes ago, Radiotraining said:

Yes, it does remove immersion to have perfectly accurate units, and I've seen this concept at play already from the aforementioned AOE4 example: it's ugly.

AoE4 is ugly for a lot of different reasons, and light up neon arrows don't help when they awkwardly steer mid-air to chase enemies, but I don't think that's necessary in 0AD. right now in 0AD an arrow must land between someone's feet to hit him, so I don't think anyone will complain if we make it so that damage is dealt independently on where's the arrow landed. you'd hardly notice the change.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...