PDA

View Full Version : OT: Football Sim Design Decisions


sabotai
08-23-2003, 09:00 PM
If people don't mind, as I design and research info for my next football sim, I'd like to use this thread to bounce ideas off people to see what their input may be. And to let you know certain things that I have decided.

First off, as for viewing the players, I have decided that for different kinds of attributes, there will be different ways of representing the attributes.

1) Athletic skills (speed, agility, acceleration, jumping, etc.)

These will have a numerical (1-10, 1-20, 1-100) or grade (A-F) rating (The system you use is optional). The catch is that these ratings will be entirely based on the player's most recent "official" drill times.

I decided this so that people don't have to learn an extra step. This for the players who don't want to have to learn what exactly a good 40 time is and how it translate to speed, or decide what is a good number of reps and how it translate to strength.

You will also have an option to turn these off for those who do want to deal with these.

2) Mental skills (confidence, intelligence, intesity, hard working, etc.)

These will be done only by the scout report system. In my opinion, these types of attributes should be kept hidden and not given any kind of rating. These come out only when your scout has a chance to see him play and when the coach gets a chance to interview him and sees how he interacts with team mates in practice.

3) Technique skills (throwing accuracy, footwork, balance, run blocking, etc.)

These will be given a rating based on what your scout has seen.

If you send your scout to view a college team's game and the QB has an exceptionally off day, your scout will probably give him a low score based on what he thought his problem was. For instance, he might give him a really low accuracy score. And that's what you'll see.

Just like with the athletic abilities, you'll be able to turn this off and just receive a narrative scouting report.

Thoughts?

Second main decision I made was that the simming will not be 100% physics. I've been designing it and I am very confident that AI would not be a problem with a physics engire in the least bit.

The problem is stats. No offense meant to Mac or Marc, but in american football, every single stat is looked at and analyzed (IMO, sometimes over-analysed). I just don't see that happening with soccer and CM4 $ SAAP.

If the engire does not produce completly realistic stats, the game will fail. For that reason, I plan to make a hybrid physics-attribute based engine.

I still plan on having plays and playbooks and such. And I'm working on a way of "watching" the games as well. Showing it in real-time 2D like CM4 is not possible, but I am working on a few things.

Doing a hybrid engine basically lets me still treat things like a physics engine, but let's me put in a bunch of checks and balances to ensure realistic stat output. That's about all I can say on the engine since I've yet to really get into designing it.

Thoughts?

Noop
08-23-2003, 09:28 PM
How bout true impact players? Sort of like Deion, Warren Sapp, ect.

:)

noop

daedalus
08-23-2003, 10:41 PM
Originally posted by sabotai
These will have a numerical (1-10, 1-20, 1-100) or grade (A-F) rating (The system you use is optional). The catch is that these ratings will be entirely based on the player's most recent "official" drill times.Does that mean the player will have their "base" ability and what the gamer see will be a modified version of that to reflect the most recent "official" drill time? If so, I dig it. :)

These will be done only by the scout report system. In my opinion, these types of attributes should be kept hidden and not given any kind of rating. These come out only when your scout has a chance to see him play and when the coach gets a chance to interview him and sees how he interacts with team mates in practice.I don't know how you'd be able to implement it but it would be nice if those reports would be able to become more accurate the more time the scout has seen the players (ie, in the form of a smaller margin for error possibly).

If the engire does not produce completly realistic stats, the game will fail. For that reason, I plan to make a hybrid physics-attribute based engine.I like it more than if it was physics-only. Games are rarely won on physical skills alone.

And I'm working on a way of "watching" the games as well. Showing it in real-time 2D like CM4 is not possible, but I am working on a few things.I don't mind waiting until SabotaiFL v2.3 for the 2D view. But anything beyond v2.4 and I'll be pissed! :D

Heh. Graphical views are nice but for a project like yours, it'd be kinda rough to try to get it in there. I'd rather have the game work well and play well than visuals. On the other hand, SOMETHING to show what went right and what went wrong in certain plays would be nice.

sabotai
08-23-2003, 10:52 PM
"Does that mean the player will have their "base" ability and what the gamer see will be a modified version of that to reflect the most recent "official" drill time? If so, I dig it. "

Exactly.

"I don't know how you'd be able to implement it but it would be nice if those reports would be able to become more accurate the more time the scout has seen the players (ie, in the form of a smaller margin for error possibly)."

Definately. The more your scouts see the player, the more accurate his scoring will be.

"I don't mind waiting until SabotaiFL v2.3 for the 2D view. But anything beyond v2.4 and I'll be pissed!

Heh. Graphical views are nice but for a project like yours, it'd be kinda rough to try to get it in there. I'd rather have the game work well and play well than visuals."

Right. I'd rather get the "guts" working properly first before I try to deck it out with good visuals.

And I'll do my best to have a real-time 2D view by 2.4, but I can't make promises. :D

"On the other hand, SOMETHING to show what went right and what went wrong in certain plays would be nice."

Yes, I have been working on this. I have about 4 or 5 different drawn out screens on paper for how it could look....so far, I don't like any of them. :)

sabotai
08-23-2003, 10:53 PM
"How bout true impact players? Sort of like Deion, Warren Sapp, ect."

There will be hidden mental attributes that will kind of dictact if the player acts like a superstar and does well when the spotlight is on him...if I read your statement correctly.

Noop
08-23-2003, 11:05 PM
Originally posted by sabotai
"How bout true impact players? Sort of like Deion, Warren Sapp, ect."

There will be hidden mental attributes that will kind of dictact if the player acts like a superstar and does well when the spotlight is on him...if I read your statement correctly.

I meant having a player get matrix like powers. You how neo is in the matrix part two? i.e. John Star QB Florida State rated top of the draft class. He upon stepping on the field is a difference and will be the way until he rretires.

1st year
60% of his passes complete 3500-4000 yards passings 20+ TDs 16 ints(this gets lower as he progresses in his career.

^^^
Something like that would really make me happy but make them rare like everyone 5-10 seasons oh and have him be noticeable some years and hidden others. Oh Oh sometimes have them suddenly become sort of like "They finally get wath coach was talking about."

:)

noop

sabotai
08-23-2003, 11:32 PM
Oh yeah. I'll be basically bringing over the player creation code from my last unfinished football sim. It created players using an equation which made it so really exceptional players were created infrequently.

If I knew math terminology off the top of my head, I'd tell you the kind of equation...but the best thing about the equation was that I didn't have it "roll a dice" like a d20 dice (my D&D youth comes out of me) and be like 1-6 means he's not a good player, a 7-12 is average...I basically through a random number into the equation and out from it came the base for his ratings.

ANYWAY, to sum up, when I was working on my last failed sim, I did create an equation which I was very happy with that produced rare, exceptional players.

mckerney
08-23-2003, 11:45 PM
One thing I would like to finally see is stop having your scout evaluate players who are on your team and leave that to the coaches.

sabotai
08-23-2003, 11:46 PM
"One thing I would like to finally see is stop having your scout evaluate players who are on your team and leave that to the coaches."

Agreed.

EDIT: To elaborate, Coaches will also do some scouting. Coaches attend the NFL Combine, they watch college film, they scout their opponents. So in way, you'll have scouts and coaches, both of whom do scouting jobs.

SunDancer
08-28-2003, 10:01 PM
Sab...

How is the game progressing?

Just curious, how has the development of a game engine work? I curious as to whole that is developed using ratings and that. Where are you getting plays from? Are you creating them yourself?

Mac Howard
08-28-2003, 10:22 PM
I'm puzzled by this term "physics model", sabotai. I suspect it's something I know by another name but could you elaborate on it and why it is difficult to produce realistic stats using it?

Incidentally, I have no objection at all to the extensive use of stats. In fact, one reason I believe the gridiron game to be a better subject for the text sim is precisely the very high level of stats that come out of it which allows the text sim to provide a more accurate indication of player and team performance than the visuals one gets from soccer.

The game sounds very interesting, sabotai. I'll keep an eye out for it. Is your previous game available?

sabotai
08-28-2003, 11:00 PM
"I'm puzzled by this term "physics model", sabotai. I suspect it's something I know by another name but could you elaborate on it and why it is difficult to produce realistic stats using it?"

Umm...basically from what I've seen, both SaaP and CM use a "physics" model. In that you create a system that represents the world in a physical manner. For soccer you have players on the field, the players move around, they kick the ball, etc. You program it so that the computer plays the game using you representation of the physical world....

Ok, that explaination sucks.

(Madden Football is a "physics" model as in all "arcade" style games. It appears that CM and SaaP use "physics" systems too.)

An "attribute" model would be one where you basically take the attributes for the players toss them into a series of equations and they spit out the result of the play. It doesn't attempt to simulate the physical world.

What I plan to do is create a really rough "physics" model and then tweak and force it to create realistic stats. It's kind of hard for me to go into it more than that because I haven't even written anything down for it yet. I still have several ideas floating around in my head and I haven't written down anything yet.

It's not that I don't think I can get it (a full physics model) to produce realistic stats, it's that I don't know how long it will take me. I'm doing my best to keep things simple and manageable. I don't know if doing a 100% "physics" model will be quite manageable for me just yet.

My previous game was never finished. It quickly became a disaster which taught me a lot of lessons.

"How is the game progressing?"

I haven't even started working on a design doc yet. Don't hold your breath, it's going to be quite a while.

SunDancer
08-28-2003, 11:17 PM
Originally posted by sabotai
"I'm puzzled by this term "physics model", sabotai. I suspect it's something I know by another name but could you elaborate on it and why it is difficult to produce realistic stats using it?"

Umm...basically from what I've seen, both SaaP and CM use a "physics" model. In that you create a system that represents the world in a physical manner. For soccer you have players on the field, the players move around, they kick the ball, etc. You program it so that the computer plays the game using you representation of the physical world....

Ok, that explaination sucks.

(Madden Football is a "physics" model as in all "arcade" style games. It appears that CM and SaaP use "physics" systems too.)

An "attribute" model would be one where you basically take the attributes for the players toss them into a series of equations and they spit out the result of the play. It doesn't attempt to simulate the physical world.

What I plan to do is create a really rough "physics" model and then tweak and force it to create realistic stats. It's kind of hard for me to go into it more than that because I haven't even written anything down for it yet. I still have several ideas floating around in my head and I haven't written down anything yet.

It's not that I don't think I can get it (a full physics model) to produce realistic stats, it's that I don't know how long it will take me. I'm doing my best to keep things simple and manageable. I don't know if doing a 100% "physics" model will be quite manageable for me just yet.

Where can you find info on this, froma programming view?

My previous game was never finished. It quickly became a disaster which taught me a lot of lessons.

"How is the game progressing?"

I haven't even started working on a design doc yet. Don't hold your breath, it's going to be quite a while.

Design doc?

sabotai
08-28-2003, 11:37 PM
Simply put, a design doc is a large document detailing how you plan to develope your program. Before you sit down and start programming, you should have some sort of deisng written down so that you know how you are going to program everything.

You can kind of think of it like doing a term paper. You have to research and takes notes before you actually write your paper. That's kind of what a design doc is. You research and takes notes, you then write out your paper (Design Doc). The subject of the paper is how to create a computer program to do what it is you want to do.

Then you use that paper to guide you as you program your application/game.

I'm still in the research and note taking process.

SunDancer
08-29-2003, 12:03 AM
Example of a page of a Design doc would be like this at all?

Is the features you would want and descriptions of those like:

Take ratings:
Speed-How fast a player moves
1-100

Combine
4.2

Scout Reports:
A) Runs about the same as his 40-time
B) Plays slower then his 40-time indicates
C) Plays faster than his 40-time says

Can you explain the game engine more? I am curious as how it works, and how you create one

Marc Vaughan
08-29-2003, 04:35 AM
Be more along the lines of (if it was one of my documents):

2.1.5 First Name Table
All first names used in the game are contained in the structures defined in this section.

This structure is designed to allow easy allocation of names to people of a particular nationality.


CHAR FirstNameString[ SHORT_STRING_LENGTH ]
LONG FirstNameID
Long FirstNameNation
CHAR FirstNameCount


FirstNameString:
This is a normal char string containing the first name of a player.
The string is placed before the ID in this structure specifically so that the string can be easily accessed via. a normal character pointer for display purposes.

FirstNameID:
This is an indicator of the name's position within the FirstNames array.

FirstNameNation
This is an index id linking to the nation that the name is attached to, eg. Frank is an 'English' based name.

FirstNameCount:
This is a count indicating how common the name is. This is used when regenerating players to decide their names.

Marc Vaughan
08-29-2003, 04:45 AM
Design Docs
I find that by writing out the design of my games to a fairly low level it helps my mind run through the design I have in my head and often saves time by letting me spot flaws before I've actually implemented things in code*.

*'tis also important though not to blindly follow your design because 'it says so' if you don't think its working once its in code.

Match Engine
Best of luck with things - making a physics based match engine (especially a 'visible' one) is both challenging but also very rewarding (when it finally works ;) ).

With regards to checks and 'balance' this can be done fairly easily (comparitively to the rest of the engine) by using variables for the various decision making constants and then having the game auto balance these over time to ensure that the stats which are produced are kept within a certain range.

To keep this 'realistic' you can address this as a learning curve for players/teams if you want, for instance if say the 'throwing game' becomes too prevalent then you can adjust the AI slightly to allow teams to play better against it by picking apart its weaknesses.

The approach CM uses is that each managers personality/ability changes these variables and allows them a specific visibility of tactics and approaches to things. Hence a poor third division manager wouldn't have access to tactics of finesse that say Alex Ferguson might have (he also would likely be a worse judge of his players and their strengths - ditto for the opposition).

Finally I suggest that you dump whole acres of stats to file for analysis - CM has debug functions that dump a whole host of statistics to file on a competition by competition basis either on a cummulative basis, seasonal basis or simply when triggered by the user (if debug is enabled).

Marc Vaughan
08-29-2003, 04:47 AM
PS. Now I'm spinning slightly less in circles I'm planning on finishing off my 'guide to writing a sports sim' at some point - if anyones interested the first few chapters are probably still kicking around on either this or the sigames.com forums somewhere.

Franklinnoble
08-29-2003, 10:46 AM
Originally posted by Marc Vaughan
PS. Now I'm spinning slightly less in circles I'm planning on finishing off my 'guide to writing a sports sim' at some point - if anyones interested the first few chapters are probably still kicking around on either this or the sigames.com forums somewhere.

Could someone post a link if they know where this is? This would be cool to read...

SunDancer
08-29-2003, 02:44 PM
I'm just trying to understand how you "draw" up the development of a game engine for a sports game (text-sim), but trying to understand it on a "non-computer language" level. Do you take certain ratings and "average" them, or would a rating, like speed, have a bigger "impact" (increases the overall rating) on a deep patern, then the average rating of an opponent, ect.?

SunDancer
08-29-2003, 02:50 PM
Originally posted by Marc Vaughan
[B]Be more along the lines of (if it was one of my documents):

2.1.5 First Name Table
All first names used in the game are contained in the structures defined in this section.

B] So you put all first names for creating players in this table....example- Adam, Brent, Marc, Michael, So

This structure is designed to allow easy allocation of names to people of a particular nationality.


CHAR FirstNameString[ SHORT_STRING_LENGTH ]
LONG FirstNameID
Long FirstNameNation
CHAR FirstNameCount




FirstNameString:
This is a normal char string containing the first name of a player.
The string is placed before the ID in this structure specifically so that the string can be easily accessed via. a normal character pointer for display purposes.
[[COLOR=crimson]Huh?

FirstNameID:
This is an indicator of the name's position within the FirstNames array.

FirstNameNation
This is an index id linking to the nation that the name is attached to, eg. Frank is an 'English' based name.

FirstNameCount:
This is a count indicating how common the name is. This is used when regenerating players to decide their names.

How would last names and linking first and last names be done? How would writing out a "blocker" to not use the same name for an number of years?

SunDancer
08-29-2003, 02:52 PM
I'm like to design a game design doc...Just want to learn how to do it.

Marc Vaughan
08-29-2003, 04:32 PM
The snippet I posted was simply a very small section from a document detailing the database structures used in a game.

This larger document details all of the structures their interaction between each others and the reasoning behind the approach to the overall database layout.

With regards to your individual questions:

The string is placed before the ID in this structure specifically so that the string can be easily accessed via. a normal character pointer for display purposes.
[[COLOR=crimson]Huh?

Sorry my design documents tend to have technical junk scattered through them because I'm a coder as well as a designer.

Specifically this means:

* Each structure in a database in my games normally has an ID which indicates the index in the database table array that the item is placed.
* Normally this ID is the first item in a structure (for consistencies sake)

Because this structure is arranged slightly differently to normal I indicate the reasoning behind this (basically other structures in the game don't bother storing a 'NAME' structure - rather they cast the structure to a 'CHAR*' and then use the string containing the name ignoring the rest of the structure. Only functions which require the additional information actually reference the structure as a structure.

(sorry for the drivel - but you did ask for an english translation ;) )

Marc Vaughan
08-29-2003, 04:39 PM
Design Doc
What specifically are you wondering regarding them.

If its general layout and what to put into one then I'd suggest referencing www.sloperama.com as that contains quite a good description of how to go about creating a design document.

If you're after an existing document to reference then I'm afraid the CM ones are obviously copy-right and so I can't distribute them (but Tom who runs sloperama has some (non-sports sim) docs which he's happy to share).

SunDancer
08-29-2003, 05:09 PM
Originally posted by Marc Vaughan
Design Doc
What specifically are you wondering regarding them.

If its general layout and what to put into one then I'd suggest referencing www.sloperama.com as that contains quite a good description of how to go about creating a design document.

If you're after an existing document to reference then I'm afraid the CM ones are obviously copy-right and so I can't distribute them (but Tom who runs sloperama has some (non-sports sim) docs which he's happy to share).

I'm just trying to learn how about a general layout and what to do to one. That site is good. Thanks. I'm just trying to learn as much as possible.

SunDancer
08-30-2003, 01:46 PM
How long does it take to design a document? I want to write one, but I'm afraid I lack to computer "skills" to wrote it in that language. However, I like to create one that would be easy for a computer-skilled person, if I ever though this as a marketable product and hired a friend who has great experience in this market, to interrept but easy for me to understand and write it out.

Marc Vaughan
08-30-2003, 02:14 PM
It depends a lot on the approach you take to the design and how thorough it is.

If (presuming from what you've indicated) this is to be a design for a complete game that another person will implment then I would expect it to take at LEAST two months to implement (depends obviously on the complexity of the sim you're creating - for most sims it will probably be much longer) .... a lot of this time will be redrafting, re-reading and discussing things.

Please note that if you're not going to be present when the game is implemented from the design then you will need a hugely detailed design and this will take a LONG time to implement as any ambiguity in the design could cause the game to malfunction (or simply not be the game you have envisaged).

PS. If you lack programming ability then I'd suggest prototyping any gameplay mechanisms as board games using dice and pencil to ensure that the theories you're putting down will have at least some reliability in practice (I actually do this a lot myself as its qucker than coding and discarding things).

SunDancer
08-30-2003, 03:16 PM
Originally posted by Marc Vaughan


PS. If you lack programming ability then I'd suggest prototyping any gameplay mechanisms as board games using dice and pencil to ensure that the theories you're putting down will have at least some reliability in practice (I actually do this a lot myself as its qucker than coding and discarding things).

Can you detail this more? What I am taking of doing is jooting down the "features" of the game, then expanding those features through breaking it down. The problem that concerns me is the game engine, and drawing it up.

The_herd
09-07-2003, 01:43 PM
Questions for Sabotai or anyone else.

I would like to see player holdout's represented much better in games. Players given the franchise tag seem to hold out until a week or 2 before the season starts (they don't want to lose that game check), players like Duece Staley hold out because they are idiots. The most important of the holdout's (development wise) however, is the rookie holdouts, which happens in one way or another with probably 50% of all 1st rounders.

This results in most veterans and rookies that hold out to report to camp out of shape. The thing this causes for rookies is they don't know the playbook and don't have time to adjust to the speed of the NFL. And depending on the degree of their holdout, development in their rookie season can be ruined.

I would also like to see players reporting incredibly out of shape actually represented as well. Some players report to camp in incredible shape, while others want to use training camp to get themselves in shape.

I think using a percentage system might be a good way to show the players physical condition or maybe your scouts just giving a quick report via email at the begining of camp to let you know which players reported with some excess poundage. I think this may also open the door to having "work ethic" as a hidden rating. I think this would also add depth to contract negotiations, especially with rookies, since they could choose to re-enter the draft (although highly unlikely) if you don't pay them what their agent thinks they are worth.

My questions are:

Is this feasable? And, would this be too much for some players?

sabotai
09-07-2003, 01:58 PM
Very feasable. Sounds like a great idea to me.