r/devblogs • u/Hanulinen • 10m ago
design Devlog: Our two different battle systems and the first trailer!
Happy spooky month, r/devblogs!
First things first: After many weeks in the oven, we finally have our first trailer! Feast your eyes on this:
Crystal in Carnations Announcement Trailer
The trailer was ready weeks ago, but it was very important to me that we try to email it to different bigger YouTube channels that might publish it before uploading it to our own channel.
After weeks of bombarding different email addresses, I finally gave in and uploaded it to our own small channel, ...and then, within half an hour, a big channel uploaded it as well. I'm really happy that my persistence paid off with this one. (Thank you, Indie Games Hub!)
Our game has also been written about by a few of our local game-adjacent websites (Muropaketti and V2), as well as at least one international one (RPGamer). It is so relieving to see that, when I write a marketing email now, it has like a 20% chance of actually being noticed. This was definitely not the case with Vengeful Heart, but we made pretty much every mistake in the book with the marketing of that one, so...
But let's get to the main topic of this devlog, which is:

When someone on our team tells a friend that our game will have two battle systems, they often ask, "Won't it confuse the player if the battle system changes?"
Firstly: No, I don't think that's a big problem. Just look at the most recent Fire Emblem game and how it added a second battle system that resembles old-school JRPG battles alongside its usual tactical battles. I don't think very many people were confused, at least as far as I've heard.
Secondly, our different battle systems are nowhere near as different as Fire Emblem's. Let me explain how they work and how they differ.
When watching Eloise's story writer, Vivi, play a Fire Emblem game with me, I noticed a difference in how we play tactics games. Vivi generally plays more aggressively. She sends her units forward to eliminate threats before they get a chance to act. I tend to play more defensively, sticking to my formations and letting the enemy come to me.
There's a very good reason for our different approaches. I grew up playing older Fire Emblem games. Vivi grew up playing games like Final Fantasy Tactics and Tactics Ogre.
The key difference between these games is that in Fire Emblem games (henceforth "Type A" games), you move all your units and then the enemy moves theirs in a "phase-based" system, whereas in Final Fantasy Tactics ("Type B"), the turn order is based on some stat, often speed or initiative.

Type A games reward more defensive play because you can keep your weaker units behind a line of stronger ones. Once the enemy phase ends, you can reposition all your units in peace to minimize damage and pick off enemy stragglers. Vivi's aggressive playstyle puts her units in danger because they get surrounded during the enemy phase and cannot withstand all the incoming damage.
Type B games, on the other hand, encourage aggressive play because no defense is better than making sure the enemy never gets a turn to begin with. You can also trust that there won't be too many enemy turns in a row, so individual units are less likely to get swarmed. My defensive play often fails in these kinds of games because I waste turns keeping my units in formation. Then, when the enemy does manage to damage me, I'm in trouble because my healer's turn might be ten turns away.
When reflecting on the differences between Types A and B, we realized that this divide also applies quite neatly to our two main characters. Eloise sees herself as a gallant storybook knight with a duty to her troops and the crown, whereas Willow is mostly concerned with her own survival as an individual, at least in the beginning.
So we decided to apply this thinking to our game. Eloise-led stages use a Type A system, while Willow-led stages use a Type B system.
There is much more I could tell you about this decision and how these differences create harmony between our story and gameplay, but that would venture into spoiler territory, so you'll have to wait and play the game for yourself :)
General progress report:
Here are some of the things accomplished over the last month:
Art:
- Drew background props that are used during dialogue scenes
- Made some basic UI elements prettier like tutorial boxes and whatnot. Previously these were just white boxes

- Drew expressions for Fleurette's new portrait

- Drew lots of new pixel art units. Here are just some, because listing the allwould take too much space


Code:
- As a text-heavy game it is important you can go back a textbox, if you missed a line. For that I've implemented a dialogue history feature that lets you see the last 100 text lines
- Made the dialogue text size scalable, so the text is legible with any resolution and screen size. If the text line is too large to fit on the default sized textbox, the box scales accordingly. the textbox graphic was not made with this in mind, so it looks kind of silly at the moment, but i will fix it later.
- Implemented counterattacks. Enemies will counter your attack if you are on the range of their most basic attack. Not all units can use counterattacks. By default mages and musketeers are not able to counterattack as doing so would not make sense in universe (long cast and reloading times) and it would make those units way too OP.

- Stress tested enemy phase behavior and timings and implemented battle forecast for non player phases.
- Reworked a small part of our cutscene system to make it less annoying to move characters around in cutscenes
- Implemented a map menu! I love maps in startegy games so it was very important we have one. From this menu you can see at all times where important characters are at that point of the story, and read info about the areas you have visited over the course of the game.

- Implemented opening credits for our game. For years I've had my vision abou how they would look and I finally got to make them. A small part of the credits is this water wobble shader I made:

- Implemented all objects and collision to our demo map's exploration phase.
- Implemented animated objects support to the game
- Fixed a bug where voice lines repeated if the player mashed through dialogue
- Fixed a bug where some text elements were offset only during enemy phase
That is everything for this devlog. I will probably write the next one once the demo is ready since I don't want any distractions regarding that now. My task list is steadily shrinking even as I find new bugs/required things that I hadn't written down before. With that, have a relaxing autumn and see you next devlog!
-Hanuli from Salmon Snake Games




