Last update: February 18, 2025.
NOTE: I’m in preproduction and not hiring anyone for any part of this at this point in time, sorry!
1. Overview
(updated: 2025-02-18)
1.1. Game Name: Ninefox Gambit Visual Novel: Calendrical Heresy
1.2. Tagline: burn it down with math
1.3. Team (lol)
- Yoon Ha Lee (howdy): game design, game writing, narrative design, coding/development, 2D art, 2D animation, music
- [???]: sound design, mixing: I could theoretically learn enough to handle these at a basic level (I’m supposed to work on mixing anyway), but do I want to? What will the budget extend to if I want to hire someone?
- voiceovers: budget for 1-2 voice actors (preferably two, one for Cheris and one for Jedao). I cannot do voiceovers, but this is optional and I can sort that out later.
This is doable in 2-3 years, depending, but no hurry on my end for a personal/exploration project.
2. Game Overview
(updated: 2025-02-18)
2.1. Game Concept: A visual novel (VN) with tactical battles (either autobattler or turn-based) to gate story content. I prefer some amount of crunch to hold my interest and rarely get into games that are purely narrative in focus, although those can be very successful (see Appendix D).
Setting and story based on NINEFOX GAMBIT and Machineries of Empire (my books, my IP), but alternate universe (AU).
Themes include the ever-popular war is hell and possibly less popular math is beautiful and powerful and is full of consequences.
2.2. Goals
Important: I do not expect to profit or make back costs. It would be nice, but I am self-funding this for the joy of learning/creating.
career goals
- narrative design and game writing. This is where I have the most experience: game writing for Godfall (Counterplay Games), Winterstrike (Failbetter Games), Legend of the Five Rings CCG Story Team with Alderac Entertainment Group, Moonlit Tower IF in Inform (XYZZY Award for Best Writing, 2002). Non-game-wise, I’m a novelist (Ninefox Gambit, Dragon Pearl, Moonstorm) and I’ve written comic scripts for Marvel (Doom’s Division #1-5, forthcoming starting March 2025).
- game music composition. I’m in an M.A. for media composition at ThinkSpace Education (on intermission).
- 2D animation. Proof of concept forthcoming. I’m a hobbyist.
- game design. Ninefox Gambit TTRPG (with Marie Brennan, from Android Press), micro-TTRPGs at https://yhlee.itch.io/, Winterstrike (Failbetter Games, for their now-discontinued StoryNexus platform); a commissioned micro-TTRPG for Layla Lawlor’s webcomic Kismet (forthcoming).
personal goals
- Stress relief and fun with a personal hobby project where I can learn new things and go at my own pace. (I am very ill.)
- Compose game music and learn game audio implementation in Unity + WWISE.
- Complete an indie game project scoped so that I can handle it as an indie on a relaxed development schedule so that I understand the entire production pipeline.
- Ninefox Gambit AU extending the world, character, and storylines in a way that leverages the interactive format. Among other things, I have 100,000 words of random unpublished hexarchate fragments (a novel’s worth!) but they are not novel-shaped or even story-collection-shaped. I’d like to make use of some of that material!
2.3. Target Audience
There will be a narrow audience for this project. This game is not expected to earn back when I spend on tools or time; that’s not its function for me. What I want is to work on a personal project that brings me joy.
I foresee the audience consisting of:
- (a) readers who enjoyed Ninefox Gambit and would enjoy additional (sometimes) AU content for the world, setting, and characters.
- (b) visual novel gamers who are willing to try a random one based on some book they’ve never heard of.
I suspect (a) is likelier and (b) is marginal, and of (a), I’m looking at the subset of people willing to try a VN at all.
Based on this, I want to lean on
- character dynamics;
- “new” world, story, character content for people who are loosely familiar with the books, fleshing out intriguing details;
- making the VN and game components accessible to people who aren’t necessarily huge on videogames or VNs.
- evocative visuals and music.
2.4. Game Flow Summary
[Funny you should ask. I have a diagram of the gameplay loop, but it’s in a notebook so I have to get it into this document at some point. I have Procreate on an iPad, I can do this!]
2.5 Look and Feel
overall
- typical visual novel interface (cf. default Ren’Py output, although I’m not using Ren’Py)
- strictly 2D. I don’t want to wrassle 3D graphics handling, and I don’t have experience in 3D models. A 2D art style will support the vibe.
visual style
- ink and wash vibes
- fantasy stylization with sci-fi elements
- limited color: My art goes to pieces if I try to use more than two accent colors, so let’s lean into that! Also, saves time.
- congruent with the animated music video (AMV) WIP.
[note to self: add concept art thumbnails]
3. Technical Specifications
(updated 2025-02-18)
3.1. Technical Form
- Visual novel with 2D graphics.
- “hand-drawn” ink and wash style (raster): Procreate for sprites, background, static art; TVPaint 12 Pro for 2D animation. (Note: I meant TVPaint 12! I got the version number confused with my Cubase Pro update…)
- music: Cubase Pro 14 and a number of VST libraries I frankly refuse to disclose to y’all. :3 Game audio implemented in WWISE.
This saves certain Yoons from dealing with hitboxes, meshes, polygon counts, and all things 3D. Did I tell y’all the time I was lucid-dreaming (a bit) and thought to myself as I admired a beautiful pastoral scene on a sunny day, “Wow, this dream has a terrific polygon count”?
3.2. View
The narrative component is a VN, a.k.a. a glorified choose-your-own-adventure (CYOA) slideshow.
Battle component: flat “cards” with shaders for clarity, cf. Yomi, Balatro, or Star Realms. Have I mentioned lazy?
3.3. Platform
Release platforms:
- Mac because I’m on macOS.
- Windows because my music rig is a Windows box.
I’m not super motivated to add Linux support right now (if it’s possible with this combination of tools; haven’t checked). Can revisit later.
I’m interested in exploring a free web-based release as an optional goal. I don’t know if this is technically feasible or what the constraints are. Cursory reading of documentation suggests that Unity can export for web but it doesn’t necessarily run well.
My suspicion is that graphics handling on a glorified CYOA slideshow (especially at lower resolutions for 2D) won’t cause much performance hit running in a browser, but dynamic audio might. On the other hand, VNs don’t tend to have complex dynamic audio with spatialization is my impression?
The biggest issue from a technical implementation standpoint is that there’s a high probability that a web-based game will attract people attempting to play on mobile devices. It’s not that I hate mobile devices! But optimization and layout/format become different design desiderata. At minimum, I’d have to look into browser handling and save files (if any). I know save files are possible but have not looked into implementation.
I doubt this will see enough traffic that bandwidth/web hosting costs will become significant. The game has to exist before this matters.
I suspect the model I’ll land at, if possible, is:
- actual goal: releases for Mac and Windows, distributed via https://yhlee.itch.io/ so hypothetical payment processing is someone else’s problem. As someone in both ecosystems (Windows desktop, Windows pen computer, Mac laptop), I’d rather just let people pay once for both (if payment is going to be a thing). Fortunately, the game has to exist before I need to care about this.
- if possible: optional goal: free web-based release. Again, the likely issue will be designing for mobile browser support across device types.
3.3. Languages and Frameworks
3.4.1. What I’m using
- Unity and C#
- Naninovel visual novel extension for Unity. As of the current version, I’ve paid for access to the source code in case I need to adapt the code base. I suspect this is unlikely, but I’m curious!
- WWISE for game audio middleware (Unity integration and tutorial).
3.4.2. Other options I’ve examined, in case I need to pivot
ChoiceScript (Choice of Games). For choice-based narrative. Limited input handling (by design). The command-line debugging tools are great, but there’s no game audio (also by design). Choice of Games has licensing terms regarding content, which likely preclude its use for certain Ninefox-typical content.
Godot. This is free and open-source. I have only lightly investigated it. Right now there does not appear to be a VN library/extension/etc. with feature parity with what exists for Unity.
Inform 7. Interactive fiction (parser-based text adventures). Free and open source. Amazing for parser IF, with a number of extensions. Graphics support exists; audio handling barely exists as it’s a niche use case for this genre. I love it, though, and it has a terrific IDE with a great interpreter and a slick “skein” tool.
Ink from Inkle Studios. This can be used either for straight-up CYOA-style text adventures and/or narrative scripting in a larger project. Limited input handling, not designed to deal with audio or graphics, due to its primary functiona s middleware for narrative scripting or prototyping. I love this and hope to use it in some other project; it has a lovely IDE with a great interpreter.
Monogatari VN engine. The name is a bit hard to search. XD Free, MIT license. Looks like it may be a tenuously documented WIP. I do want to play with it and see how it goes, though! I’m not sure how extensive or robust its audio/multimedia handling is.
Narrat. Specifically designed for CRPGs with Disco Elysium vibes, free, MIT license. The developer notes that if one wants extensive customization away from Disco Elysium vibes, one may want a different game engine altogether. The command-line setup is probably not as user-friendly for newcomers. Uses Howler for audio support.
Ren’Py with Python extensions. Dedicated VN engine, popular in English-language VNs. Free and open source. WWISE integration via API via Python. This would be my second choice, except I want the hybrid game option.
Texture. Hypertext games. Extremely cool conceptually and some neat ideas around the UX. Limited input handling. I’m not aware of support for audio, and I suspect video/graphics support is limited. The deal-killer for me, unfortunately, is that the “click and drag” method of linking items would be RSI hell within 15 minutes.
Twine, which has multiple versions. Great for visual thinkers and newcomers to choice-based/hypertext game formats. Can also be great for prototyping; Lifeline (mobile game) was prototyped in Twine! Exports, essentially, to a webpage, which you can host wherever (or play locally in a browser). Extending its capabilities is possible but requires JavaScript. Does not handle graphics or audio gracefully; I’m not aware of WWISE or Fmod compatibility. The deal-killer for me is that I can’t deal with the visual “mind map” for branching while debugging.
Unreal Engine. I haven’t looked closely at this, but c’mon, this is wildly overkill for strictly 2D games, let alone VNs. 🙂
3.5 Devices
- Desktop/laptop computer.
- I’d have to weigh mobile support carefully just from a visual interface standpoint, which can be a problem for future!Yoon. (Future!Yoon already has regrets.)
4. Gameplay
Ah, the important section. Let me get back to you as I’m still fussing with a paper prototype.
5. Mechanics
The other important section. I will leave you with this tantalizing troll excerpt:
5.12. Cheats and Easter Eggs
NO YOON HA THIS IS NOT URGENT!!!
6. Story and Narrative
[Transfer notes from elsewhere.]
7. Game World
From Ninefox Gambit but world elements need to be adapted for a visual medium.
[more]
8. Characters
WHAT DO YOU MEAN I HAVE TO THINK ABOUT CHARACTERS
8.1. Cheris
8.2. Jedao
9. Levels
(updated 2025-02-18)
Remind me to come back here and talk about extensible design.
9.1. Prelude + Training Level
NOTE: Use this as the test case achievable MVP proof of concept.
10. Interface
Important, but VN-typical interface handling will do the heavy lifting around UX design here.