Jump to content

AtlasMapper

Community Members
  • Posts

    137
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by AtlasMapper

  1. I think this last version (1.3) is good enough, in term of visual and gameplay. It is actually what I had in mind when I started it. I'll do visual updates time to time, and maybe set up a scenario later on it. Any feedback is still welcome, if anybody is interested in playing this map. Happy gaming!
  2. @sanderd17: There was no question in my precedent post, only comments and remarks.
  3. Oh I understand. I only play single player because of my lag/freeze problems. I understand its need now. Haha yes sorry. Surely, you noticed that I am a newbie. Moreover, english is not my native language, so I might try to find expression unsuitable for what I try to say. So I used a wrong terminology. I'm sorry if it produced ambiguous ideas in my phrase, I was trying to explain the way I understand it. Next time I'll rather say "if I use a cmpTimer", "a SYSTEM_ENTITY stuff", "that cmp thing", etc, it will be less ambigous, and it will underline that I am doing it in an beginner and amatory way. By the way, I gave up with the cmpTimer.GetTime(); stuff. I wasn't able to manage it the way I should, probably because I mix concepts when trying to understand how it should work. So I changed my strategy, and tried the other option you suggested previously I think it is much more complicated, because it requires more stuffs, and crossed things (sorry for my wrong terminology, I mean a stuff in a thing in another stuff) rather than a -to me - simpler condition check (the timer stuff). But in the end, it was possible to produce something from this strategy. I finally succeed in doing my trigger stuff (at least for my 2-players testing map). Here is what I finally wrote and is working on my tests, if it could serve as an example to help other newbies by dealing with the trigger stuffs on maps (who knows ?). My goal wasn't to waste your time in any way. I appreciate your help with all of this. I couldn't succeed without you. I think that examples are much better that explanations, that's why I also post my stuff here. I know there are some examples.js on the site, but there are not much, and they don't cover all the simples concepts needed to understand how it works, in my opinion. I also know the trigger stuff is quite new and is still an ongoing work and experimental. By the way, I think it is always a good think that you understand how people that are complete strangers of your game/script/system could deal with it. It might help you to improve it by seeing what is accessible and what is complicated (if you plan to improve the system). There are lots of way to improve my trigger stuff here, especially in a visual way. For example, that would be nice to have a window with a "ok" button to display the "scenario" messages, (and putting the game in pause mode when displayed) especially because it would let the user close the text when read. But I wasn't able to find any examples on how to use them (if any exists). That would be also very nice if we could easily link a unit icon from the GUI inside the message windows, to illustrate easily and quickly who is talking in the message. Now I have to adapt my trigger stuff on my 3-player scenario (that shouldn't be long, but requires some testing) but I am not really in a hurry, as I still can't play this game in multi. Actually, the game even freeze in 1 player mode sometimes, but whatever. I reported this, but I am no more expecting this issue to be solved (it is not considered as an issue, just a personal defect of hardware). Again guys, thanks for your help, especially sanderd17 for so much patience and knowledge sharing! Keep going with good work.
  4. @sanderd17: One of the trouble I encounter is also to decipher the scripts/commands that are specific to 0ad (so belongs to the SYSTEM_ENTITY if I am right) from those that are a part of whole JS. And because 0ad Triggers are experimental, their uses or examples are unclear to me. I try to get some examples from all *.js files, but here are not many and some seems to be used differently. Moreover the getTime(); command is a regular JS command (I mean, you can use them in web pages or so), and then it is hard for me to know if I need to check the normal JS syntax and use this regular command, or use some special 0ad components to retrieve the time. So the game cmp are triggered on scripts by calls. If I call a cmpTimer I don't need to calculate the difference from the start, from what I see in the Timer.js. If I understand well, your code will call for the Timer.prototype.GetTime 0ad component. What is the benefit of using a SYSTEM_ENTITY function over "normal" JS functions (I guess I could get the time with a regular var time = getTime(); ?) I mean, in my case, I just need to check just once the time spent in a function, not to keep the track of it. Anyway so I can retrieve the time from the start by calling the cmpTimer on attack time : var cmpTimer = Engine.QueryInterface(SYSTEM_ENTITY, IID_Timer); var AttackTime = {"enabled": true} cmpTimer.GetTime(AttackTime); or rather AttackTime = cmpTimer.getTime();
  5. Update. Changelog v1.3: Balanced the number of resource spots Added metal and stone resources in Karpasia area (northeast) Added visual hints to reach Morphou bay Added resources in Morphou bay Improved roads appearance Minor visual improvements Hints:
  6. @sanderd17: Oh I see, I did think you can "filter" the trigger during the cmpTrigger call by imposing some option, or arguments (then impose my entity, from, to data..). I did believe that the OnOwnerShipChanged function could retrieve these informations during the trigger call and activate or not depending on arguments. That is what I interpreted from the Trigger Reference Table. I can get informations from the wiki trigger page, some other from JS lessons, but I still encounter some gaps between them. Some things on the wiki might be obvious for coders, but as I am a newbie there are some missing things. So in your example, the value of the time will be attributed to the variable cmpTimer ? So if I am right, I should set up two functions, one that retrieve the time at start (with var = cmpStartTime), then one at the time of the attack (var = cmpAttackTime), then calculate the time for the attack in milliseconds var time = cmpAttackTime - cmpStartTime. The challenge is to register and call these functions in the right place of the script. @niektb: Thanks, this illustration example is exactly what I needed to know how to manage the triggers. I wish there were such practical example in the trigger wiki page. It would really help newbies. @niektb: There was actually a little syntax error in your condition test, the game refused to use it. This one worked: if(data.entity == 483 && data.from == 2 && data.to == 1)
  7. @fcxSanya: That is exactly what I had in mind, thank you very much! The informations are what I needed for my first use of the tool.
  8. Things are going on. I can load my map with a script, most of the script is working (with simple things, I can display some messages after certain time, etc). I still have a problem with a specific trigger. I think is is easier to explain it here. I want to generate a trigger function when a dock is conquered. So I started with this : cmpTrigger.RegisterTrigger("OnOwnershipChanged", "RipostCheck") data = { "entity": 483, // it's the dock entity uid "from": 2, "to": 1, }; But it doesn't seems to work, even if this is the right entity uid. So problem 1. Then when player 1 takes the dock, the following function is supposed to be triggered : So depending on the time the player needed to take the dock, two different messages or events could happen. What is the time variable ? It is supposed to be the amount of time from the start of the scenario. I tried to retrieve this value with the following function: Engine.GuiInterfaceCall("GetExtendedSimulationState").timeElapsed, but I don't know if I am really able to invoke such functions on a JS map file ? I tried with something like: Trigger.prototype.CheckAttackTime = function(data) { var cmpGUIInterface = Engine.GuiInterfaceCall("GetExtendedSimulationState"); var time = this.cmpGUIInterface.timeElapsed }; But it doesn't works. How can I do it ? Can we invoke any game function in a map.js file ? Can we also directly retrieve some var values from the game ? Or is it necessary to create functions ?
  9. This is true for the second test I made, with a low config, Win-based system. On this low config system, I didn't experienced any freezes/crashes. Just some lag. On the Linux-based system where I experienced and reported the lags/freezes/crashes, I have a multi core @ 3.10GHz (so let's say 3.10Ghz), and 3100MB of free memory prior launching the game. But it has been suggested from my error report that my config is not powerful enough to calculate others AI.
  10. @sanderd17: Again, thank you very much for taking some time to help me and share your knowledge. I think I now have all the indications to make my script working. It will take some time, surely, but it seems feasible now. I guess I'll figure out how to manage my timer problem by tries, as well as for the icon use. Keep going with good help!
  11. What is the recommended config to avoid freezes then ? I see that the minimum config is : Processor: 1 GHz Intel or x86 compatible Memory: At least 512 MB Graphics Card: Any supporting OpenGL 1.3 with 3D hardware accelerated drivers and at least 128 MB memory, e.g. Despite my problems I have a much better config. It has been suggested my problems come from my config. So what hardware should I have to run the game without freezes and crashes ?
  12. @Leyto: That's a beautiful job, really. What other texturing are you working on, what would be the next ones ?
  13. People are playing 0AD on Raspberry Pi 3 I can't believe my lag/freeze/crashes issues are because of a lack of memory or GPU.
  14. Thanks, I was just looking for the best way to inform people about any update for my map. You answered. I'll create new posts then.
  15. Another question, is there any way to add some icons (like in-game units icons) on displayed messages, to illustrate some dialogs ? How could I do that ?
  16. @sanderd17: Thank you for your help. Yes I already tried to review the trigger help page. But there are not enough example of function to solve my problem. But I finally found some js examples in the game directory. I think I can balance the game with triggers/scripts. But I am not good in js/coding and as I have to do it by myself, it will take some time. By the way, here is what I started to code, to give you an idea about what I have in mind to balance the scenario : The idea is to set two other factions as neutral at start, to prevent any attack. If player one is able to reach and take the west dock in time, so help from player 3 will stop him to take the island. Then Player 3 will only ripost when beeing directly attacked (trigger not implemented yet). But I have to face many issues. First, I have some errors while loading the scenario (message error about line 46, problem with JSON), I added "TriggerScripts": [ "scripts/TriggerHelper.js", "scenarios/malta.js" ] In my .xml file, but the script doesn't seems to be loaded. Can you see any error ? Secondly, there are some missing function to me in the examples, like a "timer" one. I'm using the var = timerdata to try to generate a timer and check for its value with other triggers, but I am not even sure I can do it this way. Do you have any other tips for this ? About the ownership: you're right, I added these entities too fastly, without checking their ownership. I still don't know the use of a ownership of a goat in-game. But I now understand the gameplay problems it can generate. I'll review all of this and reattribute Gaia ownership for them. Thanks for noticing me!
  17. @sanderd17: There was still some dock/shore issues. Now fixed. Update: Changelog v1.2: Added entry points on Larnaca beach + visual hints Added more places for docks on Farmagusta bay, Larnaca bay, Limassol bay, Paphos beach Added fishing spots By the way, is there any way to add any "update status" to posts on the forum ?
  18. I can't find any help about functions/objects used on map for tiggers/scripting. I would like to add a simple script in the <ScriptSettings> part, to prevent red from attacking at start. I guess that I could set a "neutral" status on start, then add a simple function to switch from "neutral" to "enemy" status when player 1 reaches a certain point. A big issue for me is that Atlas freezes when I select some "trigger" entities (point A, point B, etc.). One other question is how are objects (entities) recognized on the map, is it by the <Entity uid="X"> as I think ? So what is the use of the <Actor seed="X"/> ? How can I find any entity uid on a map ? I also can't find any help with a more complete list of functions useful for triggers. I know that all of this is still experimental, and there is no documentation. But I think my AI problem would be solved with a very simple script like : set diplomacy player 2 status = neutral if player 1 attack <Entity uid="X"> (let's say a tower for example) then set diplomacy player 2 status = enemy Can anybody help me with the script syntax used in this game ? Thanks.
  19. Thank you for the test, that was what I had in mind. But I wasn't sure, I wondered if you set "conquest buildings", you might win by taking Gaia buildings. Taking the whole Gaia flora/fauna would be a paint. Actually, does animals, trees counts as real ownership ? Is there any in-game way to transfer some goats, fishes or metal spots from Gaia to any player's onwership ? What is the role of the "onwership field" for such entities ? I wasn't sure at start, but I might set a 4-player mode for this map. I think there is enought room, in the end. And the disappointing thing for me, as a map creator, is you can win the map by only visiting 30% of the total map, and totally skip some areas that took me hours to design/texture. With 4 players, people should be forced to explore more the map. The problem is I can't test any map with 3AI bots, so that would be difficult to test/balance the map alone. Anybody would be interested to play and test a 4 player version ?
  20. Sorry post the long log post, and thanks for your help. I am not sure the problem comes from a low GPU memory. The game uses about 30% of my CPU and 50% of memory. The GPU/CPU ratio is changed dynamically, so if I have free resources on my CPU, it should be allocated to the GPU when needed. But anyway I tried to change the GPU modes, to some more graphical-performance profiles. I also tried to manually tweak the GPU ratio, increase GPU memory and frequency, but it didn't increased the stability with 2AI bots. I also tried to remove some graphical features like shadows, sea depth, etc etc, to lower the graphical usage, but without any positive results. However, I also tried to play the game in an another system, Win-based, with a lower configuration : CPU : x86 Intel Core i5-2557M @ 1.70GHz (1x2x2), 1.67 GHz Memory : 4096 MiB; 2830 MiB free Graphic card : Intel Intel R HD Graphic family OpenGL Drivers : 3.1.0 Build 8.15.10.2559;IG4ICD64.dll (8.15.10.2559) Video Mode : 1600x900:32 As you see, the configuration is much lower than mine, with a higher graphical need (Video mode with higher resolution, higher color depth), and the system has an integrated GPU too (Intel HD Graphic family, even poorest but same technology). However, on this poor system, the game (same release), works quite well even with 2AI bots (the animations are not as good, the game seems to have a lower display frequency or something). But no lags or crashes with the game on this OS version. So it seems to be related to the system version rather than any particular hardware specifications. Maybe the game is less optimized on Linux-based systems ? Maybe it is related to the open GL drivers available on both systems ? Maybe are they any other bugs ? By the way, what are the minimum and recommended hardware specifications for the this game ? What GPU in term of memory (32 ? 1024 ??) and frequencies (700 Mhz ? 2.4 Ghz or even more ?) are needed ? Is it necessary to have such a high hardware spec for this game ? I am not a specialist, but I can play other games that seems to need more resources than 0AD on both systems, without any crashes. That would be nice if I could play 0AD without destroying my whole bios settings, without lowering the performance on my other applications.
  21. So many crashes, I even experienced some using Atlas (when selecting some objects, like triggers), in single player mode.. It is hard to aggregate all the profile/reports. I have some profile indicating that I have more than 3100MB of free memory, even after a crash versus AI.
  22. So it will be close to the Malta's scenario I am also working on, with romans (see ? ) trying to capture the colonies on the island. I can try something similar. But I have a question, if I set up only "player 1" and "Gaia" as teams, and "conquer buildings or units" as condition, won't I win at start ? Does Gaia really count as an adversary ?
  23. Fixed! Changelog v1.1: Removed river Fixed topography around river Added roads between major Cyprus cities Minors visual improvements I hope it will fix all the gameplay problems and improve experience. I am always looking for feedback to improve it. @Lion.Kanzen: Thanks. Sorry, English is not my native language. I'm trying to do my best, but I often mess up with -ans -ians -nians -ananainainians. I'll try to remember for the next time! Should I create a scenario for this ? I suppose that I can't in Skirmish mode, as you need at least 1 CC for each players. Is it Ok if I build "gaian" villages, and put just a dock for player 1 ? Or should I put some "player 2" buildings ? How many resources should be enought for you ? I can try to create this one for you.
  24. @sanderd17: Thank you for trying my map, and for your constructive comments! When I tried the map, with the Romanian faction, I didn't experienced any cliff issue. But I am sorry you had some. Anyway, as I said, I was thinking about removing this big river that cross the island. It is actually a mistake I made : I misinterpreted the map I used to draw the island. You probably know that Cyprus is still under a kind of civil war, and there two entities disputing the ownership of the island. So the "river in the cliff" crossing the island is actually.. a military buffer line that separates the island in two parts. But it is not related to anything real on the island topography. Especially during 0 A.D.-600 A.D. time period, it has no sense. So I had in mind to remove it in the end. But when I first played this map, and after I figured out it was a mistake, I found quite fun to have the island separated in two, with only a single bridge, so I decided to upload this version. But it is a source of gameplay issues, and you underlined some. About some dock places. It is a very important point, thank you for that advise. It is complicated for me to modify the topology of the island, because it is so realistic. But the reason I spend so many time in drawing realistic maps is because I trust that the real topography and places of cities is a really interesting source of gameplay fun. If you visit some places with a very old history, you'll see some fortified cities. If people built fortifications on defined places, it is because that's the most interesting place, regarding to the topography and in term of military strategies. So I think you had the right idea, by trying to put some docks.. With the actual map, you probably tried to place a dock in the mesaoria area, again because of my wrong "cliffs/river" won't let you place some anywhere else. I think it should be solved if I remove the cliffs/river part again. If I do so, I think you could easily place a dock in the Larnaca beach. If you look at the real map of Cyprus, you'll see it is the closest coast big city from Nikosia (where player 1 starts). From here, you could set up a surprise sea attack to Limassol (where player 2 starts). If I am right, the Petra bot is quite "direct", and always attack using the closest road available on any map. So it should try to attack you from the mountain area if I remove that "cliffs/river" part. And your sea attack should be successful from Larnaca (bot won't ever see you're building something there). It is the same for player 2 (if played online for example), from Limassol, the closest place for an another dock is Pafos beach in the west. So if player 2 is played by any human (in online mode, are skirmish maps playable ?), he could build a "backup" area in Pafos. So keeping the real topography (removing that stupid "cliff/river" part), and maybe placing some hints like roads (in the malta map, I placed some road respecting some old real roads), would help players to place buildings in natural strategic places. Now I know what I should do, I hope it will solve everything. Thanks for your comment !
  25. Hello guys, I'm happy to submit to you my last map : Cyprus Island! Here is Cyprus: And here is my new map: This map is a 2-player skirmish ATM. It will probably need some refinements, I'll improve it gradually. I'll change the "border river" crossing the island later too in future versions. Any feedback is welcome! Here is the file: Update: Now in beta1.2, check most recent posts for the file And finally, some more teasers about the map: Olympus mount Limasol beach Mesaoria: Etc. etc. I hope you'll enjoy the map. Looking forward your feedback, happy gaming. CyprusSkirmishBeta.zip
×
×
  • Create New...