XEG Studios Latest News
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!