Progress Check, New Gameplay Footage
Recently we suggested the idea of doing a general progress check: where we take stock of the game’s features, assets, and discuss what’s still left to do. So here we are - with two new videos, to boot! :)
This update should hopefully clue you in on how far we’ve come, how the game plays, and some of the challenges that have resulted in delays. Last week we also launched a discord server, aimed at providing greater access to the devs and the community (we also use it for co-working).
Come join us! discord.gg/csWumEn (Guidelines apply.)
Scenario Sneak Peek
As you might have heard, Matt (Leth) will be taking a greater role on the project moving forward. As a result of this, he’s not been completely up to date with some of our more recent progress.
In this series we’ll be guiding him through a work-in-progress portion of the game - discussing what’s left to do, planned and existing features, and so on. Enjoy!
* Note: As we mention in the video (and the post below) there's still a lot to do, and this area is still a work in progress. :)
Test Room - Movement, AI, Drop-through blocks
In our second video, Joe and Matt discuss the recent movement and AI progress. In particular, we’ve been working on adding a greater variety of ground blocks, including drop-through tiles and ramps, to spice up level design.
If you’re interested in seeing the problems posed by coding a 2D RPG with live followers - take a look. :)
Hope you like our developer-room aesthetic!
Features Check (Spoiler free)
As promised, here’s a breakdown of progress so far - system by system.
Playable Characters - Witchmarsh features a large number of playable investigators (12 planned). Each investigator has a large number of animations to keep the game interesting and readable.
Progress: 8 characters are currently fully-functional, although some of them are missing a few low-priority animations. We’re happy to leave the number at eight for now, as we prioritise more urgent content and systems.
Environments - As we’re keeping this spoiler-free, we won’t be listing any environments that haven’t already been revealed.
Progress: The tilesets for the city, marsh, crypt, eldritch tunnels, coastal areas and a few unique locations are in-game and functional. These tiles will be used to make up a good chunk of the levels in the final game, however, we still want to add unique set-pieces and rooms where possible. Adding interior locations to the town is also something we still have to do.
Our new dynamic background system for outdoor areas is currently only featured in the beach area (seen in the video above). We still need to update the other outdoor areas in the game to feature this.
Abilities/Magic - The ability system used for magic is functional as well as universal; this means that in theory you can take any spell used by an enemy, and give it to a player (and vice versa). Right now there are 6 ability types:
- Direct damage spells: Fireball, etc.
- Status effect spells: Acid Arrow, Curse, etc.
- Healing spells.
- Physical abilities: Smashes/jabs.
- Some special abilities designed for specific enemies.
- Gadgets: Items which replicate a spell (used by the Technician).
Spells can also backfire or ‘fizzle’ striking nearby team members. It’s a great system, but we haven’t reached the variety or quirkiness we’d like. Abilities also don’t scale with your attributes yet (more on this in the attributes section).
Exploration/Secrets: Travelling around from map to map is done. The world travel map isn’t, but it uses code we already have in place (allowing events/UI choices to take to you specific levels based on choices.) The artwork for the world travel map is complete, minus a few setpieces and locations (ruins, caves, villages, etc).
Progress: Searching for hidden items is functional, and is based on attribute/skill checks. It’s a great way to add replayability to old levels, as well as rewarding players who bring along an ‘explorer’ type character. Loot containers (including hidden ones) are in, with fixed/randomised items. The team can also rest, recovering HP, MP and Stamina - albeit with placeholder visuals.
Enemies: As mentioned earlier, the universal system that governs characters also applies to enemies. Enemies and NPCs drop whatever’s in their backpacks when they’re defeated - we’re aiming to add some new features soon which build on this (pickpocket, disarm weapon, etc). One of the great things about this feature is that a skeleton overloaded with loot will be more of a threat in combat - while also giving you a greater reward.
Progress: With enemies, any work that we perform on the AI and characters will carry over (as they’re all characters). Specific to enemies, the biggest task ahead is one of content; creating the animations, balancing, and coding some unique AI/events based on specific enemies and bosses.
Skills, Attributes, RPG-stuff: Here we arrive at the bread and butter.
Progress: The framework is in place for your characters’ attributes and other stats to influence gameplay. Characters can perform attribute/skill tests in cutscenes, resulting in hidden branches and choices becoming unlocked. In combat, attributes influence some weapons/damage effects. All we need to do is roll out the system to the cover the remaining attributes/items/spells and we’re set.
Status effects, buffs, poisons, stuns/snares, debuffs, etc: These are all functionally complete, but there’s still more to do. For one thing, they don’t show up on the UI yet, which brings us to …
User Interface: In 2016 we completely rebuilt and redesigned the UI. Visually it’s looking much more finished and easy to read. It automatically scales to match your resolution, including 4k and retina. You can also manually set the zoom level of the game/UI if needed.
Progress: There’s still quite a few set areas of the UI that need to be made - but as the code is robust, it should just be a matter of expanding what we’ve done and then linking it all together. We also really need to add more quality of life fixes (shortcuts, tooltips, etc.).
Also in the pipeline is a ‘target enemy’ UI segment - which we hope will reveal details about the enemy (HP, Items, Stats) based on your familiarity with the enemy (number of times encountered + lore skill).
AI: Oh boy. This is something we’ve struggled with, and we’re still not 100% happy with how it stands. Friendly AI is performing more-or-less as intended, and will use any abilities/items you give them permission to. You can also issue movement/attack commands to your followers - although it’s a little buggy. The biggest challenge is getting them to follow the player over complex, vertical zones - as seen in the above video.
Progress: Speaking in terms of universal AI, there are a number of changes we want to make that will improve the flow of combat - but right now, it’s at least functional.
Story/Writing: Lou and the programmers now have a pipeline in place, whereby the writer imports branching dialogue and cutscene text directly into the game via a handy script. This was a huge breakthrough, as before that, Lou would have to write the scenes in a word processor, then pass the raw text over to a coder to script/implement.
Progress: The entire story is mapped out and written in overview form. Key cutscenes/large branching encounters have been converted to code using the aforementioned script and tested in-game. So far Lou has produced over 300 scripts, which include NPC encounters, branching dialogue trees, narrative events (e.g. inspecting an object) and cutscenes.
Features Check (Rapid-fire Edition)
Saving/Loading: Matt’s created the framework for this, but we’ve been waiting for all of the systems (especially relating to characters/story/character creation) to come together before implementing it.
XP/Leveling up: Groundwork is there but not currently functional. We’ll be moving onto this as soon as the AI and character creation are fixed up.
Cutscenes: In-game and functional, including features like camera movements, and interaction between the cutscene event and dialogue choices. The system is somewhat disorganised and non-universal. With a little effort we can fix this up and create a cleaner, more efficient method of rolling this out across the game.
Ranged Combat/Aiming: Done and done. This was actually one of the biggest challenges early on - especially getting projectiles to bypass hostile enemies in favour of your current target. As mentioned in the video, this allows for tactical decisions; like being able to shoot at an enemy on the back row. Ranged combat is also linked to some meta features, like stats and ammunition.
Sound/Audio: We’re currently using a mix of stock and foley sounds, but we’re looking into alternatives. Francisco is doing an amazing job on the soundtrack - and he’s even been recording songs in a studio with a live jazz band.
Inventory/Items/Looting/Currency/Equipping: Functionally complete. Some quality of life fixes are desperately needed, and we’ve still to do the shop system. We’d also like to make a very simple crafting/item-combination system. Over 120 items are in the game currently, in various forms of polish/completion, and we’ll be adding more in the run up to release.
Factions/Reputation: There’s a basic faction system in-game and functional. This allows events or actions to make categories of NPC hostile against the party/each other. It still needs to be tied to the UI. Enemies of opposing factions will fight with each other.
It also potentially allows for types of enemies to become friendly and conversed with - something we’re very excited about!
Well, there’s probably a few things we missed out, but hopefully this has given you a clearer picture of the challenges faced by a small team building an RPG. I hope it also highlights how far we’ve come - and what’s left to do.
Looks like there’s just time to plug the discord again: discord.gg/csWumEn Remember if you’re a Town Council backer or higher, you’ll get VIP access to sneak-peeks and a place to chat with devs and your fellow super backers - so come along. :)
Thanks for reading, and we hope to see you there!