Jump to content

Exodarion

Community Members
  • Posts

    27
  • Joined

  • Last visited

Posts posted by Exodarion

  1. In Hyrule Conquest we actually make use of our custom plot component to place walls, and also any other potential plots/buildings.
    We don't do this manually in Atlas. That would be extremely tedious to repeat for each map and also not very practical.

    How this basically operates, is that we select a single entity, let's say a civil center for this example.

    TFDqXcS.jpg

    The civil center template holds all the wall plots, with their respective offsets.
    Explaining how the component exactly works would take too much time for this post, but this is what a single segment would look like in the template for us.

    <WallA>
      <Angle>-21</Angle>
      <LinkedDestruction>true</LinkedDestruction>
      <Template>structures/hylian/hylian_plot_wallmedium</Template>
      <UpgradeUponCreation>structures/hylian/hylian_stone_wall_medium</UpgradeUponCreation>
      <X>-36</X>
      <Z>93</Z>
    </WallA>

    The Angle works in 360 degrees.
    The LinkedDestruction represents whether the building/plot will be destroyed if the hub(in this case the civil center itself) is destroyed.
    Template is the plot template, so the rings on which you can build.
    This plot is also meant to be auto upgraded into the set template when the hub is created, which is represented by UpgradeUponCreation.
    X and Z are the offsets from the hub.

    We basically duplicate as many segments/plots we need for each hub.

  2. Hello there,

    The attackmanager shouldnt even be loaded and that specific error is something I havent seen during the many times I have tested the master version of HC. Still, it could be possible that something went wrong with the deletion of said petra files in the released version on moddb somewhere.

    It might be that .deleted file somehow, since the HC AI has been standalone for a while now.
    It could also be an installation problem for all I know though.

    Anyway, I would only consider the Hylians and the Gerudo being fully supported by the AI. Any other faction that has some AI, has not been edited by me personally. That was back during 0.8 I believe when Neph tried to make something work through the AI config data for those other factions.

    On a side note, I am currently working on the Zora AI, which is showing some good progress already. When I get to them again, it might not take me more than a few days to flag them as 'supported' as well.

    With regards to those list errors, once again, not exactly sure why the soldiers lists are empty or undefined somehow. I havent seen errors like that for a very long time.

    Despite all of that, it is good to see that she enjoys HC as it currently stands. It is still a work in progress and the game is still far from balanced, but I believe we will get there eventually.

    The team is eager to continue development, and also, Stan is helping us with the A24 port, so we are receiving plenty of support and updates for our modding project.

  3. 27 minutes ago, Ozerol Notna said:

    Is there a place where I can download the latest version of Hyrule Conquest that isn't Mod DB? because that site wont load for my computer.

    Moddb is the only place where the mod can be downloaded.

    However, there is probably someone in the discord that can give you the installer as well.
    Here is a link to that discord: https://discord.gg/hQQ4qtt

  4. 2 minutes ago, The Undying Nephalim said:

    At the moment it's possible to spawn the two Witches when Twinrova dies, but there's no function that could combine them into Twinrova. Maybe exodarion will work some magic down the road. :laugh:

    splitting or combining Twinrova is not a planned feature right?

  5. 14 hours ago, Viridians said:

    Don't know if it's the right place to ask but i was wandering, when will we get the guides for Lanayru and Ordona ? 

    Afaik Nephalim is currently not working on those guides. The Moblins and Darknuts are priority number 1 now so perhaps after that. I cant speak for Nephalim so when exactly he starts with this, I dont know.

  6. Hey there,

    I had the exact same problem a few days ago and I just couldnt figure out what I was missing.
    after testing multiple theories of mine and asking around I found the solution.
    The solution is usually inside the interface file of that component.

    Engine.RegisterInterface("TechnologyManager");
    
    /**
     * Message of the form { "player": number, "tech": string }
     * sent from TechnologyManager component whenever a technology research is finished.
     */
    Engine.RegisterMessageType("ResearchFinished");

    However, the research finished event is already sent from there in this case so that is not the problem.
    To fix this particular problem you will have to remove the method from the AIProxy component and convert it to a global method in AI Interface like this:

    AIInterface.prototype.OnGlobalResearchFinished = function (msg)
    {
        this.events.ResearchFinished.push(msg);
    };

    Also make sure to add a disabler in the case that there are no AI players present.

    AIInterface.prototype.Disable = function()
    {
    	this.enabled = false;
    	let nop = function(){};
    	this.ChangedEntity = nop;
    	this.PushEvent = nop;
    	this.OnGlobalPlayerDefeated = nop;
        this.OnGlobalEntityRenamed = nop;
        this.OnGlobalResearchFinished = nop;
    	this.OnGlobalTributeExchanged = nop;
    	this.OnTemplateModification = nop;
    	this.OnGlobalValueModification = nop;
    };

    That should fix your event.

    Exodarion

    • Like 1
    • Thanks 1
  7. Hello people,

    This post is aimed at the 0AD Devs and more specifically, people that are aware of how the component and AI files function.

    Lately, I have been working on a large AI project for HC and recently made an attempt to register a new event inside the components that I can use inside the AI files.
    However, I am pretty sure I am still missing something after going through multiple files and testing my attempts.

    For example, I tried to replicate the method that was used for the TrainingFinished event.
    The actual registering of this particular event seems to be taking place in the productionqueue: https://gyazo.com/0da3f8f4de7211345e41c9f95c3a57eb

    Afterward, it seems the communication between the component and the AI takes place inside the AIProxy and AI Interface components:
    https://gyazo.com/97879f508c2280e2b5dbb3c0888f15f8
    https://gyazo.com/0210965d087367d766b53e3c2cb7fc65

    I am aware of the Trigger component file, but this doesnt seem to have a specific connection to the AI files in my testing.

    Whenever I try to copy this method of registering a new event and read it from the AI files it gives me the following error: https://gyazo.com/b85b0c086a517b3408682a44f09fc7f9

    This leads me to the gui files where the startgame function is called, which (I assume) goes through the source code where these events might be checked.

    Also, I tried to replicate this using the ResearchFinished event, which is only registered inside the Trigger component.
    When I try to communicate this event using the AI components, it does not give me this error, but also doesnt actually run the OnResearchFinished function, which seems to be called somewhere from the source as well, since I cant find where this is called within any of the component files or other files that I went through for that matter.
    I believe that the code that calls these functions is looking for a function that starts with "On blah blah", since other functions that dont start with these 2 characters are ignored, but this is just a sidenote.

    Finally, I have come to the conclusion that I am probably missing some kind of event handler register that must be done for any event whether it be used for the Trigger or AI Interface component.
    I have no clue where this is located and also leads to my actual question.

    I would like to know what I am doing wrong here and/or even better, a description on how to register new events and communicate these properly between scripts.
    If anyone is able to explain this to me, I would greatly appreciate this.

    Anyway, thanks for reading this long post for the people who have and I hope someone can give me some insight into this problem.

    Exodarion


     

    • Like 1
  8. I dont really believe this was anyones '"fault" nor does it really matter tbh. We basically used edited versions of the gamesetup and mainmenu files from the previous 0AD version, which caused multiple errors and conflicts. After updating them both the mod was fixed although it is true that the user settings had to be nuked for it to work again.
     

  9. 7 hours ago, (-_-) said:

    Bug report: A multi-player game goes Out-of-Sync when the Kokiri hero Mirora dies the first time.

    First of all, thanks for pointing that out. I have heard about a similar problem from some players in the multiplayer community and Nephalim has also mentioned some issues with the spawning of entities on death.

    Unfortunately, I can't guarantee a fix in the next patch or release since there are other priorities on the list for the next patch, but I will make sure to put this on my todo list and discuss this with the rest of the team to see what we can do to resolve this matter.

    As a final note, I am planning to edit the entity spawning on death sometime in the future, so this problem could also be fixed during that process as a result.

  10. Just a few notes regarding the original 0AD factions for HC.

    Technically, making the game run for the vanilla factions should only require the citizen_xml edits like SirPope mentioned.
    However, the AI for HC is a heavily edited version and is currently not compatible with the other 0AD factions.

    It is still possible to get this working by changing all the original unit and structure templates, but that will take quite some time.
    As an example, the new magic damage types and unit/structure classes.
    There are also some new component additions and changes that have a large impact on the behaviour of the AI (which can also be set in the template files).

    I might have missed a few changes that fall outside the template files like the previously mentioned choosing hero functionality, which is dependant on the civ and technology files.

  11. Hey Angen,

    Thanks for your feedback on Hyrule Conquest. I have confirmed that there is indeed a problem with the Goron AI in regards to the error that you mentioned, but since it only seems to occur for the Gorons, I believe it has something to do with a specific tech that would also give the player this error.
    Nephalim and I will fix this problem in the upcoming weeks.
    I am not sure exactly when or if Neph plans to make a walking animation for the pig or if he has other plans for that particular asset.
     

    • Like 1
  12. 1 hour ago, Lion.Kanzen said:

    You don't  need it. 

     

    53 minutes ago, Imarok said:

    Everyone can create tickets.

    Wrt category: just do it as you think. If it's wrong someone will correct it after you created the ticket.

    Alright thanks.

×
×
  • Create New...