post

Crimson Spires Now Released!

Just in time for Halloween week, Crimson Spires is now released on Steam and Itch with a launch discount of 10% off!

Get it on Steam

Get it on Itch

This otome-style visual novel blends eeriness and romance into an epic drama. A ring of deadly towers traps you in the small mining town of Bataille, Missouri with extreme conspiracy theorists, a serial killer, and wealthy vampires. Choose your partner wisely. 

Will you choose Julian: the older Bataille brother who aims to rule the town with mysterious powers? Maddy: a strong-willed woman eager to overthrow the oppressive authorities? Liam: the adopted, cheerful misfit of the rich Bataille family? Or August: a charming philosophy professor who might also be a serial killer? Each character branch reveals unique secrets about Bataille and a chance to find love.

Features:

  • Unlock four distinct romances and story paths in an epic script totalling 250,000+ words
  • Hear select scenes with a rich cast of English voice actors
  • Embrace your nostalgia for early horror games with an eerie, retro 3D environment
  • Explore select 3D interiors
  • Listen to a lengthy, dynamic soundtrack by developer and composer Jenny Gibbons

Dev Log – Chapter 27

As some of you may know, we recently closed our Patreon because we weren’t sure how well we’d be able to maintain it with other life responsibilities getting in the way. But we enjoyed sharing our development process with our supporters, and we’d like to keep doing that in some fashion. So here’s our latest development log!

OBJECTIVES

  • Prepare new demo for release!
  • Compose new music for romantic moments
  • Change the colors of Jones’s outfit
  • Set up barns for use in the 3D environment

CHALLENGES

Down-sizing a Demo

In case you didn’t already know, we recently released our first public demo of Crimson Spires on itch.io! We were excited to share it with the world, but it took some work to prepare. This game will probably be our largest yet in every way, including memory size. We knew we would need to delete a lot of assets from the full game in order to trim the demo to a pallet-able snack size. And this meant deleting a LOT of assets.

To spare you many tedious technical details, I’ll just say that we had trouble deleting the correct assets without causing errors. Our first few build attempts were missing some important files, so they failed. It took several attempts to juggle files around before we got a build that worked. But we finally got it working, and now we’re really excited to receive feedback from people who try it out!

The Scandal of Jones’s Pants

We also had the pleasure of sharing our demo with a live audience this week. It was a great opportunity to watch reactions in real-time and gauge people’s reactions to the opening of the game. In a group setting, people’s reactions can be heightened and more apparent than an individual playing alone. People might voice thoughts and reactions to the group that would otherwise stay quiet. In this case, a lot of people in the room started laughing when Jones’s first appeared.

We’ve demoed the game before, but always with individuals playing the demo alone. Never before did we get the reaction we got this time: a lot of people laughing hysterically. And it’s because they thought Jones had no pants on!

I’m not sure if it was the size of the TV, the color settings, or if it’s just something that no one had ever commented on before. But it did, in fact, look like Jones’s had no pants! So naturally, after laughing along with everyone else, we got to work fixing this as quickly as possible.

Now Jones has nice blue jeans instead of skin-colored khakis. Someone also suggested we make his shirt red; it’s an inside joke you might get if you play through the demo 😉

De-Bugging Modular Assets

To help build out the world of Bataille, as well as provide some variety to the environment, we’ve ended up using a few content packs purchased from the UE4 asset store. We’re very careful adding these to our game, because we’re aware that haphazardly throwing together different modeling/texture styles can lead to an aesthetic mess. Whenever we use something purchased from the asset store, we go through all of the models and textures and make sure that they are sufficiently low-fi, often modifying them to fit the style we’ve already developed.

Even though this is time consuming in its own way, it still is probably faster than building everything from complete scratch, especially when it comes to modular content. What is modular content? Walls, doors, roofs, and other sections that can be combined to make custom buildings. These are incredibly helpful because (a) they’re usually easier to modify to match our style and (b) they can be used to make a variety of structures.

This week, we picked up a content pack specifically for building barns. Since a decent amount of Bataille is spread out and rural, it makes sense there would be a few farms in the area. Unfortunately, this pack was a little more difficult to use than the other two we’ve added to the project, specifically because of how it flipped certain meshes by using negative scale values. This isn’t something we like to do in our projects for some complicated reasons related to using instanced static meshes, so we had to manually edit several of the modular pieces and build our own actors within the game. It wasn’t a big deal, however, and now we’re ready to fill out some of the outskirts of Bataille with farms/abandoned barns.

Romantic Music for a Horror Game

A challenge we’ve often faced while working on this game is meshing the horror elements of the story with romantic themes. This challenge presents itself in the music, as well. As we worked on blocking romantic sections of the story, we realized we needed softer, happier music that was not yet present in our soundtrack.

To solve this, Jenny composed a new song in a major key, but she tried to maintain a faint element of bittersweet sorrow in a few areas. To balance it with other tracks, she used a lot of the same instruments present throughout the soundtrack: strings, guitar, clarinet, and viola. She threw in a little harp to emphasize to the wistfulness of romantic emotions.

March Game Dev Log

We’re excited to say that we finished our big update for Echoes of the Fey: The Immolation in March, and it’s now available on Steam and itch! The game should now perform better on lower-end computers, and everyone can enjoy remastered artwork and new special effects. Meanwhile, our work on Crimson Spires continues!

WINDOWS OF ILLUSION

A few months ago, we considered trying to make false interior windows in the style of (among other games) the PS4 Spider-Man game. It was a half-realized thought that we didn’t follow through on because we weren’t sure it was worth the effort considering the lofi visual style of the environments.

Well, it turns out there was a good reason to start looking at fake windows, but instead of false interiors we were motivated by creating false *exteriors.* There aren’t too many times you’ll be wandering around  inside a house or other area in Crimson Spires, but in the few instances we had, we found that the black reflective material didn’t quite create the effect we wanted. It was just too reflective and looked like everyone was blacking out their windows with paint. That might work for our conspiracy-theorist Thomas Wagner, but characters like Erika and Maddy wouldn’t be doing that sort of thing.

With this in mind, Malcolm decided to re-explore the idea of using bump offset to fake depth and create some background images for windows that look outside. To do this, we created some textures based on screenshots of the open world and built a shader to adjust their depth based upon the  angle of viewing. Bump offset isn’t quite as good at this as it is at  fake interiors, but given how rarely players will actually walk around the windows to see the seams, we think its an effective way to portray exteriors without having to build out some small version of the 3d world outside every interior level.

This  is completely placeholder, because we haven’t taken the final  screenshots for the material yet. When we do, we’ll actually take three–one for day, another for dusk, and finally one for night. Using a  vector material parameter, we’ll fade between them to correctly show time of day.

Once this was done, we had to give the fake interiors another shot just  in case we wanted to use those as well. They look better in motion than  the fake exteriors, so we may end up using those as well.

BLOCKING OUT THE SCENES THAT BLOCKED US

In March, we passed an important personal milestone: blocking out the sequence of the story that gave Jenny writer’s block for so long. This was a segment of the script that she rewrote at least 5 times. She started to fear she would never find an iteration of the script that was solid enough to keep building upon.

At long last, adding one of these scenes to the game felt like confirmation that she was on the right track again and ready to keep going.

Here’s later in that scene, blocked out in UE4:

This whole scene didn’t even exist until Jenny’s final rewrite of that story sequence, but now it’s a pivotal moment that ultimately brings Erika and Julian closer together.

REDO ONE CG, REDO ‘EM ALL!

Similar to how Jenny ended up redoing every sprite in the Immolation after fixing up a few animations, most of the CGs also got a makeover. Jenny knew she could improve upon her old digital paintings. At first she was just going to touch up a few details, but then it was hard to stop.

In this case, it’s easier to show you the changes than try to describe them, so here are some examples.

There are plenty more CGs we remastered, but we’ll let you discover those for yourself when you play the update!

ADDING LIFE WITH MOVEMENT

While working on Crimson Spires, Malcolm started to worry that the world felt a little too  static. While we’re still going for a look that evokes older 3D games on simpler systems, we thought some movement in the world might make it more interesting. To accomplish that, we modeled and added a handful of new props.

While no one drives in Bataille, we thought it wouldn’t be too unreasonable to think that no one ever bothered to take down the streetlight. Is this just sleight of  hand to let us make a small Twin Peaks reference at some point? Maybe.

It  wouldn’t be small-town America without a lot of American flags flying  across the town. Since we have incorporated weather effects, we thought  the flags should be affected and created this prop with that in mind.

We’ll continue to add other less-than-static tweaks to the environment as we  build it out, hoping to make it a more interesting place to explore.

January Game Dev Update

Greetings everyone! For awhile now, we’ve been posting weekly game development updates for Scribe-level patrons over on our Patreon. But as a result, we’ve forgotten to post regular updates here on our blog! So today we offer a summary of our development in January, picking out the best excerpts from our weekly Patreon Dev Updates.

SETTING BOUNDARIES – WITH AN ECHO FROM THE FEY

In the beginning of January, we focused on preparing a new demo build of Crimson Spires. We wanted the demo to include an explore-able section of Bataille. But to achieve that, we needed to cordon off the part of the town relevant to the demo.

Building the full town of Bataille in 3D is a huge endeavor, and we’re far from finished. So there are parts of Bataille that are still empty. Fortunately, the demo takes place in a small section around the town square, but we needed to prevent players from stumbling into the unfinished parts of the game. 

To start, we placed long/wide boundary actors around the relevant parts of Bataille. These actors were children of our general “TouchClick_BP” actors used to trigger scenes, just invisible. The goal was to trigger a short scene telling the player to turn around.

These actors, however, had a funny side effect because of a little bit of code left over from Echoes of the Fey. In Echoes, clicking on scene actors from ANY distance would trigger the scene. That worked great in 2D space. In 3D space, this leftover “mouse click” code started triggering the boundary scenes in random spots in the world. The reason was simple: if you surround 3D space in actors that consume a mouse click and trigger a scene,  sometimes you’ll accidentally click on them.

Finally, we removed that functionality and the boundaries now work as intended!

ART MANIA: DRAWING A SIBLING

In the screenshot below, you’ll see one of the minor town characters, Principal Vincent.

Well, Principal Vincent has a brother named Caleb Vincent. So far he has precisely ONE line in the script. But it’s kind of important, so I (Jenny) decided to go ahead and draw a portrait for Caleb. Due to the fact he’s Principal Vincent’s brother, I thought I should give them some similar facial features. 

Unintentionally, by copying a lot of Principal Vincent’s facial features, my first pass at Caleb looked somewhat effeminate: 

I love effeminate men and sometimes draw them on purpose, but it was NOT my intention with Caleb. In fact, I wanted him to be a gruff hillbilly type.

I asked some local artist friends for advice, and it blew up into a huge conversation about what typically constitutes “masculine” or “feminine” in anime designs, which is a difficult thing to pinpoint. The easiest solution for Caleb seemed to be giving him a beard, but for whatever reason, my first pass at that looked terrible. You can see the iterations below, ending with the latest (and perhaps final?).

This is a funny example of how you never know what will take up the most time in game development. I’ve probably designed full-bodied character portraits in less time than it took me to draw Caleb. And the most ridiculous part is that–so far–he only has ONE FRIGGIN LINE in the whole script! *Sigh*

THE CHALLENGE OF WRITING JULIAN’S PATH

Now it’s time for me (Jenny) to be real about something. I have an embarrassing confession to make. 

I HAVE BEEN STUCK ON THE SAME FIVE PAGES IN JULIAN’S SCRIPT FOR THREE MONTHS. 

Yep. You heard right. In three months, the script for Crimson Spires has not progressed. I have written and rewritten the same five pages over, and over, and over again. But each time I did not feel happy about it. 

Firstly, I should point out that this is very rare for me. Writers talk about writer’s block all the time, but it’s something I almost never struggle with, and I’ve been writing novels since I was in middle school. This particular block was also easy for me to ignore, because I could always work on something else for Crimson Spires. There’s always portraits for me to draw, blueprints to code, and music to compose. But now, game development has caught up to the point in the script where I’m blocked. So I had no choice but to confront it. 

It’s hard to say exactly what caused this block. Some of it might have been personal. Malcolm and I suffered a big discouragement regarding the project last November, around when my writer’s block started. This was when we thought we might receive some funding from a convention we attended, and were very surprised and demoralized when we didn’t. Creatively, this took a lot of wind out of my sails. 

But I think the reason is also related to the challenge of writing Julian’s path. He’s a friggin vampire. On top of that, he’s sort of a snobbish jerk. As his creator, I know what makes Julian lovable and interesting. But getting Erika to fall in love with him has been the real challenge. In so many ways, they are incompatible. The section of the script where I got stuck involved their lowest point, from which Erika was supposed to start falling in love with him. But it just never felt right. I couldn’t find the spark between them. 

I can’t go into too much detail without giving away plot spoilers, but I’ll just say that I finally broke down to Malcolm and admitted how much trouble I was having. I’m so grateful to have a creative partner I trust and respect as much as him! He listened and thought about it quietly for a long time. Finally, he told me how he would write it if he were in my position. Although I didn’t fully agree with him, his perspective allowed me to see the story in a new light. I saw where I might be able to create that spark between Julian and Erika. 

We kept bouncing ideas back and forth, until finally, I went back to my outline and jotted them down. After a day or two mulling it all over, I knew it was the right way to proceed. Once again, I needed to go back and rewrite large sections of the script. But I finally did. And I finally felt capable of forging ahead. 

The struggle has been real, but I hope that it pays off in the end. I hope the romances we write in this game are ones you can all fall in love with!

AND FINALLY, HERE’S SOME MUSIC

Sometimes my creative cycle hits a point where I strongly desire to focus on one outlet, whether writing, drawing, or composing. Last month, I went into a long composition spree. Here’s the primary new song I created, from which I’m developing a few other versions:

This song features a new instrument and starts in a different key than the rest of the soundtrack, so it will be a challenge to keep blending it with the other tracks!

SEE MORE ON PATREON

Check out our patreon to see more posts like this every week (for Scribes) and be the first to see new screenshots or artwork from Crimson Spires!

Support us on Patreon!

As we forge ahead with our next project, Crimson Spires, we’re looking for new ways to fund development, so we’ve started a Patreon! Any funds we collect will not only help to feed and house us as we work, but will also support costly features like voice acting.

As a patron, you’ll get to see screenshots and artwork from our next game before they’re publicly released. You’ll also get weekly posts about our behind-the-scenes development process. And finally, we’ll create custom content such as bonus CGs and short stories every month for patrons! Below is a sneak peak at our first bonus content, an image of Michael and Lucifer doing… I wonder what exactly? 😉

How to Make a Visual Novel in Unreal Engine 4

A little over a year ago, I set out to complete a strange task: I wanted to build a visual novel in Unreal Engine 4. To some people this seemed like using a rifle to shoot a fly. I was even prepared to admit they were right. But once I got deeper into the UE4 engine, I didn’t regret a single thing.

Why UE4?

The short answer to why I love using Unreal Engine 4 is this: the engine can accomplish just about anything I imagine, and it can do so quickly. It’s a wonderful engine to work with and it’s capable of so much.

That said, Ren’Py is still a wonderful tool to create traditional visual novels. If you don’t plan on adding 3D elements or complex mini-games to your narrative, then there’s probably no reason for you to switch to UE4. BUT if you want to expand the boundaries of a traditional visual novel and set yourself apart from the other VNs out there, I can assure you that UE4 might be a great tool to accomplish that.

Screenshot from our UE4 visual novel, Echoes of the Fey: The Last Sacrament

How to Get Started?

When I started my first VN project in UE4, I struggled to find helpful resources. Not many people had tried to create a traditional VN system within UE4. I found a VN marketplace plugin, but it only functioned for very small-scale projects, and was completely unwieldy in terms of handling a large script or rewrites. So after a lot of searching and banging my head against the computer screen, I set about building my own system from scratch.

Now, one game and many months later, I want to share what I’ve learned with the game dev community at large. I’ve started a video tutorial series that will help you build the foundation of a VN system within UE4. This system is designed to handle large-scale projects and gameplay elements beyond just dialogue. You can begin by writing your script in a typical Open Office or Word document, then convert it into a spreadsheet and import it into UE4.

Watch the Video Tutorials Online

Part 1: https://youtu.be/qj_6dfzqaO0

  1. Create your text scene in a spreadsheet (4:05 )
  2. Create a structure in UE4 (8:45 )
  3. Import your first scene as a datatable (13:02 )

Part 2: https://youtu.be/KuHardkG37M

  1. Create a Scene Template Blueprint (1:09)
  2. Create an NPC character actor to launch the scene (2:56)
  3. Enabe click events (6:30)
  4. Spawn Scene Template when NPC is clicked (9:15)
  5. Feed the datatable rows into the Scene Template (13:57)

Part 3: https://youtu.be/ljaf1PHGq1Y

  1. Track the scene array with a Row variable (1:36)
  2. Create a widget to display the dialogue (4:08)
  3. Set text variables within the widget (9:18)
  4. Create widget from Scene Template and track as variable (11:14)
  5. Set widget variables from the Scene Template Blueprint (13:18)

Part 4: https://youtu.be/w7LxY8fZzdc

  1. Add dialogue widget to viewport (0:44)
  2. Track whether the row is finished displaying (2:11)
  3. Add an input to advance the text (4:26)
  4. Increase row number for next line (5:23)
  5. Enable input on the Scene Template (7:00)
  6. End scene and destroy actors when scene is finished (7:58)

In the tutorial series created so far, I don’t yet get to branching dialogue or character sprites. But if people find this first series useful, I may go on to create tutorials about that later. You can also find my posts about the VN system on the UE4 Forums.

Meanwhile, we’re running a Kickstarter for our current visual novel project, Echoes of the Fey – Fantasy Visual Novel Series! If you enjoy my work or find my resources helpful, please support us!

Why We’re Making Our Next Visual Novel in Unreal Engine 4

We’ve been quiet over at Woodsy Studio for the last month or so, but with good reason: we’ve been busy! Shortly after releasing Echoes of the Fey: The Fox’s Trail on Steam, we decided to switch our development platform from Gamemaker Studio to Unreal Engine 4. This is no simple task. For Gamemaker, we had a very helpful base to build off of with ThinkBoxly’s EdgeVN system. With UE4, we don’t have such luck. There is a module for sale, but it seems unequipped to handle large multi-scene VNs, so we are building from the ground up using the UE4 blueprint visual scripting. On top of that, we’re converting to 3d backgrounds, which means re-making a lot of our general world assets to 3d models.

Most people are totally confused when we tell them we’ve decided to switch to UE4, and that’s without the troubles mentioned above. UE is best known for big-budget 3d games. It isn’t known for indie development or user friendliness. Unreal is total overkill for a visual novel, especially when the most GPU-intensive thing we’ve pushed out in previous games is a high resolution character sprite. So, why are we going to all this trouble to switch to an engine that is (on its face) worse for indie 2d development than our previous platforms?

To start, I need to go over the problems we had with Gamemaker. I don’t want to make this post a big list of complaints about GM–which I think is fantastic for certain kinds of projects–but addressing a couple of these is unavoidable. First off, audio files.  The way GM handles audio files was frustrating from start to finish. Importing them was clunky. We couldn’t make batch changes to groups of sounds. And a couple times, references to entire groups of sounds just disappeared.

These would be annoyances for any game, but because of the nature of our (partially) voiced visual novels, we had over 2,500 sound files in our game. Any task related to the sound was a huge ordeal for us and, in the end I think the sheer number of sounds ended up creating our other problem with GM: porting.

Our first (still work in progress) screenshot from Episode Zero

Our first (still work in progress) screenshot from Episode Zero

Before we switched to GM, Woodsy Studio was releasing its games on Windows, Linux, Mac, and Android phones. However, so far we’ve been unable to bring The Fox’s Trail to any platform other than Windows. The problem is different on each platform, but without going into too much detail, our suspicion is that our sounds (or more specifically, the size of our sound files–2.8 gigabytes before compression) have something to do with it.

Finally, drawing backgrounds has been one of our biggest hurdles. Every room requires a background and these are Jenny’s least favorite thing to draw. They are also large, contiguous sprites that are difficult to break up into 1024 x 1024 pieces to keep our texture page size down (which is needed for performance reasons, especially on mobile). Moving to 3d environments is theoretically possible in GM, but would require rebuilding a huge amount of what we’ve already  And it’s not what the engine is designed for.

I really do want to stress that Gamemaker Studio is a very good option for all sorts of games, we just decided it wasn’t right for us. Because going forward, these problems were only going to get worse. For episode 2, we’ll have the same–if not more–quantity of voice acting clips. We’ll want more backgrounds. And we might want to go to native a native 1080p resolution, at least for the PC version–further exacerbating file size and background creation issues.

All this added up to need to change. But again, the question comes up: why UE4? Why not Unity, which seems to be the favorite choice of indie devs everywhere? A couple reasons. No matter what engine we switched to, we were going to have to re-learn everything. Ren’py uses python and GM uses gml, its own language, so there was no real chance of transferring our knowledge perfectly over to either of our options.

A UE4 material we made for our visualization of a fey rift.

A UE4 material we made for our visualization of a fey rift.

Also, out of the (metaphorical) box, UE4 is fantastic at making your game look good. I don’t entirely know how the guts of either engine work, but it seems very easy to use the UE4 cameras and lights (as they are implemented without plugins) to make our art pop compared to what I’ve seen of Unity. And the material system lets (relatively) inexperienced programmers do some amazing things with shaders in a visual scripting interface.

Finally, I’ve always been a bit of a contrarian and everyone using Unity because the common knowledge is that Unity is more user friendly just makes me want to go down the road less traveled. And we’ve discovered that this common knowledge might be wrong.

It has been just over a month and a half since starting the conversion and we already have a full dialog system set up (developed by us from the ground up), with working choice menus and overworld exploration like in The Fox’s Trail. We’ve built out our first environment and imported the first handful of scenes for Episode Zero. Converting to 3d environments has allowed me–a person who couldn’t draw if my life depended on it–to take over a portion of the art process, building 3d models based on our original drawings. This required learning Blender along with Unreal Engine 4, but for a long time the art burden has fallen entirely on one member of the team and I’m more than happy to finally help out.

An Episode 1 asset re-made in 3d (again, work in progress).

An Episode 1 asset re-made in 3d (again, work in progress).

At first, I likened trying to make a visual novel in UE4 to using a rifle to kill a fly. Yes, it can get the job done but it will be harder and a ton of overkill. Now, I’d use a different tortured metaphor: it’s like putting together Ikea furniture with powertools. It’s still overkill, but the power tools have a lot more uses than just putting together Ikea Furniture.

So, when is Episode Zero coming out? Right now, we’re tentatively saying “TBD: Winter”. And yes, we mean this upcoming winter. I don’t think we can commit to anything more than that, but since we have so much of the framework already done and Episode Zero is a smaller project, we hope that you’ll be able to enjoy the first visual novel developed in UE4* fairly soon.

*I don’t know if we’re really going to be the first UE4 VN. I couldn’t find any. Correct me if I’m wrong!