Counter-Strike: Source Showcases Simulated Society

Kangy

Newbie
Joined
Oct 2, 2003
Messages
2,447
Reaction score
0
New Scientist has an interesting article that reveals a simulation, much like an advanced version of The Sims 2, that contains 1000 lifelike characters, all interacting with the world and evolving to cope with the changes within it. The simulation is being run by scientists from 5 different European research institutes. The simulation will hopefully allow the researchers to gain key understanding in the way that real human societies have evolved.
[br]
[br]The engine used to power this simulator is non other than a well modified version of the Counter-Strike: Source engine, which truly says something about the power of the Source engine.
[br]
[br]Take a look at the insightful article here to see some of the advanced modifications made to run the simulation.[br]

 
Also: Alliteration Appellations Are Awesomely Atuned.
 
Can Counter-Strike cope with complex communicating characters?

This sounds insanely cool. I have always wished for something like this... Seeing how things adapt and evolve, work together. Fascinating.
 
mwhaha yet another new genetic algorithm program. This one looks particularly interesting, since the charachters are able to generate their own language. It will be particularly exciting to see how the algorithm unfolds, and if indeed they form their own culture. I always find programs that use genetic algorithms to be fascinating, because they mimic life.

I wonder if they will implement any animation...from what it looks like, the charachters are using raw ragdoll animations. At least they could implement the idle and walking animations, and perhaps allow the charachters to create their own animations using genetic algorithms...imagine how interesting their rituals could be... perhaps they could even start worshiping "The Freeman" :cheers:

I would also love to see this become publicily available as an actual mod...I could spend hours experimenting with it.

If you want, you could try out this other genetic algorithm program that I found quite interesting, where creatures in a pool of water evolve using genetic algorithms, simple sine movement algorithms, and randomly generated cells:

http://www.swimbots.com/
 
theotherguy said:
mwhaha yet another new genetic algorithm program. This one looks particularly interesting, since the charachters are able to generate their own language. It will be particularly exciting to see how the algorithm unfolds, and if indeed they form their own culture. I always find programs that use genetic algorithms to be fascinating, because they mimic life.

I wonder if they will implement any animation...from what it looks like, the charachters are using raw ragdoll animations. At least they could implement the idle and walking animations, and perhaps allow the charachters to create their own animations using genetic algorithms...imagine how interesting their rituals could be... perhaps they could even start worshiping "The Freeman" :cheers:

I would also love to see this become publicily available as an actual mod...I could spend hours experimenting with it.

If you want, you could try out this other genetic algorithm program that I found quite interesting, where creatures in a pool of water evolve using genetic algorithms, simple sine movement algorithms, and randomly generated cells:

http://www.swimbots.com/
Wow, you are getting me all excited. I've wanted something like this for so long, it's the ultimate entertainment for me. I'm so excited!
 
Sounds very cool - I'm counting down the seconds until one observant scientist hears a quiet little robot voice: "HAXX!!!!!!!"
 
Dinkleberry said:
Sounds very cool - I'm counting down the seconds until one observant scientist hears a quiet little robot voice: "HAXX!!!!!!!"
Don't think you quite understand... They aren't designing bots for CS.
 
Ok, this is creepy...

But its the most exciting thing I have heard since I started playing video games...

I mean, form what it sounds like...pretty soon the little "agents" will aquire territory, and make their "hunting grounds" for eating and sleeping. If someone eats something near them, they will fight. Soon we will see tribes...and languages...and then maybe....maybe even weapons...

If you think about it. I mean, im really going over the top here. What if the game makes a weapon/utility in the game, that we dont even have in real life?
 
Castronova suggests that the synthetic nature of such a world will undermine its potential. "Inferences from an entirely artificial system are always going to be weakened by the artificiality," he told New Scientist. "There's no reality check."

The number of factors that effect our world are many order of magnitudes higher than those present in the simulation. They can only approximate how the world would develop.

Our species already knew how to hunt/forage for food, yet those agents are going to have learn how to even do the most basic, primal things.

Many will die early on OL!OL!Y$o0lfthnaiosdu;hsp0e9t5u8
w34-vy6,w4

jdufault said:
If you think about it. I mean, im really going over the top here. What if the game makes a weapon/utility in the game, that we dont even have in real life?

It's not like it's going to invent some sort of ultra-nuke. The simulation is hardly close to real life in that regard, only approximations.
 
I don't see what the fuss is about. It's just a huge list of if then else statements thrown in a popular game engine. And I don't see why they chose Source, it seems to me like they could have chosen a simpler engine that allows for larger, more complex scenes, as the project would imply it doing.

Truly, you should be more excited about robots being able to perceive surroundings and reacting to them accordingly. Any information can be "given" to an AI bot in a game, but letting something perceive its own world and run it through a peice of code to determine what to do is more ground breaking.

if (hungry)
{
eat();
if (poo) shit();
else if (bored)
{
read(book[x]) else suicide(method[x]);
}
}

There's the experiment in a nut shell.
 
they should of done that with gta or something... sounds pretty funky though
 
Kangy said:
this simulator is non other than a well modified version of the Counter-Strike: Source engine
Counter-Strike: Source engine?
 
Pesmerga said:
I don't see what the fuss is about. It's just a huge list of if then else statements thrown in a popular game engine. And I don't see why they chose Source, it seems to me like they could have chosen a simpler engine that allows for larger, more complex scenes, as the project would imply it doing.

Truly, you should be more excited about robots being able to perceive surroundings and reacting to them accordingly. Any information can be "given" to an AI bot in a game, but letting something perceive its own world and run it through a peice of code to determine what to do is more ground breaking.

if (hungry)
{
eat();
if (poo) shit();
else if (bored)
{
read(book[x]) else suicide(method[x]);
}
}

There's the experiment in a nut shell.

Ah, but the code itself is not what they're interested in, its the emergent behavior that derives from the code. Using a simple code, and putting agents into a world that is freeform and has properties, the results can be surprising and dramatic.

The first of such programs was called "the game of life", and it was basically a bunch of flashing lights that used simple code to dertermine if another light was on next to them. The lights represented agents, and were told to turn on when specific lights were on or off around them. The code was written to be similar to the rules that bacterium use to behave in colonial form, and it was only a few lines long.

But running the program provided surprising and unpredictable results, that caused several of the lights to form colonies similar to that of cells. Using the basic laws of evolution, those lights that formed colonies stayed on the screen longest, and eventually the entire platform was able to fill up with lighted colonies.

Since then, experimentation with simple programs using the most simple of code have produced amazing results. For instance, programs were written where a set of simple physics laws and a simple goal were given to a stick figure program. The stick figure's only goal was to get from point A to point B using the rules that the programmers provided (i.e "the head module must be above the leg modules). Then, the stick figure program was left to run. The figures that were able to get the farthest with randomly generated movements were allowed to live, and their movement traits were passed on to two offspring, both of which had random "mutations" in their movement patterns.

After several thousand generations of randomly moving stick figures, the program had generated surprising results. The stick figures ended up doing backflips and walking on their hands to get to point B in the physicis engine, and were moving very fast in surprising ways.

This was not at all what the programmers expected, so they added another rule, that was the arms must remain above the legs, and that the feet must touch the ground often.

Finally, after a few more generations, the program yielded a stick figure that walked and ran perfectley, exactley as a human being would...all through randomly generated motion and a few simple rules.

This type of program, in itself, can be very useful for animation and gaming. Imagine, builing any kind of charachter, and running it through a genetic algorthm, and it would be animated all by itself! This would save much time and money in game production.

In fact, Will Wright's spore does just this. After player's individual creatures are created in the game Spore, they are run through a genetic algorithm, and are able to move perfectley in logical ways without any animation whatsoever.

This project utilizing the source engine is doing just this, except it is using speech. The thing about the source engine is that charachter expression while talking utilizes syllables. By providing the animation for the syllables with pre-recorded sounds, the research team can easily generate random syllables to be used in a brand new language.

Imagine then, that their language is refined through the generations with the most successful languages becoming more complex as the agents desire to describe the world around them. You'd transfer from random grunts to intricate language with some bit of grammar within a few million generations, just as the stick figure was able to progress from random spasms into fully human walking.

Personally, I think this is a brilliant idea; and I sincerly hopes that it works according to their original hypothesis.
 
I agree with almost everything you're saying. This sort of "influenced evolution" has been around for millenia, in the form of agriculture. We pick only the biggest, juiciest, tastiest members of each crop to seed the next crop. The result has been genetic drift for better yields. Unnatural selection applied to natural mutation. And all you "Franken-food" alarmists can go and choke on your "unmodified", "organic" food, because it's just as genetically engineered as anything else.

The first of such programs was called "the game of life", and it was basically a bunch of flashing lights that used simple code to dertermine if another light was on next to them. The lights represented agents, and were told to turn on when specific lights were on or off around them. The code was written to be similar to the rules that bacterium use to behave in colonial form, and it was only a few lines long.
To the contrary, the game of Life has been around for centuries. But only with the advent of computers has it become possible to view successive generations in a matter of seconds. When you're limited to pen and paper, patterns are very hard to realize.
 
It would be cool if after a few years of running their simulated world, the agents build a simulation just like the real scientist. To experiment with evolution.
 
The article said:
So far, the project scientists have built half of the engine needed to power the virtual world and have begun experimenting with individual agents. They have also adapted a graphical engine used by the popular shoot-em-up game Counter Strike, in order to render their agents visually.

I don't fully get this. Is NEW-TIES going to use their own engine but use Source as a visual reference, or have the scientists licensed Source and are building on top of it to suit the project? Is it something else than those two? And, what about the part on releasing (a piece?) of it to the public?
 
Engine's arent developed enough. Making a real world (or even a city) would be hindered by the smallest things, like growth, life-span, diseases, resources, weather. It's a flawed experiment at this point in time.
 
Theotherguy, that is amazing. Do you have any links with more interesting info?

I think I now fully understand this. After thousands of generations in this Source game, they will actually be talking about things... It would be amazing to see what kind of things they talk about once they have developed an elaborate language! My god, Artificial Intelligence is the most fascinating thing in the world. I can't get over it.

I would love to have that stick figure program.

WritingArequiem, I don't understand. What do you mean?
 
Sodabus said:
I don't fully get this. Is NEW-TIES going to use their own engine but use Source as a visual reference, or have the scientists licensed Source and are building on top of it to suit the project? Is it something else than those two? And, what about the part on releasing (a piece?) of it to the public?

from they stated it. it sounds like the already wrote the engine for the ai and everything else and incorperating source for the visuals
 
Yes, Source hardly has anything to do with the program itself. Just the graphics engine used to display what's going on.
 
hl2.net hasnt really been on top of their updates....there has been 2 updates that have been skipped in the news :|
 
You mentioned that the stick figure program was only a few lines of code, for basic rules, and they basically do the rest themselves. Is the a program thats able to run on say, a home computer ? Or is it now source code since they have much better simulators for this area of research ? Id love to play around with it. Sorry if this was a noob question :p


Drgon47
 
Playing around with civilization...would be more of an advance then any next-generation game. We would play god. All those futuristic movies that sound perposterous are starting to sound not too far away...
 
It's HL2, not CS. They only said CS because it's more widely known.

[/nitpick]
 
That's really cool... I just went through all of those things that outpost just put up...

Awesome...
 
that is so cool!!!!!!!!!!!1

shold be interesting to see what results they achieve:)
 
Very, very interesting. I'm looking forward to the results :)
 
Source is only being used to render, its not doing any of the 'communicating'.
 
vegeta897 said:
Theotherguy, that is amazing. Do you have any links with more interesting info?

I think I now fully understand this. After thousands of generations in this Source game, they will actually be talking about things... It would be amazing to see what kind of things they talk about once they have developed an elaborate language! My god, Artificial Intelligence is the most fascinating thing in the world. I can't get over it.

I would love to have that stick figure program.

WritingArequiem, I don't understand. What do you mean?

Well, the stick figure program I only saw in a magazine. There used to be a 3d version of the program called "bioblocks" where you built your own creatures and they learned to walk (I built a strider that moved by jumping around like a jumping spider :rolling: ) However, I think their site went offline.

For a general site on Artificial Life, I would suggest:

http://www.alife.org/

and for a ton of free alife programs, I really like this site:

http://dmoz.org/Computers/Artificial_Life/

This is an artificial life program that I thought was really cool. It used agents that generated noises randomly. The agents gained "food" by direct interaction from the user. When the user heard an interesting sound, he would move to the creature that was making that sound, and the creature would gain food. After several generations, a complete sonic landscape evolved in harmony with the user, and the sounds soon started to sound like pleasing ambient music. This program isn't publicly available, but you can listen to some of the music that was generated by the agents:

http://www.csse.monash.edu.au/~jonmc/projects/eden/eden.html

This program is similar to the game of life, but uses predatory cells that represent zombies which infect humans and turn the entire simulated city into a zombie haven. Then, the zombies form colonies similar to bacteria:

http://kevan.org/proce55ing/zombies/
 
I don't get it, why is any of this important? About that stick figure walking evolution thing, sorry to spoil your fun, but 99.99% of humans already know how to walk properly.

We already know how societies grow, we already know all of this really useless shit. To me, it's just one of those "Hey look, we can prove something that we already had a really good idea about! Give me lots of money becuz i r real smart"

Something I'd like to see as a result of these "programs" is a method of speeding up creativity. For example, maybe we want a helicopter that can land within 5 seconds at a max speed of 80km/s. You'd give the basic mechanics behind force and gravity, build all the required parts of the helicopter, and then start throwing it at the ground at 80km/s. The computer would calculate all the forces inflicted on the helicopter and the coder would start adding in simple shock absorbers to compensate for the forces. You'd throw it at the ground again and again and the computer would start strengthening those absorbers, or adding more, or switching out the absorbers for a hydrolic piston, and then after a couple billion test runs (which would happen relatively quickly, maybe a couple hours) you'd get something that would work. You'd measure the costs of the materials used and, if too expensive, you'd run the tests again and find more effecient means of landing a helicopter at 80km/s in 5 seconds. But I digress.
 
Pesmerga said:
I don't get it, why is any of this important? About that stick figure walking evolution thing, sorry to spoil your fun, but 99.99% of humans already know how to walk properly.

We already know how societies grow, we already know all of this really useless shit. To me, it's just one of those "Hey look, we can prove something that we already had a really good idea about! Give me lots of money becuz i r real smart"

Something I'd like to see as a result of these "programs" is a method of speeding up creativity. For example, maybe we want a helicopter that can land within 5 seconds at a max speed of 80km/s. You'd give the basic mechanics behind force and gravity, build all the required parts of the helicopter, and then start throwing it at the ground at 80km/s. The computer would calculate all the forces inflicted on the helicopter and the coder would start adding in simple shock absorbers to compensate for the forces. You'd throw it at the ground again and again and the computer would start strengthening those absorbers, or adding more, or switching out the absorbers for a hydrolic piston, and then after a couple billion test runs (which would happen relatively quickly, maybe a couple hours) you'd get something that would work. You'd measure the costs of the materials used and, if too expensive, you'd run the tests again and find more effecient means of landing a helicopter at 80km/s in 5 seconds. But I digress.

Exactley, that is the major practical implication of genetic algorithms. Engineers are already using them to test the best designs for bridges and missles and other materials. Their ultimate goal is to have a program that will find the best solution to any problem by supplying it with the rules, the situation, and a pool of resources.

For instance, you could build the best kind of vehicle for exploring the surface of mars by giving the program a heightmap of the surface, a sample of the surface material, the atmospheric conditions, and an enourmous list of developed technologies and peices of hardware that the machine would have at its disposal.

Then, running through an enourmously powerful computer, the program would test a random number of components agains the conditions, and would build a machine that could best traverse the surface over a period of several billion generations and then, (with a bit of intervention from the programmer) the program would be able to construct a vehicle built entirely out of prefabricated parts that would be able to easily navigate the surface (which is much cheaper than builing all new parts and assigning a large group of engineers to work on the project.) Then, the engineers would add things like communications, power supply and cameras on top of the new vehicle.

A small scale experiment testing this idea involved the program being given a goal of contructing a bridge from one gap of a table to the other gap using only legos. It would select random legos from the pool available, and would link them randomly together to find the most efficient way to get across the gap with the fewest legos possible while maintaining maximum bridge structure.

The program then used a physics engine to determine if its creation would hold up. If it didn't it would trash the project and start another random linking of legos. The bridges that got the farthest using the fewest legos and which held up against gravity were allowed to live, and produced offspring until it came up with the perfect design solution.

Then, the computer printed out a pattern of the legos, and engineers put the bridge together themselves. And although the bridge looked very very strange, it was very efficient and extremley structurally sound, and actually held up better than the lego bridge that the engineers constructed themselves using the same limited resources.
 
"hey have also adapted a graphical engine used by the popular shoot-em-up game Counter Strike, in order to render their agents visually." is actually what it says, they're not using hl2, havoc, or any of the ai code it seems, but rather just the source graphics engine, prolly for the eyes and lip syncing. If they can generate random words, then being able to do all that in realtime with the lips moving phonetically would be much nicer then getting a better graphics engine that can handle more polies etc.

that would be the bitch in this though, how would they build things in realtime in this environment. building everything as enteties, what about r speeds? how do you compile in a realtime society?

don't get your hopes up on this project. prolly just a buncha college nerds with a pipedream and no idea how the hell to implement it. i think by the year 2007, a game company with a 50 million dollar budget would have already delivered the product they wish to, but better, and with hundreds of online servers, all for 50 dollars :D
 
They're not making a game. They're not trying to deliver a product - it's a research tool.
 
Pi Mu Rho said:
They're not making a game. They're not trying to deliver a product - it's a research tool.

A futile one, methinks
 
Back
Top