Gameplay Football: a new promising independent game

when i start the game this message appear and the game doesn't start the match

[FATAL ERROR !!! N00000!!!] in [Renderer3DMessage_CreateFrameBuffer::Execute]: Could not create framebuffer

anyone know why this happen
 
Latest developer blog from Gameplay Football forum.

Hello everyone!

Today, I'll try to give some insights into the decision-making of AI players while dribbling with the ball. I was approached by gamedevs Oscar Torrijos and Chris Rollinson from Football Strategy, an online football manager game (http://www.footballstrategy.org - you can check their latest newsletter at http://imgur.com/RhKegGy). We decided to share some insights; they were curious how my AI worked, and I thought it would be nice to make a developer blogpost out of it, since some of you here may be interested in it as well!

I'll start with posting this cryptically looking image - don't worry, I'll explain it all ;)

http://www.properlydecent.com/data/gfxmeuk/AI_dribble_explanation.png

The green dot with the arrows shooting out of it is the AI player currently controlling the ball, for which we need to calculate the most appropriate dribble movement. The red dots are - you guessed it - the 'bad guys', looking to stop our hero from advancing towards their goal, which can be seen on the left. The arrows are the possible moves our player could make (the 'tips' of the arrows being the resulting position after one 'step' or 'animation'). So, where to start?


1. Collect all possible dribble directions - the arrows in the image. For the sake of simplicity, I've drawn 8 - this numbers is arbitrary though, and depends on how much CPU power you want to be used.


2. For every possible direction, collect 2 values: (a) the 'amount' of 'opponent proximity', and (b) the 'amount' of 'direction towards opponent goal'.

2(a). The amount of opponent proximity is basically the cumulative inverted distance between our player and all opponents in his vicinity (on an arbitrary scale). For point 2, for example, opponent A is at 3 metres distance, and opponent B is at 1 metre distance. Let's say we stop taking opponents seriously after 6 metres, so opponent A is at 50% proximity and opponent B at roughly 84%. (Higher = closer, because I chose high values to mean 'bad'.) I simply add these percentages and get 134, which is pretty high.

2(b). The amount of direction towards opponent goal is simple: I calculate the angle between the arrow's direction and the goal direction. Lower == better - remember, high values mean 'bad'. I normalize this angle so that 0 == towards goal, 100 == away from goal (50 == perpendicular to goal direction).


3. Once we've calculated these 2 values for all 'arrows', we get this table. (For the sake of simplicity, I've only included 3 possible directions).

http://www.properlydecent.com/data/gfxmeuk/AI_dribble_explanation_table1.png

Now simply pick the arrow/direction belonging to the lowest 'total' value - in this case, arrow 8 - and we have our desired direction.


4. However, we may want to tweak the balance between avoiding enemies and trying to get into the direction of the goal. For this, simply add weights. Pseudocode would look like this:

opponentProximityWeight = 1.0;
goalDirectionWeight = 3.0; // heavier penalty for going 'the wrong way'
total = a * opponentProximityWeight + b * goalDirectionWeight;

Using the values from our example table above, this would result in this table:

http://www.properlydecent.com/data/gfxmeuk/AI_dribble_explanation_table2.png

Resulting direction will now be 'arrow 2'.


5. With these weights, the player will try to dribble past the 2 defenders, thereby probably losing the ball - but if he can get past, he'll end up 1 on 1 with the goalie. So there's an important pointer on how to use the weights: Defenders should have a higher opponentProximityWeight (or a lower goalDirectionWeight), the other way around for more offensive players.


Some ideas I've used:

* To make things less rigid, one could add random values to the weights (or the a/b values), even different random values for all 'arrows'. The worse 'dribble' or 'mental' stats a player has, the more diverse the random values. This way, worse players make more illogical decisions.

* In this example, I've used arrows of just 1 (arbitrary) unit in length. In 'real life', I use 3 times as much arrows: 3 different lengths per direction for the 3 different velocities at which a player can dribble in my game. I also add a 0-length arrow, meaning 'stand still'.

* In this example, the players are all supposed to be 'static' in the beginning. In 'real life', they may have momentum (already going some direction), so for their positions, I add their current momentum * the duration of the average animation (220ms in my game). Basically, this gives the average situation in 220ms - they may change direction, but according to Newton, they won't be able to change that much that soon anyway, so this gives a proper approximation. I also add this momentum offset to the dribbling player himself, since he won't be able to actually sprint 180 degrees backwards when he's sprinting forwards at the moment.

* This 'weighted ratings' system is very versatile - I also use it for off-the-ball positioning, but then with a lot more factors, like how close the player is to other team players (you want some distance there, usually), to the ball, to the goal, to the sidelines.. go wild!


I hope you enjoyed these insights!
 
These are the player stats of Gameplay Football

Physical:
balance
reaction
acceleration
velocity
stamina
agility
shotpower

Technical:
standingtackle
slidingtackle
ballcontrol
dribble
shortpass
highpass
header
shot
volley


Mental:
calmness
workrate
resilience
defensive positioning
offensive positioning
vision
 
Nice and basic. You don't need too many stats if done right, but too few just sucks. I think you have a nice balance.
 
Personally, I think Shot Power depends a bit more on the technique than the raw force of a player. But it's nitpicking, I think it's a good range of stats if they are used well.

Fifa and PES use a lot more stats and most of the time I don't feel they use them at all. Vision, for instance, it's extremely ignored in both games.
 
Nice and basic. You don't need too many stats if done right, but too few just sucks. I think you have a nice balance.

I hope the same.


When is this released?

Baz said that if he wont manage to finish the game until the end of the year, he will release a gameplay demo. It will include everything full game would have, except the league, cup and master league modes. Stuff he still work on.

He said he will try to finish the game at the end of the year though.

Fifa and PES use a lot more stats and most of the time I don't feel they use them at all. Vision, for instance, it's extremely ignored in both games.

I agree!
 
Personally, I think Shot Power depends a bit more on the technique than the raw force of a player. But it's nitpicking, I think it's a good range of stats if they are used well.

Fifa and PES use a lot more stats and most of the time I don't feel they use them at all. Vision, for instance, it's extremely ignored in both games.

Hm, it depends. I definitely see vision being used in FIFA, but it depends on players and, unfortunately you need some modding community help to see it more clearly. Out of the box, I agree, it's poor.

FIFA 14 definitely did things right this year. I know PES players won't admit it easily, but FIFA offers whole package this year :(. They have even implemented much needed interia to their game and shooting variety :/. And I was playing both games without being fanboy of any game.

Still think EA needs to work on game speed and player models and ball physics... (and get proper animations for Impact Engine ffs!).
 
Baz said that if he wont manage to finish the game until the end of the year, he will release a gameplay demo. It will include everything full game would have, except the league, cup and master league modes. Stuff he still work on.

He said he will try to finish the game at the end of the year though.

Thanks :)
 
A new update from Baz for the upcoming beta demo of Gameplay Football.



"First, I want to emphasize that part of the work I've done the last years is on the metagame - database/league stuff - that isn't finished and, as such, not included in the upcoming beta demo. Just to lower expectations a bit ;)

So for the next beta, the most noticeable differences are in the gameplay department.

I think the most important thing is that the AI's defending has improved *a lot*. When playing on full difficulty, you can't just 'walk past the defense' anymore like it was often the case in the previous beta. The AI skills when in possession of the ball still aren't as good as I want them to be, but at least there's more of a challenge now. I think this will hugely improve replayability.

Another important addition is that you can now change the team tactics. Every team will have custom 'factory defaults', but you can edit them in the ingame menu. Think settings like formation width/depth, how offensive/defensive the team should be during possession/defending, etcetera.

Another tactical addition is automated - the more a team is trailing score-wise, the more they are going to have an offensive stance, especially later in the game. So for example, when 2-0 behind, the AI is going to all-out attack late game, as they often would in real life. (I may add a slider/setting later on to change this behaviour manually, for the player's team, like the auto-balanced/auto-attack etc. settings we know from PES~6 and such)

One thing that I wasn't (and still am not) completely sure about is how fast paced I want the game to be. I know some of you would like a game that feels even faster than PES<=6, while others may prefer more of a mix between the pace of those games and that of more contemporary releases of FIFA and PES. To solve this 'conflict', I've included a slider with which you can set maximum player acceleration. Default settings will probably be around PES6 speeds, as I like it best personally. I'm very curious what setting you guys will prefer!

There's also the technical changes; CPU and GPU performance should be improved on most systems. I had to completely rework the OpenGL code to make use of the OpenGL API as it is these days, removing most of the legacy OpenGL code that was in use when I started coding the engine years ago. I'm a bit scared that this could mean the game may not run, or not run as well, on some older hardware, because drivers for those cards may be outdated. For most systems though, performance should be improved.

As for a release date, I'm sorry but I'm going to stick to my 'when it's done' approach. However, for what it's worth, there was a playtest on a local festival a week ago (where some companies from Indietopia, where I hire my workspace, showed off their games), and my conclusion was that it's becoming pretty playable as a beta demo.

And finally, some thoughts that cross my mind regularly.. I replay the previous demo (0.8b iirc) every now and then, to compare to where I am right now. Though the general gameplay simulation has become a lot more reliable and solid, there's always a psychological downside to change as well -- changes in the gameplay department of a game are rarely a black and white affair. As such, with every tweak i do, I'm scared to have ruined some 'magic' of a previous iteration. I guess this fear may also be part of my overly anxious personality, but there's definitely some reality to it as well; after all, "the grass is always greener on the other side of the fence".. I'm not sure what I'm trying to say with all this. Guess I just wanted to vent about something that bothers me regularly, and I can only hope those fears turn out to be unfounded :)

I've picked the following 8 teams for this demo (though they are going to have fake names/emblems etc. because of copyright issues): Arsenal, Manchester United, Bayern Munchen, Borussia Dortmund, FC Barcelona, Real Madrid, PSV, and Ajax."

Source: http://www.properlydecent.com/forums/viewtopic.php?f=2&t=10
 
Some new images

2015_04_23_01.jpg


2015_04_23_02.jpg


2015_04_23_03.jpg
 
Latest update from Baz

"hey guys!
as of last weekend, I've finished fixing all game breaking bugs that were on my beta 2 todo, and am now moving to the meta phase, which means stuff like cleaning up the project directory, do some gameplay testing with friends, fixing a new website frontpage, building linux packages etcetera.
as usual, no set release date, but just to let you know I'm close :)

also, I'm finally pretty happy with how the game feels, I think it does have a bit of a pes 5/6 feel to it; and definitely feeling more 'direct', less sluggish, than recent fifa and pes releases.

anyway, there's that, so stay tuned ^_^

btw for those who missed it, I deleted the properly decent facebook page, as I can no longer accept their privacy policies (or rather, lack thereof). I will post updates on this site and on twitter https://twitter.com/ProperlyDecent"
 
Looks promising yes, but every players have the same height is that something difficult to change with this engine?
 
it is promising, what made PES 2014 2015 2016 crap for me is the less stats and less individuality because of that. would love to see the likes of shot technique pass technique as it gives the game more depth and variety
 
Back
Top Bottom