Aliens

Anything concerning the ongoing creation of Futurecraft.
User avatar
fr0stbyte124
Developer
Posts:727
Joined:Fri Dec 07, 2012 3:39 am
Affiliation:Aye-Aye
Re: Aliens

Post by fr0stbyte124 » Thu Jan 31, 2013 1:55 pm

Tiel wrote:Right, you code the AI for the mod, then we'll talk. fr0st is under enough stress as it is.
It's been impossible for me to get stressed ever since I perfected my hiding from reality technique.

User avatar
Iv121
Vice Admiral
Vice Admiral
Posts:2414
Joined:Fri Dec 07, 2012 3:40 pm
Affiliation:UTN
Location:-> HERE <-

Re: Aliens

Post by Iv121 » Thu Jan 31, 2013 2:37 pm

Last_Jedi_Standing wrote: Of course you can. I could describe one too. But that's not even vaguely the same thing as being able to program one. You seem to be approaching this discussion from the point of view of "I know exactly what everything must be, and you're all just too dumb to see my brilliance. Moreover, everything I want is easy to do, and everything you want is impossible. This is because I am great and wise and I have the forethought to think about these things while you poor, foolish people struggle to understand." That's likely not what you mean, but that's definitely what I'm getting out of your comments, and it's not an attitude I appreciate. I don't know about anyone else here, but I want you to just stop @#$%ing arguing.
Well I never even had such a tone. Maybe I need to fake one because you constantly say the opposite - you are an idiot who doesn't know anything, just get the f*** out. Probably it's not what you mean but your posts pretty much imply that.

for your attention I would like to bring up that no argument is going on here (At least currently) as I managed to convince people that at least patrolling AI is good.

Now for the programming of AI, how do you make AI ? AI is an imitation of human thinking. I simply take the way I would think about that and make it more numeric so that the comp can do the same. I cannot program an AI because I don't have any methods to work with. I do not know how the ship moves or shoots etc. Because it wasn't made yet nor do I have any ship parts for my calculations.

In order to simplify this process I will have a look at all of my available actions and give each action a score. The action with the highest score is preferable and so it will be implemented.

Basically before I come to solve an engagement I have a personality. A personality in my AI will be presented by an int variable - aggression. Aggression is a value between 0.1 to 10 to give a score to my personality. 0.1 means passive while 10 means almost suicidal, 1 is neutral. I will multiply the attack options by that value and so it will get a higher or a lower score depending on the AI's "personality"

Next I evaluate my opponent and me and give each one of us a score. I will calculate the overall DMG per minute of my enemy and me, the average armor plating per outer block and shielding. Now I give a score again in int from 1 to 10. Next I evaluate the maximum range of my enemy and me and our DMG per minute at this range.

Now I choose the prefered action subset - Attack or deffence. It is a lot of writing to detail both so lets choose attack.

Now I want to make engagement score - it is how much DMG can I deal vs how much DMG will I take. I divide the DMG I deal with the DMG I get after my defences and get a value. If the value is bigger than one you are free to engage at any range, if it is equal or lower than 1 I try to gain advantage. I check if I have weapons that outrange the enemy , if yes it is my preferred route, if not I create another engagement score - this time with long range weapons. If the score is still below 1 engaging in direct combat is not advised. Note that I will not build a set of ifs but rather give a score again. Multiplying by values smaller than 1 will reduce the score. This way even if all routes are not favourable at least Ill pick the best of all evils. If allies are ready to assist the DMG per minute will be calculated by all firepower that currently reaches the target combined, if multiple enemies present the same goes with their DMG per minute.

Now when we engage we pick priority targets (Scores again). I check if the target is faster && if I do more DMG than him. If true I will target engines. If the enemy cannot outrun me or he has more DMG per minute I will target weapons. Else I will target the thinnest spot on the ship. Again all those actions get a score and so even if you have a dilemma between the thinnest spot or the weapons you now have an answer.

Note that the info available to the AI is dependent on it's sensors.

I will have to sit and analyze battles - how I made the choices for things I miss and add them one by one. It is not that complicated though.


Lastly I want to add another future which is event AI, mostly when something bad happens to your ship. Unlike the scores it is a list of ifs where you react to stuff happening. for example if there is a breach send the nearest engineer to fix or if the shields are failing reroute more power to the shields if in defensive mode. again you play the game and if you meet an event you idnt take care of you add it.




I hope I convinced you now that I have a plan.
They're watching ... Image

"I am forbidden tag" -CvN

Chairman_Tiel
Rear Admiral
Rear Admiral
Posts:1890
Joined:Sat Dec 01, 2012 9:39 am
Affiliation:GLORIOUS REPUBLIC

Re: Aliens

Post by Chairman_Tiel » Thu Jan 31, 2013 2:44 pm

I still think Aliens are a bad idea. No space sims have ever implemented anything so potentially gamebreaking, save for Galciv, and what would you know, that game's broken :P

Patrolling AI is good, that can be integrated into whatever the moderator alignment is called, but I'd also like to point out that one mod adds invading aliens, it's called More Creeps and Weirdos. It got to the point where the maker felt the need to include a configuration to disable their invading tendencies entirely.

Also Iv, I'm convinced you have a layout, but translating that kind of text to code and integrating it is something else entirely. That's like my section in the Idear(s) thread concerning server protocol - you can outline everything that needs to happen but when you get down to it you need a specialist like Fenway to get the job done in the first place.
[spoiler]Image[/spoiler]

User avatar
Iv121
Vice Admiral
Vice Admiral
Posts:2414
Joined:Fri Dec 07, 2012 3:40 pm
Affiliation:UTN
Location:-> HERE <-

Re: Aliens

Post by Iv121 » Thu Jan 31, 2013 3:21 pm

not at all, I just wrote it in a human language . This is one step from being code. Problem is I dunno Java and I don't have the required methods to get the needed info or to create any sort of output.
They're watching ... Image

"I am forbidden tag" -CvN

 ҉ 
Commodore
Commodore
Posts:1574
Joined:Thu Dec 06, 2012 6:50 am
Affiliation:Kzinti Empire
Location:Kzinhome

Re: Aliens

Post by  ҉  » Thu Jan 31, 2013 4:05 pm

Iv121 wrote:not at all, I just wrote it in a human language . This is one step from being code. Problem is I dunno Java and I don't have the required methods to get the needed info or to create any sort of output.
No it's not. I say again—I don't think you have any idea what you're talking about. As you said, you don't know Java. Well, neither do I. But I know enough to tell you that writing something out like that, as well and good as that may be, is almost completely irrelevant to actually being able to program it. That works fine as an idea, but you should not claim that it is code, or even nearly so.
;.'.;'::.;:".":;",,;':",;

(Kzinti script, as best as can be displayed in Human characters, translated roughly as "For the Patriarchy!")

Prototype
Developer
Posts:2968
Joined:Fri Dec 07, 2012 1:25 am
Affiliation:NSCD
IGN:Currently:Small_Bear
Location:Yes

Re: Aliens

Post by Prototype » Thu Jan 31, 2013 4:57 pm

Iv121 wrote:not at all, I just wrote it in a human language . This is one step from being code. Problem is I dunno Java and I don't have the required methods to get the needed info or to create any sort of output.
It's not that simple, java isn't a language in the way we see English and French, it's more like the mathematical language (if that makes any sense, it is still a language of sorts), and if you've ever tried converting something as complex as that into a mathematical function, you would know it isn't so easy (if you can, you are a genius), code is a similar thing.

I wouldn't say one step away, one step closer is a better term (I'm sure you meant this though)

But don't expect the Spanish Inquisition an AI like Skynet.

I still don't like aliens though, I'd rather have robots, I'm better at modelling robots, robots are cool.
Spoiler:
Image
Mistake Not... wrote: This isn't rocket science, *!
Image

Spoiler:
Image

TinkerPox
Ensign
Ensign
Posts:192
Joined:Thu Jan 17, 2013 5:27 pm
Affiliation:Argonian
IGN:TinkerPox
Location:In the Alpha Centauri system....

Re: Aliens

Post by TinkerPox » Thu Jan 31, 2013 9:46 pm

Prototype wrote:
Iv121 wrote:not at all, I just wrote it in a human language . This is one step from being code. Problem is I dunno Java and I don't have the required methods to get the needed info or to create any sort of output.
It's not that simple, java isn't a language in the way we see English and French, it's more like the mathematical language (if that makes any sense, it is still a language of sorts), and if you've ever tried converting something as complex as that into a mathematical function, you would know it isn't so easy (if you can, you are a genius), code is a similar thing.

I wouldn't say one step away, one step closer is a better term (I'm sure you meant this though)

But don't expect the Spanish Inquisition an AI like Skynet.

I still don't like aliens though, I'd rather have robots, I'm better at modelling robots, robots are cool.
I good at modeling aliens :)

User avatar
Iv121
Vice Admiral
Vice Admiral
Posts:2414
Joined:Fri Dec 07, 2012 3:40 pm
Affiliation:UTN
Location:-> HERE <-

Re: Aliens

Post by Iv121 » Thu Jan 31, 2013 11:34 pm

Listen ppl I don’t know Java but I know C# and assembly (and for the record I wrote an AI in assembly which doesn't even have ifs by mistake :[ ). I know that C# is quite similar to Java and if I write something in C# I will just need someone to sit there and correct grammar specific mistakes and add output methods (your AI is all nice but if it doesn't implement your decision it's useless). What else do you want me to do to convince you ? To write a damn chuck of code ?
They're watching ... Image

"I am forbidden tag" -CvN

 ҉ 
Commodore
Commodore
Posts:1574
Joined:Thu Dec 06, 2012 6:50 am
Affiliation:Kzinti Empire
Location:Kzinhome

Re: Aliens

Post by  ҉  » Fri Feb 01, 2013 6:55 am

Iv121 wrote:To write a damn chuck of code ?
Yes. If and when you can program a functioning AI for Futurecraft, I will accept your claims.
;.'.;'::.;:".":;",,;':",;

(Kzinti script, as best as can be displayed in Human characters, translated roughly as "For the Patriarchy!")

Prototype
Developer
Posts:2968
Joined:Fri Dec 07, 2012 1:25 am
Affiliation:NSCD
IGN:Currently:Small_Bear
Location:Yes

Re: Aliens

Post by Prototype » Fri Feb 01, 2013 11:28 am

A chunk of code would be infinitely useful, if you can code in one language, then it should be easier to learn another rather than learning from total scratch (what I'm doing, if anyone knows of some good tutorials please tell me).
Spoiler:
Image
Mistake Not... wrote: This isn't rocket science, *!
Image

Spoiler:
Image

joykler
Lieutenant
Lieutenant
Posts:462
Joined:Sat Jan 19, 2013 3:49 pm
Affiliation:mercenary
IGN:joykler

Re: Aliens

Post by joykler » Fri Feb 01, 2013 2:37 pm

look if you really want an enemy why
cant you make an extra option in the ships core where you can fill in a code to make it turn evil
in the same place you can enter a diffrent code to reset it but these codes would be only know to ops
and could be changed often
the ship would just fly around in the area and fight other ships on its route or would even attack and bombard planets
the players would have to destroy the ship
and if no-one could destroy it a op would disable it
such a code would also be usefull for improving them like in this bar you could enter all sorts of "cheats" because sometimes it would be usefull to have an goddly ship
to repel mayor greivers ect....
once done you could enter a diffrent code to reset it
these codes would be changed often and only be given when someone files a request that makes a point

User avatar
fr0stbyte124
Developer
Posts:727
Joined:Fri Dec 07, 2012 3:39 am
Affiliation:Aye-Aye

Re: Aliens

Post by fr0stbyte124 » Fri Feb 01, 2013 6:24 pm

Just for the record, AI is hard.

There are 3 main types of AI (there are more than that, but they won't be on the test).

1) Optimization AI - analyze data and work out good solutions. Normally the process is too complex or expensive to do an exaustive trial-and-error, so AI techniques are needed to make good decisions. In games, pathing would fall under this category.

2) Game Theory AI - in some cases you need to work out solutions in which you are additionally need to model the outcome of decisions. Uses range from playing chess to modeling economies and ecologies. We probably won't need it here.

3) Behavoral AI - This is what you use when you want something to behave organically or make quick good-enough decisions based on incomplete information. This is the "fuzziest" of the AI branches, and is also the most complex (though it also shows up in the other branches because AI is funny like that). Though there is a massive amount of techniqes, NPC behaviors are most often modeled with Markov chains or neural nets. In the former, an NPC is given a bunch of states, and for each of them, it will move to other states with different probabilities, resulting in varying responses and decisions. In neural nets, the NPC will make decisions based on sensory inputs and internal states, each of which are weighted for any number of responses, and the strongest response wins out. That's still criminally oversimplifying it, but suffice to say, AI is one of the most complicated parts of most AAA games.

A notable exception: the Fable franchise. My god those npcs were dumb.


Bungie has actually done a pretty good job of explaining AI, and I suggest giving this stuff a read. It's pretty much all entry-level discussion and easy to understand.
http://halo.bungie.net/images/Inside/pu ... battle.zip
http://www.bungie.net/images/Inside/pub ... /gdc07.pdf
http://www.bungie.net/images/Inside/pub ... nips07.pdf

*edit* crap, the second 2 are missing. I'll look for mirrors.

Chairman_Tiel
Rear Admiral
Rear Admiral
Posts:1890
Joined:Sat Dec 01, 2012 9:39 am
Affiliation:GLORIOUS REPUBLIC

Re: Aliens

Post by Chairman_Tiel » Fri Feb 01, 2013 6:35 pm

I remember when I was part of the Halo modding community. Bungie really loves the modders.

I'll be damned if I ever made anything useful, though :P
[spoiler]Image[/spoiler]

User avatar
Keon
Developer
Posts:662
Joined:Thu Dec 06, 2012 7:09 pm
Affiliation:Inactive
IGN:ducky215

Re: Aliens

Post by Keon » Fri Feb 01, 2013 9:12 pm

Alright, AI is now evolutionary algorithms evolving a neural network.
- I can be reached as ducky215 on minecraft forums -

User avatar
fr0stbyte124
Developer
Posts:727
Joined:Fri Dec 07, 2012 3:39 am
Affiliation:Aye-Aye

Re: Aliens

Post by fr0stbyte124 » Fri Feb 01, 2013 9:34 pm

We are absolutely not evolving a neural net. We'll never be able to make a proper supervisor and it will wind up dumb.

Our AI will be intelligently designed, like God intended.

Post Reply