FOnline Development > General Discussion

FOnlineServer with Mono

<< < (5/11) > >>

Bartosz:

--- Quote from: Mike Wall on May 14, 2013, 02:18:04 pm ---Do you plan to update FOnlineServer.exe to be compatible with the latest revision? Current version of mono server is 0504-EB, but the newest revision server has version 0518-F7.

--- End quote ---

Probably not that fast, so I can't promise anything. Ideally, the source would be open for you to modify, but it's not the case:)


--- Quote ---EDIT:
Actually, currently I cannot even start the server as it crashes right after Start (and I also tried 383 revision of mono-2.0.dll).
My bad, I forgot to build the project. I "only" have compilation errors because of incompatibility.

And some additional questions:
1. Is it possible to create linux runnable of mono FOnlineServer and use it?

--- End quote ---
Should be possible.


--- Quote ---2. Would it be possible to implement also PlaneBegin, PlaneRun and PlaneEnd CRITTER_EVENTS? I understand that it is needed to do some work on engine to call them otherwise I would implement them by myself.

--- End quote ---
You are right, and unfortunately I can't promise it's gonna be implemented in near future:(

wladimiiir:

--- Quote from: scypior on May 17, 2013, 03:37:44 pm ---
--- Quote from: Mike Wall on May 14, 2013, 02:18:04 pm ---Do you plan to update FOnlineServer.exe to be compatible with the latest revision? Current version of mono server is 0504-EB, but the newest revision server has version 0518-F7.

--- End quote ---
Probably not that fast, so I can't promise anything.

--- End quote ---
Thanks for the change in the newest revision. :)

Bartosz:

--- Quote from: Mike Wall on June 06, 2013, 10:01:27 am ---Probably not that fast, so I can't promise anything.

Thanks for the change in the newest revision. :)

--- End quote ---

No problem, hopefuly I will be able to react faster in the future.

Anyway, can I ask what are you using it for, how it goes etc etc?

wladimiiir:

--- Quote from: scypior on June 06, 2013, 11:08:37 am ---No problem, hopefuly I will be able to react faster in the future.

Anyway, can I ask what are you using it for, how it goes etc etc?

--- End quote ---
I was trying to remake Critter Action DSL (see the example below), which I have done in AngelScript and I wanted to rework it in C# as it is easier to debug and develop with (and also maybe have some performance improvement). But currently I am stuck, because I need also PlaneBegin, PlaneRun and PlaneEnd CRITTER_EVENTS to be implemented in Mono, so currently I am trying to remake it in pure C++. ;D
But nevertheless I plan to develop new features in C# (for the productivity), but I am not very productive on the project, so not having much progress ATM. :)


Critter Action DSL: (I know it is not really a DSL, but just to explain what I mean)
This is meant to be used as a simple language to make it easy to setup roles (actions) for NPCs. See the following example and keep in mind, that it is planed to make it public, when it is in the state of publishing. ;D

Examples: :)
Johny, the hungry kid will try to find a (closest) player and asks him for food. Then he searches if any food is on the ground and picks it up:

--- Code: ---void _HungryKidInit(Critter& npc, bool firstTime)
{
#define TO_DISTANCE (3)

Action@ action = LoopAction()
.AddSubAction(FindCritters(ClosestPlayer)
.If(IsSeen())
.AddSubAction(LoopAction(2)
.AddSubAction(Follow(TO_DISTANCE))
.AddSubAction(LookAt())
               .AddSubAction(Say(TEXTMSG_TEXT, 70113))
.AddSubAction(Wait(REAL_SECOND(5)))))
.AddSubAction(FindItems(FOOD_ITEMS)
       .AddSubAction(PickUp())
       .AddSubAction(DeleteItems()))
.AddSubAction(Patrol(DEFAULT_PATROL_ENTIRE, true))
.AddSubAction(Wait(REAL_SECOND(3)))
           ;

actionManager.Start(npc, action);
}

--- End code ---

Brahmin wondering around:

--- Code: ---void _InitBrahmin(Critter& npc, bool firstTime)
{
      Action@ action = LoopAction(true)
           .AddSubAction(AttackAttacker())
           .AddSubAction(ChangeDirection(RANDOM_DIRECTION, true))
           .AddSubAction(Wait(REAL_SECOND(5), REAL_SECOND(30)))
      ;
     
      actionManager.Start(npc, action);
}
--- End code ---

Bartosz:
Nice, it reminds me of behavior trees

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version