Jump to content

fcxSanya

WFG Retired
  • Posts

    1.083
  • Joined

  • Last visited

  • Days Won

    12

Everything posted by fcxSanya

  1. With technologies + custom dialog approach I described in my previous messages, you need technologies (and also to edit unit templates they are unlocking) and a dialog in gui/session (see diplomacy, trade and objective dialogs as examples).
  2. I believe triggers are simulation scripts and can't introduce custom gui. Also they are bound to specific maps. Am I wrong? That's why I said "with a custom UI to select one of them at the match start", i. e. the mod will have that custom dialog at the match start which will list (and allow to select one of) civ-specific technologies of a special type.
  3. In my understanding A Silent Day In Gaul is a narrative scenario, so it's notable for player in-game actions (not just UI interaction) affecting the story progress. So I believe your second alternative is more relevant here: Why not? For me it looks exactly like 4 mutually exclusive technologies, each unlocking its own set of heroes / units with a custom UI to select one of them at the match start.
  4. Hm, it looks ok. Are you sure you have multiple peace tracks in your civ json? You can try to put something like warn(uneval(this.tracks.PEACE)); before the startPlayList to check what tracks are in the list (not sure whether it would properly print the list of objects though).
  5. In "case this.states.PEACE:"? Or you did replace the entire updateState body? Can you share your entire music.js?
  6. The image from the browser console is just a test to check how concat/shuffleArray combination works, see the last 3 identical calls of [this.tracks.PEACE[0]].concat(shuffleArray(this.tracks.PEACE.slice(1))) which produce different results (with the first element always on the first position): [1, 5, 4, 3, 2] [1, 3, 4, 5, 2] [1, 2, 4, 3, 5] this is an emulation of tracks order What you need in your music.js is that one line (+comment): // Play the first track first and then the remaining ones in a random order this.startPlayList([this.tracks.PEACE[0]].concat(shuffleArray(this.tracks.PEACE.slice(1)))); where I forgot two other params of startPlayList btw, so it actually should be: // Play the first track first and then the remaining ones in a random order this.startPlayList([this.tracks.PEACE[0]].concat(shuffleArray(this.tracks.PEACE.slice(1))), 3.0, true); You need to put it in "case this.states.PEACE:" of updateState (where your two startPlayList's currently are)
  7. I believe you should call startPlayList only once, otherwise it seems like you are starting to play one list (non-shuffled) and then immediately switching to another (shuffled). What I suggested to do in the that second item ("2. shuffle only second and subsequent tracks for the 'PEACE' state in 'updateState'") is something like this: // Play the first track first and then the remaining ones in a random order this.startPlayList([this.tracks.PEACE[0]].concat(shuffleArray(this.tracks.PEACE.slice(1)))); I didn't test it in the game, but "on paper" (in the browser console) it looks fine: (randIntInclusive and shuffleArray definitions are from random.js and utility.js respectively)
  8. We have a ticket for it: #1306 . I tried to glance at the related code the previous time it was brought up, but didn't find how to fix this quickly enough and didn't return to it afterwards. Player assignments are managed in gui scripts (in gamesetup.js in particular), while entities initialization is performed in MapReader.cpp (see CXMLReader::ReadEntities). Map loading is obviously ha ppening after the gamesetup, but I'm not sure whether the MapReader has access to the player assignments (it has some 'LoadPlayerSettings' which goes into simulation2, which may or may not have the relevant data). This is more complicated. Our previews are arbitrary images rather than minimap-like schemas. I guess we may implement an additional optional 'schema' (or 'placements') element for maps consisting of an image and metadata (player locations on the image), which preferrable should be autogenerated by Atlas. This schema then will be displayed in the gamesetup somewhere besides the regular preview.
  9. In AoK it can be countered by champions, siege and some unique units, see Trash Resistance
  10. They are defined in pathfinder.xml and used in CCmpUnitMotion.cpp and CCmpPathfinder.cpp
  11. This wasn't answered yet, right? (I don't see any follow-up discussions skimming over the subsequent posts) There are no videos, nor video support in 0 A.D. as far as I know, and I even don't remember (and can't find) any discussions or tickets related to it. I think the current (maybe somewhat vague) plan is to have in-game cinematic scenes for campaigns. On the other hand it's a somewhat basic and expected feature for a game engine. Also it's self-contained enough so shouldn't be hard to maintain. I've created a ticket (#4724 (Video playback)) and will try to do some basic research for it unless someone else would do it faster or will link to an existing implementation / discussion etc.
  12. JSON is a data format, you can't write code (i.e. call 'concat' and 'shuffleArray') there. What civ json files do is they define civ-specific collections of tracks. These collections are used in music.js , which is a part of the music manager as far as I understand. music.js is apparently where you saw the main menu track-related logic and that's probably what you have to modify to achieve your goal. As you can see, in 'resetTracks' state-specific playlists are filled with default tracks, then civ-specific collections are added into the playlists in 'storeTracks' and finally 'updateState' starts playing the state-specific playlist. For the 'MENU' state playlist is played as is (unshaffled) and 'Honor_Bound.ogg' is always the first track in it (due to code in 'resetTracks'). For other states playlists are shuffled. So, unless I've missed something, you can: 1. remove the default peace tracks from 'resetTracks' 2. shuffle only second and subsequent tracks for the 'PEACE' state in 'updateState' what should result in the first peace track from civ json to always play first and other ones being shuffled.
  13. You have to create <mapname>.js file manually, and specify it (along with TriggerHelper.js) in the map xml. See example in Cinema_Demo.js and Cinema_Demo.xml (lines 105-108). If you need more information about triggers, it's available on this wiki page: Triggers .
  14. There is a corresponding page in the Atlas Manual on the wiki: Cinematics Tab , which is a nice starting point: read it, try to modify / view paths on the "Cinema Demo" map shipped with the game (Alpha 22), and feel free to ask any remaining questions here
  15. The mod itself is in binaries/data/mods/mod , layout of the page: gui/modmod/modmod.xml , style definitions: gui/common/modern , textures: art/textures/ui/global/modern
  16. It helps sharing the maps (and other content) on the forums, this way you can encourage yourself to push a bit to finish an early version / prototype, then potentially get some feedback / ideas for further iterations. And even if there won't be much feedback and / or you will abandon the map after the initial published version, you or someone else may revise it later or gather some ideas from it. xmb is a cached version of xml. You should share both (original non-cached) xml and pmp files. I'm not a map-maker myself (nor a much active player), so I can provide only limited feedback. I think the overall idea (player roles and placements) sounds interesting gameplay-wise, but visually the map is very simple / repetitive. Some random suggestions: 1. it looks like the Roman city has one (single) texture and everything else (besides the cliff and the mountain-walls) is another single one; try to mix multiple textures in those two areas and maybe add some different regions (like a bit of snow on the north of the map or on higher areas or vice versa some desert / steppe areas). 2. add some landscape details, like roads, rivers / streams, ponds 3. fill the Roman city with something, either landscape details (texture changes from #1 will somewhat help, but something else is needed also) or maybe slight terrain elevation changes, some eyecandy etc. 4. mountain-walls look very artificial, maybe you can embed them into a more naturally looking mountain-range? 5. the cliff is very plain too, try to vary its geometry slightly, mix a few textures, maybe add a few actors (trees, stones etc.) here and there.
  17. It's "left top right bottom" Using percentage in the coordinates allows to keep the dialog centered despite the resolution, but the dialog size itself is fixed (560 width, 350 height), it doesn't scale with the resolution change.
  18. I've made a quick and dirty mod to slightly adjust the top panel: delenda_est_a22_1024x768.zip It shrinks the resource labels and displays only thousands if the resource amount is greater than 10K.
  19. Even though this topic itself is inside the replays subforum now, I guess it may be convenient to link the A22 replays subforum here: https://wildfiregames.com/forum/index.php?/forum/458-alpha-22/
  20. The proper (automatic and reliable) way to connect with STUN is via lobby. I assume currently the lobby doesn't allow other people to fill the deserted player slots in running games expecting the original players to return (rejoin)? @elexis is this the case? If this is the issue here, then I guess we may provide some way for host to mark deserted player slots as vacant and allow other people to join them from the lobby. Regarding manually sharing the IP -- it depends on the network configuration: a. if you're behind a port-forwarded (or autoconfigured via UPnP) router, then STUN doesn't affect anything and you can share your external IP + port as before b. if you're behind a full-cone NAT (see https://en.wikipedia.org/wiki/Network_address_translation#Methods_of_translation) and an external endpoint was established / discovered via STUN, you can share it instead, people should be able to connect c. if you're behind an address- or port-restricted NAT, you have to perfrom a connection negotiation phase with a peer, which is at least inconvenient to do manually d. finally, if you're behind a symmetric NAT, with the current implementation you shouldn't be able to host in the first place (which is apparently not the case in your case) I expressed my opinion on this subject in the a21 topic: and it stays the same: I think the replay sharing process is already inconvenient enough -- you have to have a forum account, know about this subforum existence, be able to locate the replays, upload and describe them here. Ideally it should be (I hopefully in future it will be) just a button in the summary screen with all the match details gathered automatically requiring only an optional hand-written comment. So if you are going over all this trouble and it's convenient to share a replay pack instead of single ones, it sounds perfectly fine for me. If someone has a different opinion -- let's discuss. If you are concerned by the wording in the rules topic let's either rephrase it (after @Itms' approval of course) or just consider it a recommendation with common-sense-justified deviations allowed.
  21. There is a section in Creative Commons FAQ on this subject: https://creativecommons.org/faq/#can-i-enter-into-separate-or-supplemental-agreements-with-users-of-my-work and something like a short summary in another section of the same FAQ: So, by releasing your work under a CC license, you grant people permission to use the work under the license terms, but you don't restrict yourself from using it in other ways / dual-licensing it etc.
  22. @SkyOne578 "a week or so" took a bit longer, but Alpha 22 is finally available: https://play0ad.com/new-release-0-a-d-alpha-22-venustas/ so I guess you can start downloading it
  23. @LordWahu I didn't manage to examine the crashdump properly yet, but it seems to be crashing inside atioglxx.dll, which is a graphics driver library. Your crashlog.txt states "6.14.10.10429" version of atioglxx.dll, which according to this report lacks some OpenGL features present in the newer versions. So please try to update your graphics driver.
  24. @LordWahu is a crashlog.dmp file present in the logs folder?
×
×
  • Create New...