Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 2020-07-05 in all areas

  1. Now there is: https://code.wildfiregames.com/D2863
    5 points
  2. I'm locking this thread, seems like it's just attracting insults and rudeness. Please try and be nice to each other. It might seem innocent to you, but you never know how others react, especially in an international context like this when not everyone has got English as their first language.
    2 points
  3. README First: The official topic about 0ad spidermonkey update is here: ==================================================================================================================================== Hi there! DISCLAIMER: This is a work in progress. The game starts but might be subject to instabilities, crashes or other imperfections. Just for fun and to learn something new I started adding SM68 support to 0ad. Here you can find the link to my 0ad fork at https://github.com/bellaz89/0ad/tree/rework I don't know what kind of development milestones are planned for 0ad. This is a pure one side project that doesn't pretend to be merged (but of course, if it is useful to someone I am going to be happy) Also note that I do not assure that everything I did is reasonable since this is my first approach with 0ad source base and spidermonkey. Some code could easily be incorrect or redundant. To compile it a system version of mozjs68 has to be installed. use the --with-system-mozjs68 workspace generation option. Tested and developed only on linux (Debian Bullseye 11). Some changes I did: Switched to C++14 due to Spidermonkey 68 requirements JSRuntime direct access is deprecated in favor of JSContext. Therefore ScriptRuntime create a new JSContext. All the methods/functions that used JSRuntime now use JSContext. the Compartment is now JS::Realm Since only a single JSContext is allowed per-thread, ScriptInterface just generates a new global object and populates it. The environment separation is done changing the Realm rather than using a different JSContext. Now the Realm holds the ScriptInterface private data. A macro to switch the Realm was added (CX_IN_REALM) Removed JSAutoRequest Starting adding explicit JS error checks since JS_SetErrorReporter was removed. A lot of API fixes, some are just name changes See links below to get a partial (quite long) list of additional API changes. Increased runtime size to 512 MB to make the tests run without segfault (to optimize). Why increasing the runtime size helped? Support of ArrayBuffer in Serialization/Deserialization is explicitly added since ArrayBuffer is matched by JS_IsArrayBufferViewObject anymore. The used API can be found in js/ArrayBuffer.h Open questions: How to pass data between Contexts. The StructuredClone API was changed and there are some problems continuing using it https://groups.google.com/forum/#!topic/mozilla.dev.tech.js-engine/ViE6Yg8yCvY Script sources are passed with JS::SourceText. Doubts about the right conversions between string format to be done Are the optimizations on SM45 GC still valid in SM68? How passing data efficiently between Realms Update June 8 2020 Basic error tests fixed (updated to mozjs style error output) All tests run, 98% pass. The failing tests are on serialization/deserialization Update June 9 2020 ArrayBuffer tests fixed modifying the serializer/deserializer. Fixed UTF test removing U+D800 (high surrogate) unicode character. All tests run, 99% pass. The last failing test is on exception catching. For the moment it can be ignored. Starting to understand why the GUI doesn't show up when launching pyrogenesis Update 2 Fixed GUI with https://code.wildfiregames.com/D2768 Still crashing when changing page. Update 17 June Patched Spidermonkey 68 source code. the class SharedArrayRawBufferRefs in ./js/public/StructuredClone.hStructuredClone.h (firefox source directory) was tagged as JS_PUBLIC_API to export its symbols. Please note that since Spidermonkey 68 clang is required to compile the codebase (at least on linux). Use instructions in https://github.com/mozilla-spidermonkey/spidermonkey-embedding-examples/blob/esr68/docs/Building SpiderMonkey.md. PersistentRooted is initialized with .init() Applied https://code.wildfiregames.com/D2768 ObjectToIdMap is based on GCHashMap Update 18 June Corrected a cross-compartment bug in CGame::ReallyStartGame, line 329. Does this affect the current 0ad version too?? Added checks to consume error messages I was able to start a game! ...but almost nothing (except the gui!) works properly Update 22 June Fixed error handling issue. Now 100% tests are running It was found that non-ASCII characters in game schema resulted in a crash. Since the presence of these characters is non-essential and limited, these characters were temporarly removed (Identity.js). The problem is under investigation. Probably this is due Game is running with Spidermonkey 68 Todo: Clean up. (better naming.. remove failed attempts to correct issue in the code) Benchmarking/Profiling. See how much the performaces increase/decrease after the upgrade Try link the game with SM78 beta () A big thanks to the WFG team for helping me in this task even though it doesn't follow the 'normal' 0ad development process. I hope this will be helpful in porting the official branch to newer versions of Spidermonkey (New) Spidermonkey 78 Since the next firefox 78 ESR is going to be released this month. I also started to work on the SM78 port using the beta release. Here you can see the branch https://github.com/bellaz89/0ad/tree/rework78 I am able to run a game but I get a lot of failing tests. So expect even a more instabilities. Important: In SM 78 uneval() and .toSource JS methods were removed. Therefore a workaround has to be decided Changes done for SM 78: Lot cosmetic API changes (different method names, method moved to different workspaces..) Seems that it is not possible anymore to disable the dynamic VM grow (to confirm) Needs C++17 to compile Useful links (contain a more in-depth list of changes): https://github.com/mozilla-spidermonkey/spidermonkey-embedding-examples/blob/esr68/docs/Migration Guide.md http://mozilla.6506.n7.nabble.com/Success-with-embedding-ESR52-spidermonkey-td369034.html https://groups.google.com/forum/#!topic/mozilla.dev.tech.js-engine/Mu1arXbBhi8 https://github.com/mozilla-spidermonkey/spidermonkey-embedding-examples Happy Screenshots: Tests. all passing Finally the game runs! mainlog.html entity.zip interestinglog.html
    1 point
  4. I attached the replay file from a game versus A.I. which crashed to desktop when playing. It was built a few days ago, at revision 23795 or 23796, not sure which exactly. Here is video of the crash happening (go to 38:20 if it doesn't happen automatically) https://youtu.be/fV5MZ7aBS5Q?t=2302 commands.txt
    1 point
  5. My idea would be Basic (unarmored, simple outfit with no leggins like archer in that picture) -> Advanced (Improved outfit with legging, may have leather or cloth armor) -> Elite (simple wood armor some have war paint) Champions have painted wood armor or the black one with lacing; they have jewelry with some having warpaint and/or a feather headdress.
    1 point
  6. For the basic militia, they can wear a basic wooden breastplate like the one on the lower left. Advanced can wear mokusei katchū, while the elite can wear the ones decorated with red paint. The long-sleeved soldiers can be the champions.
    1 point
  7. Thanks for sharing @mysticjim
    1 point
  8. Hello! Haven't plugged my videos on here yet, so figured it was about time My YT channel is called 0AD Newbie Rush 0AD Newbie Rush on Youtube It's a weekly show, typically aimed at and often featuring newer players. This is to make it a bit distinct from the Tom0AD and ValihrAnt channels, which mostly cover the top players. Here is the latest episode, released today; Likes, subscriptions and constructive feedback all welcome. Many thanks Jim
    1 point
  9. They really need some anti-ram unit, ram is not a proper ram counter. It seems there were sword cav units (Paeonian and Thracian Cavalry), were there enough numbers to justify including them? It seems that swords were also used as secondary weapons by some infantry, but making this work would open a can of worms (many other units had secondary weapons or dual-mode usage) Any of our in-house historians know of any unit that could fulfill the role?
    1 point
  10. hero death. herocrydeath.ogg
    1 point
  11. WIP I'm not happy with these. Hero Train or join. Hero death uffhero_mixdown.ogg
    1 point
  12. https://code.wildfiregames.com/D2742
    1 point
  13. Training him automatically researches the Hellenistic Reforms tech in Empire Phase for free, which unlocks the Spartan Reform Phalangite and Stone Walls. Already implemented.
    1 point
  14. Is the Thracian Black Cloak not good enough of a counter? I don't know, I rarely play EA these days. In DE spearmen are hack units (not half hack, half pierce as in EA), so do okay against rams.
    1 point
  15. Are not rams getting a big nerf in the next version ?
    1 point
  16. Hi there! Probably you noticed that there were not updates for some time. Unfortunately I was quite busy with other stuff and in the future I don't think I will have more time to dedicate on this (at least for ~8months). Therefore I would say that this experiment finishes here and I am happy about the outcomes. Some WFG members are already working on porting the main branch of 0ad to more recent version of Spidermonkey, so don't worry about this. Last micro update. I tried to do a very rough and inaccurate performance test just looking at the framerate. It seems that my modifications reduced a bit (not dramatically) the FPS. In my opinion this is due to the fact that many optimizations of the GC parameters were done for SM45 and are not useful anymore or even counterproductive for most recent versions of Spidermonkey. I think that there will be the need to spend some time in profiling the VM to get the best achievable performance.
    1 point
  17. 5 heroes works just fine (1080p resolution). So, we can design 3-5 heroes for every civ.
    1 point
  18. I tried to link a debug version of Spidermokey. This undercovered a lot of nasty bugs Update Patched Spidermonkey 68 source code. the class SharedArrayRawBufferRefs in ./js/public/StructuredClone.hStructuredClone.h (firefox source directory) was tagged as JS_PUBLIC_API to export its symbols. Please note that since Spidermonkey 68 clang is required to compile the codebase (at least on linux). Use instructions in https://github.com/mozilla-spidermonkey/spidermonkey-embedding-examples/blob/esr68/docs/Building SpiderMonkey.md. PersistentRooted is initialized with .init() Applied https://code.wildfiregames.com/D2768 ObjectToIdMap is based on GCHashMap I am almost able to run a game ...
    1 point
  19. Nice to see @psypherium is still streaming
    1 point
  20. Have fun with the game, and don't forget to try out the mods, if you get bored.
    1 point
  21. Many thanks to you Angen, Nescio and Stanislas69 who replied so quickly. I did as indicated and it did the trick! For my personal taste I used factor 2 for the gui.scale. Would be great indeed having these features somewhere. I was expecting to find it under settings.options.graphics in main menu window, but I am just a casual gamer and other place might fit better. In the meantime, having this information under FAQ would certainly help. Thanks again. Gonna play and test it further now. Cheers, Roberto PS FYI forgot to mention that I use Ubuntu as operating system.
    1 point
  22. Yeah this was planned. I also made a bot with generic answers for question asked on IRC but my attempt to host it on my raspberry failed. And I haven't seen progress on the FAQ in a while. Maybe it could be integrated in the new website design @implodedok The GUI scale option sounds like a good idea. Using hwdetect would work too.
    1 point
  23. Yes, 0 A.D.'s GUI is designed to be 1024×768. I also have a 3840×2160 screen and I'm using gui.scale = 1.875 because I prefer to be able to play the game at half a screen; if you want the GUI to be exactly 3840 pixels wide, set it to 3.75; you'd probably want a lower value, though. The location of your configuration file depends on your operation system (see https://trac.wildfiregames.com/wiki/GameDataPaths ); on mine (Fedora 28) it's `~/.config/0ad/config/user.cfg` This is not the first time someone asked. Perhaps a FAQ page should be made. Or add the ability to set the `gui.scale` in game under options.
    1 point
  24. Hi, You need to create file in this location: On Linux, create: * ; * $XDG_CONFIG_HOME/0ad/config/local.cfg * ; * (Note: $XDG_CONFIG_HOME defaults to ~/.config) * ; * * ; * On OS X, create: * ; * ~/Library/Application\ Support/0ad/config/local.cfg * ; * * ; * On Windows, create: * ; * %appdata%\0ad\config\local.cfg for windows 10 it is: C:\Users\Username\AppData\Roaming\0ad\config file local.cfg with: gui.scale = "1.2" and experiment with value a bit
    1 point
  25. Ancient Empires is a mod for 0 A.D. Empires Ascendant, aiming at historical authenticity and gameplay rebalance. Currently I'm working alone on it, but if you are interested in helping out you can contact me. Feedback and brainstorming are very welcome as well, you can check the specific threads and add your suggestions. The mod's main goals, changes and features are listed bellow. Gameplay: The mod is closer to Age Of Kings than any other RTS game, to which the tech-tree layout and parts of gameplay are pretty similar. However many concepts from 0 A.D. have been maintained, together with ideas taken from other games, the community, as well as several of mine. The game pace is slower and a bit more macro focused compared to the main game in almost every aspect. Counters (mostly soft) are reintroduced in many cases, inspired mostly from historical unit roles. For more details check here. Civilizations: For now no new civs have been added, as balancing the existing 12 is already hard enough. The tech-tree is made more clear by having a majority of common techs and units available at standardized structures and Civ specific ones available at the Fortress (with a few exceptions clarified at the history screen). Each Civ gets a mostly new set of bonuses and champion units, which are now changed as a concept. Links to Civ threads: Athen Brit Cart Gaul Iber Mace Maur Pers Ptol Rome Sele Spart Units: Unique units, the replacement of champions, aren't necessarily the most powerful units a Civ can have. Each civ gets a historically determined base rooster from the shared units, which range from cheap Skirmishers to powerful War Elephants. Unique units often come to fill missing unit roles or add new ones and are chosen from rare units that were dissimilar in function to other, more common units. So there won't be many unit duplicates per faction, like Spearman and Superspearman with the exact same role, only different in power and cost. Some exceptions exist, as this is a still a work in progress feature. Besides unique units, some Civs have slightly varied versions of the common units. For example, in place of the weak, basic spearman, the Athenians get the more costly and powerful Hoplite. Random Maps: The mod will focus on random maps instead of skirmish maps, to reduce copy-paste build orders and keep scouting important. Major Changes: Some core features of 0 A.D. have been removed or majorly altered. Citizen-Soldiers are gone now, to make raiding the economy a more valid strategy and allow for bigger price/attribute differences between units and civs without breaking balance too much. Female citizens have been replaced with male ones until a possibility for different sexes per unit is implemented (see help needed). Structure capturing was never implemented in the mod and probably won't be. Territory influence has a softer function. It is needed for the construction of some structures and prevents enemies from building in it, but most structures can be constructed outside of it. Line of sight and attack range are generally much lower than in the main game. Starting stone and metal mines are moved right outside of the players starting territory in most random maps instead of being close to the civil centre. You can find many more ideas here (not all of those fit with the mod's concept though).
    1 point
×
×
  • Create New...