Need Help on How I can Control a Soccer Player In A Game

Started by
5 comments, last by Nicholas Kong 10 years ago

Hie guys i am developing a soccer game. I used programming game ai by example as my basis. I am doing the java version of it. I want someone to help on how to code some of the features i want to add. Like now i am trying to implement a user controlled team. I need help on this. I wolud also like to implement some soccer rules like offside and throw in. If someone can help me your help will be greatly appreciated.

On how to control the team i decided to add another class called 'USERCONTROLLED' class. This class takes in a soccerteam as a parameter and has an instance o f the soccerpitch. The class has methods like moveUp ....... This class is instantiated in the main where it receives a soccer parameter like this(UserControlledTeam team = newUserControlledTeam(g_SoccerPitch.m_pRedTeam). When i try to run the code it gives me the Initilizer Error. i need help on how i can get around this or if there is a better way of doing this

What I need help on is given an AI that is already running how do you alter it so that you have a team controlled by a user vs an team controlled by the AI.I have uploaded the source code of the game. It does not have the alterations i taked about.[attachment=20830:NHABVU.zip]

Advertisement

Something you could try to start is have your player control just issues 'states' in the same way the AI does. Create a new AI state for 'MoveToFieldPostiion' or something and have the user controller create states for that and let the AI handle it. I suspect it would get a bit frustrating though, it sounds like what you really want is direct control of the active player in the team and have the other players just follow their AI states based on wether they are the active player or not?

that is exactly what i want t do. a user sholud directlty control the player. i was thinking of if a user chooses a team the user controlling player should read input from the keyboard and overide the AI whilst the other players are handled by the AI.Is that possible

that is exactly what i want t do. a user sholud directlty control the player. i was thinking of if a user chooses a team the user controlling player should read input from the keyboard and overide the AI whilst the other players are handled by the AI.Is that possible

Anything is possible as you're writing the code :) What you want to avoid ideally though is having two systems that fight with each other too much...

A simple version might just be to modify your FieldPlayer.update call so that it doesn't update the state machine (or allow new states to be queued) if it's under player control. You can then call setHeading based on your keyboard input rather than getting the AI to do it. A more complex though possibly more consistent version would be to have keyboard commands create new AIStates for the active player as mentioned above (you probably need to expand your list of ai states for this to work).

okay i think this one will work i will try it.the system must not update the state of the controlling player only whilst the rest are being handled by the AI.then this player's behaviours are going to be affected by the keyboard input. is that right?

okay i think this one will work i will try it.the system must not update the state of the controlling player only whilst the rest are being handled by the AI.then this player's behaviours are going to be affected by the keyboard input. is that right?


Ideally you would only control one player. The system should mark it as selected. AI controlled players should be marked unselected. selected player should be controlled by the user.

This topic is closed to new replies.

Advertisement