BuzzerBeater Forums

BB Global (English) > Game Engine Discussion

Game Engine Discussion

Set priority
Show messages by
This Post:
00
259783.1
Date: 6/26/2014 8:18:14 PM
Overall Posts Rated:
766766
Hi everyone

Thought id start a thread which discusses potential implementatiins around the game engine. I think specifically for this thread ill be focusing on the Offensive side of things but but obviously there is overlap.

A recent suggestiin post around the play by play asked for several things, one being showing the ball move around the court as it gets passed around.

I proposed that the GE does not work like that and that it only uses max 3 players during an offensive 'set'. So this is something I will expand on and then people can chime in with their opinions

This Post:
33
259783.2 in reply to 259783.1
Date: 6/26/2014 8:23:53 PM
Overall Posts Rated:
766766
So. Firstly I believe during an offesive set the GE breaks the set inot 2 components.
A) Bring the bal up the court
B) after halft court plays.
im going to focus on the part a) for this post to begin with, and see what discussion comes out of it.

A) This is where the GE will run the odds of some of the following items:
- steal
- turnover
- half court prayer due to expiring time.
- timeout call
- those really annoying loose ball situations where the shot clock goes to zero and the game clock keeps running. And then ends with a steal.
- Exit to GE component B

also I believe the GE has no prejudice about who this event happens to ( as in, the position.) But i want to do some more research and have a look at who loses the ball in the first 5-10 seconds of the offensive set.
The variables that would increase chances of a steal/turnover would be the offense you pick plus the defense of the opposition.
Logically, i think RnG and the other 'fast paced' offenses would increase the chances of a steal in this part of the GE. Whilst the slower ones I believe would be a decrease.
Defensively, I think really only FCP would increase the likelyhood of a steal in this part of the GE, Perhaps M2M would have a small increase compared to the zone defenses? Not sure.

Other factors that might cause things to change, are the closeness of the game and the time - I believe that when it is a close game and the timer is running down, the chances of a steal happening in the first 5 seconds of the offensive set increase - almost as if the coach has instructed his team to play FCP. And this is definately something that you see. There is also the fouling within a few seconds from an inbounds pass off a score, when the game is close.

So other than these simple factors, there isnt a lot else that the game engine has to use to calculate events that occur in part A. These are the factors, in order of 'weighting'

- take into account game margin and remaining time
- Take into account opposing defense
- Take into account offensive selection.

There is also a bit of a flow on into part B from here also, because we do also see scoring done inside of 5 seconds sometimes, sometimes from an inbound pass. So as part of the calculation, it would have an effect on the offensive play. Not sure how these two are linked though.

And there is also the fact that I believe that the player who 'brings the ball up the court' isnt always the PG. Sometimes the player who has the ball stolen in side of 5 seconds isnt the PG, suggesting that someone else is selected to bring the ball up. I believe though that the GE just picks one. It doesn't try to simiulate 'passing inside the first 5 seconds', other than the rebound/inboudns pass.

Speaking of, there are two entry points for this, an opposing score or a rebound. I believe that the GE will make one simple jdugement on a player to 'bring the ball up'. It probably applies a weighting to the positions, im not convinced that it does anything too complicated here though (like take into account the direct opponents OD). it would take into account the defensive selection from a FCP perspective, and maybe perform some calculation after the fact - but in termso f picking the player who 'brings the ball up' i think its a weighted order, with preference for the PG, then SG, then SF, then PF then C.

But obviously if the PG rebounds, then it might try and change that ordering. Not sure.

anyways thats it for me on this first bit. Discuss!


Last edited by Coach Regan at 6/27/2014 3:12:12 AM

This Post:
00
259783.3 in reply to 259783.2
Date: 6/27/2014 4:20:16 PM
Overall Posts Rated:
137137
Not to be rude . I think it pointless to discuss game engine and etc. If players playing LI and or w/e are scoring in split of a second in the shot clock and the ball going out bounds and clock still running. Shot block 10 7'5 center and only get 2 blocks a game but 5 foul a game. Hey its just a tough pill to swallow. one position training is better than training the whole team, Tactics are based on the whole team ability not just 1 player .. its just a tough pill to swallow

I really think its waste of time to even bother to discuss game engine. The owners are going to add what they want to add. I assume a few big shots managers are calling the shots too. I see it like this if some don't agree with their views is public enemy number 1 iand droves comes out to discredit you. Critics come on to the forums, because they care, not to destroy,they don't want to hear critics. but only reasonable critics who are easy to persuaded. A flip flopper if you will. if you got a backbone in view for BB betterness, your a problem

I wish you luck with the thread, I know some will come out to with rebuttal with what I just said . and say bb has taken feed back and used it. But how much of that feed is worth a damn or changed your team into something good? How much of that feed back has created a balanced market? How much of that feed back has slowed the flipping of players? Like I said they will do something they want to appease a certain few or themselves . Then call it a revolution, when it really nothing more than reverse corn flakes.. Meaning they will give you it, but it wont be in the style you want.

The game engine and all that is not to be known, this is why the market is only breeding 1/.2 type of players and rest are bunch of "maybe you can or make it be's". Not to sound like sour grapes and moan on BB staff or BB. I wish you the best of luck in this topic cause.

I have no opinion on GE fixes. because I dont know where to start with the problem running so deep.



Last edited by Mr. Glass at 6/27/2014 4:45:25 PM

This Post:
00
259783.4 in reply to 259783.3
Date: 6/27/2014 11:06:03 PM
Overall Posts Rated:
766766
no offence taken - good rant though! let all that angst out!

You will notice that this thread isnt in the suggestion forum - so the aim isnt on improving the game. There is no desire to have a BB contribute or confirm/deny anything, nor contribute to GE fixes or anything like this.

Having worked as a developer, I have a technically curious nature about how the GE may have been implemented, and the point is merely to discuss some of these ideas.

This Post:
11
259783.5 in reply to 259783.4
Date: 6/28/2014 8:31:10 AM
Overall Posts Rated:
323323
What I want to be changed are those annoying last minute substitutions,when you are training and you find out that your player was replaced at the last couple minutes and you get no full training.

They also need to fix the last minute substitutions in intense close games.
Then your team loses because you started some reserve in case of injuries,
so that your minutes don't go through the roof.

From: GM-hrudey

This Post:
00
259783.6 in reply to 259783.5
Date: 6/28/2014 5:03:46 PM
Overall Posts Rated:
32293229
What I want to be changed are those annoying last minute substitutions,when you are training and you find out that your player was replaced at the last couple minutes and you get no full training.

They also need to fix the last minute substitutions in intense close games.
Then your team loses because you started some reserve in case of injuries,
so that your minutes don't go through the roof.


If we were talking about changes, I think it would be ideal to have the ability to choose high level substitution patterns (play starters / play to win / rotate frequently) so we could actually pick who came in for injuries/foul outs when trying to manage minutes in a certain way.

This Post:
00
259783.7 in reply to 259783.5
Date: 6/28/2014 10:20:31 PM
Overall Posts Rated:
766766
appreciate the comments.

Im trying to keep the thread non-change focused. which is why i didnt post it in suggestions.

Thanks for chiming in though, and ill take on board the comments about the substitution patterns in future discussions around the Game engine and what happens in the last few minutes of a quarter. ill actually bold that so i can remember.
Substitution patterns in final minutes

Im just trying to keep it narrow focused around what is implemented now, how it potentially works, what factors play a role ahead of other factors and generally, what evidence supports these theories.

Essentially its like a Game engine theoretical analysis thread :)

This Post:
00
259783.8 in reply to 259783.7
Date: 6/28/2014 10:59:47 PM
Headless Thompson Gunners
Naismith
Overall Posts Rated:
708708
Second Team:
Canada Purple Haze BC
Bottom line
If a team is winning by a lot, even if you ask coach to strictly follow depth chart, he doesn't.
Grounds for firing I think when he does that several times a season with a high priced prospect
not to mention giving the minutes to a player and ruining said player's GS

This Post:
00
259783.9 in reply to 259783.8
Date: 7/1/2014 3:11:41 AM
Overall Posts Rated:
766766
ok im going to jump around a bit here.

under the assumption that the engine successfully exits from part A (ie: half court), part B is entered. There are a few basic events that will happen here.
- Steal.
- Turnover.
- 3pt shot attempt.
- 2pt Shot attempt.
- Non-shooting foul.

The way that the GE enters into one of those events is going to be very much dependant upon the offensive selection vs defensive selection and i dont want to quite get into that just yet. i want to perhaps focus on something a bit more specific like, a simpel jump shot.

So lets say that the GE has decided that player X is going to shoot the ball (as a 2pt attempt) and lets just remove the fact of how he got there (eg: Drive/pass etc). Lets just say for simplicity that he is going to shoot the ball somehow.

However - the game engine will take into account some entry information. This would be:
- shot clock/Game clock (<time>)
- Driving to shoot or shooting off a pass (<shot_entry>)
- Self-created shot. *
Ive asterixed that last point because im not sure if its valid or not. I will just park it for now.

So you have a basic formula of <time> + <shot_entry>

Now lets look at the player stats - Player X has Jump shot + jump range definitely in play here. This is where im goign to get quite speculative. A normal Jump shot from say, 2ft inside the key, I would say has zero factor of inside shot. What about a pull up jump shot from just below the FT line? Does this take into accoutn inside shot? Lets say it does, and that sometimes, the factor against IS is zero.
So we have - JS + JR + IS. (ive corrected myself later down the page on here - just showing my working).

What about driving? Driving will defiantely be a factor of how the player drives in order to get into that position to take the shot, but does it influence the actual shot itself? Im actually thinking it doesn't.

So I think we have the player stats covered. Lets just ignore stamina and experience for the moment as well.

The factors which are applied against the JS, IS and JR skills will be a factor of the distance from the ring. <distance> Pretty easy. Except that i dont think it gets applied against JS.
So we have (JS + (<distance_factor>*JR + <distance_factor*IS>)).

As ive typed that, im thinking more and more, that IS is not part of the calculation. I think there will be two shot types - A jumpshot and a drive. Jumpshot will use JS and JR, drive and dunk/layup will use IS.

So its simply (JS + <distance_factor>*JR) - Pretty straight forward. Distance factor at just inside the 3pt line could be say, 0.5 and increases as youg et closer to the rim, and decreases as you get further out (that will be dealt with in 3pt shot). Higher JS and Higher JR will result in a higher net score. So literally, a 2pft Jumpshot, from 15ft out could be something like that
(15JS + (0.8)*12JR) = 24.6 - Actually I think the JR gets applied to the JS as a factor. So the formula is actually.

JS * <distance_factor>*JR) - in the above scenario again, it would be (15 * (0.8)*12) = 144


Last edited by Coach Regan at 7/1/2014 3:11:55 AM

This Post:
00
259783.10 in reply to 259783.9
Date: 7/1/2014 3:20:39 AM
Overall Posts Rated:
766766
So lets explore that. Player X has 15 Jump shot, but instead he has Atrocious JR - So the number is 12. If we used Jump shot of 15 as the baseline and listed the scores that would come about from the list of Jump ranges, where the distance factor is 1.0 (ie; really close jump shot, distance).
So the formula being - 15 * <1.0>*Jump Range
and ive just listed every 2nd one in the table below.
<b> Jump Range - Net result</b>
1 - 15
3- 54
5- 75
7- 105
9- 135
11- 165
13- 195
15- 225
SO - what does this mean. Someone with atrocious Jump range is purely reliant on their jump shot for getting the shot in. Whereas someone with equal Jump Range to their jump shot gets an enormous benefit.

Is this right? ooooooooo questions - ok so im not sure What I can do though, is im going to analyse some of the game data using that game analyzer tool. For the above hypothesis, im going to look at the Jump shots taken by guys on my team, whom i know the Jump shot and Range. Shots not taken off of a drive. And ill see what i come back with. There will be some variance due to the differring defences played and OD of the opposition, but if i use the same players, and the same scenarios for a whole season of static statistical measures, I should be able to get rid of the noise from other factors. WE SHALL SEE!

This Post:
00
259783.11 in reply to 259783.10
Date: 7/1/2014 8:20:01 AM
Overall Posts Rated:
323323
In your two posts I have never been shocked with the amount of data you put in.
Where did you get all this data?