Jump to content
caryatid23

Operations Server Instructions

Recommended Posts

Hey all, 

 

So the old pinned thread is pretty out of date on the first page -- The system is now at what would parallel to a first major release in regular software; essentially feature freeze, bug fix only while work on next major version happens behind the scenes.

 

With that in mind --  A new set of videos will be coming out with more focus on use and with things like real titles and organization ;)

 

This first one is about the core components. The components discussed may be downloaded here:

http://www.mediafire.com/download/5a828rla3anlrun/automata_boneyard_v1.0.0.zip

It is a zip of the files needed to make a group in the ME. It's contents should go in: <il2 install path>/data/missions  

 

The second video is about using only those core components to make a QMB type mission. 

 

Core automata components

 

 

Core components -> QMB

 

 

Please feel free to ask any questions.

 

  • Upvote 3

Share this post


Link to post
Share on other sites

Errata: using lots of AI aircraft was suggested by Skoop; although I said Dakpilot in the video. Apologies to both.

Share this post


Link to post
Share on other sites

Watched the first video of the two. My initial impressions when you showed your work were that your work was complex and it wasn't clear what problem it was solving. Now it's a lot more clear to me, you are providing (possibly complex) basic logic wrapped in uniform interfaces (init, start, success, failure, shutdown...). That's great work, these building blocks should greatly help people get started with building missions. I think the raw mission editor is a bit too low-level for the general population, but these ready-to-use groups should help make things more accessible.

 

Eventually, I think we'll need some sort of wiki to gather and document all groups people create. A video is good to introduce concepts, but once you start using these things, a written reference is needed.

 

Edit: I just thought about something. Have you though a more fine-grained approach to mission success than a binary Success/Failure? For instance, think of a convoy providing reinforcements to the front line. If half of it makes it to the destination, the front line gets reinforced with half the resources.

 

There's a cost (more complex API) though, so I'm not sure it's worth doing. I did that for my VLuki counter-offensive, but this mission ended up being way more complex that it should have been, and I'm a bit reluctant to keep developing it in its current state.

Edited by coconut

Share this post


Link to post
Share on other sites

Hi Coconut - - the work was initially complex much more complex :) If you include the first set-up I built for RoF this is the 4th rebuild; simplified each time. The first two systems were actual Von Neumann style - I designed a `bit` group. Made 4 bit words and created a processor pipeline by using those bits to make 14 registers, and logical constructs built up out bits into NAND gates and storage for unit/war state ( all built using only timers, activate, and deactivate ).  The goal was create real processing for wide area AI; that had no outside dependencies.  I still have those and actually pull out the NAND built operators sometimes ( i have <, >=, ==, != operators for the 4 bit words that I still kind use to generate that phase guage thing ). I'm also happy to share those. They work great, but the msbin w/o any units ( just the logics ) is over 1 Meg and the performance of the computation and of units was not good enough.

The build before this one of this system was very similar to this but had a more complex API for the core compoents. Inputs := (Activate, Deactiave, Run, Improve, Weaken, More Aggresseive, More Defensive, Special action 1, special action 2). Outputs := (trigger on any successful unit*, trigger on any dead unit*, trigger on done, ready for special action1, ready for special action 2)

 

To complexity from the Boolean output here -- I build complexity up now; by constructing those succ/fail units into larger constructs that I call "operations". Videos on that are coming up. -- The testing missions that have been up over the last few days had 3 operations per side. Each operation containing ~7 of those core components connected as a binary tree, with Success to the right, and Fail to the Left. It is  actually a zipper treated as if the focus is the current computation in a continuation; say this just cause sounds like you're down with CS shiate. The success and failure of an operation is defined as a result of movement through that tree to the most extreme bounds. Then the success and failure of those operations is stored in that bounded "phase guage" thing and that controls the results of the whole side.

 

The idea being that users of the system can build up any functional structure based an output type of ( Succ, Fail, Shutdown ) and input argument of ( Init, Activate, Shutdown [ other args are optional ] ). I chose Zippers but they could be skip lists, linked lists, trie trees, any b-tree, etc: generally with the idea of overloading the position in the structure for semantics.  Totally agree on the need for text. I do the videos, honestly, for the sake of my laziness.

 

I'll be releasing an "automata" zip that will include some of these larger constructs. Currently I have 3 larger ones that represent generalized actions of an "army", an "air force", and "supply lines".

 

Let me know if you want any more detail; Also I'd be happy to show you first hand; but prolly not for a couple weeks; kinda booked up :P

 

 

*because you may have noticed multiple things hitting a timer trigger inside a 20 ms window has in-consistent output. 2 in may equal 1 out, or 2 out -- this is what lead me to believe that the internal event loop runs at 20ms but I don't really know that. So I have a little `quantizer` group I use that can swallow events that occur to quickly. 

  • Upvote 1

Share this post


Link to post
Share on other sites

There's a cost (more complex API) though, so I'm not sure it's worth doing. I did that for my VLuki counter-offensive, but this mission ended up being way more complex that it should have been, and I'm a bit reluctant to keep developing it in its current state.

Man, bad news in a sense that its a great mission. I tout it as the best overall mission in the game to date... really unique.

Share this post


Link to post
Share on other sites

Coconut I'm looking forward to giving the VLuki counter-offensive a go -- planning on finally playing the game :)  Complexity is like complex maaaaaan.

 

 

 

Here is new video also QMB style, although more complex. It continues from the previous.

The intention is to replicate the idea of the "Fly Now" missions from Rise of Flight here in Bo[sM].

 

  • Upvote 1

Share this post


Link to post
Share on other sites

Man, bad news in a sense that its a great mission. I tout it as the best overall mission in the game to date... really unique.

 

Thanks, I'm truly honored  :)

Share this post


Link to post
Share on other sites

Hey All --

 

Been building stuff out -- Here is a video introducing new components. They are built up from the groups in the previous videos. 

Essentially the aim is to allow building of missions from references; books, maps, ideas, etc. 

 

Introduction to the Automata system:

Automata group referenced in the above video:

Introductory gameplay video here:

^ that mission ( slightly bugfixed ) is running currently on the server 

 

  • Upvote 1

Share this post


Link to post
Share on other sites

Hi.

 

New video below. Continues from previous; although previous not required. The video demonstrates the preliminary set-up steps to building a mission.

  • Upvote 3

Share this post


Link to post
Share on other sites

When I try to open the group file for the boneyard 0.3.6, I get an "Error reading group file".  Any solutions?

Nope unless Caryatid23 still has the group and updated his game to current version and then resubmits the group it is gone for good.

Tip

Share this post


Link to post
Share on other sites

Just found this. Look incredible. I also get the error message but am now in 3.001.

 

Is there an updated version?

Share this post


Link to post
Share on other sites

If anyone is still interested in this I finally got it to load into the editor. I had to change all the .Group file references of 'CheckEntities' to 'CheckPlanes'.

Revised zip file attached.

 

That's as far as I've got, I haven't actually used the modules yet.

automata_boneyard_v0.3.6.klem.zip

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...