Spycursion Update (May 1, 2019)

It’s been about a month since our Kickstarter campaign ended and we launched our Patreon page. As people who have watched exciting projects rise and fall — often without even saying goodbye — the last thing we want is to leave Spycursion dormant for months while our fans wonder what happened to it and if we will ever return. (If Spycursion ever does fall into the bit bucket of history, it won’t be because we ghosted you — it will be because we went out in a blaze of glory.) To that end, our goal is to share a progress update roughly once every month, even in months where not a whole lot has happened…

… like this one! As I hinted in the last post, both Mauricio and I have had to “take some time off” to focus on useless trivialities like, say, paying the electric bill. Aside from that, we’ve been zooming out a bit to discuss the Spycursion architecture and how to tackle a development roadmap in our new post-Kickstarter world.

Ooh, Shiny!

Can I be honest? You know all those parts of the game that you’ve probably seen from our trailer? Those are my least favorite parts. The parts of Spycursion that I enjoy talking about and sharing the most are, well… the parts you can’t see. There are good reasons for that. Spycursion was never meant to be a graphics-first game, and in fact, I hadn’t even planned on making it 3D! My original vision of Spycursion was as a 2D isometric world. It evolved into 3D throughout the process of development and commissioning assets, as we decided that 3D would allow for greater flexibility in terms of feature additions and look-and-feel modifications.

But really, we should go back even further. In July 2018, we published this post containing the very first public Spycursion screenshots (with the exception of this very, very early device UI screenshot, in Nov. 2017). At that point, the game had been in development for nearly a year. We hadn’t shared screenshots because we weren’t focused on anything that could be screenshotted. Then, we read pieces from some wise(?) internet denizens who told us that, in order to have a successful Kickstarter campaign, we would have to make shiny things and show them off and generally become glued to social media. (Anyone who’s ever worked on an indie game knows where this is going.)

Hence, our focus shifted from server to client, and more or less remained there until the Kickstarter launch. I don’t know whether this was ultimately the right decision, but I do know that not focusing on the client certainly wouldn’t have helped that campaign. In any event, I personally feel that the visuals in Spycursion’s trailer turned out well, but not as well as they could have. There was a degree of crunch in the weeks and months leading up to February, and as a result I didn’t feel we were able to give the client the polish it deserves. That’s why one of our first post-Kickstarter discussions was about…

(Shiny) Client Architecture

If you’ve followed our blog, you know that the Spycursion client relies heavily on a couple of Common Lisp frameworks — CEPL and QTools. What you might not realize is that, within our code base, these two frameworks never even touch each other. It’s almost as if we have two separate clients that just happen to have the same name. That makes some sense, of course, because they have very different purposes. But let’s say that we want to display a device UI (a Qt QMDIArea, if you’re fancy) partially overlaid on top of that 3D world, rather than in a completely separate window. I’m not sure there’s a good solution to that. (QtOpenGL comes the closest, but we dismissed that because it would be difficult to use with CEPL or other GL frameworks, plus it had some problems on OS X.) Qt also adds some bloat that we’d rather not have.

Though we’ve discussed it before, without the time pressure of Kickstarter, we’ve decided to begin replacing QTools now. And that replacement will be… Nuklear! Why Nuklear? Well, for starters, look at these two screenshots and tell me which one fits better in a game about cyberespionage. (Yeah, I thought so.) In seriousness, what’s attractive about Nuklear is that it’s simple and embeddable, and doesn’t try to take over your entire application.

Now, the astute and tech-savvy reader may be thinking, “Wait, Nuklear is written in C, not Lisp… does it have any Lisp bindings?” Well, yes, yes it does! We’ve decided to give cl-bodge a shot, specifically the UI module, and see if we can make a workable device UI out of it. Another potential benefit here is that we could get away from traditional desktop UI paradigms of the sort enforced by Qt, and design something more unique. It’s too early to know what that might look like, but I’m excited about the possibility.

If cl-bodge works well for us on the UI, we may also use other modules of it for other purposes. It is possible that we will eventually replace CEPL, but I think the more likely outcome is that we blend the two, taking advantage of cl-bodge where it makes sense and working with CEPL as a friendlier alternative to raw OpenGL (cl-opengl).

More Shiny?

Between paying the bills and replacing QTools (not to mention me having a strong desire to hide back in my server code), it may be awhile before we can share more screenshots of any quality. It will definitely be awhile before we share more videos. When we do, we’ll try to include some upgrades to the 3D world, as well. We picked up a fair amount of technical debt during pre-Kickstarter crunch time, so performance improvements are definitely in order. With performance improvements, we can add more “bling bling” (to use the words of an influencer who didn’t want to share Spycursion because it didn’t have enough of that). And if we get enough funds through Patreon, we could add new 3D art as well.

What Kind of Shiny Would You Like to See?

As always, we invite our Patrons and followers to help shape not only Spycursion itself, but how we share it with you. What do you think about the technical changes outlined above? What do you want to read about in future updates? What would you like to see on our Patreon page?

Let us know!



Suspicious Activity

Over the last several days, you may have noticed a handful of cryptic messages being posted to our website and various social media presences. We don’t know who (or what) is behind these strange postings, but rest assured we are working as quickly as possible to solve the mystery.

Additionally, we noticed some kind of analysis tool posted on this website. As of now, its purpose is unknown, but it seems to be looking for a 32-character string of hex characters (0-9 and A-F). For example, a string like this: 46b6726a8a327e007d41d9f603bae95d.

At the time of this writing, we’ve discovered eight of these strange messages and ciphers, but will let you know if we learn of more.



A Story of (defun games ())

Hi, I’m Scott.

Scott Helvick, grinning like he just got married
This is my “I’m about to Google-bomb myself” grin.

I’m the founder of (defun games ()), lead developer on Spycursion, and an all-around nice guy (sometimes). I’m also the guy who wrote those last two blog posts… and then seemingly disappeared for more than six months. I’d like to apologize to our loyal fans — all three of them — for that long absence; a lot has happened since our last update! But before I get to that, let’s start at the beginning.

It’s early in the morning on some idle Tuesday in June of 2017, and I can’t sleep. Haven’t slept all night, in fact, not for lack of trying — because my brain has ideas, dadgum it, and this time it is steadfastly refusing to let them go. The ideas swirling around concern a video game, the likes of which I’ve never seen, but would love to play. This imaginary game centers around hacking, but it’s the real kind, not the Hollywood kind. And it’s multiplayer, so players can learn from and play with and betray each other. And there are corporations, and an economic system, and a programming language, and blackmailing of politicians, and, and, and…

And the ideas just keep coming, until my then-girlfriend/now-wife wakes up so I can blather to her about all of this. She, in her fresh-eyed wisdom, tells me to take notes. Those notes, the child of sleep deprivation and a night full of eureka moments, would later morph into the game design document for Spycursion.

Having been an IT guy in a past life, I started Spycursion’s development with the pieces that came most naturally to me, meaning the backend… or, in other words, the logical parts that nobody outside of other game developers will see and are completely useless for proving that a game actually exists. (So if you were ever confused about the lack of screenshots, you now have an explanation.) In hindsight, this was a mistake, but we’ve been trying to fix it. Here are a few recent screenshots, for the curious:

Two Spycursion characters engaged in conversationSpycursion's computer UI Aerial view of a city in Spycursion

Truth be told, the journey to this point hasn’t been easy. Since November, teammates have come and gone, we made multiple significant code rewrites, we redesigned our website, and, oh yeah, I got married. (It turns out that planning a wedding is just a little bit of a distraction from writing code.) And yet, in the judgment of this possibly slightly insane author, it’s all going remarkably well. We recently recruited a community manager, whose name is Dan. I’ll let Dan introduce himself later, but he’s going to help put more content out there so our three loyal fans don’t get upset.

I’ve never been one for thinking small; it’s a blessing and a curse. Spycursion isn’t small, either. (Obviously, or it would be done by now and we would’ve sold about eight copies on Steam.) But what it is, I believe, is unique — the best combination of indie creativity with AAA quality… or at least B+ quality. And because we’re a small team making a big game, we need your help to make it real. The time will come when we launch a Kickstarter campaign and ask for your support. For now, though, we ask for your support in three other ways:

    1. Subscribe to our mailing list. You see those little forms in the sidebar and footer? They’re nice, aren’t they? They’re also our metric for when to start crowdfunding. The more subscribers we get, the sooner we can launch.
    2. Spread the word. Want Spycursion to succeed? Great, so do we! Tell all your friends that you want to play it with them. We’ve got some social media links in the footer, if that’s your thing.
    3. Join our team! Our most pressing need (as of July 2018) is for another developer or two, but if you think you can contribute in other ways, drop us a line.

Thank you, sincerely, for being a (prospective?) fan, and my apologies again for the radio silence. We at (defun games ()) are dedicated to making sure that your patience pays off.