Isolation is taking a toll on my well being but things are a lot worse for a lot of people in the USA. So I’m thankful I can continue work on this project in good physical health and very grateful for the positivity fans have shown.
SSDT is closer than ever to completion. I guess that is always true unless I reverse time and start deleting code and assets from human history. BUT I WOULD NEVER DO THAT because time travel is impossible and if it were I could just give my past self the code and this would have released in 2014.
But I digress
What I mean to say is pretty much every dang feature is in place except the remaining Xbox specific stuff and lots of bugs to fix. So what all got done since the last update? Well —
These are feature complete but I’m still tweaking them here and there to make them feel better. I think I’ve landed on the bronze/silver/gold levels for each of them as well.
Soccer Training: Bull’s Eye
There’s a tiny bit of cleanup but it’s otherwise done and a lot of fun! There’s a minor glitch with the dummy but I will nail that down.
Hockey Training: Ricochet
I think I should add little “+1” floaties for hitting the dummies, and maybe come up with a better indicator than having the dummy sprites go dim. Minor stuff.
Football Training: Streakaway
I want this one to start with scoring on the platforms instead of tackling so the player can learn how the charged field goal kick feels before the timers starts. Beyond that it’s complete.
Roller Derby Training: Touchdown!
I’ve added an arrow showing you should go to the right if that’s not clear, and made the tutorial texts a little smarter. I also turned off the home-side goal lines since they don’t do anything in this mode. This training game is a doozy and made much easier with a good teammate! Pretty much done I think.
Basketball Training: Free Throwing
This one is the most straightforward, just keep stealing the ball and landing baskets. Done?
Baseball Training: Target Shot
There’s some glitchiness at the end to fix but otherwise done and one of my favorites.
I am reluctantly accepting that I need a short “non-game” tutorial training scene to go over the basic concepts of passing and turbo. My plan is to have this trigger on your first loss of the first season, and not show up after that if you are stomping the AI. Maybe it will be the first few games, or some other trigger. It’s percolating but should be straightforward to implement.
Team HQ / Shop
Team HQ got a bit of polishing.
All the pages in team HQ now scroll on as the HQ UI fades out. Getting that implemented involved a lot of code organization but it’s all much more readable now.
The shop’s glitches have been fixed and everything looks about right. Each uniform color set includes 2 variations, so I added both uniform color options to the icon.
I have no art budget to speak of so it will probably keep it’s mid-90’s website vibe and horrible banner. I did some more price balancing and adjustments and progression is feeling smoother. There’s tweaks left yet I’m sure, but it’s one of those small things I can keep adjusting as I test.
Endings / Story
All the endings are in place. I can’t talk specifics because of spoilers but there are a lot. I have a bit of fiddling with them to do as I continue testing, but they are all in place. There’s some additional music that’s been added, including another track by Gabe Castro that hasn’t yet been released.
While I am happy with how it turned out, I had much, much grander plans for the endings. As it stands it was pretty ambitious what I ended up with all things considered, and I want to get this game released! I mentioned in an early blog that at a certain point you gotta start axing your dreams and making cuts so the project can actually get finished and it’s a milestone to be there now.
Unlocks / Secrets
I might (might!!!) add one more ball, but other than that I think this is where it’s landing. I won’t say more but there’s going to be some surprises for fans of the original release, and it’s pretty challenging to get it all. Playing with friends will definitely help get there though!
I might add a “unlock everything” code, or an “unlock something” code, I’m not sure at the moment. It’s definitely not a situation where a newly installed game would be devoid of content for a couch competition, on the other hand I know the frustration of having unlocked everything then going to play with friends on a new save and being annoyed that we can’t play with all the content. I’d love to hear what you think about that. Yes, you.
Misc / Xbox
This was the “don’t have a category” category so I’ll break it out, and going forward use a new accurate graph! Maybe!
All the stats are in and then I realized how dumb it was to use my old MVP evaluation code for the Season Stats. The MVP would sometimes not make sense, and I had all the stats to pick an MVP right there! So I added new code for that. Now MVP more accurately reflects the player’s Season Stats.
Season Mode Enemy Team AI
There is now better difficulty adjustments based on how well you’re doing. I will continue to tweak this as it is as important not to bore skilled players as it is to not scare off newbs.
As I discussed previously I’ve added custom AI master controller scripts for some of the teams you’ll be facing in Season Mode. So far that’s The Baskets, The Kickers, The Lonestars and The Moosers. The AI master controller is like the “coach” of the enemy team. This script tells the players what their objectives are. This has allowed me to give different flavors of behaviors to these teams, beyond the per-player AI scripts.
The Baskets assign one player as the “toughie” character who will have different priorities depending on the state of the players on the field. This could be protecting the ball carrier or positioning to score. The controller also assigns other players as potential pass targets for potential scoring or attacking, and has custom logic for when these roles are assigned.
The Kickers have custom behavior for streaker carrying ball, and how to react to an offensive threat.
The Lonestars like hitting you with bowling balls but otherwise are default at the moment.
The Moosers have custom threat evaluation code for assisting the ball carrier and utilize a list of potential “smasher” players who act more aggressively to eliminate threats.
This is one of those categories I can go crazy on, or say “it’s good enough” and call it done. I’m not at that point quite yet, as I’d like to take this concept across all the teams, and get a little bit more flavor on it.
The goalie got a bit of clairvoyance! If you carefully watch the bottom half of the above animation, you’ll see two balls. The first is the “ghost ball” that the goalie will use to get where he needs to be a tiny bit earlier than before. This has had the effect of drastically reducing the cheap-feeling across-the-arena shots that I’ve seen players be disheartened by more than a few times.
One challenge here is I’ve long since run out of physics layers in Unity. This was a result of some bad decisions early on that would take a lot of untangling to sort out. But it turns out I had a layer I could use, The “Water” layer that is built into Unity. Apparently “water” means nothing, so it’s just another layer I can use for the ghost ball to make sure it ignores everything except what it needs to collide off of to do its job. Maybe it should be called the “ectoplasm” layer.
Yeah, there’s a lot.
But I’ve got a much more organized bug list and I’m going through it as I get the game ready for it’s final Xbox One conversion.
I hope this year starts to get better for everyone and we get a Covid cure or vaccine soon. The arcades are closed and it’s a sad time to want to play games with friends in the same room. Fortunately for Steam players you can Remote Play SSDT on Steam and I’m even looking for folks who want to check out Season Mode early. Check in on the Steam Forums and I can set up a private invite.