This is one of three blogs as I have decided to move certain topics to their own venues. For the latest demo updates you can find them on the Steam store page and for my personal thoughts on the project, you can visit the itch profile. Links are at the end of the article.
𝕴 am pleased to announce the first-person perspective is now on its way to being complete.
I am quite surprised just how fast I managed to actually implement it. When I first started with this plan, I didn't figure the difficulty of implementing such a feature would be, especially this late when the game's core mechanics are already hard-coded in. It turns out that the only real change needed to create such a feature would be to simply add a switch. Adding a variable that told the game which mode I wanted and when streamlined the process in such a way that I managed to implement the new perspective in a few days. There's still coding to be done but with this switch, I was able to organize everything to the point where all I need to do was make the code check what screen mode the game had to be in and it practically took care of the rest.
Calling it simple would be giving it too much credit, however. There were still aspects that needed to be considered in order to transform it.
The way the game detects a character attacking another is due to a hitbox that is set to specific coordinates that couldn't be changed due to its prominence in almost every single instance during battle. To simplify the explanation, despite the split-screen nature, each character is not placed side by side to create an illusion of two perspectives. Instead, player 1 is placed passed the top of the screen and player 2 pass the bottom as you can see here in the room editor.
There's a reason for this. Aside from making the backgrounds easy to slide when moving, they both share the same x coordinate. I figured since they stand in place for the majority of the time, I used the x coordinate to detect a lot of things in the game, including if attacks connect. If you go to training mode, you'll notice that if you sidestep, the Status stat on the left changes to "Miss".
Notice the "Status" stat. "Miss" means that no attack will connect.
That is because the game has detected one character is no longer aligned with the other. Both x and y coordinates are very important for the hitbox as it is placed in three specific coordinates to check for an attack.
So how am I going to make a first-person perspective if changing the coordinates of characters will cause the game to act improperly? The answer was simple: I don't change the coordinates at all. What I did instead was just take the sprites themselves and relocated that. As far as the game could tell, the characters are still above and beneath the game screen. Only their sprites of not just the characters but the effects as well are moved around.
I'm going, to be honest, this has been a requested mode for years and I was hesitant to implement it. Child Arms was designed with the split-screen in mind for both aesthetic reasons and for balance. Aesthetically speaking, ever since the earliest test for the game's concept, it was always meant to be horizontal. This was because I wanted the movement to be a part of the gameplay as well as place the health bar in the center. I eventually lamented and went with a vertical orientation and placed the life bar on top. Now things have gone back as the game is now more horizontal with this new design, but my worry was that there were going to be empty spaces especially since movement was less emphasized in this new version of the game. It wouldn't be until I saw other sword-fighting games in first person that I realized what I needed to do in order to fill in those vacant spots. Now the spaces on the sides no longer hinder the view.
As well as the tutorial, which actually puts the spaces to use for its UI.
As for balance, I was afraid that players may think that another character could be cheating in some way due to not being able to see them. That is the main reason why I insisted on split-screen so that the other opponent can always be seen and not hide any weird moves that only the AI could use. As I was now exploring ways to change it into full screen, I started entertaining the idea of placing the player's sprite on the side and shrinking it so it would not detract from the action. I eventually decided to add the outline of the character and fill in color based on the character's current status. This pretty much solved that issue. The only thing that is lost is that selecting a color palette is pointless now that you can't see your character. I guess that feature will be reserved for versus mode and online since that would be the only time one can see their custom colors.
That's pretty much how it went. I just moved sprites around and tinkered with the code to accommodate this new mode and let me tell you, it was worth it. After adding in the first-person art assets and started playtesting, I could feel a real difference in gameplay. In many ways, it felt like a fresh new game! I can't explain it but having this first-person POV added a new sense to the gameplay and made it more exciting. I never could have expected that changing the perspective could add a new dynamic to the game that would change everything.
I must give credit where credit is due and admit that this was a better choice. Though I lament I lost the original vision of Child Arms, I will say that the changes are well worth it. Besides, the split-screen is still there for versus and training, and I might make it optional to turn it on for arcade and online as well.
My hope is not just that the game is improved and plays better but that it will actually look recognizable enough for potential players to check it out. I have been having trouble getting people interested in this game and I believe one of the reason is that it just doesn't convey what exactly you do from the screenshots and even video alone. That's one thing that I have been worrying about for so long, that the game looks so confusing at a glance. Perhaps with a first-person perspective, this will improve the way people see the game for the first time and finally see the potential this game has.
As soon as I hear from my artist, I'll get started on finalizing this and updating the demo. Perhaps I'll get some playtesters to check it out and get their opinions on it. I hope you guys are really excited about this new feature and as I am.
Please be sure to follow us on our Twitter for announcements and posts.
And check out our Itch.io page for further information about the game's development.
Don't forget to download the demo and wishlist on Steam: