Sign in to follow this  
Trillian

Programmer-game concept

Recommended Posts

Hello! I just got this idea of a game targeted to (mostly AI) programmers. Here's how it'd work : A kind of soccer game is created with the game logic, graphics, physics and sound and all but no AI. The game itself must be very simple : Two teams of a certain number of players (let's say 5) plus a goaler, a ball and that's it. I was thinking about a top-down viewpoint and the players as simple circles but it could be more elaborated. The players can only move in every direction and if they touch the ball, the ball gets kicked at a constant velocity (the same for every kick). Now for the fun part : A scripting system would be implemented to control the players. To play, two players (well... programmers) must script an artificial intelligence for the goaler and each of the players (or only one for the goaler and one for the players). Once this is done, the game starts. Noone can control the game, you just watch the AI-driven characters playing the simplified soccer game and trying to score. Whoever made the best AI and makes the biggest amount of scores in a t8ime limit wins. I'd like to have comments or suggestions about this concept, I find it very interesting, what about you?

Share this post


Link to post
Share on other sites
It certainly sounds interesting, but with such a simple type of game it might be a bit limiting. Honestly you'd have to make the game much more complex in order to enable a deep scripting system. It kind of reminds me of FFXII's gambit system in a way. If it's just a simple kick a ball around and into the goal though there's really no strategy involved and mostly relies on reflexes.

Share this post


Link to post
Share on other sites
Although that sounds interesting, AI programming isn't nearly as easy as people make it out to be (especially for a dynamic game such as soccer), and since the player has no particular control during the game, or of any idea how the game will react in certain ways, it would be hard to be able to devellop a consistent strategy, rendering the game isomorphic to the flipping of a coin...

Share this post


Link to post
Share on other sites
define tactics "Liverpool":
PASS <triangles> around defence
MAKE <defensive errors>
FINISH (4th) <again>
LOL <evertonians>
SHOULD-HAVE-BOUGHT <andy-johnson>
END <title-challenge> REPEAT

[/bias]

Share this post


Link to post
Share on other sites
Take a look at Carnage Heart. My very first experience with programming. It uses a circuit-board like layout, with customizable and plottable chips having a true/false pathway, and the whole thing loops. Even though the game did poorly as far as sales go, I thought it was a beautiful thing, and fell in love with it easily. This was a time before I even turned on my first PC, so it's not like I was super tech-aware. Although perhaps a gaming freak.

I think sports are a great way to get this working. But robots are also nice, because you can allow your players to 'buy' AI types instead of writing them. Combined with purchasing hardware, they have a game, even if they can't get around the complexity of the programming.

Share this post


Link to post
Share on other sites
It's a good idea, but maybe a bit too niche (niche isn't that bad for games, but the amount of work required for decent AI scripting is pretty hard; you'd have to make it very easy and intuitive to do).

Plus it sounds pretty much exactly like the Robocup Simulation League. Have a look at that for some ideas.

Share this post


Link to post
Share on other sites
Have a look at this game for an interesting method of scripting
http://roboships.sourceforge.net/

The idea is, in a way similar to yours, except that you are attempting to destroy the other ships (not score goals - but you still have to script the AI).

There is also a robotics competition where the entrants must program a robot to play soccer, so you might even be able to use that to help promote tyour version (and visa-versa).

Share this post


Link to post
Share on other sites
The biggest problem I see is that it's pretty difficult to code a sports AI. In order to approach the skill of a human, each player will have to track tons of stuff to make good choices. Maybe something like tennis would be easier to make.

Question: how would coding each unit to act independently differ from coding a singe "entity" with multiple "parts"? If one proves easier than the other, that would make construction slightly less difficult.

Share this post


Link to post
Share on other sites
Quote:
In order to approach the skill of a human, each player will have to track tons of stuff to make good choices.

Frmom what I understood from the orridinal post, the AIs would not be playing against humans, but against other AIs. It is the one who programs the best AI wins.

They will, of course, still have to track a lot and make many decisions, but as they are not going against humans, it will make it a little easier.

Share this post


Link to post
Share on other sites
I don't think a simplified version of basketball, hockey, or soccer would be too complicated. Football has a lot of complicated positions, though. So that would require multiple types of AI on each team. No matter how you look at it, to play a sport, you normally need at least an offense and a defense.

Here's a simple AI for offense. There may be some holes in it.

If BallIsHeldByOwnteam
{
VAR ballcarrier = GetBotWithBall()

If ballcarrier == 0
{
seek Ball.Position
end AI loop
}

If ballcarrier == Me
{
seek Goal
end AI loop
}

If Me.Position - ballcarrier.Position > 50
{
seek ballcarrier.Position
end AI loop
}

VAR opponent = FindEnemyInRadiusOfPosition( ballcarrier.Position, 50 )

If opponent == 0
{
seek ballcarrier.Position
end AI loop
}

If opponent.Position > GRABRADIUS
{
seek opponent.Position
end AI loop
}

grab opponent;
end AI loop;
}

I'm sure the language would be even more simplified for the game, but you can see how easy this could become even for non-programmers. Or I think so. Things like FindEnemyInRadiusOfPosition and grab could be expanded to be made more customizable. Or alternatives could be made for that reason, still allowing simplified actions as well.

Share this post


Link to post
Share on other sites
There's actually a real robot AI competition where robots play soccer without outside interaction using their programmed AI. I can't remember the competition and I hope I'm not restating what someone else may have already said. There should be some videos on google, just try "robot soccer" or something.

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