View topic - Global AI Interface



All times are UTC + 1 hour


Post new topic Reply to topic  [ 214 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10, 11  Next
Author Message
 Post subject:
PostPosted: 20 May 2005, 05:16 
User avatar

Joined: 08 Sep 2004, 21:59
Location: Qc, Canada
One thing that comes to my mind right now is that we have to be able to easily split/join groups. I see several situations where transferring only part of a group to the control of a different group AI would be useful.


Top
 Offline Profile  
 
 Post subject:
PostPosted: 20 May 2005, 08:03 

Joined: 26 Aug 2004, 07:11
Location: Virginia Tech
good call gabba, i never really considered that. though, with the add/remove feature for the group ai that the global ai would have access to, it would be easy for the ai programmer to do that him/herself


Top
 Offline Profile  
 
 Post subject:
PostPosted: 20 May 2005, 13:35 
User avatar

Joined: 29 Aug 2004, 21:24
Exactly, plus certain units need individual control specifications, such as Nukes, and Berthas. The former, because if it's part of a mobile unit attack command, you're going kill your own units. The latter, because of it's inaccuracy, and the fact that it requires usually multiple batteries firing from different directions to be effective.


Top
 Offline Profile  
 
 Post subject:
PostPosted: 20 May 2005, 15:25 
AI Coder
User avatar

Joined: 14 Sep 2004, 10:32
Location: Cookieland
What about a group priority? Perhaps one group should have a higher priority than another when they're both dealing witht he same unit, which can happen at times, rather than simply giving total control to a single group.


Top
 Offline Profile  
 
 Post subject:
PostPosted: 21 May 2005, 01:09 

Joined: 26 Aug 2004, 07:11
Location: Virginia Tech
that can be left to the AI programmer... the group and global AIs will have access to a memory where they can be read and written from. they can do that sort of communication there, but it sounds like that would be a pretty complicated thing to do


Top
 Offline Profile  
 
 Post subject:
PostPosted: 23 May 2005, 10:56 
AI Coder
User avatar

Joined: 14 Sep 2004, 10:32
Location: Cookieland
Now that I think about it it isnt really needed, just requires a little bit of imagination to make it simple todo.


Top
 Offline Profile  
 
 Post subject: Player/AI API
PostPosted: 26 May 2005, 19:38 
User avatar

Joined: 26 May 2005, 19:00
Location: Location: Location:
Hi There,

Wow you guys have been busy. I disappear from TA for a couple o' years and you go all 3D on me - brillant!

On the "Global API", I think you're missing something. Wthout any AI Players (APs), you have this:

Code:
.----------------.
| User Interface |
'----------------'
         |
         |
.----+-------+---.
|    | Player|   |
|    |  API  |   |
|    '-------'   |
|                |
|   Game Engine  |
|                |
'----------------'


I don't know how you've structured the code internally, but the calls from the UI to the game engine must already be there.

The point is that from the game engine's point of view, it doesn't care whether you're a human or an AP, you're just another player. So just use the same player API for the AP as you do for the UI.

Does that mak sense? What do you think?

Munch


Top
 Offline Profile  
 
 Post subject:
PostPosted: 27 May 2005, 07:52 

Joined: 26 Aug 2004, 07:11
Location: Virginia Tech
that's kind of the idea already... the ui is linked to the game execution through the same types of commands sent over the network. so, the ai player will be sending these commands as well to take control of a player. however, the code base at the moment is set up for access to only one player... so changes need to be made so multiple players can be manipulated by a single machine.


Top
 Offline Profile  
 
 Post subject:
PostPosted: 27 May 2005, 13:32 
User avatar

Joined: 26 May 2005, 19:00
Location: Location: Location:
OK cool =)

As an idle thought, has the possibility of splitting the executable been considered? I.e. instead of the UI/GameEngine comms being method calls within a single executable, you could separate it into a game engine executable and a (number of) player executables, which communicate over a network. This is probably a nicety which would be pointless in reality, but it would give you:

A. total independence between the engine and the players (meaning you could have as many different AIs and human players as you liked running off of a single engine)

B. The ability to run your game engine, UI and APs on separate boxes if you wanted (meaning you can have really beefy APs, really beefy game AI, and really whizzy graphics, without them interfering with each other).

I guess in pratice most people (like me) have just the one decent machine at home so it probably wouldn't help much for the effort it would take.

Just a thought.

Cheers

Munch


Top
 Offline Profile  
 
 Post subject:
PostPosted: 27 May 2005, 14:07 
User avatar

Joined: 29 Aug 2004, 21:24
True, though for net games, having the UI run from the server side would eliminate part of the lag problems. Assuming every one is running on the same speed connection, then having that on server side, it means that everyone's commands are processed there with the rest of the game, rather than being routed there after execution to be relayed back to the opponent. In this manner, there's only two streams going each way. It's not ideal, but it could solve some of the problem.


Top
 Offline Profile  
 
 Post subject: Great idea!
PostPosted: 28 May 2005, 09:24 
User avatar

Joined: 26 May 2005, 19:00
Location: Location: Location:
I don't quite understand what you're saying. Do you mean having just a single game engine running instead of one at each player's machine? - that's a great idea! So, like in OTA you have this:

Code:
  .-----------------.          .-----------------.
  | Computer 1      |          | Computer 2      |
  |    .-------.    |          |    .-------.    |
  |    |TA UI  |    |          |    |TA UI  |    |
  |    |-------|    |          |    |-------|    |
  |    |TA Game|....................|TA Game|    |
  |    |Engine |    |          |    |Engine |    |
  |    `-------'    |          |    `-------'    |
  |                 |          |                 |
  |                 |          |                 |
  `-----------------'          `-----------------'


But you're saying we could do this?

Code:
 .-----------------.          .-----------------.
 | Computer 1      |          | Computer 2      |
 |                 |          |    .-------.    |
 |                 |          |    |TA UI  |    |
 |                 |          |    `-------'    |
 |                 |          |        |        |
 |    .-------.    |          |    .-------.    |
 |    |TA UI  |....................|TA Game|    |
 |    `-------'    |          |    |Engine |    |
 |                 |          |    `-------'    |
 `-----------------'          `-----------------'


Wow that really would get rid of most lag related probems (assuming they basically come from the different game engines on the different computers having a slightly different idea of what is going on - that's always been my guess).

The only downside I can see is that the player running the engine has zero lag, however they do have the overhead of running the engine on their machine, which is going to slow things up a little anyway. I guess if it became a problem you could always add "fake lag" in for that player (or any others with much lower lag - e.g. who are on the same LAN), but I don't think it would be a problem.

I wish I'd thought of that!

Munch


Top
 Offline Profile  
 
 Post subject:
PostPosted: 28 May 2005, 15:01 
User avatar

Joined: 29 Aug 2004, 21:24
Right, and if it's a more massive game, say four players, then the game is run on the server connecting them all, and the interfaces are present on each machine, all relaying to the central server.

And don't worry, I think in somewhat different terms than the rest of reality. At least that's what the nice men with the jacket tell me. </JK>[/code]


Top
 Offline Profile  
 
 Post subject: So, any news
PostPosted: 02 Jun 2005, 08:19 

Joined: 08 Sep 2004, 14:32
So, Juoninkomiko, any ideas on when those functions in your global interface will be ready?
Maybe release just the main functions for globalAI to make a basic single AI without the AI communication functions and all the other complicated stuff.
This would give other people something to work with for now,
Ofcourse I know you have lots of other things todo but anyway,
Thanks,
Alik.


Top
 Offline Profile  
 
 Post subject: ...
PostPosted: 14 Jun 2005, 21:40 
Map Creator
User avatar

Joined: 12 May 2005, 19:08
I find it appalling that some of you have the notion to develop projects for spring, and yet keep the source closed. Thankfully not everyone has that same mentality, or TA Spring would not even exist.


Top
 Offline Profile  
 
 Post subject:
PostPosted: 14 Jun 2005, 21:54 
AI Coder
User avatar

Joined: 14 Sep 2004, 10:32
Location: Cookieland
I find it palling tht you are calling my efforts closed source, I am following in the SY's example exept anyone who asks to be a part can be, but I find you very insulting and condescending, and most of all with great lack of understanding on your behalf.

Afterrall what have you contributed openly?

Anyways the SY's kept it closed source till the release date, as will I.


Top
 Offline Profile  
 
 Post subject:
PostPosted: 14 Jun 2005, 22:00 
User avatar

Joined: 17 Nov 2004, 20:19
Location: Behind You! :evil:
*what he said*
do the SYs tell you exactly what they are doing with the code? do they give you updates on which parts they are editing?
Please leave alantai alone. If you want to help he needs BOs for the first 2-5 mins for both ARM/CORE utilizing Solars/Wind Gens/Tidals dependant on the level so the AI can follow a simple BO and not stall for at least the first couple of minutes :twisted: when the AI is finished dibsy extensively testing it! when i have it beat i'm gonna spam posts everywhere like 'woot!!!' and when ppl ask me to do it again i'll just arrogently smirk knowing full well that it fluke! :P :twisted: :) mmm AIige


Top
 Offline Profile  
 
 Post subject:
PostPosted: 14 Jun 2005, 22:08 
AI Coder
User avatar

Joined: 14 Sep 2004, 10:32
Location: Cookieland
=.

no really read the topic before you post.

Oh min3mat these people havent a clue what point I'm at so dont get their hopes up too much or they'll harass me if I release anything.


Top
 Offline Profile  
 
 Post subject:
PostPosted: 15 Jun 2005, 10:27 
User avatar

Joined: 29 Aug 2004, 21:24
Agreed. For the time being Min3mat, just sit on your hands about the AI.

*in that sitting on one's hands, prevents typing*

*unless of course one has a long, pointy nose with which to press keys*


Top
 Offline Profile  
 
 Post subject:
PostPosted: 15 Jun 2005, 10:28 
AI Coder
User avatar

Joined: 14 Sep 2004, 10:32
Location: Cookieland
Now really long pointy noses arent that bad unless your names pinochio


Top
 Offline Profile  
 
 Post subject: ...
PostPosted: 15 Jun 2005, 18:18 
Map Creator
User avatar

Joined: 12 May 2005, 19:08
You need to relax, mate. My post was not intended as a direct attack against anyone; but rather against a concept that I've seen in a few posts. I just don't see what there is to accomplish by not developing any projects for Spring in a _totally_ opensource fashion (and the arguements I have read are not convincing). Furthermore, if I were to develop something it would definitely be open source.


Top
 Offline Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 214 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10, 11  Next

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group

Site layout created by Roflcopter et al.