badosu
Balancing Advisors-
Posts
859 -
Joined
-
Last visited
-
Days Won
16
Everything posted by badosu
-
Making LSP work with 0ad Codebase
badosu replied to badosu's topic in Game Development & Technical Discussion
LSP are programs that perform static analysis of the codebase to extract the AST and provide facilities for development (autocomplete, function signatures, refactoring utilities, go-to definition and so on). Most of the ones available for C++ use clang though it seems it may be possible to use with gcc. I was wondering if someone had been able to setup that already. This is the LSP I was trying to setup specifically: https://github.com/cquery-project/cquery -
Anybody got a language server working on 0ad? I generated a `compile_commands.json` with `bear make` but `cquery` is not working with it.
-
As a beginner it's always best to master your economy, especially if you are playing against nubs, you can worry about tactics when you get gud enough that your opponents can rush or match your units decently (just search for valihrant guide on youtube and enjoy)
-
New development version, fourth release candidate: - Bring in Britannic Road, props to @Feldfeld!!! - Fix sunken minerals on hyrcanian - Port optimization fixes for DiskPlacer and AnnulusPlacer - Optimize placements by constraining on areas instead of placer functions - Adjustments for tiny balanced maps - Memoize areas for food creation - Rearchitecture the helper functions (new library balancedHelpers) From now on I expect to only generate map previews and address any further issues found on playtesting. Thanks for the help!! balanced-maps.pyromod
-
@crazy_Baboon Are you aware of community_maps? You might want to send them a PR when this is ready (https://github.com/cwrtl/community_maps)
-
An alternative would be to have categories of mods, e.g. spec mods (e.g. autociv, fgod) are never checked for compatibility, maps mods are checked only when the map is loaded (like we do here), etc... But these would be ad-hoc solutions, I think a compatibility constraint would be best. As to avoid abuse, it would be impossible and made easier but I guess it's better to have it explicit than some kind of security through obscurity (stanza and hasSameMods can be patched regardless). As for maps, language-packs, etc a resource distribution mechanism would be a better delivery system than packaging them as mods, thought the mod specification could be reused possibly with a tagging mechanic (as described above) if a proper resource delivery system is too ambitious for a first step. A proper resource delivery system would download the assets on the fly, like for example when you download a map when playing a typical fps, with all textures, templates, etc... That would imply in additional complexity to be sure maps are compatible with mods, possibly even chaining on mod delivery. But I guess mod constraint specification would be a huge step in the right direction at least.
-
New development version, third release candidate: - Introduce wood generator, guarantees fair global 3/4 patches to each player I won't expect to introduce any new features now. My focus is on playtesting, rearchitecture of the helper functions, generating map previews and possibly including britannic_road (when @Feldfeld feels its ready) Please test if possible and let me know your feedback. balanced-maps.pyromod
-
New development version, second release candidate: - Bump to 0.18.0 - Introduce compatibility checker so users on vanilla and incompatible versions can't enter game if balanced-map is being hosted balanced-maps.pyromod
-
Ok, thanks @elexis for the suggestion. We can send the mod on stanza only when a balanced-map is being used, which works. @nani It seems autociv redefinition of sendRegisterGameStanzaImmediate is always used regardless if my mod is loaded before or after, if the filename is alphabetically before or after the one used in autociv, etc. Any ideas why I can't patch over the autociv definition?
-
Like autociv and fgod I patch `hasSameMods` and `sendRegisterGameStanzaImmediate` to make my mod able to work with vanilla (avoid having all matches in lobby without mod greyed out). E.g.: https://github.com/badosu/badmod/blob/ac9b65a009305fe1cc46412abd7a1a60477fd1fd/gui/gamesetup/gamesetup~badmod.js#L16-L20 However, in preparation for 0.18 release I want to still be compatible with vanilla but incompatible with 0.17. However it seems that to be able to do that I would have to start sending the mod on the stanza (so `hasSameMods` can perform the check) which would make it incompatible with vanilla. This is a sample code of how the check would be performed: global["balancedMapsCompatibilityMatcher"] = new RegExp('^0\\.18(\\.|$)', 'i'); autociv_patchApplyN("hasSameMods", function (target, that, args) { let mod = function([name, version]) { return !(/^balanced[-_]maps.*/i.test(name) && global["balancedMapsCompatibilityMatcher"].test(version)); } return target.apply(that, args.map(mods => mods.filter(mod))); }) But to have the mod comparison available I would have to send on the stanza, it's my assumption that if I send on the stanza then all ppl without mod wouldn't be able to join mod-hosted games, even if the map being hosted itself is vanilla. Is my understanding that this is impossible correct or is there another way?
-
Possible to create commit with patch?
badosu replied to badosu's topic in Game Development & Technical Discussion
Yes, that was my plan, but I ran `binaries/system/test --help-tests` and didn't find `test_RectPlacer` there. Anyway, I'll try and find out if it's running and just not showing, thanks! -
Possible to create commit with patch?
badosu replied to badosu's topic in Game Development & Technical Discussion
Done, as far as I found only `binaries/system/test` is available -
Possible to create commit with patch?
badosu replied to badosu's topic in Game Development & Technical Discussion
I dealt with allocations and map boundaries, I'd like to make and run javascript tests but wat not able to find in the documentation -
New development version, first release candidate: - Port minerals and food generator to all balanced-maps - Fix inconsistent fish generation on cross balanced-maps.pyromod
-
Possible to create commit with patch?
badosu replied to badosu's topic in Game Development & Technical Discussion
I need to verify its behaviour when sections of the disk are out of map boundaries, which the mentioned patch does. -
Possible to create commit with patch?
badosu replied to badosu's topic in Game Development & Technical Discussion
Well, this is a straightforward fix to merge, it does not do much apart from what it's supposed to -
Possible to create commit with patch?
badosu replied to badosu's topic in Game Development & Technical Discussion
First contribution: https://code.wildfiregames.com/D2710 -
New development version, several fixes from Feld and Valihs feedback: - Fix fauna/flora spawning on iber walls - Use areas to generate food, tks for the steal Feld - Create new AnnulumPlacer for disk with a hole - Does not scan whole map as DiskPlacer - It seems avoidClasses distance is not exactly equal to the distance of the placer, so avoidClasses is not a suitable 'hole' - Spawn minerals on whatever angle from player position - Port to Wrench balanced-maps.pyromod
-
Possible to create commit with patch?
badosu replied to badosu's topic in Game Development & Technical Discussion
Nevermind, I just found out I can attach to Trac, sorry for the noise. Also: My motivation is same as @crazy_Baboon, I find it much easier to operate using the git mirror -
New development version, only works for mainland, several fixes from Feld and Valihs feedback: - Maximum 3 extra berries - Default gen eles must be farther from cc - Improve grouping of hunt balanced-maps.pyromod
-
I see, this seems to be out of the scope for the current effort though. I could imagine a set of textures and triggers on a custom map that could implement these ideas though, if easy to be ported and fair enough could even make into competitive maps.
-
@Lion.Kanzen Could you elaborate?
