Development Update: Running and Map Generation

Game Update

So, I’ve finished the Serenity Crater event sequence. I’m currently waiting on some images from Chickenwhite and I need to fix up some bugs in the cutscenes, but it’s playable start to finish even if there’s no enemies in the area. I’ll probably clean up the bugs and do balancing work this week.

Chicken has finished the Golem transformation images and is now working on the enemies in the Serenity Crater area. It’s not just Darkmatter Girls!

Hund is working on the last two combat animations I need for our prototype purposes. There are lots more to go, but these are for damage types that aren’t in the game yet, like Crusading and Obscuring, so we don’t need them immediately.

Urimas has been working on the running animations. Look below!

Running Animations

WerecatRun.gif

GolemRun.gif

Here’s the running animations in action. Your browser will need to be able to play animated gifs, so sorry for that, some mobile users.

Urimas is most of the way done the running animations. A few of Christine’s forms need to get them still, all of Mei’s, 55’s, and Florentina’s are done. These animations will be in v1.05 and Prototype 5-2 when they come out.

Random Level Generator

So I’ve mentioned that the next thing on my work list is the Tellurium Mines. This area is unlike the rest of Chapter 5 in that it is randomly generated by floor. You’ll be doing a lot of quests and subquests in the mines for the Steam Droids, or you’ll be doing them for Regulus City for work credits. Either way, there’s lots to do in the mines.

I’ve started work on the level generator. It’ll take a lot of work to get it making nice levels, since Pandemonium can build fairly complex enemy patrol routes. I’ll probably do a Design with a Grain of Salt post on the random levels when I get a bit further along.

RandomGenerator.png

This is the start of the room-and-tunnel generator. The mines will have several generators to pick from, this one is fairly similar to the NetHack style of generating rooms and then linking them together.

Prototype 5-2 Objectives

Here’s what my objectives are for Prototype 5-2 and Chapter 1 v1.05. When everything on this list is checked off, it’s release time baby!

  • Serenity Crater (Mostly Done)
  • Tellurium Mines (In Progress)
  • Text Adventure Subquest
  • Golem Transformation images (Done)
  • Latex Drone Transformation images
  • Enemies for Serenity Crater (In progress)
  • All running animations completes (In progress)
  • New UI Overhaul (In Progress)
  • Eldritch Dream Girl Transformation (Text only, no images – Mostly Done)
  • Work Credits System implemented and balanced
  • Next balance pass of Chapter 5 (In Progress)
  • Darkmatter Girl Transformation (Text only, no images – Being Edited)
  • Electrosprite Transformation (Text only, no images)
  • Steam Droid Transformation (Text only, no images)

I’m not putting a time estimate on Prototype 5-2 at the current date, because I want to get the mines and text-adventure modules in. I had originally wanted just Serenity done, but since the Patrons voted for more significant updates, we’ll be doing all three of the side content areas for the next prototype.

Argue about this post on the forums!

Support the project on Patreon and enable my squid addiction!

Coding With a Grain of Salt: Ray Tracing and Blockmaps

What the hell is ray tracing, and what the hell is a blockmap?

Ray Tracing is the coding technique used to figure out what can be ‘seen’ from object to object. If you’ve ever played a first-person shooter, you’ve experienced a ray-tracer, because that’s how the game determines what parts of the map you can see and what parts you can’t. Objects in the foreground prevent you from seeing what’s behind them.

Ray Tracing is simply tracing a ray. A Ray is a geometry concept, it’s a line that starts from a point and travels in a direction until it hits something. In strict geometry, rays don’t hit things, but in our code they sure do.

Oh, and this would more accurately be called a ‘line-segment’ as opposed to a ‘ray’, because these have a definite end point. But since the code can be generalized to rays and ray sounds a lot cooler, I’m using ray.

Pandemonium uses ray tracing to figure out if an enemy can see you, the player. If the enemy can, they will chase you and trigger a battle. So it makes sense that they wouldn’t be able to see you through walls unless they have x-ray vision.

RayTraceA.png

In this image, I have enabled Mei’s visibility cone to simplify things. The yellow area is what she can ‘see’ while the red polygon represents what she’d be able to see if the walls weren’t in the way. The red arrows are rays, and they collide with the blue lines which represent collisions.

Pandemonium does not simulate verticality. So, enemies cannot see over the water, because they can’t chase over the water. It’s one of those design decisions that makes a lot of sense from a gameplay perspective but not from a reality perspective.

Okay, so what’s a Blockmap?

Raytracing is computationally expensive. In order to see if a given ray impacts a line, we need to run the line-intercept function. It looks like this.

I sincerely hoped you enjoyed that link.

The line-intercept function must be run for every line in the entire map against every ray you want to trace. For Pandemonium, every viewcone is about 120 rays. You can customize the accuracy in the options menu if it causes slowdown. 120 is just a good middleground number that looks nice without being too intensive.

So, if there are 600 lines in a map, and 120 rays per viewcone, then that’s 72,000 calls of the line-intercept function for every entity with a viewcone. 600 is not an unreasonable number of lines, and some of the larger maps have thousands of lines. This gets expensive, quickly.

It sure would be handy if we had a way to only check a ray against the lines it could reasonably impact, as opposed to every line on the map. The rays are short and always focused around the same spot, so an optimization would mean instead of checking against 600 lines, we check against 10.

This optimization is called a Blockmap.

What does a Blockmap look like? How does it work?

Blockmaps simply sort the lines on the map by where they are.

RayTraceB.png

Here we can see a crude overlay which shows what a blockmap might look like. The vertical lines are labelled ABC etc, while horizontal lines are 123 etc.

Block 1-1 contains lines A, B, C, D, 1, 5, and 6. Any line which touches the block at all is considered to be within it. This can be determined with a simple line-intercept function call, and only needs to be determined once. That is, I can compile this data into the map and it never needs to change. Block 1-1 always has the same set of lines in it.

There are 16 vertical lines and 16 horizontal lines visible in this image, give or take the edges. That’s a total of 32 lines. If I had a ray that started and ended in Block 1-1, then I would only need to check 7 lines.  That means the Blockmap speeds up raytracing by about 500%. Five times faster for a simple bucketing algorithm, pretty impressive!

If a ray starts in one block and ends in another block, all you have to do is check all the blocks it hits, which can again be determined via either a line-intercept function or a point comparison. Simply check which block the start point and end points are in, and check those blocks as well as any blocks between them. For a short ray like the one in this screenshot, a ray can be in as many as 3 blocks, which is still considerably faster than checking every single line on the map. The algorithm becomes faster the smaller the blocks are, up to the point where the blocks are so small that the algorithm spends too much time figuring out which blocks the ray touches and not enough checking line impacts. It’s up to the coder to figure out the optimal size, but in Pandemonium it’s about 3-4 tiles squared since the majority of collisions in the game are big square right-angles.

Bonus Optimization: Duplicate Line Check

When a blockmap gets really small, the same lines start to appear in many blocks. It’s theoretically possible for a line to be contained in dozens of blocks, though that doesn’t happen very often in Pandemonium. When iterating across the blockmaps, checking the same line twice is just a waste of speed. What do we do?

The blocks contain references to the lines, which are stored in a single master list. To prevent duplication, we can use a unique ID system.

Every time a ray begins a trace, increment a variable, called mRayPulse, by 1. Every line in the map likewise has a variable, mLastRayPulse, indicating the last pulse they were queried by. When a ray checks a line, set the line’s mLastRayPulse variable to mRayPulse. If the ray goes to check a line, and the line’s mLastRayPulse variable is already equal to mRayPulse, it was already checked and we can ignore it. Thus we avoid all duplicate line checks.

We can also optimize the algorithm a bit by shortening the ray after each impact. Finding an impact is not enough, we need to find the shortest impact, otherwise entities would still be able to sometimes see through walls. Each time the ray impacts a line, we shorten the ray. If a ray going from Block 3-3 to Block 1-1 gets hit in Block 2-2, there’s no need to continue checking Block 1-1 since it has already hit something in between. This doesn’t save much processor time but is certainly worth mentioning.

Can we optimize this more?

Yes! However, it probably isn’t necessary in this case. Blockmaps with a duplication-proof pulse checker are ideal for short rays, such as the kind used in Pandemonium. Rays that are very long, however, are a different species altogether and won’t work with a blockmap.

For very long rays, you need a tree sorting method. If you’ve ever played Doom, Quake, or Half-Life, you’ve played a game that uses one such method: Binary Space Partitioning. This is where all the lines in the level is split into two (hence the term binary) and the two halves of lines are then further split down recursively until all the lines are isolated. The more advanced methods, Quadtree and Octree, do this same technique but use a different splitter to break space into four or eight parts instead of two. The basic principle is the same, though.

A BSP has the advantage of being fast for an arbitrary set of lines and line lengths, while also not taking up much RAM. Blockmaps are very fast for short lines and take up a fairly large amount of RAM relative to their contents, but for long lines they tend to check way too many extra lines.

I will probably do a post on binary space partitioning in the future but for now, this post is long enough and got its point across.

And for all those of you who don’t care about blockmaps but made it to the end of the post anyway: Congratulations!

 

 

 

Development Update: April 23, 2018

Yes, I know I promised a Coding with a Grain of Salt this week. I got called into work. It’ll be up Wednesday. Damn it.

Coding

Serenity Crater is completely mapped and 50% scripted. I decided to add more world stuff to examine and characters to talk to, really brings the place to life.

I’ve also added automated texture atlasing to the program. It only actually applies to the sprites. The atlasing is not meant to improve VRAM usage, it’s meant to improve loading speeds, which it does only in the case of sprites. It also improves rendering speed, but Pandemonium has never been rendering speed choked.

I can’t do statically sized atlases because the texture size is limited based on the user’s graphics card and I don’t want users on older machines to have problems. You have to toggle atlasing on, and it only boosts loading speed by about 0.4 seconds. That adds up when you’re like me and run the program 100 times an hour, but I expect only users on older equipment will notice more than 1 second gain.

Art

Hund is working his way through the combat animations. They’re starting to come together. I’ve also updated the combat sound effects using stolen borrowed sounds. They make combat a lot more fun to observe, and it flows much more nicely.

Chicken is most of the way through the Golem TF, and also got us some updated Mei Zombee sprites. The new UI requires full-sized portraits, and Zombee never had one (because Mei cannot enter combat during that sequence). Well, now she does. Patrons will get to see it.

Urimas is currently working his way through the running animations. I’ll be posting some gifs of those next week. They look pretty darn great and really make the game come alive.

Other Stuff

I’m going to outline my project targets in next week’s post. No, we won’t be doing Prototype 5-2 this month, it will probably be in May.

Argue about this post on the forums!

Support Pandemonium on Patreon and enable my squid addiction!

Prototype 5-1 Poll Results

Project Update

So before we get to the poll, on the coding front I’ve added the backend for the new animations and updated some of Chapter 1’s scripts to use the new formats from Chapter 5. I got a lot of great bug reports from Prototype 5-1 and I’ve sorted those out. I’m also about halfway done the mapping for Serenity Crater.

Chicken is about halfway done the Golem Transformation sequence, which is about 3x longer than the usual TF scene entirely at her insistence. After reading what we had written for it, she wanted to make it longer and more detailed. Hooray.

Hund is currently working on the combat animations. I’ve got some alpha versions in the engine and I can tell you they make combat flow much better.

Urimas is currently working on new animations and tiles for Chapter 5. More on that in a later post.

Poll Executive Summary

(An executive summary is where you write all the conclusions at the top. It’s named for executives at businesses who don’t have time to understand useful things and need to make descisions based on hearsay, rumour, instinct, and other things that are well known for being wrong and stupid. You know, like executives.)

Prototype 5-1 was well received, we’re going to be doing more like it in the future, we’ll be focusing on more new content in infrequent and irregular releases, and everything is on track without need for major changes.

Now let’s get into the nitty gritty.

Prototype 5-1 Poll Results

Prototype51Question0.png

So this is about as expected. You can’t please everyone, but I’d be really worried if I got several “It was awful”‘s in there.

Prototype51Question1.png

Also about as expected, as I received a lot of feedback that the early areas were too difficult. Overall, the main story stuff should be easy-medium, while optional content should be medium-hard. So, the next prototype will tone down the early areas a bit as well as adding items to use that will make things easier. The chapter will slowly increase in difficulty as it goes.

Prototype51Question2.png

I’m assuming that the “needs work” crowd will be satisfied when the images for this sequence come online. I also think it needs to be a bit briefer (it’s easily the longest sequence in the game so far) and have a more sexual overtone.

Prototype51Question3

A similar result here, but more player’s didn’t know about the form being available as a bug in 5-1a prevented the cutscene from firing. If you’re one of those people, you can activate the cutscene from the debug menu.

Prototype51Question4

This is the desired result. Equinox is an optional area and the final boss is meant to be quite difficult, even if you know the correct strategy. I’m still going to be changing things a little bit (mostly on the final boss) but I’m happy with the results here.

Prototype51Question5

Another desired result, we have plans for several new sequences. Since they’re entirely optional and nobody really hates them, adding more can’t hurt.

Prototype51Question6.png

I was surprised that as many people thought it was too long as they did. I could probably cut one of the scenes without losing anything crucial, and perhaps allow it to be re-enabled as an option somewhere in the chapter.

Prototype51Question7

Well it seems those poor minigames won’t be getting any love until much later, ha! I expect people will want to see them improved once the Work Credits system is in place, but for now they want more forms, more areas, and more monsters.

I’m still going to be doing the rebalancing work, in fact half of it is done, but the optional areas are the next on the list.

Prototype51Question8

Phew. I was really worried this chapter was going to be way too sad and serious, but it seems that I hit the mark.

Starlight Team Steering Survey

TeamQuestion0.png

So it seems less frequent prototypes won the day here. We’ll probably stick along the current pattern of having several new features/areas completed between prototypes. Since nobody wanted fixed release schedules, it’s up to my discretion when to release stuff.

TeamQuestion1

This is where the polls aren’t too helpful, as the results are nicely split along less-testing, more-testing, and the current level. I’m still thinking I should allow myself a few extra days of testing before each release, because there’s some really humiliating bugs in these prototypes and I feel bad as a coder for letting anyone see that.

TeamQuestion2

Or: How to Read Statistics, With Salty. While it appears that “No, wait for the full release” won, it actually lost. The other 4 categories are all “Yes, after X time”, so 70% of the respondents think the prototype should go public at some point and are just divided on exactly when.

In this case, I’m thinking 1 month is about right. I won’t change the release schedule immediately, but once Prototype 5-2 comes out, the public will get access to it after 1 month.

TeamQuestion3

Congratulations, voters, because now I will probably alternate process videos in with concept art releases. It will likely be 2 concept arts for every 1 process video, assuming both are in equal quantity.

TeamQuestion4.png

Monday it is!

TeamQuestion5.png

So you want more transformations? Well you’re gonna get it! I’ve already taken this suggestion and modified one of the later sections of Chapter 5 accordingly.

TeamQuestion6

Interesting fact: People either prefer one of the group, or all of the group, but not two of any of the group.

And if you’re the person who said none of the above:
😦

Summary

So there’s the poll results. A lot of “keep doing what you’re doing”, some changes, and a lot of love for goats. As it should be. Now back to work.

Argue about this post on the forums.

Support the project on Patreon.

300$ Patron Update Spectacular!

Mei_Anniversary.png

Cover art by possible genius agrochemist Rune MFB!

That’s right, we passed 300$ in contributions

Counting all income sources (including patrons who donate via Paypal), Project Pandemonium just passed 300$ USD. In case you’re wondering, the pledge number on the Patreon page doesn’t reflect the correct value since it seems to ignore fees and the amount I’m pledging to other creators. It’s kind of crap.

To celebrate I got noted artist Rune MFB to cook up this special Slimey-Mei image! He wanted to make something special, so he did a partially transformed Mei. I think he has a thing for slime girls.

First Big News Piece: New UI in Development!

ItsHim.png

Status Screen Concept by CocoMint

After 8 long months, I finally managed to convince CocoMint to help develop us a new UI. And not a damn moment too soon, as the old one was getting quite gamey.

I expect this UI will be finished before the end of April and implemented into the engine. When that happens, a new release of Chapter 1, v1.05, will be released to the public with the new UI in it. No new content, just the new UI. I will also try to get Prototype 5-2 up around that time for Patrons to see new content and the new UI around it.

Second Big News Piece: Major Update to Viscones

Okay so maybe this is great for huge nerds like me, but I got around to updating the code to use dynamic viscones instead of the fixed versions.

Dynamic Viscones.png

You can now see exactly where you need to stand to avoid enemy sight lines. I still need to do lots of optimization and bugfixing, but the system works and runs smoothly. This is one of those things that’s been bugging me since I implemented it back in v1.02 (I think).

I’m not going to get too hung up on the complex geometry (such as the barrels there having square collision hitboxes) because that’s one of those things that takes a lot of time but doesn’t yield a huge reward.

There will be a Coding with a Grain of Salt later this week or next week going into detail on how I made this system work. It involves blockmaps and might involve binary space partitions, so all you huge nerds will probably love it!

Third Major News Piece: Patron Polls in Place

If you’re a Patron, please head over to the Patreon to fill out the Prototype 5-1 feedback survey. And, if you’re a 5+ Patron, fill out the second Starlight Steering Survey, which includes things like how often we should release prototypes and how much my music selection sucks.

Fourth Major News Piece: April Budget Statement

Like all good news outlets, I bury the important news at the bottom. The April 2018 budget report is now out for everyone to marvel at. Yes, Chapter 1 and Prototype 5-1 are what we could do with 2000$. I’m just as alarmed as you are.

Everything Else

Coding work is mostly going to be housekeeping stuff for a little while. Now that Prototype 5-1 is out, I’m going back through all the stuff I had to put aside and putting that in. Viewcones and UI are some examples, but there have been minor bugs I’ve been wanting to get to for ages.

The artists are doing their usual thing. I’m told we should have the combat animations this week and the map next week. First TF sequence will probably be this week too.

Argue about this post on the forums!

Enable my Squid Addiction on Patreon!

 

Development Update: April 2nd, 2018

squiddylarge

Coding Stuff

I’ve spent most of the previous week working on another project, which launched on Sunday. I’m taking a few days off because working every day for 2 months has taken a bit of a toll.

If you’re interested, the project is on itch.io and can be downloaded for free. I did the engine work, and my associate did the art and the writing.

Art Stuff

Hund is working on the map and damage animations, Chicken is working on TF art. We’re also getting a new UI in the next two weeks. I’ve been trying to badger Cocomint into making a new UI for about 8 months now and it’s finally happening.

Future Plans

Next week will be a special post to celebrate a recent milestone on Patreon. I will also be putting up two polls for Patrons. One is a feedback survey for Prototype 5-1, and the other is a steering poll. Do you want more frequent but less polished prototypes? What area should we be focusing on next? The poll will decide what we do.

For the moment, the next two weeks will be spent working on getting the new UI in. We’ll probably have another round of prototypes later this month based on the progress I make once I’ve recovered a bit.

There will also be a budget report next week once all the Patreon funding gets settled. It’s been a lot of hard work but everything is going great.

Argue about this post on the forums.

Support the project on Patreon.

Development Update: March 26th, 2018

Prototype 5-1 is now going out to Patrons

Yes that’s right, after four months of waiting, Prototype 5-1 is out. I killed myself getting it done, and the artists barely helped likewise put their all into it.

If you’re a patron, then head over to Patreon and check your inbox. We’ll be using a new system this time, with a static page that has prototype access as well as updates when patches are released, instead of me having to spam you.

If you’re not a patron, you should be, because then you’d be playing Prototype 5-1, genius. You’ll also be supporting the game’s development, of course.

In other news, there will be two polls in the next two weeks for 5$ patrons. The first one will be an opinion survey on Prototype 5-1, and the other one will be a “Settings” poll. I want to know if the patrons want more regular but rougher prototypes, less-frequent but nicer prototypes, and what I should be focusing on for the next prototype.

Patrons, bug reports go on the forums. Remember to put spoilers on plot stuff!

Development Update: March 19, 2018

One Week Remains

Yes, Prototype 5-1 will be coming out for Patrons next week. I’m trying to get all the little things in that I wanted, such as properly balancing the Equinox boss battles and putting in treasure to find instead of just enemies. I don’t know how much will get in, but I think there should be more than enough for the Patrons to test and report on.

Hund will be working on some damage-type attack indicators. Presently we have two, Attack and Debuff. I want one for each of the damage types (Slash, Pierce, Strike, Fire, Ice, Lightning, etc.) so you can tell at-a-glance what you’re getting hit with. These may or may not make it into 5-1. I’m also not sure if the map will, might have to use a simplified map.

New Feature: The Combat Inspector

CombatInspector.png

I’ll get you next time, Combat!

The Combat Inspector was a feature requested by… I forgot who. Someone asked for the ability to see more detailed information in combat. This was back during chapter 1’s development, but I didn’t have time to get it in. Well, now it’s here.

The Inspector can be brought up by pressing F1 during your turn in combat. It lets you see enemy statistics and resistances, as well as what buffs/debuffs are currently affecting them and the threat rating for your party. It also shows the caps for the various effects and how long each effect will last.

It’s rather rough looking but it does its job. It actually didn’t take as long to implement as expected since it borrows 70% of its code from the Status menu.

Anyway, Patrons should get psyched about the prototype next week. I know I’ll be psyched for the long list of bug reports I’ll be getting…

Design With a Grain of Salt: Enhanced Mode

Mockup

Yes, that’s right. Enhanced Mode. Check out this mockup I made. Yes I know the radar is totally wrong, it’s a mockup.

What is Enhanced Mode?

For those of you just joining us, Hop:Remastered originally started as a project to… remaster… House of Pandemonium. I think that’s obvious. But that job was completed after about 8 months of on-and-off work. Classic Mode is that, and it’s pretty close to the original but with more options and the bugs fixed.

Naturally, as soon as this job was complete, everyone wanted me to keep going. Add more features. Add new characters, new monsters, new stuff, new modes.

The scope got pretty big. There’s a lot I want to do with this, so much that it’d be so different from Classic Mode as to render them essentially different games. Hence, I started calling it Enhanced Mode.

Why are you making Adventure Mode first? Isn’t Enhanced Mode simpler?

Hey, this isn’t an FAQ.

But, yes, Enhanced Mode is simpler. But I want it to be more graphically interesting, and the creation of new characters and monsters requires art assets to match. So, the full development of Adventure Mode will also give me a full set of assets for Enhanced Mode, plus a much deeper lore and excuses to put in all kinds of extra features. Plus making Adventure Mode is a blast and so much fun you guys.

Let’s talk about the design choices.

Enhanced Mode is basically Classic Mode but with more monsters, features, ways to play, and other options. It is, in a word, enhanced.

When making such a thing, there are so many things you can do to improve the original that you essentially need to prioritize them. Identify what’s wrong with the previous version and fix it, and then add things to improve it. When doing this you must weigh them according to criteria. Here they are:

  1. Accessibility. The more complex a feature is, the harder it is for players to wrap their heads around it. Keep it simple, stupid.
  2. Cost to Benefit. The harder something is to implement, the more other stuff could get done instead. If something is really hard to code and has minimal payoff, skip it or redesign it.
  3. Asset Cost. Sprites are pretty and line-art is superb, but it costs artist time. Text is cheap but doesn’t look as nice. Combine the two with an eye towards using the player’s imagination, but never skimp on art. Just get the maximum possible use out of it. Don’t make a pretty portrait and then use it for one tiny thing most players won’t even find.
  4. Raw Fun. Once it’s in the game, test it. If it’s not fun (and you’re not making an art house game like Spec Ops or Papers Please), cut it or redesign it. Don’t put things in your game that aren’t fun.

Good designers are constantly taking shortcuts and doing little redesigns to get the most out of their limited time and asset budget. If you’ve played Adventure Mode, have you ever noticed how all the furniture in the game is on the northern wall of the building?

PitStop

It’s not impossible to make furniture on the south wall, but then it’d be partially obscured by the high walls. This violates rules 1, 3, and 4 above. It’s more complex for the player for no real reason, it means I have to get my spriter to make twice as many tiles, and it certainly isn’t fun to guess if that’s a bookshelf or a foodshelf when I can’t see it because it’s facing the wrong way.

So with that, let’s take a look at some of my plans for Enhanced Mode.

Some of my plans for Enhanced Mode

Let’s start with the simpler stuff.

Armor, Weapons, Accessories

There’s a variety of new weapons available in the game with parallels from Adventure Mode. In the mockup, you can see that Christine is armed with an Electrospear, which is a powerful weapon that deals extra damage to robots and aquatic monsters.

Armor will also be in Enhanced Mode. Armor uses a degradation system. If you get hit while wearing armor, it takes the hit for you and loses HP. It breaks when its HP reaches 0. Some armor can be repaired, some regenerates HP over time, and some provides extra benefits like a defense bonus or speed bonus until it breaks.

You can also pick up accessories, like rings, amulets, and other bitties. These provide status boosts, with a chance to be cursed and have a malus or turn you into a Rusalka.

When playing as a monster, you can use weapons and armor. AI-controlled monsters typically spawn with theirs equipped already or use their bare hands and instead have higher stats. You can therefore help your allies by giving them your equipment if it’s better.

Levels and Statistics

That’s right, in Enhanced Mode, you can gain experience and level up. Your character gets stronger with each level, but groups of monsters can still take down a high-level character. The other humans on the field also level up, but the AI monsters don’t. It can therefore be a good idea to keep high-level humans… human. Because if they get transformed, they’re going to be very tough to take down.

Each of the six playable humans also has special abilities they learn as they level up. Each one thus plays differently. Sanya is very good at defeating high-health high-defense enemies with her powerful attacks, while Jeanne can learn to heal herself and summon weapons and armor for her teammates (and throw fireballs, but every mage does that).

Special Abilities

All monster forms come with special abilities, and there are more that can be learned in other ways. For example, all characters can learn magic spells if they find a scroll, though Jeanne’s are more powerful than the rest of the cast.

Special abilities usually cost Willpower or Stamina to use, though some are free. Most of them also have attached cooldowns where they cannot be used again for a few turns. Finally, some require combo-points which build up in combat and decay if there are no hostiles around for a few turns.

If you’re familiar with Adventure Mode, many of the special abilities are the same ones present there. Mei learns Rend to deal damage-over-time, while Alraunes can use Regrowth to recover their health.

Factionalism

Monsters are divided into a series of factions, based on their origins. These are (at present): Humans, Forest Creatures, Aquatic Creatures, Desert Creatures, Angels, Demons, Fey Creatures, Machines, Undead, and Eldritch Abominations.

The monsters are looking for recruits, and do not take kindly to other monster groups taking their catches. Different factions of monsters will fight amongst themselves for the human prizes, a fact which the humans can exploit. If you’re being pursued by some monsters, try fleeing towards other monsters of different factions.

Of course, when you become a monster you will be under similar pressures. They will attack you outright, sabotage your allies, and try to steal your equipment and human victims.

Each faction has several monsters that belong to it. For example, Alraunes, Slimes, Werecats, and Bees will work together as they are Forest Creature types.

Invasions and Bosses

Periodically, an ‘Invasion’ will be triggered. A portal will appear somewhere on the map and a group of monsters of the same faction will spawn out of it, along with a boss monster. The boss is a very tough monster, and is sometimes a named character from Adventure Mode. The portal will spawn reinforcements periodically as the monsters stream into the map, and the only way to shut the portal down is to deal with the boss monster guarding it. Of course, doing this will net you a lot of experience and possibly special items.

If you leave the portal too long, it will close on its own. This is bad, though, as the boss monster will then start wandering the mansion. Any allied monsters it finds will start to follow it in a retinue and they will probably curb-stomp anyone they find. Deal with the portal before this happens! Or, you know, don’t.

Faction Orders

You can set orders for your faction, which is very useful if you want everyone to group up. AIs of your faction will follow the set orders to the best of their ability. These orders include ordering your faction to group up with you, to spread out and search for targets, to stay together but periodically break off to look for loot (the AI will run to the group if they encounter a hostile), or to move to an exit point and leave the map.

Multiple Maps

Enhanced Mode has an option to allow you to leave the map and move to a new one. You cannot do this as a monster unless all humans have been cleared from the field. If you do this as a human, you will actually take control of another human on the field until they have all left the field for a new map. Most maps have one exit point, some have more.

Items spawn in logical places. You will often find armor and weapons in an armory, and potions in an alchemy lab. When playing with multiple maps, items will not respawn and instead will only spawn in new maps. Therefore, your team needs to move to new maps to keep finding new goodies. However, each time you leave the map, monsters will start spawning at higher levels. You’ll have to weigh the costs and benefits.

If you’re entering a new map as a monster, you will have to track down any escaped humans on the map. You may also keep a retinue of up to 3 other monsters with you as you go.

Victory Conditions

It’s now possible to actually win in Enhanced Mode! To do this, you must journey between several maps and locate six runestones. If you enter a map with a runestone, you will receive a notification and not be able to move to the next map without it.

The runestones have special properties attached to them, making them powerful items in their own right. They can also purify their associated human, turning them back into a human from a monster (each human has a color and symbol associated with them. Mei is grey, Sanya is red, Christine is violet, etc.). If you are on a map with a runestone but the bearer was transformed, they will spawn as a monster on that map and you’ll have to track them down once you find it. If the character gets transformed again, they will flee and you’ll have to find them, and their runestone, on a future map – assuming you make it that far.

If you become a monster, your goal is to track down and transform all remaining humans. After that, you ‘win’, and presumably go do monster things or open a pizza parlor or something.

That’s enough for now

I think I’ve rambled about Enhanced Mode enough for now.

I don’t intend to develop Enhanced Mode until we’re at least 2/3rds of the way through Adventure Mode, and it’ll be up to the Patrons to decide what my priorities are.

If you have good ideas for Enhanced Mode (that fit those four criteria above) and want to discuss it, we have a forum for that. Do that. I have a pretty long track record of implementing suggestions I get from patrons and forumgoers, so what have you got to lose?

Development Update: March 13th, 2018

(Because I took a nap and now it’s after midnight, oh no!)

Prototype Status (And Bad News)

Due to unforeseen/unforeseeable issues, Chicken believes she will not have all of the transformation art completed in time for the prototype. We may have one of the sequences done, but not the other. Sad.

On the other hand, all of the cutscenes are done and fairly polished. I need to do a lot of balance testing, adding examinables, and adding treasure, but the prototype is now fully playable with no placeholders all the way through to its conclusion. The only main area that needs new balance testing is the eastern side of the LRT facility and the Equinox boss battles.

I had to add some code to the combat engine to handle threat and internal states. It’s fairly rough looking right now, and it’s hard to target friendly party members with the current interface. If I have time I will try to fix that before the prototype goes out.

The minigames will probably not have time to get polished before the prototype. They’re playable but they’re not all that fun (from my perspective) and don’t provide work credits. For the purposes of the prototype, I’ll probably just provide some base work credits and let you do a subquest to get the rest.

Otherwise, everything is on track for the release on the 26th.