A half-year later, here's where tinydark is, has been, and where we're going.
Sept → Nov 2019
Went mostly as planned. I spent time improving my own web development workflow and learning Svelte. I spent far too long researching the histories of Cantr, Faerytale Online, and Marosia. I researched the value of roleplay and how to build traditional fantasy worlds.
Introduced multiplayer into GAM3, our proprietary game engine. Made a basic chat/roleplay prototype. Completely discarded the old player-side experience to be built in Svelte. Started writing some lore in World Anvil.
December 2019
I said GAM3′s refactoring would "either take me 25 or 100 hours." This month it became apparent to me that I was in for a minimum of 100 hours of refactoring work.
- I'd forgotten just how much GAM3 can do. It's made singleplayer narrative games, resource management games, and even an RTS-style strategy game. It can even resurrect StoryNexus games. There was (and is) a lot to port over.
- Before this initiative began, I had a laundry list of important GAM3 things I had to do. I kind of forgot this important fact until I began stumbling into things I'd remembered documenting. So I did most of them.
- Software and especially game development always take longer than you think. Moving from generating views in PHP to holy grail of JavaScript has not been without pains.
Still I was optimistic for a release of the tech prototype mid-January, after my work trip.
January 2020
We started the New Year with the abrupt announcement that Marosia was returning, under new management, handing the right to use its IP, code, and assets over to a community member named Will.
After a brief and not-actual panic attack, I was relieved. I had been feeling the need to put something out ASAP, launch a teaser site in February and release around June/July. I still maintain that I could have done that, but not how I should have. The games industry is full of Early Access and unfulfilled developer promises and I don't want to add to the malaise. I was relieved and quietly settled down to refactor the engine and work on the prototype.
February 2020
The prototype launched on February 2nd; a little later than I'd wanted, especially considering my good pal Cody wrote most of the content. I lost some time to a misunderstanding of how reactivity worked in Svelte, but no matter; I was and am incredibly happy with the end result. I can do so much without a single call to the database, or a server request at all, and that has far-reaching implications.
I then grinded hard to build out features for the second wave of prototype testers; too hard, but it was done. It felt good to play game developer again.
Reception's been lukewarm because it's a tech demo. All people could do is roleplay and pick clothing out of a bin, and equip them. We're farther along now but there's still a lot of work to be done before it's a fun game.
Untitled Roleplaying Game
Working genre: "Persistent Open World RPG." I hope to release by the end of 2020. I love the prospect of constituting roleplay with tangible mechanics. I love how rich the world and our stories can be, and how meaningful the game can be to its players. It's also a sustainable way to make money ethically and even experimentally, which is what tinydark stands for. I'm happy Marosia returned because I never wanted to remake it and I wasn't going to; I was just kind of going to deploy and hope people were up for a fresh take. Now I can do it without the (admittedly self-imposed) pressure.
These are the plans and expectations for this game as of late February 2020.
It's going to be an app.
As in app-store app. The technology is finally here and I need only implement it; The Orbium is already halfway there, I just need to put the work in to get it app-store-able. I have ways to make writing RP more enjoyable on mobile.
Roleplay is encouraged but ultimately optional.
For a few good reasons.
- People who are interested in roleplay but are not yet comfortable doing so should be encouraged to observe and speak up when they're ready.
- My friends and family wouldn't play it, which signals a greater issue with adoption and retention.
- Enforcing roleplay rarely stops the quiet ones from playing, only encouraging them to make empty posts just to avoid in-game penalties.
- The game should strive to be mechanically compelling first: it should be a fun game, regardless of how quiet a settlement is or if you're a nomad playing solo.
- We should accommodate people who are interested in adding rich objects to the world but are less interested in directly roleplaying with others.
In-character justification will still be required for one's actions. The first attack on a player will require a casus belli: justification for the attack. You are still expected to learn and assign people's names. "OOC coordination" is allowed so long as an actual conversation takes place in-game.
You will be able to play with friends.
In the same way that you can avoid players, you should also be able to join in and play with them. You should be able to invite your friend to play as your race and have them spawn beside you. I am not concerned for multi-accounters as I have a toolbox already prepared to deal with them.
Sound and music.
If browser games are to evolve, we should act like mobile and traditional videogames. I would leave Fireburner - an unreleased narrative game of ours - open just listening to the sounds of nature. This should help immerse the player and just be pretty dang cool.
World and zone events.
It is trivial for GAM3 to create functionality that would otherwise have to be manually coded by a developer. As such, I can put a giant tree on a tile and allow people to climb it, or interact with a puzzle that only spawns at night. World events can spawn effects for real-world holidays or in-game lore moments.
So long as the game is popular enough to justify it, I'd like to craft worldwide "living stories" in the same way a DnD dungeon master would: lay out the story, allow the players to drive the narrative.
Actions.
Somewhat controversial in browser and mobile game design, people don't generally enjoy spending "actions" or "energy" and waiting for an action bank to refill just to do it all again. Alone, they don't match asynchronous multiplayer gameplay very well: suddenly someone would spend 10 actions building half a house. But together with a project system which would enable someone to build a house over real time, we'll have a way to restrict certain functionality and also give a reason for the player to check back in even if they're on a long project. For example, climbing the aforementioned giant tree, pickpocketing, eavesdropping, hunting, and maybe dragging objects would use up some energy. But the player could also decide to boost their current real-time project: if you're fishing, you'll guarantee a fish is caught on your next tick. If your Fishing skill is high enough, there may be the ability to increase your odds of finding a rare or larger fish.
Failing a single Action bank, we simply give the player a few pseudo-actions they can perform, such as Hunts or Stealth opportunities.
There's plenty of work to be done.
This presently untitled game requires a lot of mechanical work. I've got an estimated 600 hours ahead of me but I produce anywhere from 20-30 hours a week in my spare time. A lot of the tech I'm building has been wishlist items for the engine; Daiele really needed an NPC and crafting system. Necro died under a mountain of the tech it would have needed.
I have a surprising amount of lore created, most of which I'm proud of, but I don't have it written down and cataloged. There is still content creation to be done in the engine, and how big that mountain is will depend on how quickly I can design fauna, flora, the landscape, and location-specific events. It will also depend on who I can get to help out; please contact me if you're interested in creating content for the game for a paltry sum of real-world currency and some in-game subscription time.
Then there are the boring things to be done: the game should have its own server, running on the latest technology. The Orbium needs maybe 20 hours of attention. The game needs its own landing page. I need to improve my admin tools for handling (and ideally reversing) griefing. I should deploy with some subscriber features built in.
Not much more to say; I've probably said too much. Thanks for reading, and I'll get back to work now.