For January there was a lot of focus on creating content and trying to subtly improve the visuals of the game in general. More specifically, the character and camera controller have been updated, a completely new campsite and hill top scene have been created, workflow for the portrait animations has improved, and the New Game+ screen received a facelift!
I have to say that the addition of a controllable avatar has really made moving through a town feel a lot better than just clicking a couple of arrow buttons. I feel like this is easily one of the best revisions I've done so far for Bright Red Skies! In terms of the improvements, the character controller now has all the necessary functionality to interact with the world such as the ability to speak to NPCS/interactables and run.
The NPCs themselves have been updated as well. As you get closer and face towards an NPC, an interaction icon will pop above their head and when dialogue is initiated, the NPC might rotate towards your character if they're not busy doing something else. Finally, someone mentioned that the visibility of the character models wasn't great and on a second look I had to agree with them. Because of this, an outline was added to all character models while all other objects are non-outlined which I feel really makes the characters stand out, which can be seen in this combat event!
The initial camera controller was designed with the old arrow navigation in mind, so it made sense to make quick movements from one section of a town to another section of a town. However, with a moveable player avatar, quick movements between on town section to another needed to be much smoother since you can choose to wildly move around, and the camera shouldn't be jolting around constantly. To solve this issue, colliders were added near the boundaries of two adjacent area sections.
As you move deeper through one of these boundary colliders (purple region) the camera will proportionally move closer towards a fixed transition camera position/rotation. Additionally, to prevent the camera from making extremely sharp jolts when moving between two close boundary colliders, the camera's acceleration is greatly decreased when moving to a new boundary collider to account for the shift in the new target fixed camera location. (That might've been confusing to follow, but it makes sense, trust me haha).
Here's the updated camera controller in action:
A Nice Change of Scenery
I've basically been working with the same two settlements for a couple months now, since they served as a base for testing out how I wanted to deal with navigating through a town, interacting with NPC, and how to buy items from shops. With a lot of that being close to finished, it begun time to start making some new locations! I'm unsure about how much I'm willing to reveal, to prevent major spoilers but here are the two new locations added.
A campsite scene:
Paying their respects:
Bonus, look at cutscene when entering Pendle for the first time:
Probably the most dauntingly tedious task I saw for this month was creating animator controllers and animation clips for every character for each expression they have (5-8 expressions), and for their gun and no gun variation. With 16 characters, that's A LOT of animation clips to create especially when you take into consideration that each character needed to have a unique blinking frame so that you don't have a bunch of characters blinking simultaneously.
At this point I realized that there must be a way that I can somehow get around this problem programmatically. The solution I went with was to use DOTween to perform the portrait animations rather than the built-in Unity animations. This method of animating allows me to have the freedom to create much more varied character portrait animations since the implemented system can control the portrait's blinking frame and the speed of their mouth movement. This control all happens at runtime so the blinking frame is determined randomly and recalculated randomly again after each blink and the mouth movement speed can be specified in file containing the dialogue. So right now, the dialogue system is in a great place!
One of the main features of Bright Red Skies is that there will be opportunities in the game where you'll have to make a decision that will change the outcome of the story, sometimes extremely drastic changes. Below is the updated New Game+ screen:
When you complete a certain story path, all the associated story nodes you took to complete that path will be unlocked. If you select the node, you'll be able to start a new game from that point in the story, with some default starting equipment appropriate for that point in the game. Some items will persist throughout playthroughs though such as any fishing rods obtained or special currency.
Furthermore, if you look closely you might notice that there are three different colored lines and nodes, these represent:
- Red: Story 1
- Orange: Story 2
- Black: Unknown/Unexplored
The drastic change in the story mentioned previously would be the difference in Story 1 and Story 2. Each of these stories will have their own unique main antagonist and a set of supporting characters specific to that story, so it may feel like playing a completely different game in terms of the narrative. To make development realistic, the length of one playthrough will be relatively short for a typical JRPG, which also has the hidden benefit of encouraging you to explore the multiple stories & endings to learn more about the lore of the world. Bright Red Skies will release in Early Access with 2 complete start-to-end stories, with the goal of 5 total stories when the game fully releases!
Behind the Scenes
I like to add this section to the devlogs so you can some of the additional things that might've been added or modified in the game, since it would be too lengthy to try and explain everything done in detail:
- Car controller along with physics-based drivetrain to simulate a semi-realistic look for moving vehicles.
- Updated base canvas size to 1920x1080
- Resized all images to their appropriate size to fit in the new canvas size.
- Added class for interactables to prep for interactions with things like treasure chests and signs.
- Sprite manager to reduce calls to constantly load sprite resources when needed
The release date of late April for the demo is coming closer and closer but things are currently going according to schedule. For February, the main goal would be to finish up on all of the cutscenes for the demo so that the vast majority of the demo content will be complete. So here are the tasks I'd like to have completed:
- All demo cutscenes
- Update the player menu screen (inventory/edit squad/equipment/logs/codex)
- Add treasure chests
- Update other UI elements I feel might be lacking
Overall, I think development in January was great especially considering this a project I do in my spare time. As April approaches, I'm getting really excited to finally be able to release a demo to the public (there might be a much rougher earlier build released on Discord beforehand though) and see what the reaction will be. Although I have a vision for the game, I'm very open to any criticism as it might help me to improve Bright Red Skies in a way I haven't thought of before. If you want to see the latest progress updates or contact me directly be sure to follow me!