6 min read

How we use datapacks 📦 to put players first

This one talks about how we've structured our games to help player-designers tell their stories using our games as a platform. Also, some monthly updates on Gumshoe & Null State!

Last time you said we could play the games this month!

Hey there! Lucas here ...

You said we could play the games!

Okay, yes, I know: at the end of the last newsletter I said "...I expect I'll have some news for you by the end of January..." -- and it's February as I'm writing this

What happened is, rather than continuing to make and polish each game so that they'd be in a sharable, playable condition, I had the engineers on both projects implement datapacks (a way of storing game data so that the core game can be easily supplemented with either DLC or UGC).

So, there won't be a playable version of either Null State or Gumshoe ready... at least, not for a few more weeks. I'm sorry.

What's all this about datapacks?

Gumshoe and Null State both went through a major retrofit in January: like a sea cucumber defending itself (look it up), these projects have been flipped inside out and now nearly all of their game data is stored in folders outside of the game project.

We did this so that our writers, artists, and musicians wouldn't need to download the whole project to add new storylines, visuals, or sounds. It turned out that this setup also enables players to bring their own stories to each game (via something like Steam Workshop), which I thought would be pretty cool!

Until these games HAVE players, though... how about we take a look at what the team did in January?

Gumshoe Prototype Updates

Updated Art - Encounters and Scenes

Oh dang, I know I started off with Athena's art last time, but I gotta start there again. Look at this office! Look at this character design!

I find it especially beautiful considering she shaded the whole scene based on the primary "suit" - money - one would expect to be prevalent in a gumshoe's office! Each scene works that way, too: whatever the scene's theme would be, it has that color.

In January, Athena got all of the planned characters and environments in place; we've recently decided to add a couple more characters, which we can only do because she's so far ahead of schedule.

Thanks for your hard work and artistic vision, Athena (X / Bluesky)!

Encounters - Data-driven Win Conditions

In addition to the datapack work mentioned above, which was a huge shift, I think the most significant change made in Gumshoe in January was that Alasdair made it so that we could define our win conditions in each encounter (beyond just running out of cards).

It's a really elegant solution built up in JSON. We can use ands and ors to define the conditions for success; for the thug, you can either lay it on thick w/ the charm (extremely difficult), or go toe-to-toe with threats of violence (somewhat difficult), or outwit him (easiest).

This gives the designer a lot of control over how the game plays. And, since it's all datapack-driven now, you wouldn't need to rebuild the whole game to adjust the difficulty of an encounter - just update one file, save, and reload to see your changes in action!

I'm always impressed with how clean and usable the implementations are that Alasdair (homepage) puts together, in the data and in the code; thanks a lot for everything, buddy!

Null State Updates

Updated Art - Animated Title Screen

Heloisa (Behance) and Robin (linktree) teamed up to animate the Null State logo on our title screen and it looks amazing (right-click and open this gif in its own tab; i think you'll agree).

Heloisa tells me that the "shimmering net" effect in the background was inspired by a recent slo-mo video she saw of a DVD being microwaved (don't do this at home). And the glitchy way it plays and loops is apparently a clever trick on Robin's part: he just keeps rewinding the images a little at a time & replaying it!

Good work, you two - I look forward to seeing what y'all come up with next!

Future Alternate History Timelines & Characters

Writers Dean Hoff and Pip Simms (here) have joined Drummond (homepage) and Maitreyi (site) in putting together the Null State universe.

After a month of back and forth discussions circling the globe (literally and figuratively), the team has put together a timeline, prepared a "current state" for our alternate future history, and has been hard at work on figuring out the tone and approach for the nearly two dozen characters you'll meet while playing Null State.

Additionally, during character creation there are now a dozen different backgrounds to pick from - wow!

There's nothing stopping them now... and, as much as I'd love to give you a sneak peek at what they're writing: no spoilers! Thanks for figuring out the hardest part of an RPG, y'all!

UX - Sidecar Redesign / Rework

Billy (linktree) has continued the rework he started in 2023, to great effect.

He's effectively reimplemented all of the features one would expect from a chat app, but for our game: names, status icons, pings when a new chat arrives... It's pretty wild!

We've got plans for the player to have some dynamic moments between running networks and managing conversations with characters; I'm looking forward to sharing some gifs of that in the future, because I think it's going to feel very authentic to how I've always seen a hacker's positioning within a fire team.

Look at how good that ultra-classic, black-and-brown LCD screen looks in the upper right! Well done, Billy!

Completely Changing Combat

And finally, I've saved the absolute coolest, craziest thing for last: at my request, Robin did a massive, game-breaking redesign of the inventory and combat systems in the last 2 weeks of January.

Previously, Null State combat had been real-time, with a battle bar of "loaded" actions at the bottom of the screen. If an action wasn't loaded, you couldn't use it in combat, where you might see up to 9 assailants who were all acting on timers to attack you. Your gear had burn-down timers to prevent spamming powerful attacks, so the core gameplay loop was a lot of waiting for timers to refresh.

The updated gameplay is turn-based, with any item in your inventory being usable each turn. Each item takes a certain number of ticks to act, which is measured versus a timeline that shows the approaching / next enemy actions. The enemies (which take up space on their own board) attack your inventory directly, meaning that positioning matters and you might need to stop in the middle of an assault to rearrange your equipment to avoid losing important gear.

This was a HUGE change, and there's still plenty of work left to do. With that said, I'm looking forward to seeing what flourishes you add, Robin, because this is already a massively fun improvement (my opinion might change when the enemies can fight back, haha).

Thank you for getting this done on such a crash-course timeline, my friend!

Next Month: Retrospective on Project "Another Round"

In March, there's a Deckbuilder's Fest coming to Steam which will ONLY feature games with deckbuilding elements.

The plan is to build, test, and (briefly) market a game called "Another Round" over the next 6 weeks, and then release it for that Festival. I'll tell you a bit more about that in the next newsletter!

Another Round is set in the same universe as Null State, and we'll be looking for beta testers by the end of the month. Please shoot us an email (i.want.to.play @ tripleeyegames.com) before 20 March 2024 if you're into deckbuilders and want to be added to the beta test list!

Thanks for stopping by and reading to the end. I sincerely appreciate every email y'all send me after this goes out - especially the ones that point out the typos. Here's a close-up of the paper prototype for Another Round; can you guess what kind of game it is?