XEG Studios Latest News
So there are only three things left to do for XEG Football before the project can be released to the world. Today we're going to give you a deep-dive on what remains.
1. The readme file - The readme file is simply the heavy reading that I include inside every XEG game so that people who want to know the details of how the game works can do so. We'll likely mirror the one for basketball in terms of structure and content. This will probably be last thing that we do prior to release.
2. Enlist a friend to create the 2019-2020 NFL season for XEG Football - The NFL season is something I do for legal reasons. Since the game does have the ability to use user-created team helmets, and I do not hold any rights to the NFL and their logos, I can't include real team helmets baked into the game. That's why in our list of pre-packaged helmets, we only include logoless shells. However, if someone ELSE makes and shares the teams, complete with helmets, I'm happy to share those files here as we do for anyone who creates leagues for any of our games. I already have my volunteer ready to go, and have sent him an unfinished copy of XEG Football. Next update I'll have a full report on how long it takes him per team.
3. The player trader - You've seen this in every XEG game as well. The problem is that unlike in hockey and basketball, every position is so specific that it makes the trade execution and fallout from a trade more difficult to track. What if I want to trade a kicker for a wide receiver and the other team is full of kickers? Or the wide receiver was the #1 guy on the depth chart for receivers, punt returns, and kick returns? What if losing that wide receiver eliminates all receivers from the team? What if that kicker was the team's only kicker? There are far more issues to consider than just trading a small forward for a power forward. I'll look at what I did for hockey and goalies vs skaters to get a foundation, but this will have to be the richest and most thorough player trader we've ever made. It's apropos that this will perhaps be the last thing we do for what has been the most ambitious project XEG has ever taken on.
It's going to be a great next few weeks. Thank you again for the interest and support!
Since the last update, we've probably played out over 200 games of XEG Football to tweak the AI.
We've been fine-tuning things such as the penalty rate (which is now comfortably around team average), and the rates of offensive linemen impact opportunities (was 75/25 in favor of pass block, despite 55% of plays being passing plays--this has been adjusted). We've also been taking a close look at the computer AI and re-evaluating their "questionable" choices. The computer was going for the punt block instead of the return almost 70% of the time. This has been situationally rolled back to under 40%. We'd see the computer give the ball to a guy on the first play of the game, who would rumble 90 yards for a touchdown, then see the computer give the ball to his teammates on the next 5 running plays. This has been adjusted.
The most fascinating behavior came late in one game: The visiting team was down by 1 with 2:00 to play. They had the ball at the home team's 4 yard line, 4th and 1, with a good kicker. Instead of kicking the field goal (97% success chance), the computer went for it. Fortunately they converted and would eventually score and win the game, but that was an absolute head scratcher. I had to do a deep dive on the code.
The computer evaluated the quarter, time, down, and score, determining that if they went for it, to call a play persuant to the style of the head coach. A secondary check of the down, distance, and style determined that there was a 96% chance that a running play would be called IF they went for it. Next the computer evaluated field goal percentages as it was 4th down, seeing 97%. Then the computer said:
"If we're losing in the 4th quarter, it's 4th and 1, and we have the ball inside the opponent's 39 yard line, we go for it 100% of the time."
There's your problem. What a terrible line of code. I immediately amended that code to say:
"If we have a greater than 50% chance of making the field goal, and a field goal will tie the game or give us the lead, kick it... unless the field goal will only tie it, we are inside the opponent's 3-yard line, and the defensive rating against our chosen method of going for it is under 80, then 50% go for it, 50% kick the field goal."
This is why we test, test, and test some more.
Now a note about some features being removed from the game. Feature creep is a well-documented problem, and at some point we had to make the call not to succumb to it ourselves.
The first feature removed was video reviews/challenges. We weren't sold on including this to begin with--nobody likes video review, even though reviews are a part of football. The last straw for me was this story coming out about the NFL rules committee. With the NFL changing review policy yet again, we've decided not to support this feature in the game. Since development began on XEG Football all the way back in 2012, We've had to keep up with the seemingly endless rules changes and bake them in as options within the game: Extra point / kickoff / touchback location, overtime format, etc. At this point with the game so close to finished, this dog didn't need one more car to chase. So video reviews and coaches challenges will not be in the game.
The other feature that we cut was the ability to quicksim to user prompts. This is NOT the ability to quicksim--that still 100% remains in the game. The ability to quicksim to user prompts would have allowed users who are only playing one side of the ball against a computer opponent to quicksim the parts of the game where players are not making choices. For example if you're only coaching your team's offense again a computer opponent, the game would proceed as normal until the other team got the ball. At that point, the game would max out the speed to "quicksim" until your team got the ball back. This proved more logistcally difficult than anticipated, so in the interest of getting the game out more quickly, we're pulling the plug. If we make up some ground on the final few items on our to-do list, it might get re-inserted, but don't count on it.
With that out of the way, we are truly in the home stretch with only four items left on the to-do list before XEG Football gets released into the wild. Up next, a full recap of what those four things are.
Development on XEG Football continues like a freight train. We've squashed almost all known bugs, and the to-do list is smaller than it has ever been.
Today we put a bow on team tiers. This allows teams from different level leagues to compete against each other. I wasn't feeling particularly creative, so there are only three tiers of leagues: NFL, USFL, and WLAF/XFL. The names aren't particularly important. If any of you have any ideas for more tiers, please reach out and let me know--it should be easy enough to add a few more--but they may not actually be needed. To test team tiers, I simmed 10 games with two teams from my fictional IAFL: Ostrava--the league's highest rated team, and Calgary--the league's lowest rated team. Ostrava won by an average score of 44-7.
But what would happen if I moved Calgary to the NFL level, one tier above Ostrava in the IAFL? I simmed 10 games, and the results were immediately different. Calgary beat Ostrava, 23-20. In fact, the bad team in the higher league (Calgary) ended up winning exactly 5 of the 10 games, a number that seemed about right. The average score was even 25-23 in favor of Ostrava--the good team from the lower league. I took things a step further and moved Ostrava down a level. Now this was the equivalent of Calgary being in the NFL and Ostrava being in the WLAF. I expected absolute domination from the NFL level team, and I was not disappointed. While there was one shockingly competitive game, the bad NFL team dominated the 10-game series, winning all 10 by an average score of 38-10. Excellent.
Finally I had to test the team tiers in the opposite direction. This time Ostrava would be a good NFL-level team, while Calgary would be a bad team from a level below. I expected a 10-game average of 60-3. I was close. 57-6 was the average score. The mercy metrics we put in the AI made a tremendous difference. For my final batch of sims, I ran 10 games with Ostrava as an elite NFL team, and bumped Calgary down to a poor WLAF team. This was the equivalent of Troy Aikman's Dallas Cowboys playing Pat O'Hara's Ohio Glory. The mercy metrics weighed in heavily, as Ostrava won all 10 games by an average score of 72-3.
Call this a success, and three tiers seemed about right. On to the next item!
Life in quarantine continues to allow XEG Football to thrive. In the less than two weeks since our last update, we've made so many advances that only a slim few daunting additions are keeping the game from being finished.
We've fleshed out the game options so that they are all functional. Sound is now fully integrated into the game, and as with XEG Basketball and XEG Hockey, I feel like the sound effects add just enough to the experience. The Player Developer is now fully operational. Just as in XEG Basketball and XEG Hockey, this allows you to programmatically update player ratings once your season ends. Simply enter the stats your team accumulated in games played, and the developer will raise or lower each player's ratings based on their age and performance that year. This works incredibly well for advancing the careers of players on fictional teams.
Finally, after squashing a few bugs, we made the decision that it was finally time to port the visitor offensive coaching AI to the home team. For the past six years in order to play a game, the home team's offense had to be controlled by a human. With the completion of this port, that need would go away. Games could now be fully automated and simulated. To test this, I went to my International American Football League.
The IAFL is a fictional league of mine anxiously waiting to play its twenty-first season--the last three years of this league have been played within XEG Football's earlier builds. Since the rosters are set for Season 21, I needed to choose my two teams for the test game carefully. They needed to have very different play styles and be unlikely to meet in the upcoming season--I didn't want the results to influence the upcoming league. Ultimately I chose the Northern Capitals and the Quito Volcanes. Northern is a run-first team with the best defense in the league. Quito is a pass-heavy team who ranks near the bottom of the league defensively. Northern is the #2 preseason team in their division, while Quito ranks 4th in theirs... so it is unlikely these teams will meet in the conference title game. I loaded the teams up, set the CPU to coach everyone and held my breath before pushing "START GAME"...
...and EVERYTHING worked as intended! Here's the game log. The game started, played itself, and finished! At 1x speed, the game took about 40 minutes. I simmed a few more, and the game took 21 minutes at 2x speed, 7 minutes at 10x speed, and an astonishing 66 seconds at max 100x speed. There were small bugs that need to be fixed, such as the home crowd passionately booing their own kicker for making a field goal, but nothing game-breaking. We'll work on those over the next few weeks, and then keep on driving home these last few nails. Good news so far in April! Thanks for the interest and support!
Like everyone else in the world, we have been impacted by the Coronavirus. Fortunately we are all safe--albeit a little stir crazy. Personally, my day job started allowing all employees to work remotely several weeks ago, including myself. The result has been something very positive for both them and for development at XEG. Working from home has eliminated an hour's worth of daily commute time, and has also allowed me to spend far more time working on XEG Football. The result is a chain that has moved significantly.
After finishing the Team Creator, the Team Editor was very quickly started and completed. A process that took months for the Creator took only days with the Editor. We corrected an error that caused a variance in team rating calculations. We finished the integration of offensive linemen into the game, introducing the ability to change OL starters in the pregame, giving offensive linemen a presence on the injury spectrum--complete with a team rating penalty, and creating situational lineman rating checks that affect gameplay. We even went the extra mile and made their performance in those situations a trackable stat that can be used for player development (after the player developer is created).
A few more notable improvements/additions: You now have the ability within the stadium creator to pull a team's stadium from their team file and permanently insert it into our collection of over 250 neutral site stadiums to be used whenever. We've also added identification for ALL fumble recoverers within the play-by-play and game summary. Previously the fumble recoverer was only ID'ed if the fumble was returned or recovered in the end zone for a touchdown. The Play-By-Play Speed option has been implemented, giving people who read a little slower a chance to enjoy the game, and setting the framework for enabling quicksim in the future. Finally, I've recorded/gathered and edited almost 85 different sound effects for XEG Football. The process for implementing them starts today. By popular request, here's the to-do list as we enter April.
Lots of positives. Will these positives continue if the virus gets worse and I lose my day job? Probably not. For the time being, I've been able to make the most of this strange situation. There are so many little things that I absolutely LOVE about this game. I was playing a test game that began with clear and cold weather, but as the game progressed rain moved in and the temperature began to fall. By the time we started the second half, the light rain had transitioned to snow, and the timing and aesthetics were simply delightful. I can't wait to share this with the world.
Before I go, we have one more download to share with you: User Bayonetta has returned with his version of round 2 of the 1878-1879 FA Cup for Goal Pro Soccer PC. It's available in the downloads section. Enjoy!
The Team Creator is offcially finished. It took several weeks longer than anticipated, but I'm very happy with where it ended up. The delay in finishing the Creator was because of the sheer number of ways that a user could break the game through the creator.
When developing any of the games for XEG--no offense intended to our kind users--we try to 'idiot-proof' things as much as we can. It's incredibly upsetting when a user tries to play a game in what they feel is a 'normal' way, only to have it crash on them because we didn't predict their behavior. This means having to anticipate all the small mistakes users could potentially make, and have the system react accordingly.
Little things like leaving a coach name blank, putting a letter in where a number should be, or linking to a helmet file that then gets moved or deleted ALL need to be accounted for, among many MANY other variables. While some of these mistakes would break the creator, a great many more wouldn't break the game until the team showed up in a game, and got into a particular situation.
Imagine you've created a team and are playing an amazing game with them. Tied with 15 seconds left in the fourth quarter, you bring in your kicker to kick a 55-yarder to win it! Then the game crashes because you didn't input your kicker's long field goal rating correctly when you made the team. This is the sort of thing we're trying to prevent, and that's the sort of thing that makes game development slow-going sometimes.
As an unexpected added bonus inside the team creator, I loaded in the 1000 largest cities in America, and 400 different team nicknames. Now every time you open the Team Creator, you get a random fictional team 'shell', complete with colors and everything. All that's left is to add the players and stats. Not too shabby. With shockingly few clicks, I had two randomly generated teams who weren't just ready to play, they played an overtime thriller.
I considered linking the stadium with the randomized team name instead of randomly selecting one from our pre-packaged list (as you can see in the video), but decided it was too much work for too little return. Ultimately if someone decides to play with the 'Portland Griffins' it would be easy enough to move them out of Kroger Field in Lexington and into Providence Park.
I'll post a second update at the end of the month that will indeed be coronavirus-based, but we'll end this one on a high note. User Wessley has been kind enough to submit his creation: The 2019-2020 Australian NBL for XEG Basketball. You can find it in the downloads section. Thanks Wessley, and thanks to all of you for the interest and support!
The grind on XEG Football continues for another month. While the goal was to finish the team creator by the end of February, we did not quite achieve that goal. Sixty-five pre-loaded helmets are in and good, and we'll add the new helmet shells for the Falcons and Bucs (and any other teams getting new helmets) once they get released. Coach names and styles can be randomized very easily as well. Full rosters can be randomized in just a few clicks, and the computer now even has the ability to optimize a team's starting lineup with just one click, although there is a small glitch at the end there.
A side note about that "starting lineup"--I've received a number of concerned e-mails regarding that screen. Please know that "starting lineup" is a bit of a misnomer. While the QB is indeed the starter, the RBs and WRs are more "featured targets" than starters. WR A will be targeted the most, followed by the WR B, then WR C. They will be followed up by the other 5 remaining receivers on the roster, and any RBs who also happen to have receptions in their history. This order, of course, will not apply if you choose to run nothing but screen passes--which rely heavily on running backs. Rest assured if your plan is to run 5 WR and go deep all game, you'll be able to do that, and will not be limited to just 3 wide receivers.
So what is required to finish the team creator? 1) The game needs to recognize the pre-loaded helmets in the team selector and game screen; 2) The creator needs to handle when a player is named a starter, then that player's name is edited and changed; and 3) The final save of the team file needs to be coded. Following the completion of the creator, we'll move on to several variants of the creator: The team editor, the player developer, and the player trader. March goals. After that, we further integreate offensive linemen into the game, make options function, then improve the AI coaching, and finally squash bugs. It is both just a few small strides from a finished product, and a herculean amount of work--especially done in small doses around a day job. As always, thank you all for your interest and support.
Before I wrap this up, please enjoy another Goal Pro Soccer league submitted by our friend Bayonetta. He has taken the time to create the 1945-46 Portugal Campeonato Nacional. You can find that league available within our downloads section.
Sometimes as a small, one-man development team, you run into problems that a larger studio does not. This month, the keyboard in my coding laptop went south, as the "S" key permanently stopped working. After three USB laptops failed to operate in its stead, one replacement laptop keyboard never functioned, and a second replacement was installed, I finally got back to work. In the end nearly 3 weeks of development time was lost. Such is life.
Prior to that, XEG Football made further strides with the Team Creator, with the additions of offensive linemen, and a Starting Lineup screen. There are still tweaks to be made to that screen, particularly coaching of the "Recommended Starters" button to be able to produce the best starters for your team at the click of a button. The design of the initial screen is also coming along as well. We'll have a handful of baked-in helmets to choose from, along with the ability to add your own. I am cautiously optimistic that the Team Creator will be finished by the end of February, but it is a short month.
In terms of gameplay, Additional O-lineman events will be added to the gameplay to further reinforce the importance of these positions, and the role they play as a unit. 95% of the gameplay is set. Moving forward, while there will be quite a few coaching AI tweaks, it's the ancillary features such as a player trader and developer that should take up the bulk of production time moving forward. I look forward to producing something that you can enjoy.
Finally in XEG Basketball news, thanks to one of our users, Wessley, who took the time to create the 1980-1981 NBA playoff teams. You can download them in our downloads section. While the game isn't designed for seasons before the days of three-point shooting (or even the early days of it), a future update to the game will add this feature. Thank you all again for the time and interest.
As promised, we've coded up the randomization data for quarterbacks and running backs in XEG Football. Before moving on to wide receivers, defenders, and special teams, I decided to randomly generate a backfield: Two QBs and five RBs whose names, stats, and ratings were all randomly generated. Here's what I got. Let's look through it.
The first QB generated was Antwan Ortea, a rookie with an 80 pass rating, B audible rating, and 70 run rating. Nothing special. The game basically made 2019 Brian Hoyer or a version of Will Grier who makes smarter decisions with the ball. Next. Our second QB is Fredric Carattini, an 86 rated passer with a B audible rating and a 71 run rating. He roughly translates to an Andy Dalton. A starter, but a replaceable starter.
Out of curiosity, I decided to generate new QBs until I got a 90+ rated passer. My 19th QB fit the bill: Aaron Hankerson--a 90 rated passer, B rated audibler, and 70 rusher. A much more interception-prone version of Matt Stafford. Good enough to be in the upper half of the NFL's starters, if just barely. Of the 19 QBs generated to get there, only one was a mobile QB--John Uxa (80 pass, C audible, 90 run). I'll raise that percentage as soon as I get back in the code.
To the running backs! First up was LaMarcus Tanequodle, an 86-rated speed back who doesn't return kicks and isn't great at catching passes. Basically LeSean McCoy if he was a speed back. After him, Edward Eakin presents himself. He's a terrible running back and receiver, but presents himelf strongly as an 80 kick returner and 80 punt returner. Andrew Grinkley presents himself as a minor dual threat: 82 rushing / 80 receiving. Tantamount to Austin Ekeler or Ronald Jones. Zach Frye is a slightly worse version of the above at 81 rushing, 75 receiving. Finally Quinn Voter round out the group was a 72 run rating. He does not catch passes.
Similar to QBs, I decided to see how long it would take to randomly generate a 90+ rated rusher. This time it only took 12 generated players to produce Jonah Laut--a 92 rusher 80 receiver. Numbers very similar to Derrick Henry, who ended up barely winning the rushing title in the NFL this year. Not a bad get for a random team. I'll probably lower those stat odds as soon as I'm done posting this.
So that's the latest! A fine start to the new year.
Happy new year everyone! As we brace for 2020 and the pending release of XEG Football, we've been working diligently on the back end and the Player Creator. Now inputted players are automatically converted into full player ratings that vary based on position. The next step is one of my absolute favorites--allowing for randomly generated players. We do it in XEG Basketball and XEG Hockey, and the random option in XEG Football looks to be the most robust.
With the click of one button, users can randomize a player's name and/or their stats and ratings. The ratings are skewed as in real life, with a small chance of generating a superstar, and a high chance of generating an average to below-average player. Regarding the random names: There are 3200 options available for first names, with the more common ones showing up more frequently. "Chris" has a 1.4% chance of appearing, while "Dejounte" only has a 0.03% chance of being drawn. Last names are treated similarly--with over 90,3000 to choose from. The plan is to get the randomly generated names and stats up and running in the next few days, add a depth chart, then address the horrendous first screen in the team creator.
After that gets finished, we'll add the Player Trader and Developer, add more pre-game and in-game options, add sound, squash some bugs, tweak the visiting team AI, and we're done. Simple, isn't it? I'll probably draw up the schedule for season 21 of the International American Football League as well. The last several IAFL seasons have been a fine guinea pig for XEG Football, I may as well keep that trend up as we approach launch sometime in 2020. Thank you all for the time, and for the continued support!
Happy Thanksgiving from us here at XEG Studios! We're all incredibly grateful for your feedback and support that keeps us moving forward trying to make the best text-based sports games we possibly can!
As we said last month, no real updates in the progress of XEG Football. We remain where we were in the to-do list, the product of my day job sending me to Europe for a month for training and on-boarding. We're optimistic that the chain will get moved some this long weekend, as it feels like we really aren't that far from having a product ready for you to enjoy.
I mentioned in October that the trip would provide an extra perk to me, but regrettably the schedule did not work out as I had hoped. I had planned to visit Metsky Stadion in Ostrava within the Czech Republic. This stadium is the home to the Ostrava Black Lions of my International American Football League, who are actually the reigning league champions. I haven't visited any league stadium in over 25 years, and being able to visit the home of the league champions in a place 4,700 miles from home was going to be a special experience--but things don't always work out the way we'd hope. Perhaps next time. Thanks for the time and support!
For the fifth consecutive month, the entire focus has been on XEG Football. Two major items were knocked off the to-do list: Fake kicks and Audibles. At this point the core gameplay is finished, and what remains are options, enhancements, and features.
Perhaps of greatest interest are the initial results from our audible tests. With a sample size of twenty-five games, the average number of audibles per team (per game) was six. This seemed to be a sweet spot of a number--high enough for the audible ratings to matter, but low enough so as not to frustrate players by taking the play-calling out of their hands too frequently. Additionally, we have made QB audibles an option that discerning players can turn on or off. Fake punts and field goals have been a nice wrinkle added to the game, although the frequency of these events occurring organically (they are implemented at a similar rate as seen in the NFL in the last decade) may be too low for most users to notice their presence.
The next steps are to implement the final few options into the game, allowing them to be accessed on the Team Select page and in-game. Known bugs will be further explored and corrected, while the visitor AI coach will play more games to have their decisions evaluated, improved, and eventually applied to the home side. Next, the same player trader and developer seen in XEG Basketball and XEG Hockey will be added to the football offering, and finally the Team Creator will be upgraded from its current horrific design.
That brings us to the delay.
There will not be much development on XEG Football between now and the November update. The reason is a personal one: My new day job will be sending me to work in Europe for nearly a month. There is an added bonus to this trip that rings near and dear to my heart, and to XEG Football in particular. I'll explain in complete detail during the November update.
One final note: Thanks again to our user Bayonetta, who has created several more leagues for Goal Pro Soccer: The 04-05 Hong Kong First Division, and the 1983 NASL season. You can find both in our downloads section. Thank you all for the time, and for the continued support!
Progression of XEG Football continues into the active football season with two key items on the to-do list: The quarterback audible system, and the addition of fake punts and field goals. Today we'll take a deeper dive into the theory of both concepts and give you a look behind the engine.
We start with the quarterback audible system. We talked some about this system in August, notably the three different QB ratings based on TD/interception ratio. Here's a deeper dive into the numbers: A QB with a 3:1 or better TD/INT ratio will have an "A" audible rating, giving them an 80% audible check success rate. A QB with a negative TD/INT ratio receives a "C" rating and a 20% success rate, while all other QBs receive a "B" rating and a 50% success rate. Audible checks have a 10% occurrence chance on first/second down plays not occurring in the final 5 minutes of any quarter. They will not occur in a period's final 5 minutes.
So what happens on an audible check? The QB sees something in the defense and changes the play called by the coach. The CPU does this by rolling against the QB's audible rating. On a successful roll, the specific defensive playcall is revealed, and the CPU QB picks a new play best designed to beat that defense. On a failed roll, the opposite of the specific defensive playcall is revealed, and the CPU QB picks a new play to beat what was revealed--but the information is poor and the result likely will be as well. Taking the decision-making out of the human coach's hands is an interesting wrinkle, and could lead to some frustrations from the person playing the game. That said, it's a mechanic that exists in the real-world, so we can't wait to test it and further develop it.
That brings us to fake punts and field goals. The challenge with this implementation is that these plays are dynamic and depend more on the element of surprise than specific run or pass ratings. So to code this in, we decided to look at real-world NFL fake success rates, and an interesting article from Keith Goldner that compiled a decade's worth of fake data. We determined the best metric to use is a variant of the red trendline from that article. This calls for a 60% success rate on fakes 1-yard from the marker. It dwindles to 47% at 5 yards, 30% at 10 yards, 9% at 20 yards, and about 3% at 30 yards.
This assumes that the element of surprise is present--if the fake is not the first fake of the game, the success percentage is halved. If the defense chooses a "safe" defense, the success percentage is halved. Example 1: A fake field goal on 4th and 1 that serves as the first fake with the defense playing a Field Goal Block defense has a 60% chance of success. Example 2: A fake field goal on 4th and 1 that is a team's second fake of the game with the defense playing a Field Goal Safe defense has a 15% chance of success. Several metrics of this design are still being worked out, including when a CPU coach will fake and how many yards a team will actually gain on a successful (or unsuccessful fake), but this is an interesting concept that we're enjoying developing.
We'd love to hear your thoughts and ideas. Thank you again for the interest and support!
This month's update comes just a little late, but it's full of updates and improvements to XEG Football. Over the last month, we've done significant damage to the old to-do list. We've added CSV saving for easy stat tracking and compiling on your own in Excel. All of the stats on the main screen now automatically sort by meaningful metrics--top tacklers on defense, and top players in each indvidual category on offense.
There are a LOT of improvements this round, including (but not limited to): Numerous bug squashes, the kickoff location is now a user option, game penalties are (largely) determined by the teams themselves rather than RNG, batted passes are no longer guaranteed to be incomplete or intercepted, and the play-by-play now announces when a team goes for it on fourth down. Additionally, teams now have the option to kneel out an extra point, and players with a history of being fumble-prone are suseptible to fumbling in poor weather. Speaking of poor weather, there are now custom backgrounds for a variety of different weather situations, helping further immerse you into the action.
So what's next? Priority one is adding fake punts and field goals (and the means to defend against them). Priority two is continued bug-squashing and educating the computer AI how to properly coach a football game. Priority three is the addition of quarterback audibles at the line, if only to see how well we like this feature. Let me explain.
Each quarterback has an A, B, or C Audible rating, directly tied to their TD:INT ratio. On first or second down in non-critical situations, the QB will have a 10% chance of reading the defense and calling an audible, changing the playcall to something better suited to what the defense is showing. The caveat is that--depending on their rating--they sometimes read the defense incorrectly and call a worse play for the situation. It's an interesting mechanic, true to real life, but we're not sure how we feel about taking the play call out of the hands of a human coach.
If you have thoughts, send me an e-mail, I'd love to hear them. Thanks again for the interest and support!
Comparing the to-do list from a month ago to the to-do list here today shows the considerable progress we've made. XEG Football is fully functioning and playable--provided you coach the home team. The AI has complete control of the offense (visitor only), defense, and special teams, and manages to coach them with surprisingly quality results. This was no small task when you look at our early flowchart for AI defensive coaching decisions.
Full injury description code has been implemented and activated, with the type of injury and severity matching the ratios seen in today's NFL. In a hard pivot from prior builds, this includes quarter-limited and half-limited injuries that knock out a player for a portion of a game, but allow them to return to the game later.
Trait-based player details have been implemented that change the play-by-play based on the size and attributes of the player involved. We have also doubled the number of weather-based details in the play-by-play, so games played in heavy rain and snow will have more of a 'feel' within the action than just a weather icon on the screen. In the next few days we'll be adding team penalty metrics and individual player fumble metrics. This means taking some of the randomness out of both penalties and fumbles, replacing them with real-world percentages and ratios.
From there we'll take on more options such as turning penalties and injuries on/off, and we'll continue hunting down bugs that harm the overall gameplay. We're starting to get into the the difficult code, but that just makes it all the more rewarding when we are successful. Thank you again for the interest and support!
Daily work continues on XEG Football, and significant progress has been made. Comparing this old in-game screenshot to this new in-game screenshot seems to belie the claims of progress made (accent colors and blank spaces?) but let me explain.
The game now allows for 6 more offensive and 6 more defensive players. Passing has been unbound to QBs, so now any offensive player can play quarterback on any snap, opening up wildcat options. Similarly wide receivers can execute end arounds, reverses, and other running plays, while any running back is now able to catch a pass. Defensively we now track individual tackles--including those made on special teams. Speaking of special teams, now punters, kickers, and kickoff specialists can be used interchangeably, opening the previously closed door to kicker injuries. Players can now choose any RB, WR, DB, or specialized KR/PR to return punts and kickoffs, and with the new standardized ratings system in effect, players can make an educated choice on who to play.
There's still plenty on the to-do list--and plenty of bugs we need to hunt down--but the improvements listed will improve the experience tenfold. With trait-based descriptors, power backs will bowl over defenders, while agile backs will juke and spin into space. Injury descriptors will indicate length of injuries, body parts, and severity. Fake punts and field goals add an additional level of intrigue to special teams. Individual player attributes will have even more of an impact, as fumbles will be adjusted by players' actual fumble rates, and the addition of audibles will give your QB freedom to change the play at the line (for better or for worse) if they think they see something they can exploit.
The computer coaching AI will continue to be developed, as we teach it how to use all these new tricks and better read and react to game situations. Kinks will be worked out, as we try to improve on the AI that managed to beat me 36-0 in an evenly matched playoff game that I'm still a little bitter about. Thank you for the interest and support!
Today's update comes XEG Football, where there was a mountain to climb in terms of what to do next.
We've been re-factoring the code, and one of the first changes was a standardized rating system across players and all metrics. Previously ranges for player ratings were independent to each position and the skill involved. For example, QBs had their passer rating slotted from 40-80, but LBs had their run defense rating slotted from 0.0 to 0.6. It takes a special kind of intuition to know that a QB with a 60 pass rating and a LB with an 0.3 run defense rating are fairly comparable and average to their positions. To alleviate this, all ratings (except for kicker ratings, which are percentage based) will now be appropriately scaled to a 70-100 level to help users better understand the abilities of the player.
The Team Select screen is also being re-vamped to include more information. The prior Team Select screen was very bare-bones. It showed you the full roster and bolded the starting QB, but that's all. The new screen shows all player ratings and indicates the starters at all positions, which you can now change. The roster size has also increased. The new game will allow 4 QBs (+2), 5 RBs (+2), 8 WRs (+2, and a RB who catches passes no longer occupies a slot), 5 Kickers/Punters/Kickoff Specialists (formerly 1 at each position), 6 DBs (+2), 6 LBs (+2), 6 DLs (+2), and 4 Kick/Punt Return Specialists (formerly 2 each, specific to each position). Previously the kick and punt returners were isolated and treated as different players. While there is room for exclusive specialists who don't do anything else, now each RB, DB, and WR has KR and PR ratings, so they can participate in special teams if you so choose--and when you trade that player, all of their skills go with them.
It's all one step closer to getting XEG Football finished and released. Finally, from football to futbol news, thanks to user Bayonetta, who sent in the 1965-1966 West Germany Bundesliga for Goal Pro Soccer PC. It's available in the downloads section.
The 2018-2019 NHL season is now available for free in the downloads section.
Spoiler alert: In our playthrough of the 18-19 playoffs, things didn't go quite as wildly as they did in real life. If there was ever a year where a variance from reality is okay, this is it. In the East Tampa Bay swept Columbus, Toronto defeated Boston 4-1, Washington topped Carolina 4-2, and Pittsburgh needed 7 games to get past the Islanders. In the West, half the series went as they did in real life, with San Jose advancing past Vegas and Dallas upsetting Nashville. Calgary knocked out Colorado 4-1, while Winnipeg overcame two Jordan Binnington shutouts with a 4-2 series win.
In round two, Dallas swept Winnipeg behind some excellent goaltending from Ben Bishop, Tampa Bay outlasted Toronto 4-2, and both Washington and Calgary needed seven games to eliminate Pittsburgh and San Jose respectively. In the conference finals, the top seeds would prevail. Calgary topped Dallas 4-1 while Tampa Bay eliminated Washington 4-2.
In the rematch of the 2004 Stanley Cup Finals, Tampa Bay jumped out to a quick 3-0 series lead, but Calgary would turn the tide with an overtime win in game four and a 5-2 victory in game five. In game six, Brayden Point scored the first two goals before Derek Ryan cut the deficit to 2-1 going into the third period. 5:30 into the third period, Alex Killorn delivered the short-handed dagger, racing into the zone off a faceoff win and scoring to make it 3-1 Lightning. Tampa Bay would tack on two more to win the game 5-1 and the series 4-2, giving the Lightning their first Stanley Cup in 15 years! Steven Stamkos was the leading point-scorer in the playoffs with 25 total points. See the final bracket here. With the 2019 NHL season released, it's back to work on XEG Golf and XEG Football!
The 2018-2019 NBA basketball season for XEG Pro Basketball is available now for free in the downloads section. We played through the playoffs ourselves to take a glimpse into the future, and here's how it all played out:
In the first round everything ALMOST played out as it did in real life, with 7 of 8 playoff series resolving as they did in the NBA. The outlier was the 4/5 matchup in the west, as Utah upset Houston in 6 games thanks to a hot Donovan Mitchell and a very cold James Harden. In round 2 in the East, the Bucks beat the Celtics 4-1 despite Kyrie Irving leading all scorers in every game. Toronto knocked off Philadelphia in 7 games, the last one a 143-135 monster! Out West in round 2, both series went 7 games, with Portland and Golden State going through. In the conference finals, Milwaukee eliminated Toronto in 6 games, while Portland upset Golden State in a 7-game slugfest.
The NBA Finals between Portland and Milwaukee ended with a thud, as Milwaukee easily swept Portland to win their first NBA title since 1971! Here's the full bracket for you to peruse. While the games played out well, we'll work on tweaking the engine to code in more chances for big players to have BIG games (45+ points) with our next update to XEG Basketball. In the meantime, it's back to work making the 2018-2019 NHL season for XEG Hockey! Thanks for the time and support!
As the grind continues on XEG Golf, we wanted to update you on some additional items. First, with the NBA and NHL both in the playoffs for the 2018-2019 season, we will be releasing both seasons for XEG Hockey and XEG Basketball in the coming weeks. They should be done well before each league wraps up their respective playoffs, and--as with everything we do--will be made available free-of-charge to everyone here on this site. Remember, if you've ever created any prior teams or seasons for any of our products, we'd be happy to share your work with the masses. Click the contacts tab and send us an e-mail.
Second, we wanted to update you on a new IP that's in development. While the planned road map has been 1) XEG Golf release, 2) XEG Football release, 3) XEG Hockey/Basketball/Soccer updates, 4) XEG Baseball pen-and-paper, we'll be making a slight a change to that. After a few conversations with some of our users, we've spent a significant amount of time developing a new IP: XEG Racing. There has been a tremendous amount of interest in us releasing something in this genre, and we've produced something in pen-and-paper that works. The process lends itself to being more of a PC game than a tabletop game, and it isn't yet known if this will be a web-based game such as XEG Golf or a downloadable game such as XEG Hockey.
Please send feedback as to which style of game is more appealing to you, as we use feedback from our player base to drive future development decisions. Thanks again for the time and interest!
No April Fools here! It has been a good month for the development of XEG Golf, with most of the focus and energy on Tournament Mode. Currently, the game has the ability to play out a one-round 156-player tournament, tracking each player's position in the event as they go. It's not finished yet, because we haven't baked in playoff holes in the event of ties (who knew there were so many playoff types?), and we have a whole heap of improvements we need to add, but the progress this month was encouraging. The plan for April is to attack all of the bug fixes, bake in all the different types of playoffs, and maybe even allow the players on the scorecard to be sorted by position if there's time left in the month. Following that, we'll tackle multi-round tournaments, and then finally the course creator. We can't wait to get you guys into this.
It's nice to be at the point where we're chewing through the more difficult aspects of golf, such as how tournaments set the cut line, different playoff types, what happens when an odd number of players is left after the cut, and so on. To be able to step away from the code and still make progress through research is a satisfying feeling. I'm hopeful that we can find a resource in the next few months that walks through golf courses, stroke-by-stroke. That sort of resource will make course design much easier, if such a site exists. We're not near the finish line for XEG Golf yet, but don't worry, once we get there XEG Football will be ready to consume plenty of development hours. I look forward to it. Thanks for the time and support!
February was a productive month for XEG Golf. The player creator is now completely finished, and the ability to create batches of players is implemented as well. We decided to limit the number of players you could randomly create with the click of a button to 50 for performance reasons. Don't worry, this just means that if you want to randomly create 100 golfers, you have to click the button twice. Additionally course elevation was added to all non-tee shots, to create a more immersive experience and further help 'the mind's eye' figure out where the hole/landing area is relative to the current ball placement. It's one of the challenges of a text-only game, and this solution works quite nicely with the number of options available to course creators. Tee shot descriptions will be encouraged to be baked into the hole description.
So that brings us to what remains on a dwindling to-do list. Although only four items remain, the code behind them is quite menacing, and we are working on the best path to proceed. We'll probably start tackling the options first, as the course creator and tournament mode are incredibly daunting. The course creator does a very complicated thing--each course is around 1400 lines of code--but it needs to be easy and intuitive enough for people to want to use it. Meanwhile the code for tournaments needs to handle all the advanced rules, cuts, regulations, scoring, grouping and re-grouping for events that I don't even completely understand. So I'm hesitant to move forward too quickly. I hope I have something to show for the month of March.
Meanwhile, my mind continues to drift back to XEG Football, and all the things I want to add, fix, and build to that game. They say you shouldn't work on multiple projects in different programming languages at the same time, so I'm keeping my football thoughts tabled for now! I appreciate you taking the time to read the latest. As always, thank you all for the time and the support!
No, he isn't a new developer here at XEG. Abram Marcelo is the first golfer ever created through the 'Randomize Golfer' feature in the XEG Golf Player Creator! He's strong with the fairway woods and can scramble with the best of them, but struggles some with the flat stick. I'm thrilled that he exists, and am happy you'll be able to make plenty of players like him.
Abram is the result of several algorithms, the first is the randomly generated name, which is code I pulled directly from XEG Hockey. There are over 1200 random first names, and over 12,000 random last names. As for Abram's actual stats, when a user generates a player, he chooses between a 'Random Pro', 'Random Amateur', and 'Random Player'. The algorithm then randomly generates stats for the created player that are considered to fall within a 'reasonable' range for that player's level. If you go 'Random Player', then the pro and amateur ranges are combined, leading to some... strange results. If you've ever wanted to play with a golfer who hits 65% of his putts from 10 feet, but only 14% of his putts from 5 feet, then 'Random Player' is the option for you.
The final step in the player creator is the ability to randomly create players in batches of up to 200 at a time with the click of a button. It'll be like being able to make your own instant fictional PGA Tour. I can't wait. Once we wrap that up, the Player Creator will be done, and we can visit the next item on the to-do list, probably adding elevation to the course. Thanks for the time and support!
Well you can't win'em all. January has been a challenging month with limited time to work on meaningful XEG projects. With the start of a new month, we'll be shifting back focus to XEG Golf first, and XEG Football second. The last time we worked on XEG Golf, we were nearly done with the player creator. The rest of what needs to be done is a manageable list, We just need the time to get it all done.
Regarding football, I personally keep coming back to this project, and can't keep it out of my head. One night when I had some time and no internet connection, I went and mapped out the league timeline (projected) through season 23. As you can see, I've spent considerable years on this league, and continuing to properly build the program through which it lives on is of the utmost importance to me. The fact that others will be able to use it will be a tremendous bonus.
Finally, you may be asking "Why the soccer ball?" Well, a kind user of my Goal Pro Soccer PC was good enough to reach out and send me the 2017-18 Premier League he created. It's now up on the downloads page for everyone to enjoy. If you ever feel compelled to share any teams or leagues you'e made for any XEG game, we'd be happy to share them with the world. As always, thank you all for the support!
With the holidays winding down and everyone getting back to their normal schedules, It was time to take an active look at what the plan is for 2019. For the year ahead, we have three main goals and two main projects. The primary focus entering 2019 is on XEG Golf. What we have right now functions, I just need to knock off the rest of the to-do list, then make a lot more courses and players for people to enjoy.
The secondary focus is XEG Football. As the project enters its 11th year, I need to end 2019 with something to share representative of all this hard work. I played out season 20 of the IAFL last year, and it worked for my needs, but the game is missing a LOT that the average user would enjoy, and probably demands in this day and age. I have a lot of work to do.
The third focus is once again going to be site monetization through ads like a normal website. Perhaps once the golf game goes live, that will drive sufficient traffic to get the ad companies interested. We're not there yet, but don't worry, we aren't going anywhere.
I have a few additional projects that may have to be tabled until 2020, because I need to finish the existing projects:
1) Audible Football, an "arcade" football card game for people who don't necessarily know a lot about football. I've tested it with print and play, and it has been very well received. There's some luck and some planning involved, but it's not too hard to pick up. A browser-based version of that will be in the works eventually.
2) XEG Adventure Golf, an arcade golf game based on the current engine. It's golf, where wacky things happen to you, and your choices (coupled with a little luck) shape the outcome. More than 200 unique "events" have been mapped out, but the game (other than the engine itself) is still in the planning stages
3) XEG Baseball and future big improvements to XEG Hockey and XEG Basketball such as season modes and more. Again, it's all coming. It just takes time.
Here's to a big year with accomplished goals, and some fun games being shared with the world!
In a very rare shift from my normally-private nature, I spun up XEG Golf and had it live online for a few hours last week. I invited some of my co-workers from another side venture to give it a go. Unlike most of the people who look into XEG, these weren't sports guys. These were actual coders, developers, and software engineers who make a living making much better products and services than I do at XEG. Some had never even played golf before. The boys had a good time with it, and then--as all engineers are want to do--they started coming up with ways to break it. They did, but in productive ways.
Things are going very well for our first tournament test of XEG Golf. True, Tournament Mode isn't coded yet, so we're just playing guys four at a time, but I'm VERY pleased with the results. If you'd like to see updates, I'm updating this thread on the delphi forums every day or so with the latest updates. Spoiler alert: Putting the PGA Tour's best on a public course gets you some low LOW numbers. I also put my friend Bob and I in the event, just for chuckles. He had a good time, and is already lording his victory over me. I'll probably be done with the tournament by the end of the week, and am considering letting the final grouping play out on Youtube. Here's the to-do list for XEG Golf. Notably absent: Bugs to fix. There are none. I'm just as surprised as you are. Not bad for 2 months of development!
Remember, after we get things finished and playable for XEG Golf, I'll head back to development of our baby, XEG Football. Every day we get inspired with new ideas and improvements for that giant unreleased game, and we look foward to working on it more. Future improvements will be coming to XEG Basketball and XEG Hockey as well, which are both available in the Downloads section. These projects are cyclical, and we're not in their part of the cycle yet. Thank you all for the support and the interest!
Well it was a good week for coding XEG Golf. With the small amount of bonus time we had around Thanksgiving, we were able to hit our coding goals and get this thing into a functional state for a 1-round 4-player event where you choose your own players and course. Is it close to finished and bug-free? Absolutely not. But it is functional. So the next step is to see how a full tournament shakes out. So if we get some spare time in the next few days I'm going to play one--4 players at a time, each round independant of each other. I think I'll post results on the Delphi Forums and get a little bit of feedback. Since that'll likely drive some interest to this site, here's what XEG Golf is:
XEG Golf is a stroke-by-stroke golf sim/game where players are rated in 8 different categories--4 putting, 4 non-putting. The courses are broken down hole-by-hole, shot by shot, that challenge the players' ratings. Successful challenges go good places: Fairways, Greens, and Holes. Failed challenged go... less savory places. Players also have a star rating, which increases with every rating category that they're above average in. Players with higher star ratings will have more opportunities to hit "Focused" shots for better results, and players with high Driver and Fairway Wood ratings will have more chances to go for the green intead of laying up.
There's more to it all, but I'd like to keeps this relatively short. It works great on paper, and should transition well to the PC. Players can be made VERY easily in less than a minute. Courses take... significantly longer. There's a reason we only have one course right now. Anyway, here's to a great tournament, and to some solid future development!
We're getting there. Little-by-little, bit-by-bit. We've been plugging away at XEG Golf these last few weeks, still working on the Player Select interface. At this point, it's nearly done. Here's what it looks like now. We just need to code the ADD ALL, ADD RANDOM, RANDOMIZE ORDER, SWAP PLAYERS, and REMOVE PLAYER(S) buttons, and add the button to advance to game action. Each of those buttons involves some challenging new code, but we're hopeful that by the early December update, we'll have it all functional enough that we can focus on the gameplay itself, and if we're exceptionally lucky maybe even play out a tournament to see how it works. Thanks to the kind people who have recently donated, and to those who have written to express their support and enjoyment of our games here. It really means a lot.
Who ISN'T thinking of golf in November? I know it's an odd choice for us to work on XEG Golf instead of XEG Football this time of year, but it's the choice we made. With the actual gameplay functional with pre-scripted players and a pre-scripted course, the next step was to build the means to customize. We built a Main Menu, then a fully-functional Course Select Screen, allowing you to pick a course off the server, or select one you made on your own PC locally. The next step was the Player Select Screen, again allowing you to use players from the server or locally. That last screen is still a work in progress, but it's progress all the same. We've coded up the 2018 PGA Tour Top 100, as well as a bunch of guys I work with for that not-so-professional feel.
The next step is to get that screen working, then we'll really be in business. So can you play? Not yet. Look for great things to come in future updates as the code of this game grows and begins to flourish. Financially XEG still has a hill to climb, but while we cook up creative solutions, we'll just keep making games and content. Thanks again for the interest.
Congratulations to the Pierre Dakotans--the unlikely worst-to-first champions of season 4 of the Capital City Hockey League! Led by rookie of the year Edgar Domingus, Pierre closed out the season on a 6-game winning streak, and defeated fellow upstart Frankfort 6-4 in the championship game. You can relive the dramatic run, as CCHL season 4 is available for download.
If real teams are more your taste, a great homebrew set by our friend Wilco--the 1972-1973 NHL--was added earlier this week. Thanks to him for that great addition! With that, we close the book on XEG Hockey for the time being, and move into development of our latest intellectual property: XEG Golf! We're moving in a bold new direction with this game, and are broadening the scope of what we're able to do at XEG. More on that to come! We are forever grateful for your support and your interest! - Mike
Just in time for the start of the hockey season, XEG Hockey 3.0 is out, along with the 2017-2018 NHL season and Season 4 of the fictional Capital City Hockey League. There are over 30 bug fixes/new features/gameplay tweaks, such as third jerseys, user-editable game descriptions, increased quicksim speed, auto-calculated three stars of the game, and much more. The game should work on all windows computers, just download the files from the Downloads section above, unzip them, and follow the instructions. Speaking personally, this game is my favorite thing we've produced so far, and I can't even count the nights I've spent nervously watching my team hold on to a one-goal lead late in the third period! The release of this game has been a long time coming, and we hope you enjoy it!
Welcome to the brand new XEGstudios.com! After many years of hard work, XEGstudios.com is finally online for the world to see! XEG believes that every sports fan should have access to a free, fun, heavily customizable text-based sports simulator for their sport of choice. Here at XEG, we're trying to make those games and share them with the rest of the world. At this website you can get the latest news on what we're creating, and download the games that interest you as well! It's all free. The only money we make is from future website ad revenue and donations from our generous user base, so enjoy! Reach out to us at our contact page, we always love to hear from people!