IPB Style© Fisana

Jump to content


Introduction


  • Please log in to reply
10 replies to this topic

#1 Relish

Relish

  • Community Members

  • Tiro
    (8 posts)

Posted 11 April 2012 - 05:43 PM

Hi!

I'm Andrea and I'm a student from Italy (University of Bologna).

I'm developing an AI for 0ad as my thesis for my Master in Computer Engineering and I wanted to introduce myself in your forums since I thought it would be nice to start posting here some of what I was doing.

The main theme of my work is to use BDI Agents to govern the behaviours of the AIPlayer's units and buildings: in essence every unit (and building) is an intelligent agent with his own beliefs, desires and goals and they all interact to achieve different objectives.

Instead of having a single mind like the other AIs, this one aims to reach the main goal by having multiple simple minds interact.

I've already developed the underlying framework and I'm now adding the agent's behaviours, so I'll soon start to share the Bot to see how it goes against better players than myself ( since I've always loved RTSs but I was never very good at them :sorry: ).

Since I'm very interested in game development I'll also try to help if needed with other parts of the project; I've used Java, C++, PHP, javascript and other languages in the past but I'll need to refresh a bit my C++ since I've mostly programmed in Java in the last 2-3 years.




See you in the forums and probably in your dev chat too (if it is open for everyone). :cheers:

#2 FeXoR

FeXoR

  • Community Members
    PipPipPipPipPip

  • Centurio
    (660 posts)

Posted 11 April 2012 - 06:18 PM

Welcome to the 0AD forum.

In the dev chat I could read:
'interesting thread btw: http://www.wildfireg...=0'
...and I'm not a team member.


Your AI development sounds nice to me and I'm thinking of writing an own one, too.

I'd appreciate to rip the heart off your AI when playing against it. I'm not the best player but usually have a 30/1 kill ratio against 2 AIs so it will do ^^
Optionally I'd like to run AI matches anyways. So if ready to use post it and I'd gladly test it.

Edited by FeXoR, 11 April 2012 - 06:19 PM.

Posted Image Im Übrigen bin ich der Meinung, dass 0A.D. Auslöser braucht. (IMO 0A.D. needs triggers ASAP.)

#3 vts

vts

  • WFG Programming Team

  • Sesquiplicarius
    (110 posts)

Posted 11 April 2012 - 06:25 PM

Hi Andrea,

That sounds very interesting! I'm not very knowledgeable about AI myself, so I'd be eager to see how this plays out :)

As I'm sure you've noticed we've got a couple of bots in the making already; there's been some talk recently about joining efforts to move to a single definitive AI bot, but I'm not sure what stage those plans are at this time (I'll have to defer to the people directly involved for that). Nonetheless, I don't think that should stop you from being able to create a separate bot, and although I don't know how the current bots work, I suspect they'll find it interesting to see how yours does.

Out of curiosity, if this is your master's thesis, how are you being mentored? I ask because your faculty is presumably not very familiar with our codebase to help out should you run into trouble, so you'll probably have to do quite some digging around in the code yourself.

Also, the dev chat is most definitely open for everyone. Come hit us up on #0ad-dev @ quakenet!
Jeroen DR [ aka vts ]
Wildfire Games Programmer
Contact me: jeroen@wildfiregames.com


‹Mythos_Ruler› Give that batch some uniforms. Batches love uniforms.

#4 Relish

Relish

  • Community Members

  • Tiro
    (8 posts)

Posted 11 April 2012 - 06:55 PM

View Postvts, on 11 April 2012 - 06:25 PM, said:

Hi Andrea,

That sounds very interesting! I'm not very knowledgeable about AI myself, so I'd be eager to see how this plays out :)

As I'm sure you've noticed we've got a couple of bots in the making already; there's been some talk recently about joining efforts to move to a single definitive AI bot, but I'm not sure what stage those plans are at this time (I'll have to defer to the people directly involved for that). Nonetheless, I don't think that should stop you from being able to create a separate bot, and although I don't know how the current bots work, I suspect they'll find it interesting to see how yours does.

Out of curiosity, if this is your master's thesis, how are you being mentored?

Also, the dev chat is most definitely open for everyone. Come hit us up on #0ad-dev @ quakenet!

I know about the other AIs and I read most of their code to see how they accessed game data and sent commands to the engine; my work will probably overlap in the "decision making" part, but not in regard of map analysis or entity collection access which I will probably leave as it is.


I also plan to develop a parser to let people (even non programmers) write behaviours for the agents, that way anyone could try to find the best way to handle that little community of intelligent ants :D

About the mentoring: I'm pretty much free to take the direction I want and when I have some hard decisions to make I ask for opinions; I'm being followed by experts in multi agent systems so I usually ask advice about choices in the infrastructure and common agent interaction problems.

So I'm digging myself through the code, but so far I've managed to find what needed (thanks also to the good AIs already present); in case I'll need some info about parts of the codebase I'll ask here :)



Edited by Relish, 11 April 2012 - 07:00 PM.


#5 feneur

feneur

  • 0 A.D. Project Leader

  • Cartographer of imaginary worlds
    (7,062 posts)

Posted 11 April 2012 - 07:04 PM

Welcome and thanks for the report, it's cool to hear about 0 A.D. being useful to someone else even though it's not finished yet if nothing else ;)

I assume(/hope) you're using the SVN version to stay on top of new development? Just so you take advantage of any new improvements :) (Though if you're short on time it might be better to be using a static version so you don't have to keep up with any changes =) )

Erik Johansson [ aka feneur ]

Wildfire Games
Contact me: feneur@wildfiregames.com



Support Wildfire Games!


#6 Jeru

Jeru

  • 0 A.D. Art Team

  • Orator
    (4,465 posts)

Posted 11 April 2012 - 07:04 PM

Hi Andrea! Welcome!

Would you mind saying if you are male or female? (Either way you are very welcome here!)

Aviv Sharon [ aka Jeru ]

Wildfire Games 0 A.D. PR & Social Media Contributor
Contact me:
E-mail & Google Talk: aviv dot sharon at gmail dot com
MSN: lc_jerusalem at hotmail dot com
Facebook, Twitter, LinkedIn


#7 Relish

Relish

  • Community Members

  • Tiro
    (8 posts)

Posted 11 April 2012 - 07:13 PM

View Postfeneur, on 11 April 2012 - 07:04 PM, said:

Welcome and thanks for the report, it's cool to hear about 0 A.D. being useful to someone else even though it's not finished yet if nothing else ;)

I assume(/hope) you're using the SVN version to stay on top of new development? Just so you take advantage of any new improvements :) (Though if you're short on time it might be better to be using a static version so you don't have to keep up with any changes =) )

yes I'm using the svn to keep on par, but my bot only uses the common AI api (and not in a intesive way): so it should be very easy to port and adapt to any new version.





Jeru said:

Would you mind saying if you are male or female? (Either way you are very welcome here!)

I'm male. In Italy Andrea is a male name (like it was originally since it means "Man" in ancient greek :P). I forgot in other parts of the world it is used by both genders, I should have used Andrew :)

#8 Mythos_Ruler

Mythos_Ruler

  • 0 A.D. Project Leader

  • Megas Philhellene
    (13,795 posts)

Posted 11 April 2012 - 08:22 PM

In ancient Greek

Andros = Man
Andreia = Courage, Bravery, Masculinity

Welcome to the forum! Can't wait to see what you get up to. Please keep us informed! (y)
Michael D. Hafer [aka Mythos_Ruler]

Wildfire Games Project Leader
Contact me: michaeldhafer[at]gmail.com
Support Wildfire Games!


0 A.D.

#9 Jeru

Jeru

  • 0 A.D. Art Team

  • Orator
    (4,465 posts)

Posted 11 April 2012 - 09:56 PM

View PostRelish, on 11 April 2012 - 07:13 PM, said:

I forgot in other parts of the world it is used by both genders, I should have used Andrew :)

No, that's fine! We like you just the way you are. :woot:

Aviv Sharon [ aka Jeru ]

Wildfire Games 0 A.D. PR & Social Media Contributor
Contact me:
E-mail & Google Talk: aviv dot sharon at gmail dot com
MSN: lc_jerusalem at hotmail dot com
Facebook, Twitter, LinkedIn


#10 quantumstate

quantumstate

  • WFG Programming Team

  • Primus Pilus
    (1,072 posts)

Posted 16 April 2012 - 09:01 PM

Hi, welcome to the forums. AI is my main area of interest here so I will be looking forward to seeing what you come up with. I will be curious to see how far you can push the agent idea. I have just started trying to introduce more of this style into qBot, (the new worker.js is the only example so far, I'm hoping to add military sometime).

My view is that this isn't particularly well suited to RTS AI's as a whole, the resources are inherently centralized and when fighting you want your whole army acting in a coordinated manner (based on practically all military theory for non guerrilla warfare). Hence I have decided on a single central planner system for qBot. This is mainly guesswork though, hopefully your AI will surprise me :).

Jonathan Waller [ aka quantumstate ]

Wildfire Games AI Scripter
Contact me: jonathanmarkwaller at gmail dot com


Support Wildfire Games!


#11 Relish

Relish

  • Community Members

  • Tiro
    (8 posts)

Posted 17 April 2012 - 10:07 AM

View Postquantumstate, on 16 April 2012 - 09:01 PM, said:

Hi, welcome to the forums. AI is my main area of interest here so I will be looking forward to seeing what you come up with. I will be curious to see how far you can push the agent idea. I have just started trying to introduce more of this style into qBot, (the new worker.js is the only example so far, I'm hoping to add military sometime).

My view is that this isn't particularly well suited to RTS AI's as a whole, the resources are inherently centralized and when fighting you want your whole army acting in a coordinated manner (based on practically all military theory for non guerrilla warfare). Hence I have decided on a single central planner system for qBot. This is mainly guesswork though, hopefully your AI will surprise me :).
What you say it's true, resources are centralized, it is for that reason that all my agents take the informations they want from gamestate in their "perceptions" cycle, after that they only use their internal belief system; I haven't used the metadata field to store anything so far.

Centralization is partly present: you're correct in saying that centralization is needed, in fact at the moment I'm working on emergent behaviours in that area.

Some units act as military leaders, assembling armies and leading them in a centralized manner; other units, while maintaining their independence, follow orders into battle.


What I'm trying to do at the moment is to make units emerge as leaders; so far I've tried a hierarchical structure (heroes on top) where, based on the unit's type, it gets recognized as leader by the others.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users