AiGameDev.com
Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 23
  1. #11
    Super Moderator
    alexjc's Avatar
    Join Date
    Nov 2007
    Location
    Vienna
    Posts
    2,901
    Thanks
    1,162
    Thanked 923 Times in 484 Posts

    Default

    I've made a tentative decision that this seminar will take place at 9 P.M. CET on Saturday (that's 3 P.M. EDT). See this time zone converter.

    The topic will be specifically about the implementation of the behavior tree, the framework itself, and an analysis of the ideas generally. Q&A throughout probably.

    If you have any requests or comments, now's the time!

    Alex

    P.S. The event will hopefully be recorded!

  2. The Following User Says Thank You to alexjc For This Useful Post:

    asiangirl (2012-05-04)

  3. #12
    Brainiac Member
    Andrew 's Avatar
    Join Date
    Dec 2007
    Location
    England, UK
    Posts
    472
    Thanks
    35
    Thanked 33 Times in 23 Posts

    Default

    Hope I'm back in time to listen in, but a recording is great, I expect I'll still be on a train at that time.

  4. The Following User Says Thank You to Andrew For This Useful Post:

    asiangirl (2012-05-04)

  5. #13
    VIP
    Member
    Dave Mark's Avatar
    Join Date
    Dec 2007
    Location
    Omaha, NE
    Posts
    981
    Thanks
    218
    Thanked 179 Times in 132 Posts

    Default

    I should be in. Do I need to wear a tie? (That was meant for you, Andrew!) ;-)

  6. The Following User Says Thank You to Dave Mark For This Useful Post:

    asiangirl (2012-05-04)

  7. #14
    Super Moderator
    alexjc's Avatar
    Join Date
    Nov 2007
    Location
    Vienna
    Posts
    2,901
    Thanks
    1,162
    Thanked 923 Times in 484 Posts

    Default

    O.K. Everything is looking good. We'll be starting in 20 minutes. Here's the link:

    [EDIT: This meeting already took place and is now over.]


    You'll be sent into a waiting room, and I'll let you in ASAP.

    Alex
    Last edited by alexjc; 2008-08-31 at 11:24 AM. Reason: Done.

  8. The Following User Says Thank You to alexjc For This Useful Post:

    asiangirl (2012-05-04)

  9. #15

    Join Date
    Mar 2008
    Posts
    1
    Thanks
    0
    Thanked 1 Time in 1 Post

    Default

    I just downloaded the package and I'm missing the api documentation files. Can I find these somewhere else?

  10. The Following User Says Thank You to HoloDoc For This Useful Post:

    asiangirl (2012-05-04)

  11. #16
    Super Moderator
    alexjc's Avatar
    Join Date
    Nov 2007
    Location
    Vienna
    Posts
    2,901
    Thanks
    1,162
    Thanked 923 Times in 484 Posts

    Default

    HoloDoc,

    Yes just use Doxygen and regenerate it yourself. All the comments in the code are used to build the API documentation. I'll try and include this with the next release (it was getting too big for little benefit).

    Alex

  12. The Following User Says Thank You to alexjc For This Useful Post:

    asiangirl (2012-05-04)

  13. #17
    Smarty Pants

    Join Date
    Jan 2009
    Posts
    20
    Thanks
    17
    Thanked 2 Times in 2 Posts

    Default

    Here is a Makefile for Linux/GCC 4.3.0-users:
    Code:
    # MAKEFILE for Game::AI++
    # 5 Files have to be modifed to work with linux and gcc 4.3.0
    
    # tests/unit_Selector.h
    #	Add the <cstdlib> header
    
    # alive/tree/Selector.h
    #	Add the <cstdlib> header
    
    # alive/core/Core.h
    #	Uncomment line 25:
    #		// #include "../thirdparty/mmgr.h"
    
    # alive/core/Generic.h
    #	Add the <cstdio> header
    #	At line 150 replace:
    # 		typedef VTable< const Base, Func > VTable;
    #  		const VTable* vtable_; // vtable pointer
    #	with
    # 		typedef VTable< const Base, Func > _VTable;
    #  		const _VTable* vtable_; // vtable pointer
    #	Replace VTable with _VTable in lines 265, 234
    
    # alive/core/SignalSlot.h
    #	At line 67 and 125 replace:
    #		typename Delegates::iterator it =
    #			std::find(m_Delegates.begin(),m_Delegates.end(), d);
    #		if (it != m_Delegates.end())
    #		{
    #			m_Delegates.erase(it);
    #		}
    #	with (67)
    #		Delegates::iterator it;
    #		for (it = m_Delegates.begin(); it != m_Delegates.end(); ++it){
    #			m_Delegates.erase(it);
    #			return;
    #		}
    #	with (125)
    #		typename Delegates::iterator it;
    #		for (it = m_Delegates.begin(); it != m_Delegates.end(); ++it){
    #			m_Delegates.erase(it);
    #			return;
    #		}
    
    # Result of tests/tests:
    #	OK (165)
    
    CC=g++ -I. -Ialive
    
    TESTOBJ=tests/doc_OrderedPlanning.o tests/doc_ConditionExecution.o tests/unit_Node.o tests/unit_Task.o tests/unit_Selector.o tests/unit_Filter.o tests/unit_Delegate.o tests/doc_FuturePlanning.o tests/unit_LookupTable.o tests/unit_ControlFlow.o tests/unit_Decorator.o tests/doc_SequenceExecution.o tests/doc_ActionExecution.o tests/doc_ConditionalAction.o tests/unit_Repeat.o tests/func_LookupTable.o tests/func_Stack.o tests/unit_Stack.o tests/unit_SignalSlot.o tests/unit_Memory.o tests/func_Node.o tests/unit_BlackboardCompare.o tests/func_Condition.o tests/func_Tree.o tests/MockNode.o tests/unit_Core.o tests/unit_Sequence.o tests/func_ControlBehavior.o tests/unit_Scheduler.o tests/doc_SelectorExecution.o tests/TestFramework.o tests/unit_Interpreter.o tests/unit_Resolve.o tests/unit_Registry.o tests/func_Visitor.o tests/func_Action.o tests/doc_GreedyPlanning.o tests/stress_Nodes.o tests/doc_ParallelExecution.o tests/unit_Parallel.o tests/unit_Transform.o tests/func_Persistence.o tests/func_PrettyPrinter.o
    ALIVEOBJ=alive/Condition.o alive/Brain.o alive/framework/Registry.o alive/framework/Task.o alive/framework/Scheduler.o alive/engine/Interpreter.o alive/engine/Node.o alive/engine/Transform.o alive/thirdparty/mmgr.o alive/tree/Decorator.o alive/tree/CompositeTools.o alive/tree/Filter.o alive/tree/Sequence.o alive/tree/Selector.o alive/tree/ControlFlow.o alive/tree/Parallel.o alive/tree/Repeat.o alive/tree/Resolve.o alive/core/Core.o alive/extensions/ControlBehavior.o alive/extensions/LookupTable.o alive/extensions/Stack.o
    
    all: alive test
    
    alive: libalive.so
    alive.a: $(ALIVEOBJ)
    	ar q $@ $(ALIVEOBJ)
    libalive.so: $(ALIVEOBJ)
    	$(CC) -shared -o $@ $(ALIVEOBJ)
    alive/%.o: alive/%.cpp
    	$(CC) -c -o $@ $?
    
    test: tests/tests
    tests/tests: $(TESTOBJ)
    	$(CC) -L. -ldl -lcppunit -lalive -o tests/tests $(TESTOBJ)
    tests/%.o: tests/%.cpp
    	$(CC) -Itest -c -o $@ $?
    David

  14. The Following User Says Thank You to knizz For This Useful Post:

    asiangirl (2012-05-04)

  15. #18

    Join Date
    Jul 2010
    Location
    At the moment I live in Australia
    Posts
    2
    Thanks
    0
    Thanked 2 Times in 2 Posts

    Default Interpreter destructor issue with GameAI++ v0.6

    Hello Alex,

    First, beautiful code; it's a pleasure to read. However, it looks like there is a rather huge bug in the 0.6 release of GameAI++

    The MockInterpreter is derived from Interpreter, which means that:
    - the destructor of MockInterpreter will be called first and then,
    - the destructor of Interpreter will be called

    The MockInterpreter destructor explicitly deletes m_Scheduler and m_Registry, however, the destructor of Interpreter happily use m_Registry with "deleteAll" call.

    This leads 100% segmentation faults. I can't believe no one has experienced this problem since it clearly pops up with the unit tests routines.

    Since I don't know what going on yet (still learning the code), could you please advice on what we need to do? What is the intent? Should we delete m_Registry and m_Scheduler in the Interpreter destructor instead (*after* they've been used)?

    Oh, and David, your GCC 4.3 suggestion of putting a "return" statement in the middle of a "for" loop is functionally incorrect.

    Best regards, Dan.

  16. The Following User Says Thank You to dgroth For This Useful Post:

    asiangirl (2012-05-04)

  17. #19
    Smarty Pants

    Join Date
    Feb 2012
    Posts
    2
    Thanks
    0
    Thanked 1 Time in 1 Post

    Default JESus

    hi all I'm looking for a good example of behavior trees, and you can not download, anyone can help?

  18. The Following User Says Thank You to jesu37 For This Useful Post:

    asiangirl (2012-05-04)

  19. #20
    Super Moderator
    alexjc's Avatar
    Join Date
    Nov 2007
    Location
    Vienna
    Posts
    2,901
    Thanks
    1,162
    Thanked 923 Times in 484 Posts

    Default

    I didn't actually manage to reproduce the bug before releasing that code, but yes, you're right of course. The answer is a minor rewrite of the MockInterpreter to use composition instead of inheritance.

    I don't recommend using this code in practice anyway, it's very much experimental R&D code, but that's up to you :-)

    Alex

  20. The Following User Says Thank You to alexjc For This Useful Post:

    asiangirl (2012-05-04)



Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •