Jump to content

agapsguy

Community Members
  • Posts

    7
  • Joined

  • Last visited

Everything posted by agapsguy

  1. I know FeXoR, which is one of the reasons why any multiplayer aspect is out of the scope of my thesis. If, after finishing the thesis, it is decided that work on the AI is continued for 0 A.D., then I'm sure we can find a way to sync the rules. But, for my thesis, I will only consider a 1-1 game (1 player and the AI).
  2. I'll keep that in mind during the implementation stage, however performance-wise developing in JS could result in slower gameplay than C++. On the other hand, if after I finish the project the developers here would be interested to see how it could work in the game, I'll definitely hand-in a lot of documentation
  3. Just to clarify, an AI is not necessarily static if it has static code. In my approach, for example, the rules are not static and everything is player-oriented. A static AI is a hard-coded AI that for every action has 1 or more rules it can execute which are relative to that action, in such a way that those rules never change (excluding changes made by the developer himself) and the number of rules relative to each action therefore does not change as well.
  4. Dynamic AI, in the contest of what I want to do, is based on skill learning and dynamic scripting and has nothing to do with runtime compilation. As an idea consider a C++ coded AI, with rules stored in a file on HDD and AI decides which rules to execute. To be dynamic, any action can be executed via different rules, and the AI selects one of these relative rules based on a calculation at runtime. Moreover, the AI becomes adaptive by learning from the player.
  5. Due to the priority of the solution (since it's a thesis) and the fact that keeping in patterns with the usual approaches to 0 A.D. is not one of my objectives, the most important thing is that the interfacing works according to the needs and requirements of my objectives. Whether it fits to 0 A.D.'s usual patterns is only something that the solution, could have in the future. So with respect to the AI, if it needs to have classes with direct communication to the engine, so be it
  6. Thanks guys I'll focus on that class and also ask on the chat.
  7. Hey guys, for my thesis (and in the end run to contribute to 0 A.D.) I'm developing an adaptive and dynamic AI for 0 A.D. which will not be based on scripting (since scripting is static) and will be implemented in C++. The interfacing idea, i.e. communication between the AI and the game engine, has these requirements: The AI will need to have access during gameplay to these structures: The map (along with all units/buildings on it, areas occupied by AI / player) Any game status Player information / status and logs of all the actions he/she performs AI status (all units, buildings, what units are doing, scores, available resources / upgrades, etc The AI will also need to send (to the game engine) these during gameplay: Actions / commands what the AI decided to do (Ex: actions for certain units / changing the stance for other units / tech or age upgrades, etc Now the problem I have is that it's been quite difficult to get an idea of which classes and methods in the engine I will need to use to perform this interfacing and communication between the AI and engine. Also, since I will not be implementing any static scripts (unlike qbot for example), the implementation will be very different from the other existing AIs. Thus, I need to implement a direct communication, via C++, between the AI and engine. Any idea on what classes and methods in the engine I will need to use? I've been on this for two weeks and barely got anywhere. Btw this is my first post...hello to all of you
×
×
  • Create New...