Search

Search found 77 matches

by zenzike
21 Aug 2008, 15:01
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

Unfortunately, real life issues have meant that I've put my side of development on hold for a little while -- I've been AFK for a few weeks, and have to catch up with work commitments for another fortnight. Once that period is over, I'll be able to spend some time in earnest to get this sorted out. ...
by zenzike
15 Jul 2008, 10:21
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

Well once you're happy with what you've done, let me take a look at what you've got. I'll merge it into the SVN with whatever changes might be required so that we can get testing.
by zenzike
14 Jul 2008, 17:05
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

We're still at the very early stages of development here. I expect it will be another month before this is "production ready". This AI interface isn't an important part of the next release since the current won works fine, so I don't expect we'll be done for 0.77. I'd rather we had the int...
by zenzike
13 Jul 2008, 14:20
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

Great work hoijui! I think that the first option: struct SMoveUnitCommand { int unitId, ...}; struct SBuildUnitCommand { int unitId, ...}; struct SAttackUnitCommand { int unitId, ...}; is more sensible; each one of these is bound to a particular commandID; exactly like the Events I implemented. That...
by zenzike
12 Jul 2008, 15:03
Forum: Engine
Topic: new AI subsystem maintainer
Replies: 12
Views: 2190

Re: new AI subsystem maintainer

Any changes to the AI system will be discussed on the forums before they are done -- we're working together on this one :) I'll make sure that any changes to the system don't affect any of the AIs that are in the repository. The current work that's been done on this works fine with RAI with very min...
by zenzike
09 Jul 2008, 18:29
Forum: Engine
Topic: new AI subsystem maintainer
Replies: 12
Views: 2190

Re: new AI subsystem maintainer

Thanks for the welcome.

The new AI system will take some time to roll in, and I'll do it whilst maintaining the old system too. Hopefully, you won't feel the transition. Is there an indication of when you wan the next stable release to be ready?
by zenzike
07 Jul 2008, 14:12
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

thinking about it... i think your approach with getFunction() is technically not possible. Actually, it's used in the code I uploaded -- function pointers are required to expose the library interface. Your argument about other languages isn't quite applicable; there would always need to be an inter...
by zenzike
07 Jul 2008, 13:39
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

how should i convert float3 <-> SAIFloat? You don't need to: inheritence means that you can make sure the type is an SAIFloat for any data you're exporting from the engine. If you're pushing data from the AI to the engine that's an SAIFloat, then you can instantiate the float3 using the default con...
by zenzike
07 Jul 2008, 13:36
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

if you go to page 5 of this thread, the second post (Tobi's first post on that page), you find the reasons why not to use a generic callback function (like your getFunction(), zenzike). they are purely technical, low level. Actually no, this is a different solution. Tobi's comments were about passi...
by zenzike
07 Jul 2008, 12:39
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

Nothing is missing: I finished the handleEvent side of things, and hoijui is working on the handleCommand. I had a thought about the function callback system though. I expect it will get rejected on grounds of "too complicated", though it does mean that all AIs are completely forward and b...
by zenzike
06 Jul 2008, 23:33
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

Id just rather not add more and more dependencies. A pure C API with implementation libs for bindings and other interfaces is more appropriate than taking a single library and putting it in as a one shoe fits them all policy. I totally agree with AF. If we want to have a DBus (or other network / me...
by zenzike
05 Jul 2008, 12:43
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

It seems to me that using a heap of memory is not the best way of communicating within or between AIs. A messaging system is better because: An established protocol is more future proof. The events and commands can be registered, which facilitates debugging and profiling. The AIs can use the handleE...
by zenzike
29 Jun 2008, 22:23
Forum: Engine
Topic: TASClient Single Player mode
Replies: 40
Views: 5313

Re: TASClient Single Player mode

Requiring IE seems like a terrible move: why not make it support firefox so that Linux users aren't neglected?
by zenzike
27 Jun 2008, 18:59
Forum: Engine
Topic: Naughty naming and float3
Replies: 11
Views: 3154

Re: Naughty naming and float3

I thought the inheritance is a good thing, since it means we can still have member functions in the subclass (such as synced operations), yet be able to send the base datastructure to a C interface. If we merge float3 and SFloat3 then we can't pass the new float3 through a C interface (as I understa...
by zenzike
27 Jun 2008, 18:29
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

Absolutely. I suggest we use SFloat3 for this purpose, since it's just a C style struct. I actually think SFloat3 should be named float3 since it's the more primitive type, but it seems that idea has been rejected on another thread [1].

[1] viewtopic.php?f=12&t=15318
by zenzike
27 Jun 2008, 17:46
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

I don't think float3 is actually safe, since it inherits SFloat3. Inheritance usually isn't the same across compilers.
by zenzike
27 Jun 2008, 17:46
Forum: Engine
Topic: Naughty naming and float3
Replies: 11
Views: 3154

Re: Naughty naming and float3

Tobi wrote:I don't even know why SFloat3 was made in the first place.
It's actually the reason why it's not safe to cast float3: inheritance isn't done the same well across compilers.
by zenzike
27 Jun 2008, 11:47
Forum: Engine
Topic: Naughty naming and float3
Replies: 11
Views: 3154

Re: Naughty naming and float3

Thanks; yes I know that in C++ classes and structs are the same except for their default access modifier. I should have been a little clearer in what I was saying: the AI interface requires a C type struct: a public class with no member functions, other than (if required) inline constructors with no...
by zenzike
27 Jun 2008, 11:16
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

hoijui wrote: what about this?:

Code: Select all

class XZY {
  float x, y, z;
  void foo();
};
That won't work since there's a member function. We couldn't reliably have an array of these objects.
by zenzike
27 Jun 2008, 00:41
Forum: AI
Topic: Interface Redesign
Replies: 447
Views: 58122

Re: Interface Redesign

For the record, here's a pretty good article [1] that explains some of the details we're dealing with. I'll be heading for this kind of C/C++ interaction as soon as people confirm that they're happy with the way handleEvent works. In particular, I'll make the AIEvents subclass the AISEvents structs,...

Go to advanced search