To keep myself on track I’ll be doing a weekly dev blog on Super Slam Dunk Touchdown’s progress for Xbox One. I’ve heard some complaints about the game not being done yet, so first here’s a brief-ish rundown on why.
The Xbox One port has required a lot of rewriting and rethinking of code that worked fine on the PC, but wouldn’t support the required Xbox One features, such as cloud saving and handling Xbox logins. Cloud saving in particular was extremely challenging and required a totally new approach to loading and saving data. A lot of these changes aren’t exciting in the sense that if you played the game after those changes went in, you wouldn’t really notice the difference on PC. However without these big rewrites, the Xbox One version wouldn’t be possible.
There have been other challenges on the Xbox One, including getting all the assets to load smoothly. I did not want a long static loading screen, or a choppy, cheap-looking progress bar. I wanted a smooth, seamless experience for loading assets. I got the loading time from start to logo screen down from something like 45 seconds to more like 15. Assets are loaded as needed, with many of them loading asynchronously in the background. Some however, could not be loaded in the background, so I had to hide them in screen transitions. The first time you play, there’s a bit of a delay going into the first match, but you may not even notice. Subsequent plays require no loading as the assets are held in memory. The user experience is a lot better when you get from selecting the game to being able to navigate the menu quickly.
Aside from the Xbox One work, there really has been a lot of work on pieces of Season Mode. And, for anyone paying attention, a lot of upgrades went into the Pre-Season update. In addition to major AI upgrades, interface improvements, new arena art, new achievements and more — all available now on the PC version — I’ve created things like the unlock notification, Coach Clip dialog, new player tryouts, and a game schedule system, all waiting to be pieced together in Season Mode proper.
Now if you’ve ever worked on a labor of love for 3+ years, you may understand that burnout is a real thing. I did not want to burnout on this project. So in the past couple years, I’d taken on a few contracts to do development on VR, Android, and HTML5 projects. These projects helped break up the year and provided some much-needed cash to pay myself back for SSDT expenses. SSDT on PC and Shield has not been a money maker for me by any stretch of the imagination. I have slightly higher hopes on Xbox One, but in general this project has been about learning what it takes to do something on this scale by myself. No surprise, it’s a lot of work! It has been very educational as well.
Oh, and I’m moving from a 3 bedroom house to a 2 bedroom apartment in a couple months (yay downsizing!) so I have had a lot of planning going into that too. Life is very busy!
So that’s the short version of what has been going on for the last year(s). I should also mention I put a lot of work into a Twitch show called Rick Marooned on Mars. The show finally launched (quietly) and aired for 5 weeks at the end of 2017. I really love that project, but after 5 episodes it became obvious that I can’t do both the show and finish SSDT in a reasonable time frame. I made the painful decision to cancel the show (for now) and put all my energy into SSDT in 2018 until it is finished on Xbox One. Happy New Year!
On to the dev blog part of this dev blog!
This week has been spent rethinking the initial Season Mode data routines to be more in line with the lessons learned from getting cloud saves to work.
I have also changed the interface on the title screen: If you’ve thumbed through the Options menu with a controller, you know it’s pretty painful to navigate. The controller configuration screen used to be this way, but was later changed to use the analog stick as a mouse. This is now how the title screen works. The options menu is much easier to navigate now, and this also will allow for a lot more useful UI for the Season Mode menu:
You may notice there are 3 slots for Season Mode data. Initially I was not planning on supporting this feature, but I think it is important since Season Mode can be played with 1-3 players. It is easy to imagine a player starting a new season by themselves, then having a friend come over to start a 2nd new season on the same Xbox One account. Later they could go back and continue their original Season, and likewise pick up their 2nd season the next time their friend is over. It’s a little extra work now but I think is worth it.
Now I have routines to load Season Data, as well as the initial version of the season save data classes. The next goals are:
Display START NEW SEASON on a button (create data and save it) if there is no data in that slot
Display CONTINUE SEASON if there is data, as well as show a DELETE button (the blank buttons in the above screen shot)
Delete data with the DELETE button (including a confirmation prompt)