Sign in to follow this  
localplutonium

what would be the cost of this implementation?

Recommended Posts

I have recently been thinking about implementation of "human birth"/existence. What I mean by this is for example, have a fixed amount of AIs in each user's instance of the video game. Each game starts off with for example 10 instances of an AI class and no more instances would ever be created.

For example, if there were 10,000 AIs in a game like GTA or Skyrim , the game would begin with 10,000 AI instances walking around the game and the same ones would be used each time you load your saved game until you delete your saved file or kill them all.  Also each AI has its own brain so its an independent thread or something.

 

I have no experience programming video games or much knowledge of  video game development software. I understand computers on a hardware level and study lots of Oop and focus on API development.
I would like to know if this would generally be costly (in terms of time and memory) and lets say we were using a general video game design with a standard architecture and programming languages?

Edited by localplutonium

Share this post


Link to post
Share on other sites
I don't think your question is clear
but will answer and you elaborate

still depends on implementation like how big is brain data for storage, it could be simple as saying which kind of brain personality or complex like having intention list, complex personality.. if you talking about storage and 10000 units it will cost but not that costy.. if it is performance nowadays we can use gpgpu which is good to mass process data such as 10k AI units.

Share this post


Link to post
Share on other sites

It would cost anything between nothing and infinite amounts of money.

 

I can give you the first form of AI for free:

class AI {
public:
    AI();
    ~AI();
};

You'd need to extend this AI with load and save capabilities, but I am sure you can manage that.

 

 

I agree this AI is not doing much. It doesn't need its own thread for processing even.

You can create 10K of these AIs at pretty much any system, a desktop should not be a problem.

 

On the other hand, we (as humanity) managed to create an AI that can play Go at world champion level, and nothing else. I am not sure what you need to run it, but it's probably a super computer or so. No way you can run that as a standard desktop.

 

Edit: What you are missing in your question is a description of what the AI should be capable of. That is what defines the costs.

Edited by Alberth

Share this post


Link to post
Share on other sites

Games have done this, so use those as a benchmark. Games like Morrowind where you can kill everyone, same with with the older might&magic games.

 

A newer game coming out is space pirates and zombies 2. The game spawns 200 AI ship captains that do whatever suits them, and the universe slowly ends over time. When captains die they aren't replaced.

 

http://www.minmax-games.com/forums/viewtopic.php?f=38&t=4067&sid=729aaa243634e322c128c5d7cf81c123

Share this post


Link to post
Share on other sites

thanks this is helpful.

 

Games have done this, so use those as a benchmark. Games like Morrowind where you can kill everyone, same with with the older might&magic games.

 

A newer game coming out is space pirates and zombies 2. The game spawns 200 AI ship captains that do whatever suits them, and the universe slowly ends over time. When captains die they aren't replaced.

 

http://www.minmax-games.com/forums/viewtopic.php?f=38&t=4067&sid=729aaa243634e322c128c5d7cf81c123

Share this post


Link to post
Share on other sites

 The AI activity/behavior would be a simple version of the Player's abilities. I included GTA and Skyrim because I like their AI. They can walk around possible fight each other if they bump into each other. Very simple, maybe each would have its own "role" just like in real life how people on the street may be doctors going to their job, bus drivers driving a car.
So I guess im asking in the case of "simple brains".
 

 

I agree this AI is not doing much. It doesn't need its own thread for processing even.

You can create 10K of these AIs at pretty much any system, a desktop should not be a problem.

 

On the other hand, we (as humanity) managed to create an AI that can play Go at world champion level, and nothing else. I am not sure what you need to run it, but it's probably a super computer or so. No way you can run that as a standard desktop.

 

Edit: What you are missing in your question is a description of what the AI should be capable of. That is what defines the costs.

Share this post


Link to post
Share on other sites

I have recently been thinking about implementation of "human birth"/existence. What I mean by this is for example, have a fixed amount of AIs in each user's instance of the video game. Each game starts off with for example 10 instances of an AI class and no more instances would ever be created.

For example, if there were 10,000 AIs in a game like GTA or Skyrim , the game would begin with 10,000 AI instances walking around the game and the same ones would be used each time you load your saved game until you delete your saved file or kill them all.  Also each AI has its own brain so its an independent thread or something.

 

I have no experience programming video games or much knowledge of  video game development software. I understand computers on a hardware level and study lots of Oop and focus on API development.
I would like to know if this would generally be costly (in terms of time and memory) and lets say we were using a general video game design with a standard architecture and programming languages?

 

You can't know your budget only by "Hey I want to do X , how much time and $$$ do I need".

The question is about how much you invest:

- Features: What is the behavior of your final product.

- Employees: Are you the only worker, do you want to employ others.

- Work time: How many hours per week..

- QA: Do you invest in testing.

- Hardware: Do you need new hardware.

- Other small outcomes: Notes, coffee, printing, lawyer, anything else you could think of.  

Share this post


Link to post
Share on other sites

You can't know your budget only by "Hey I want to do X , how much time and $$$ do I need".

The question is about how much you invest:

- Features: What is the behavior of your final product.

- Employees: Are you the only worker, do you want to employ others.

- Work time: How many hours per week..

- QA: Do you invest in testing.

- Hardware: Do you need new hardware.

- Other small outcomes: Notes, coffee, printing, lawyer, anything else you could think of.  

 

 

 

sorry my question was vague, im not asking how much money. I meant to ask computation and memory cost. I figured if you could think of a way this implementation can be done , to give me idea of how doable this is,  "computer effort" wise.

Edited by localplutonium

Share this post


Link to post
Share on other sites

Have a look at the computer requirements for those games?

I know they do lots of video stuff, but on the other hand, they are probably very good at implementing their AI, which would cost you more memory and/or cpu time.

 

I would definitely see this as a lower bound only. It's not unlikely they cheat somewhere along the lines to give the impression the AI can do more than it actually can. A "proper" AI will cost (perhaps much) more cpu/memory.

 

 

I am not sure why you want to know an estimate, wouldn't it be much more fun to try implementing said AI, and then see what happens in terms of memory and cpu time?? It would definitely give better estimates than this "theoretical talk in the sky about an underspecified problem" that we do now.

 

I mean, suppose the answer is 13 cpu seconds, how is that affecting whatever you're trying to decide? Does it change if it's 130 seconds?

Edited by Alberth

Share this post


Link to post
Share on other sites

If you get smart you can have a huge amount of AI. I was playing with a rogue engine a while back where I had a city with 1000s of zombie AI active but to keep the cpu costs low I simply disabled the AI out of sight and further than a certain distance from the player. This sort of trick allows you to run many NPC cheaply.

 

There are other tricks such as only running the AI for a batch of NPC each go so you only update a few at a time and just refresh them by the update interval, this would make them appear to warp/teleport along but if out of sight no foul :) Ask yourself how often do they really need to update unless they are near the player and work out a viable strategy that suits your engine :). 

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

Sign in to follow this