Posts: 973
Threads: 20
Joined: Oct 2010
WhiteMage Wrote:What language can we use to code?
Looking at C-Evo and Wesnoth, it turns out that their AI rules are coded in C++ respectively Pascal.
They use functions from the actual game and link directly to it.
Seeing the differences between MoM and those games, it seems unlikely to me that we can reuse what they have done.
Of course we can use their work as inspiration on how to set things up.
I see the following options for us:
- Code the AI in C++, Pascal, or a similar language with a programming interface we have yet to define.
- Create an engine that can interpret and execute rules from an AI language we have yet to define.
- Create a script that can convert rules from an AI language we have yet to define, to C++, Pascal, or a similar language.
Btw, I think our first approach should be to detect patterns where the regular AI fails, and second guess it, rather than building an entire AI from scratch.
--I like ILSe
Posts: 973
Threads: 20
Joined: Oct 2010
WhiteMage Wrote:I will be happy to create a rule set, but will also need an engine on how to choose rules by the AI, much like an expert system.
It is doable to create an expert system (I graduated on one).
But can we start with a couple of example rules you'd like to create?
--I like ILSe
Posts: 401
Threads: 31
Joined: May 2012
WhiteMage Wrote:We also need a whole population of AIs, not just 1 current AI.
That's cool.
I'll be happy with a decent AI, but having a choice is definitively better.
Only the people crazy enough to think they can change the world of Arcanus and Myrror can do it.
September 7th, 2012, 20:01
Posts: 401
Threads: 31
Joined: May 2012
I like Serena Wrote:I've been so free to create the new threads that contain the name Mindy. Of course our Mindy Project has nothing to share with this one:
Mindy Project
Only the people crazy enough to think they can change the world of Arcanus and Myrror can do it.
September 8th, 2012, 06:53
Posts: 973
Threads: 20
Joined: Oct 2010
FrancoK Wrote:Of course our Mindy Project has nothing to share with this one:
Mindy Project

I liked the part where they said: "There is no one like Mindy".
That's pretty much true!
We're doing something that no one has done before!
--I like ILSe
November 26th, 2013, 05:45
Posts: 9
Threads: 0
Joined: Nov 2013
(November 27th, 2010, 19:58)kyrub Wrote: The Insecticide project has gone quite far from my point of view, I never expected it to become so large. Many bugs keep a coming, but in general we can already see an end to it (I remember my own illusion, when started, that the game is not at all that broken as MoO, hehe). There are a few important interface themes, that will increase substantially the playability - and I am looking forward to make them work.
What cannot be called a success till today, in terms of "seeing the end of the task approaching", is the in-game AI. Many crucial corrections (the number may float around 200) were made inside the code. But they were, most of the time, an attempt to avoid the most stupid AI decisions, rather than to force the AI to state long-time goals and to create plans to execute them. We are being limited from inside the code, by condensed space, by cumbersome AI data structure and - most importantly - by the simple fact that writing any new code in assembly is painfully slow.
Maybe it is time to make a step in new direction - to create an External AI for MoM. Of course, this cannot be a work of an individual (not me surely, as I am a pure amateur). There are a few people here, who, as it seems, have professional pre-requisites
(1) to write the AI in a modern programming language of their choice (WhiteMage in particular, maybe others with a good experience) and
(2) to create a connection between the program and the would-be AI external utility, so that the MoM program asks, when necessary for decisions that are externally fetched to it by the AI utility (ILSe could help here, others with a good experience).
(3) finally, I could provide addresses that represent the final AI choices in almost any matter in the game (my guess is that 98-100 % of the decision points are known to me). I would try to force the program to ask for the external input (if somebody helps me, gives me advice how to do it). I could also work on internal AI data structures to provide better information, better input for the utility if necessary.
Questions
- Is this technically possible or is it just a dream?
- Are some of you interested to put a work in and create a much better MoM, while respecting the original?
- What are the limitations? What would be necessary to do from both sides (external, internal)?
Think one can look at civilization for ideas, they seem to have a working idea by letting ai cheat at higher difficulty but they play it by style, like Gandhi who likes nukes :P as a Extreme example, and they seem to focuse that route.
|