Hi everyone!
The crunch has been absolutely brutal, but it's also mostly my own fault for pushing this job to the very last second, when I could've started earlier. I was really hoping I could get the PvE update out ahead of it, but at least now we're past the brunt of the work and the crunch is starting to let up!
Today I'd like to tell you a bit about the jobs I usually perform in the game industry, and I also want to share some lore bits and design adjustments I've been working on while figuring out story bits for the PvE content.
The Game Industry
I don't often talk about what I do for a living, despite the fact that I work in the game industry. I guess I'm afraid I might be boring, and I think most backers would rather hear about my progress on Battle Mages, but now seems like a good time to tell you a bit about what I do in the industry, since it's been taking up a lot of my time lately.
I have an education in game development, and for a spell, I also worked as a game developer for a studio in Denmark, but I always gravitate towards more heavy programming subjects like shader programming, internet connectivity, optimization, and backend programming. Battle Mages started as a playground for me to explore complex solutions, and it allowed me to grow as a developer beyond what I would learn from the games I was paid to work on.
It's quite incidental, but the skills I learned from developing Battle Mages were also the skills required for me to eventually pivot towards becoming a freelance game developer, and being a freelance developer allowed me more time to work on Battle Mages. Nobody wants a game developer who works part-time, in fact, most places still want developers to work overtime and essentially be on call any hour of the day, despite also paying their developers less than any other industry. A lot of people wish to work in the industry, and the race to the bottom is real, meaning most people sacrifice both time and money to be part of the industry. There is money to be made making games, but if you're a cogwheel in somebody else's dream, you'll probably never earn a proper wage, unfortunately.
Battle Mages and some other odd jobs gave me a skill set that made me a commodity, and most of the jobs I do today are for small teams of 3~7 people who need help porting and preparing their game for console releases. Teams of this size usually don't have a technical artist or backend programmer, and cannot afford to have a specialized developer on the team just for porting and optimizing their games, so either they outsource the porting to another company, or they could hire someone like me to fix their game for them. This is an ideal lifestyle for me that allows me to be part of the industry while still having time to work on Battle Mages.
Porting a game to console and mobile is more than simply updating the control scheme and implementing a few unique hardware features. Consoles only have a fraction of the GPU memory modern PCs have, and they run on fundamentally different architecture that is a lot more finicky. Things that were never an issue will suddenly crash or freeze the game, and to someone who hasn't ported for a given platform, figuring out the issue can seem like arcane knowledge. Game developers are taught to consider the code layers close to the player; how players experience and interact with the game, while these issues require a much deeper understanding of the layers closer to the metal.
Anyway, that's what I've been doing lately, and since the gig is almost over, I'll soon be back to working on Battle Mages full-time!
Lore
I've been trying to pin down some concepts for the world of Battle Mages that I've left intentionally vague for a long time because it hasn't been necessary to fully formulate. While I've been busy programming other games, I've also had time away from my computer to ponder the world of Battle Mages, and once I started putting these thoughts into words, things quickly started to take shape!
Planes
Planes in Battle Mages are distributed along a planar axis, and similar to how you can tune into a radio station by going up and down the frequency range, material things are attuned to their plane of existence along the planar axis. The school primarily resides in Arcadia (also known as the Fairy Plane or Fairy Wilds), which lies next to our plane (the Mortal Realm, also known as the Human Plane) along the planar axis, but it also has campuses on other planes, like the Infernal, Celestial, and Evernight planes. There might be other known and unknown planes along the planar axis, but for now, these are the five planes the plot of the game will concern.
Plane order: (Celestial Plane <> Mortal Realm <> Arcadia <> Infernal Plane <> Evernight)
Arcadia & the Fairy Wilds
Arcadia is the name for the actual plane, while the Fairy Wilds is technically a vast biome covering most of its surface. The academy sits at the threshold to the Fairy Wilds, acting as a gateway between the chaotic fairy wilderness and the human foothold in the plane.
The Fairy Wilds is an expansive chaotic fairy paradise that is hostile towards humans. Anyone who wanders into the wilds is at risk of becoming part of its flora or becoming a fae protector of the wilds.
Arcadia is also home to dragons, mermaids, elves, orcs, goblins, and most other mythical and fantasy creatures.
Infernal Plane
As the name implies, the Infernal Plane is a scorching wasteland in an ocean of flames. The plane is home to a myriad of devils and demons, but there are also plenty of oases within the wasteland that house lavish demonic cities of sin and pleasures of the flesh.
Modern demon culture is vaguely futuristic and relies on magi-tech opposed to the natural magic found in Arcadia, giving the cities a cyberpunk-like aesthetic. Similar to Arcadia, anyone who wanders into an infernal city is at risk of becoming a sex toy (animate or otherwise) or joining the city as a succubus or some other low-ranking pleasure demon with insatiable lust.
Though the Infernal plane is mostly home to devils and demons, some dragons of Arcadia have also found a foothold in the wastelands, and some of the tougher fairy creatures, like orcs and goblins that branch off from elves, can also be found wandering the wastelands of the Infernal Plane, Mad Max style.
Celestial Plane
The Celestial Plane is the most secluded and safeguarded plane of the five. Angels and other celestial beings mostly keep to themselves and only get involved with other planes and magical creatures to protect our plane from other races trying to get a foothold in the Mortal Realm.
Sightings of celestials are as rare as they are dangerous, since celestials only tend to leave their home plane to weed out magical races infesting the Mortal Realm. Mortals with an aptitude for magic are tolerated if they keep a low profile, but celestials will rather smite ten innocent people than risk letting a single demon get away, and magic users can easily get caught in the crossfire. If you're the praying type, pray you never encounter a celestial on duty.
Fiery angels of the Infernal Plane, who have devil lineage in their blood, show themselves more willingly, dealing retribution and threatening people with a good time.
Evernight
Evernight is the plane of shadows and home of nightmares. Where Arcadia is abundance, and the Infernal Plane is fiery passion, Evernight is cold and reclusive. Cities aren't non-existent, but they are few and far between, and within the darkness that connects them lurk countless monsters. The darkness of the plane is an uninhabitable miasma, and the cities act as beacons of light that repel the darkness and the monsters within, creating small pockets where people can persevere.
The cities of Evernight are footholds for magical races forsaken by their home plane, like dark elves and fallen angels, while the denizens of the plane reside in the shadows. Anyone who breathes in the cursed miasma will become cursed themselves, and anyone who is shrouded in the darkness will quickly become another monster of Evernight.
The monsters of Evernight are amorphous beings and nightmares that take on monstrous shapes that resembles that of other magical races. Harpies, gorgons, and slimes are native to the plane and among the few races of Evernight that have adapted to modern society and can be found in its cities and planes beyond.
Slimes are exceptionally malleable and curious monsters that early settlers would take as pets, not realizing that the sometimes harmless blobs were other settlers that had succumbed to the darkness. Slimes are adept shapeshifters who quickly blended with modern society, and like their harpy cousins, they are often barely intelligent and quite gullible.
Elemental Planes
The other planes from the Mortal Realm also double as elemental planes, where some of them are more obvious than others.
Celestial Plane: Air
Arcadia: Water
Infernal Plane: Fire
Evernight: Earth
Aside from the Fairy Wilds, Arcadia also has a vast ocean that is home to most aquatic magical races and creatures. Water is life, and the Fairy Wilds flourish because of the abundance of water on the plane.
The encroaching darkness of Evernight resembles the oppressive darkness of being deep underground, where the sun cannot reach, and the plane resembles a cold and mostly lifeless rock with treacherous grottos, caves, and chasms. Gorgons, basilisks, and other petrifying monsters are native to Evernight, which further underlines its elemental affinity with earth.
Phasing & Planar Jumping
All material things are naturally rooted in their home plane, but it's possible to jump planes by resonating with a different plane along the planar axis, which is similar to changing radio channels. Jumping planes is particularly difficult, and only the most exceptional magic users can do so without the use of powerful relics from the Celestial Plane or magi-tech favored by devils and demons.
Phasing is a weaker form of planar jumping that most magic users can achieve, where someone stops harmonizing with their current plane, similarly to how a radio channel can go out of tune. Phasing can allow someone to move through matter at heightened speed. In extreme cases, phasing can cause someone to appear as an apparition in a bordering plane.
Fairies and celestials are known to appear as apparitions in our world, though they will eventually be drawn back to their home plane, and their ability to interact with our world is severely limited while phasing. Devils and demons are unlikely to appear as apparitions in our plane, as the plane order means the Infernal Plane doesn't share a border with our plane. Instead, any devil or demon powerful enough to planar jump to the Fairy Wilds can just as well jump to the Mortal Realm.
Deities
Deities are beings with a higher level of consciousness and agency than mortal beings. Humans have a relatively high level of consciousness and agency relative to that of an insect, plant, tree, or stone, but compared to a deity, a human might as well be a plant or tree, that is to say, their level of consciousness and agency is incomparable, and much like how a tree or insect couldn't fathom the complexity of our thoughts and how we can reshape the world, so we cannot fathom the capabilities of deities.
All the planes, all magic disciplines, and every magical race were created by deities. Most deities have since left the world that is perceivable to us or keep to themselves, and Moira is among the few deities that take an active interest in mortals.
Moira & Fate
Moira has gotten a much more central role in the new PvE content and is no longer just a fortune teller that can read your fortune and divine prophecies, but is now a deity and the very architect of every run. Moira will present the player with choices and challenges, all the while tempting them with a simpler existence devoid of thinking and complicated choices, and it's up to the player to resist the temptation for as long as possible while navigating potential fates more lewd and perverted than the one before.
Some Deities
Deities of Arcadia:
Oberon, creator of Arcadia
Titania, mother of elves and fairies
Scylla, mother of mermaids and merfolk
Tiamat, mother of dragons
Circe, goddess of alchemy and witchcraft
Moira, goddess of fortune
Infernal Deities:
Vulcan, creator of the Infernal Plane and god of magi-tech
Lilith, mother of devils and demons
Deities of Evernight:
Erebos, creator of Evernight
Nyx, goddess of curses and mother of monsters and nightmares
The Mortal Realm is believed to have no deities (hence the name) and is thought to have been made by an unknown celestial deity. Celestial deities keep to themselves and have largely fallen into obscurity and legend. But their children are almost as powerful as deities in their own right and have been charged with safeguarding the equilibrium of the five planes and protecting the Mortal Realm from supernatural influences. So while their presence is nowhere to be seen, their will is very much present.
PvE Design Adjustments
Recently, I've read numerous adult novels to come up with ideas for PvE scenes, and I've also played around with some draft scenes that have led to some design adjustments that I think will improve the experience for players and authors alike.
Meta Scripting
Meta scripting, at least in this context, is the concept of writing what you intend to happen in a scene as inline comments, instead of having to write functioning code. PvE encounters have been designed from the start to have a simple structure with few branching points to make them easier to write, and I think it makes sense to allow authors to use meta scripting, where they tell me how they want these branching points to work, so I can implement the necessary code, and they can focus on writing compelling fantasies.
The documentation will still be available to authors who wish to have a deeper understanding of how scenes are programmed and what is possible, and I will add templates with and without meta scripting to help authors with different levels of programming experience.
Aine documentation: https://test.battlemageserotica.com/aine.php
Centralized Encounter Data
I also plan on changing where encounter data, like challenges and effects, are defined. Previously, challenges and effects were defined inside the scene script, which is a bad practice. It's better to have a centralized database of encounters, which is also how spells, items, skills, and other things work in the game. This way, all challenges and effects are collected in one place, instead of being spread throughout numerous scenes and files.
When data is kept separately, it's also easier to reuse effects across numerous scenes, and if data needs to be updated for any reason, it's easier to update than if you had to go through numerous scene files.
When authors have to define challenges and effects inside scripts, it also invites syntax errors and makes it more difficult for authors who have little programming experience. To make things easier on everyone, I will add an online form where authors can submit their intended challenge details with their scene script.
Tutors
Previously, I was thinking of having tutors appear in the room selection as an optional encounter that would teach the player a new skill or crafting recipe, but I've decided to instead integrate them into normal encounters, so there is one fewer room type to worry about.
I have since added books to the new PvE overhaul, which can be found while exploring the library location and teaches players new crafting recipes. Books are neat because they are easier to introduce than having to write up a scene with an NPC every time I want to introduce a new crafting recipe. This leaves tutors with teaching the player new skills, most prominently sexual skills.
Since there are a lot of sexual encounters planned already, I thought it made sense that players could learn these skills from performing sexual activity during normal encounters. But it's not enough to just perform the action; you need to do so with the correct NPC who will grant your character a given skill, and I can see it being fun figuring out which encounters and NPCs will grant you a skill when you do certain acts for them.
Ailments
I have made some changes to ailments as well. In the past, the idea was that players could avoid certain effects by stacking resistance or developing immunities, but with the new effect design, where players must select a detrimental effect at the end of each challenge, this no longer makes sense, since a player could just choose whatever effect they are immune or resistant to. Resistances and immunities will still play a role in PvP and PvE, but when selecting a given effect after a PvE challenge, it will always bypass any resistances and immunities. To make ailments more distinct, I have made the following changes to how they work.
Diseases
Players can contract a disease from other players and NPCs who suffer from the disease.
After a player has developed an immunity to a disease, selecting the disease after a PvE challenge will remove their immunity.
Diseases may progress when the player spends an action while alone or in a PvP encounter (with a cooldown), or when they roll a crit fail during PvE challenges.
Diseases attracted from another player won't become active until after the PvP encounter has ended.
Poisons
Poisons are stackable effects that become worse when stacked.
Players can become poisoned by attacks from other players (usually involving alchemy) or from selecting a poison effect after a PvE challenge.
Poisons can progress slowly, similarly to diseases, or they can be reapplied to speed up the effect.
Curses
Curses are effects that cannot be cleansed by spells (including Restore Self) or Hilda for as long as the player is wearing any hexed items.
Curses can be bestowed upon a player by another player, an item, or by selecting a curse effect after a PvE challenge.
Players can become resistant to curses, but cannot develop an immunity.
Sexual Challenges
I've been thinking about sexual challenges a lot too, and how they mimic other challenges too closely and I would rather change them up so they are more exciting and risky in nature:
Sexual challenges are automatically failed at Max Lust or if an effect causes the player to orgasm during the challenge
Entering a sexual challenge with Max Lust will immediately fail the challenge
Crit fails during a sexual challenge will always deal a flat 10% Lust
Rolling 3 crit fails will immediately cause Max Lust
Players cannot sacrifice health to make up for missing successes, and must attempt to reroll dice until they can roll enough successes or double success to win the challenge, without rolling enough crit fails to hit Max Lust
I think this design better reflects a "race to who comes first" scenario, which will be a fitting alternative mechanic for sexual challenges. It also makes it inherently risky and less viable for players to take sexual challenges early in a run, which makes it easier to balance natures. Conversely, if you're looking for a short doomed run, pick sexual challenges from the beginning!
Selecting Challenge & Approach
While coming up with drafts for scenes, I also realized how incredibly difficult it is to write different challenge approaches to the same scene setup, and have them make sense. How exactly do you create a setup where it makes sense for the character to choose between Brawl, Medicine, or Anal? —The simple answer is, you don't! Instead, the player selects what ability they want to use (among the options available), and then the scene plays out in a way that makes sense for their character to use the selected skill.
Moira has been given a more central role as the architect of every run to make this level of intervention on her part possible. With the player's input and dice rolls, Moira decides the fate of their character and how the scene plays out. Players will still get an introduction to a scene before they are given a choice of what skill to use, with a hint of how each choice will affect the narrative. After making their choice, the scene continues until reaching the challenge, which will determine how the rest of the scene plays out. The prominent difference is that the player doesn't just choose how their character reacts to the scene; they decide the actions of NPCs and events leading up to their character's reaction, so their reaction makes sense and might even seem inevitable, given the circumstance.
That's it for this month's dev log!
Lore dumps have always been a rare treat that I know some of you enjoy, so I hope you're happy with all the details of the world I've been baking over the past few months. I think having my head out of the game's code for some time has helped me get a better perspective of the game's world and what I want the narrative experience to be. Sometimes, you're so busy running fast that you lose sight of where you are going.
There are no meaningful changes to what has already been implemented, which is fortunate, but I'm also not so insane or self-destructive that I'd begin to overhaul my overhaul! I believe strongly in the direction the game is going, but these adjustments will save time in the long run and improve the player and author experience. And now that I have a better fundamental understanding of the world, it'll be easier for me to write scenes that enrich the world.
Thank you all for sticking with me through these months. It's been a long time since I've given you a proper update, and I'm grateful to everyone who stuck this out with me ❤️
I usually try to write up dev logs in a day or two, but I couldn't even find that little bit of time. I've been piecing this dev log together over the past month, and this weekend I was finally able to finish it! I still have a few things I need to wrap up before the job is done, but I cannot do them by myself, and while I've been blocked by other people, I've already started getting back into developing Battle Mages!
I'll share another dev log in the coming month, where I'll let you in on some of the PvE encounters you can look forward to ❤️
XOXO,
Tinon