This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Writing dynamic campaign generator
#1
I got an idea. :o  I would like to write a dynamic campaign generator for mek hq.
This engine will drive one or many factions as agents . Each agent have a main objective that user can select (ex. destroy Curitas)  .  For any main objectives the agents build up a set of minor tasks/objectives as missions to accomplish  .. The agent should change minor objectives calculating the outcome of the previous. The player can enroll as a mercenary selecting one mission from the agents.

What do you think?

Reply
#2
It's a good idea but the difficulty is the implementation. I'm sure the generator and the basic trees for the contracts wouldn't be too hard (i.e. if mission A failed, offer mission B, if mission A was a success, offer mission C) the real difficulty is coming up with enough agents/contracts/scenarios/etc. for it to be interesting and useful.  Wink

Also, you have to decide how to handle opfor, is the campaign going to give guidelines for building the opfor? Is it going to assume you're against the bot or against another human?

And there's a lot more to consider. Like I said, it is a good idea, but it is something fairly extensive to implement. At least if you want it to be robust enough for more than 1 play-through.
Reply
#3
This is only a basic idea , and I'm not in  a stage to consider details like OpFor and such Wink .. I'm watching the problem from above  ;D

I'm only considering that I have really enough data for an agent to drive itself.. Example: for any turn agent could make decisions based upon: money, force build up balanced by the main mission obj., income obtained by controlling planets, etc. We may consider also that the agent can have a rudimentary personality (Ex prudent , imprudent) , so attack a planet without info about defending forces or send a spy mission to gather data !!

The agent could offer to the player a monetary reward on missions and a rank to their army, so to give player a real interest to do that missions (like a rpg)



Reply
#4
It isn't a bad idea, and I've already got code in existence (In PHP instead of Java, but easy enough to convert) for most of a contract negotiation system. It's just that writing convincing negotiator AI isn't exactly easy.
Reply
#5
Umm take a look onto this publication, I'm going to go deep inside the problem...

http://www.google.it/url?sa=t&rct=j&q=&e...2k&cad=rja
Reply
#6
Just make sure the rest of us can follow it in the code when your gone.  Wink
Reply
#7
A minor (really!) development from this would be a random mission generator. So depending on an intelligence (information) level, or perhaps degree of scouting, or air-supremacy, or local disposition, etc, you are given information regarding a mission... e.g. Depot guarded by 4 heavy mechs and 2 tanks... Level of detail is directly proportional to the amount of intel gathered.  Then the reality (accuracy) of the encounter is not necessarily an exact match, so intel could be bad. It could be a trap, might be unguarded etc..  So you can allocate a force and it could be overwhelming, equally matched, etc...  Could also be used in reverse, assigning scouts, or patrols and then psuedo-random encounters from that.  Sure I have heard others suggest similar.  The overall contract defines at the high-level the intensity of the engagements, and the degree to which you can repair, re-stock, get deliveries etc, as well as whether you are hunting them, or they are raiding you.
Reply
#8
Ok, after many research on the agents theory  I found out that I need :
1) An agent framework already done : I have no time to build one myself
2) fw (1) should have ontology, reasoning capabilities, objectives, and planning
3) communications capabilities (JMS and other tech) full asynchronous
4) full decoupling from target program (in our case Mek HQ)
5) should be written in java
6) should be LGPL

The only answer to all points above is this solution:
JADE ENGINE with the jadex fw plugin !!

http://jade.tilab.com/  <-- this will be our engine container with many convenient classes to use and manipulate agents

and jadex

http://sourceforge.net/projects/jadex/  <-- reasoning engine

I made bingo this time  ;D !!






Reply
#9
(03-27-2014, 01:30 PM)Xenon54z link Wrote:Just make sure the rest of us can follow it in the code when your gone.  Wink

:Smile
Reply
#10
(04-10-2014, 03:31 AM)velteyn link Wrote:Ok, after many research on the agents theory  I found out that I need :
1) An agent framework already done : I have no time to build one myself
2) fw (1) should have ontology, reasoning capabilities, objectives, and planning
3) communications capabilities (JMS and other tech) full asynchronous
4) full decoupling from target program (in our case Mek HQ)
5) should be written in java
6) should be LGPL

The only answer to all points above is this solution:
JADE ENGINE with the jadex fw plugin !!

http://jade.tilab.com/  <-- this will be our engine container with many convenient classes to use and manipulate agents

and jadex

http://sourceforge.net/projects/jadex/  <-- reasoning engine

I made bingo this time  ;D !!

As I said previously, make up a patch and I'll look it over.
Reply
#11
Ok this is my status report for you all  Wink

After studying the architectures in detail I found out that Jadex is poorly documented even if it seems great  , Jade + BDI4Jade are much better documented and easy to implement.

According to BDI4Jade  specifications the agents will perform much better with BDI technology following the reasoning cycle.

This cycle is implemented in
six major steps:
1.
Revising beliefs.
This first step of the cycle consists of revising agent beliefs. In the
default implementation, nothing is done at this step, but developers can specify a
customized strategy for specific agents.
2.
Removing finished goals.
Before the cycle is executed, goals might have “finished,”
i.e. they may be achieved, no longer desired or considered unachievable. These are
removed from the set of goals of the agent, and observers of these goals are notified
about the event.
3.
Generating options.
In this step, the goals available to the agent are determined
(its desires). It can generate new desired goals, determine that existing goals are no
longer desired, or keep existing goals that are still desired.
4.
Removing dropped goals.
When a goal, or set of goals, is determined as no longer
desired in the previous step, it is removed from the set of goals of the agent, and
observers are notified about the occurrence of this event.
5.
Deliberating goals.
In this step, the current agent goals are partitioned into two
subsets: (i) goals to be tried to be achieved (intentions); and (ii) goals to
not
be
tried to be achieved. The last will remain as an agent desire, but the agent is not
committed to achieve it at the moment.
6.
Updating goals status.
Based on the partition performed in previous step, the sta-
tus of the goals are updated. Selected goals are updated to the status of trying to
achieve, and unselected goals are updated to the status of waiting. When a goal has
the status trying to achieve, the agent will select plans for achieving that goal.


All I have to do are to write goals , capabilities, actions and the engine will take care of the overall  life-cycle
The implementation has started  8) stay turned  !!

who wants to read more can look at this : http://www.inf.ufrgs.br/prosoft/bdi4jade...s-2011.pdf
Reply
#12
STATUS REPORT !!  8)

The first draft of a BDI agent is taking shape and it seems promising: the BDI4Jade architecture is really easy to understand and implement. Although  the agent is not yet working it's potential is according to me impressive.

BUT !!!! Before I go on I would like to hear from you what do you think about my idea.. Is my idea still of interest ? I wold like to hear if need to invest my time further to build it..  ;D

I' will be very sad if I finish it and It remains ignored , unused or it will have no chance to be  upgraded or extended by developers.. :'(

I'll also would like to give an hand to develop the whole Mek HQ in future Smile if possible


Reply
#13
I'm still waiting to see a working patch before passing any judgments.

As for becoming a developer... the best way to do that is to submit patches that work and are of a high quality.
Reply
#14
Ok  Wink, the only critical factor is  time ... But I'll do my best
Reply
#15
I have my own house rules I've been using that accomplish much of the same result.  It is just a series of spreadsheets where results are determined by die rolls.  If you want, I can send them to you.
Reply
#16
(07-30-2014, 03:43 PM)MagnusEffect link Wrote:I have my own house rules I've been using that accomplish much of the same result.  It is just a series of spreadsheets where results are determined by die rolls.  If you want, I can send them to you.

Would you mind forwarding them to me as well? I'm currently collecting all the rules with regards to OpFor/Campaign generation in order to work on my own system and I would love to have a look at yours for inspiration.
Reply
#17
Maybe just post them here for everyone interested in seeing them.
Reply
#18
ugh.. sorry for late reply.  MM campaign + work + exams etc. etc.  I don't have a lot of time to go into the details of it so I will just post the main dropbox folder.  The rules are (I think) pretty easy to follow.  I designed them for anyone to use even if I wasn't around to GM things.

https://www.dropbox.com/sh/9ol0oi85vysjo...MMDgdRk9Va

The main file you want is called "GM-Admin Master Rules".  I'm constantly updating it (will probably be making some minor alterations later today even).

The other document that goes along with it is the "Tables - Economy & Upgrades"; it deals with all things regarding upgrading or customizing mechs (I haven't had time to deal with conventional vehicles).

The others are all either very much WIP or are just archived data for future reference.

=====

One thing you guys could help me with if you feel like it:  since this document is rapidly becoming something beyond my personal use, I would like to give credit to the art I used in the document.  If any of you recognize any of it, please let me know where you saw it.  It has been awhile since I first looked at them and I forgot to record where I got them.  Obviously this isn't about money, but I would like to give credit where credit is due.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Blog post about a contract generator Question2 0 1,061 03-12-2015, 04:39 AM
Last Post: Question2
  Dynamic/configurable font size for GTK+ theme neilfw 1 1,139 01-28-2015, 06:10 PM
Last Post: Arlith
  Anybody know how to restrict the firstnames in the random name generator? DaddyHolby 7 4,176 05-22-2012, 10:21 PM
Last Post: DaddyHolby

Forum Jump:


Users browsing this thread: 1 Guest(s)