Author Topic: Programmable AI  (Read 16248 times)

PhinnFort

  • Guest
Programmable AI
« on: January 16, 2006, 04:23:59 pm »
A really nice feature, when you get the game into a more working condition (with ship systems, etc.), would be the ability to program the AI for different things yourself. Has anyone here played DroidBattles? It's a programming game, where you program robots in assembly, and afterwards fight against other robots.
Imagine having a big multiplayer ship (like someone else suggested), where you can code the AI which controls i. e. the gun turrets yourself, or maybe if you have a lot of fighters with it, run by your own code. It would be really cool, since you don't need to fill up your ship with a full crew.
The language which jumps to mind is Python, which is really simple, and (i guess) easy to implement (it's implemented in many other games/programs).
Just a thought.

-PhinnFort

Offline Oceanus

  • Commander
  • *****
  • Posts: 119
  • Karma: +2/-1
    • View Profile
Re: Programmable AI
« Reply #1 on: January 16, 2006, 06:58:51 pm »
I am sure this would give people who know python already a huge advantage over those who dont.

Offline contingencyplan

  • Villain
  • Ivory-Tower Theorist
  • Admiral
  • *****
  • Posts: 977
  • Karma: +1/-0
  • Must I sin once, and repent forever?
    • View Profile
    • My Blog
Re: Programmable AI
« Reply #2 on: January 16, 2006, 10:47:05 pm »
I am sure this would give people who know python already a huge advantage over those who dont.

Somewhat rectified by the fact that other people will have skills that the Python coders lack. The Python coders can write AIs and sell them (in-game, preferably) to those who lack such skills, much in the same way that coders and software engineers write code for customers who do not possess the ability themselves. It evens out, methinks.
We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true. 
    ~Robert Wilensky

It is not bigotry to be certain we are right; but it is bigotry to be unable to imagine how we might possibly have gone wrong.
    ~GK Chesterton

Men never do evil so completely and cheerfully as when they do it from a religious conviction.
    ~Blaise Pascal

Offline Caenus

  • Married Man
  • Concept Artist
  • Grand Admiral
  • ******
  • Posts: 2351
  • Karma: +5000/-1
  • That, I cannot do.
    • View Profile
    • Art Blog
Re: Programmable AI
« Reply #3 on: January 17, 2006, 02:18:05 am »
Unless a python coder just wants to be a dick about it.  Gotta remember, in an "all things equal" universe, people will inherently do things to benefit themselves most. 

"Hmmm . . . do I make an ally or blast the shit out of him and make him my slave?  Decisions, decisions."
Merciful Father, I have squandered my days with plans of many things. This was not among them. But at this moment, I beg only to live the next few minutes well. For all we ought to have thought, and have not thought; all we ought to have said, and have not said; all we ought to have done, and have not done; I pray thee God for forgiveness.

PhinnFort

  • Guest
Re: Programmable AI
« Reply #4 on: January 17, 2006, 05:08:04 am »

Offline Oceanus

  • Commander
  • *****
  • Posts: 119
  • Karma: +2/-1
    • View Profile
Re: Programmable AI
« Reply #5 on: January 17, 2006, 08:15:15 am »
Make a tutorial that the person has to follow.  :) That solves that problem

PhinnFort

  • Guest
Re: Programmable AI
« Reply #6 on: January 17, 2006, 09:25:21 am »

Offline Caenus

  • Married Man
  • Concept Artist
  • Grand Admiral
  • ******
  • Posts: 2351
  • Karma: +5000/-1
  • That, I cannot do.
    • View Profile
    • Art Blog
Re: Programmable AI
« Reply #7 on: January 17, 2006, 10:58:30 am »
Yes . . . once again Cookie saves the day.

God, I am so simpled out right now . . .
Merciful Father, I have squandered my days with plans of many things. This was not among them. But at this moment, I beg only to live the next few minutes well. For all we ought to have thought, and have not thought; all we ought to have said, and have not said; all we ought to have done, and have not done; I pray thee God for forgiveness.

Offline Morgul

  • GNE Founder
  • Godlike Fuzzy Dice
  • Grand Admiral
  • **********
  • Posts: 2086
  • Karma: +21/-4
  • Godlike Fuzzy Dice
    • View Profile
    • G33X Nexus Entertainment
Re: Programmable AI
« Reply #8 on: January 17, 2006, 11:36:11 am »
There is a problem with this: Cheating. If you let people script thier own things, they *will* cheat. So, to limit that, we would have to review every script some 13 year old (with a tutorial, and no previous code skills) writes. Not to dis those people, but reading sloppy inexperianced code is a PAIN.

So, how about this:

We let them script it for thier own lan games. (Setting up thier own server will be possible) Then, should they want to get that script included in the game, they have to do the following:

1) Meet all requirements for submission (code style included).
2) Explain why this script is useful, and what it does.
3) Allow the code to be opensourced, under the LGPL.
4) Pay $0.75 per script sumbitted.

Now, let me give you the reasons for each:

1) -This is to ensure that we don't have to read any crappy ill formatted code. We can automatically reject submitted files, with an explaination of what they violated on each line.

2) -We need to know why we should be interested in this script. We don't want to accept 100,000,000,000 scripts that are simply variations on the same thing. Too much overhead.

3) -We need to do this for two reasons. The first is licensing.. so people can't sue us for including thier scripts. The second is so that on the off chance we miss something, other people can look at it, and find any possible cheats, or even any possible exploits. This is *VERY* important.

4) -You might wonder at this. Well, simply put, if there's money attatched to something, people will pause before submitting. Especially if after we reject one (not based on formatting ofcourse) they have to resubmit and pay another 75 cents. I figure if it's less than a buck, anyone playing the game can afford it, but it is a psychological block to submitting stupid things. Not a complete block, but I bet you it will stop 40% of the stupid submissions atleast.

So, could people live with this?
"Just because my math may tell lies doesn't mean that I don't understand the quantum mechanics of it all." --Caenus

The popular videogame "Doom" is based loosely around the time Satan borrowed two bucks from Vin Diesel and forgot to pay him back.

"In the beginning there was nothing. And it exploded." --Terry Pratchett

Offline Caenus

  • Married Man
  • Concept Artist
  • Grand Admiral
  • ******
  • Posts: 2351
  • Karma: +5000/-1
  • That, I cannot do.
    • View Profile
    • Art Blog
Re: Programmable AI
« Reply #9 on: January 17, 2006, 01:34:11 pm »
I'd suggest making it a buck instead of 75 cents.  If you can afford 75 cents, you can afford a dollar.  That'll also make keeping the books a whole lot easier.

Take it from someone who has to do the books every time he works . . . even dollar amounts make for GREAT times.
Merciful Father, I have squandered my days with plans of many things. This was not among them. But at this moment, I beg only to live the next few minutes well. For all we ought to have thought, and have not thought; all we ought to have said, and have not said; all we ought to have done, and have not done; I pray thee God for forgiveness.

Offline ryguy_1617

  • 3d Modeler
  • Commodore
  • *******
  • Posts: 474
  • Karma: +6/-21
    • View Profile
    • http://flashcubestudios.com
Re: Programmable AI
« Reply #10 on: January 17, 2006, 03:46:07 pm »
I'd suggest making it a buck instead of 75 cents.  If you can afford 75 cents, you can afford a dollar.  That'll also make keeping the books a whole lot easier.

Take it from someone who has to do the books every time he works . . . even dollar amounts make for GREAT times.

I agree. 

PhinnFort

  • Guest
Re: Programmable AI
« Reply #11 on: January 17, 2006, 04:24:30 pm »
I don't understand how scripting will allow people to cheat. Could you please explain?
And also, this would kinda destroy the idea, with people being able to script their own bots.
(And also, Python almost forces nice formatting, through various means...)

-PhinnFort

Offline ryguy_1617

  • 3d Modeler
  • Commodore
  • *******
  • Posts: 474
  • Karma: +6/-21
    • View Profile
    • http://flashcubestudios.com
Re: Programmable AI
« Reply #12 on: January 17, 2006, 04:53:17 pm »
Idk...personally, the whole scripting idea isn't all that appealing to me.  But, it might be for some people...

Offline Caenus

  • Married Man
  • Concept Artist
  • Grand Admiral
  • ******
  • Posts: 2351
  • Karma: +5000/-1
  • That, I cannot do.
    • View Profile
    • Art Blog
Re: Programmable AI
« Reply #13 on: January 17, 2006, 06:59:42 pm »
Cheating with scripts isn't hard at all.  Counter strike players script aimbots and all that stuff.
Merciful Father, I have squandered my days with plans of many things. This was not among them. But at this moment, I beg only to live the next few minutes well. For all we ought to have thought, and have not thought; all we ought to have said, and have not said; all we ought to have done, and have not done; I pray thee God for forgiveness.

Offline Oceanus

  • Commander
  • *****
  • Posts: 119
  • Karma: +2/-1
    • View Profile
Re: Programmable AI
« Reply #14 on: January 17, 2006, 10:49:25 pm »
is macros a concern anyone? ;D

PhinnFort

  • Guest
Re: Programmable AI
« Reply #15 on: January 18, 2006, 04:30:24 am »
But the script would be run by the program, and you can therefore control what it will be able to do. Of course you wouldn't have it to aim for you, but it could rather control the parts of the ship that you can't control yourself. Like turrets, instead of letting them aim and shoot automagically, you could rather let people script it themselves.

-PhinnFort

Neo

  • Guest
Re: Programmable AI
« Reply #16 on: January 18, 2006, 11:25:30 pm »
Another big thing with the scripting is the Real Time part of this game. Given enough skill a person could code themselfs to do certain tasks over and over again while they are away. Sure that's all great for them to do, but suppose one person makes 20 accounts gives them all the same script and lets them harvest resorces all day in a secure area, then he logs on once a day to sell it. He and other players would be able to pull in unholy amounts of cash, thus making the game less fun.  The people in cstrike that just have to click a mouse to get a headshot everytime don't have any fun, they grow board of the game. It's better if you have to work (and I mean push a mouse!) to get stuff done. This is just the easyest way to "cheat". There are better ways to make the game less fun for people, this is just one of the simple ones.

~Reynard

PhinnFort

  • Guest
Re: Programmable AI
« Reply #17 on: January 20, 2006, 12:07:26 pm »
Sorry if I simply don't take the point, but I don't think you got the point.
How can you make a turret harvest? And you could also make the bots stop when the player goes AFK.
Also, you will have cheating, if any of you don't think so, you're not being reasonable. But I don't think people will use the bot-engine for it.
(Also, aimbots, wallhacks and the like in CS(counter-strike, that is) are usually implemented by "hacking" the opengl interface, and not in macros)

-PhinnFort

Offline Caenus

  • Married Man
  • Concept Artist
  • Grand Admiral
  • ******
  • Posts: 2351
  • Karma: +5000/-1
  • That, I cannot do.
    • View Profile
    • Art Blog
Re: Programmable AI
« Reply #18 on: January 20, 2006, 02:50:50 pm »
The biggest thing to remember is that this game will not be solely a spaceflight sim or the like.  It will incorporate several different aspects of several different styles of games.  Could you cheat with automated turrets?  No.  Could you cheat with scripting?  yes.
Merciful Father, I have squandered my days with plans of many things. This was not among them. But at this moment, I beg only to live the next few minutes well. For all we ought to have thought, and have not thought; all we ought to have said, and have not said; all we ought to have done, and have not done; I pray thee God for forgiveness.

PhinnFort

  • Guest
Re: Programmable AI
« Reply #19 on: January 21, 2006, 06:51:08 am »
But the scripts would only be allowed to do what the developers want them to do. The developers could make them execute slow, don't allow them to move right, only left, or whatever. Again, scripting isn't used for cheating in many games (none that I can think of right now...)

-PhinnFort