We’re long overdue for an update on where TiTS stands with the death of flash and the porting to javascript. Obviously flash players are being scoured from internet browsers across the world. The executable “air zip” still functions on windows machines for now, but what about mac users? What about linux bros? What about people that want to use the image pack?
Well, we’re working on getting things ported to use javascript and play in nearly any browser (much like CoC2). It’s a difficult process requiring reorganizing an absolute fuckton of code to work in a completely different system and methodology. Geddy just dropped a big commit a few days ago with this:
- 100 changed files with 7679 additions and 4979 deletions
TiTS, moreso than even CoC2, is a nightmare hellscape of entangled content and systems – partly due to my own deficiencies in the coding arena but also due to the size, scope, and nature of the game I’ve created. Some of the design decisions that make the game so wide-open for adding content and changing characters make for a LOT to rework. Let me lift back the curtain and post some of Geddy’s own explanations:
- A ton of the niceness we used when extending the game in Flash just plain doesn’t work in Javascript land, not without making huge changes to how all of the code relating to Characters and Items is handled. Cyclic dependencies makes pp very sad.
- The sheer scale of the game and its content is pushing common javascript tools to the limits of what they can reasonably handle. A lot of energy is going in to keeping build times low enough to not get in the way of iteration of the UI and a lot of this revolves around careful isolation of different elements of the games code. Even then, doing things “the proper way” is still way too much to handle for things like Webpack.
- We’ve built up a ton of weird almost-duplicate functionality that we really didn’t need – little utility functions that do something almost exactly the same way as something else that had just been lost down the back of the sofa and forgotten about. Rectifying these duplications and straightening up a lot of the odd, janky situations that we’ve created over the years.
- The rebuild process is trying to start at the beginning of the game and work forward, using planets as a natural kind of border point between what should be converted and updated now and what can wait for another day – but this means dealing with some of the oldest and least organised code, back before we had a solid handle on a lot of the features we have today. Squeaky hackjobs to get something working quickly, that we only later built proper systems around.
- A lot of the time spent so far has been focused on cleaning up the back of the house and make sure all of the individual little components that the content relies upon are ready to go so that work on the bigger components, like navigation and combat can focus exclusively on those, and not needing to go rooting around in the guts to convert yet another character that some specific aspect of a unique fight element relies upon.
- A word on scale though; before the conversion process started, TiTS consisted of over a million lines of code and content. It took until I was putting the finishing touches on the Character and Item classes in the Javascript port before I realised that we had over a thousand classes between these two things – many of those rife with weird little unique issues that needed hand-touching to bring over to Javascript.
Actual image & functional previews of the rework have been on the sidelines while Gedan was (is?) digging into the guts. The game wasn’t even in a state to work when we clicked “new game” for a few weeks. Now we have the intro back, and early indicators are promising that we will see Tavros and Mhenga soon. Gena138 has been working at converting the jungle planet’s rooms into the new system now that Tavros’s file is set up as a template.
The creative wing of our little studio has hardly been idle. The new introduction dungeon is almost ready. All the rooms have their descriptions and interactive events written. Two new generic enemies are both ready to code, penned by Savin & I (mine is up on Patreon in pdf format!), including two new PC pregnancy paths for those of you itching to have kaithrit and gryvain children. William has been tapped to write the boss encounter, though he’s been so far up in Anno that it’d be hard to justify pulling him out of such a lovely nook just yet. And Adjatha? Well, let’s just say Molli (part of Cherry’s Tap Hall) has a significant blob of new content in the pipes…
What are my plans for the week? As the ADD perv-nado that I am, I’m engaged in efforts to make Gianna recruitable (since Savin said he’ll make Syri recruitable once I do!) Writing a sit-down dinner with Big T where you have to convince him to let you take his android daughter off-planet is going to be fun!
For too long, I’ve let my characters languish while stretching myself to handle to handle what needs doing in the game, and this year I want to make some serious efforts to close up some of the hanging threads I’ve left on characters like Gianna, Emmy, etc. Oh, and Anno? Savin did give me permission to write a futanari expack. I’ve been too busy to start it, but there are ideas tickling along…
Thank you for hanging in there. Rest assured, more is coming!
P.S. New Years Success! I’ve completely weened myself off of energy drinks, and this week I should be down to one soda a day!