Hey sports fans, here’s all the latest from the Tipping Goat studio.
More progress has been made on Season Mode, here’s a quick run down.
Training / Minigames
While I haven’t nailed down the award levels, there’s now a bronze/silver/gold award system in place for the training games. Coach will react if you break the previous record.
Speaking of Minigame? I was complaining about the scoreboard before, and had a rough mockup for a giant scoreboard that held 6 sets of 2 digit scores. I knew I’d have to tear into the scoreboard code where I had already hacked in bonus points and a 3 digit mode. The time had come to gut it and make it really nice. Now each scoreboard inherits from the base class and then overrides aspects needed for its own type of display. It was a decent amount of work, but was totally worth it once I found how easy it was to get the 6 player variation working. The only issue was now that I saw it in action, it was terrible!
I tried coloring in the backgrounds and adding the player number, but it just kind of made it uglier. The upside with tearing up the scoreboard code though was it was trivial to make yet another version with separated scoreboards for each player.
This allowed for less playfield to be blocked by scoreboards, and modularity: If you’re playing 4 player there’s no need to show 6 scoreboards.
Beyond that I’m resting my noodle on the minigame stuff and moved back to completing story mode.
Endings / story / secret
I’ve sketched in some more of the endings, there are a lot of permutations and I had to account for everything. I want all this blocked with placeholder art so I can get an idea of exactly what assets I’ll need to finish the game. Currently it’s playable through multiple types of scenario depending on choices and performance. There’s still a chunk missing but it’s closer to being finished and I have a better idea how it will all wrap up.
In the weeks prior to California Extreme 2019, I was spending a lot of time on performance. You can over-optimize too early, but it was long over due for SSDT. I dove in deeper with the profiling features than I had previously and really worked to get to the bottom of what was slogging down performance.
One thing I noticed was how much garbage collection was going on. The best way to deal with garbage collection is much like any kind of pollution: don’t make it in the first place.
One thing I did in a lot of places was build a string to pull out a sprite that had a frame number attached to it, so “anim-ring_” + 0 would look up “anim-ring_0”. This is terrible because every frame the code is creating a string then adding another string to it which creates another string, using this to get a sprite, then throwing those strings away.
There is always a better way, and in these cases I could simply make a lookup for the sprites by index instead. String.format is not better than using no string at all!
I made loads of other optimizations, following too many rabbit holes to list that were not always obvious, and digging into terrible old spaghetti code that sometimes needed to be ripped out all together. One case had me tearing out code that looked up a string to get an id from a joystick to be passed to a method that gave the joystick back by string.
When it was all said and done, the game was running nicely on the modest hardware in the commercial arcade machine. This also bodes well for the Xbox One version and other ports as well, these types of performance improvements will ensure the game will run very nicely on the Xbox and be playable on lower end PC hardware.
I finally added the name entry and high score list to Arcade Edition just in time for California Extreme.
Enter your initials after you select your player, and you will automatically be added to the new high score screen. These individual scores appear at the bottom of the screen in Arcade Edition, and you earn individual points by scoring goals for your team, assists, gaining possession of the ball, slam dunking and more. These points accumulate in a similar way the FanPoints accumulate in Season Mode.
California Extreme 2019
At much risk of personal life and limb, and with help from friends and the awesome staff at California Extreme, I managed to transport both the commercial and prototype Super Slam Dunk Touchdown arcade machines to the greatest arcade convention in the universe!
Both machines were popular throughout the show. One big takeaway is my “Street Fighter” ladder of CPU opponents, high score list and “winner stays / loser pays” mechanics seem out of touch with today’s expectations. Other newer multiplayer arcades have a model of “every body insert money, yay someone won, everybody insert more money”. I think the winner stays model gets you more bang for your buck, but SSDT seems to be the lone newer arcade game taking this approach. It’s not something I want to address now, but it is something I could tackle for a customer who had feedback on Arcade Edition. There were a few players I saw playing the game over and over, and a few good high scores by the end of the weekend so some folks do enjoy that feature.
Unfortunately I didn’t end up selling the cabinet, and am still searching for a home for them both! Please get in touch for sales inquiries!
SSDT Tournament Livesteam!
Watch competing teams pass, punt and punch their way to victory live in a special event version of Super Slam Dunk Touchown!
This is a special demo version of the game created just for the event. There are 3 new ball types in play: cricket, lacrosse and dodgeball. There’s also a new end zone mode, and new scoreboards in the Free-For-All minigame.