Matthew Canei shared the details behind the project Hanako: Honor & Blade being made in UE4.
Matthew Canei shared the details behind the project Hanako: Honor & Blade being made in UE4. The game is multiplayer and was initially created as a metaphor for real-life struggles with cancer.
Introduction
80lv: First of all, could you tell us in short about your team? How many people are there working, where are you guys from?
There are nine of us working on Hanako. We’re based in Atlanta, GA, but work remotely. We have team members all over the US and one in New Zealand.
Indie as a Side-Project
80lv: Hanako: Honor & Blade is a side project you work on after your day-time jobs, isn’t it? How did it start? How did you manage to keep to it for so long and combine it with the jobs?
Yes, it is! We started it as a college project all the way back in 2008-2010 and then after a little hiatus picked it back up and started over in 2013. It’s been an incredible challenge really. Before 2013, we took a break because when I first got my first industry job, I couldn’t manage both and just wanted to focus on being a good, baby junior employee. But you got to finish what you start, especially a project so personal.
A project like that requires a lot of self-motivation, there’s no instant gratification. Indie life is hard as no one is lining up to play your game so you have to really celebrate the small victories like meeting a new player from a faraway place who loves your game. Besides that, there’s an extremely regimented schedule. I pack a lot of work into 4-hour night sessions with 3-4 hours of unwinding in between and that time pressure helps me focus on the things. Earlier on, I worked from 7 pm to 3 am every weeknight (still having a job) and all day on weekends – and that way, I got way less done than a regimented time block. The rest of the team is much better at staying balanced and working less though! They do an amazing job at time management and maintenance of productivity.
Storyline
80lv: You’ve mentioned that the whole game is a huge metaphor for your mother’s disease. This sounds very deep. Could you tell our readers more about it? Can a player ‘defeat’ the enemy in the game? How does this metaphor fit into the multiplayer?
I would love to. This is the fuel that keeps me working on this labor of love, to my delight or dismay. Ideally, we would have done a single-player story putting you up against an enemy representing cancer, but at the time we thought that cinematics, voice acting and all of that would be too expensive or difficult to implement.
Note: Multiplayer isn’t much easier because of networking/replication that we learned the hard way.
We integrated the metaphors into the art style and music of the game. Each level is part of a territory that represents one side of her battle. The Hanako Clan territory is very beautiful: snow-capped mountains, pink-blossomed Sakura trees, and a peaceful, triumphant musical composition. The Yamai Clan territory is very brutal, muddy, wrapped in death and decay with a purposely eery color palette. The music is dark, full of despair, and cacophonous in a way. I also put in a lot of easter eggs such as translated letters I’ve written to my mother as characters on lanterns or very subtle reflective letters apologizing for something or paying respect. One of our environment artists did a series of screen paintings for the game to pay tribute to her and one of our professors who was a giant supporter of the project:
Each level of the online campaign has a very specific mood. For example, in case of the Hanako Village map, I told our composer: “I want the music to feel like I’m walking into a place where I get to talk/see my mother for one last time. I want to cry the first time I listen to the track.” He took that idea, composed it within the Japanese theme and simply did an incredible job of nailing the task.
Switching to UE4
80lv: In your blog, you’ve said that during the development you decided to switch to UE4. How did the transition go? Did you have to rework everything? What benefits did UE4 bring to you during the production? What tools were a big help?
Moving to UE4 was the best thing we’ve ever done for the project. I’ve used Unreal since college, almost exclusively, and UE4 was such a giant leap from UDK. Epic was so amazingly supportive at the beginning (and they still are, there has just appeared like 100 times more projects to support since then) because we made the decision to switch to it the first week it was released.
The flexibility of UE4 has allowed us to prototype gameplay that we could have never done in UDK because of not knowing UnrealScript/C++. I’ve become a part-time UI developer making art for levels in-between and scripting menus with UMG/blueprint myself.
We were able to carry over the art and convert the classic specular map for reflection/highlights into the PBR material but all of the code had to be re-written. Thankfully, we were still fairly in a prototype phase, so after a few months, we were back to the stage we stopped at in UDK. Besides that, Substance Painter has also been an amazing tool for asset creation within a PBR workflow.
Combat System
80lv: The combat system looks amazing. It’d be awesome to learn some of the details behind it. How did you plan and set it up with all the stun effects, moves, multiple enemy battles? Do the combat principles vary depending on the warrior you choose? Naginatashi’s weapon looks especially cools in action. What way did you work on its mechanics including the ability to hook it on to the roofs and pull the character up?
Thank you! Originally we started with a clunky “fling the mouse” in a direction of attacks but moved to our direction-based system. We had always discussed doing a skill tree to purchase abilities within a match When working on Smike (in the early years of the project) I was involved into the ability design and also engaged in that genre as a gamer. We knew we wanted active abilities, movement-based abilities and raw stat boosts as categories and just came up with moves that made sense for the characters.
The combat principles are based on the classic warrior, tank, rogue, and support archetypes. The Naginatashi is our tank class and all of his abilities are based on that premise. The Ninja’s grappling was technically very difficult to pull off. We ended up having his weapon not even technically attached/socketed to the character, it just shares the same root and plays synchronized animations (often because of non-synchronized networking). They are animated together but exported as a player and weapon versions of the same animation. Grappling is set up using IK to pull the chain to a specific location. Later on, we added the ability to grapple players to set up backstabs/follow up combos – that’s my favorite part of the Ninja.
Hand-Painted Textures
80lv: Another element we’d like to focus on is the hand-painted textures which add the game a special look. How did you work on those? If possible, could you explain your workflow using an example of an asset or a character? How did you add the colored outlines to some of the objects and the enemies (e.g. when they are in the player’s focus)?
Sure, the art style has really evolved over the years with industry tools changing so rapidly (I actually end up learning most of the new techniques from 80.lvm this is one of my favorite websites). For buildings/architecture, I start by designing a trimsheet with re-usable areas for UV pieces. I might sculpt the floating pieces in ZBrush and project them down to a plane. These were the two trimsheets used to create the Hanako Castle:
For organic-shaped objects like cliffs/rocks, I’d start in ZBrush and then use ZRemesher/Dynamesh to create low-poly in-game meshes. For sculpting, we do a general “edge rough” sculpt pass on most of the objects using TrimDynamic or HPolish brush, then bake that down to use as a mask to generate some of the “comic lines” and a hand-painted look. We use two texturing processes depending on the asset:
- Smaller objects start with a classic photo reference method. We usually use tileable textures as a base, multiply AO on top (for our art style we didn’t require individual PBR AO and kept away from it).
- For more important hero objects, we go into Substance Painter and generate the textures there before going back to Photoshop for the stylization pass.
Then, we used some third-party tools to interpret the normal map as greyscale and run levels on it to compress the image down to just edges. The edges would then get screened or multiplied on top of the photo texture to start bringing out the comic lines.
At the end of the process, we had another macro used to simplify/stylize the actual color information of our Albedo/Diffuse to make it look hand-painted. This is a VERY fast pipeline that has suited us well. Really, it’s held up fairly well until this year, but I feel like we need to go back and polish some of the older art again.
Once we get the assets into the game, we use a post-process material to put a black outline on most of them to kind of “complete the look”.
VFX
80lv: Could you share some of the details behind VFX production? I love the effects created for the swordsman, they are simple yet very dynamic and fit the whole hand-painted style. As far as I understood the game has a variety of skills which are followed by unique effects, is it right? Could you tell us more about them?
Admittedly, I’m not a great FX artist, but during indie projects, especially ones you’re in charge of, you have to wear a lot of hats. Most of our effects are just highly modified UE4 Marketplace effects. I’m not very strong at making sprites so having ready 2D sprite images to generate FX from is useful. I think this area of the game could be a lot better. However, one of my mentors in the AAA industry was an FX lead for a few years and had an amazing mindset for marrying the game design of abilities to how the FX look and work. While I didn’t fully grasp that, it led me to ask myself a few questions when making effects:
- How does the ability start? What does it do? Does it have a windup? If so, how do you show that windup with an effect?
- How does the player move during the ability? How should I make that movement clear to players via FX?
- And the most important one to me: How does the ability impact enemies/targets? Hit impact matters A LOT.
A short story about the last point: during the first 3-4 years of the project we kept hearing complaints from the closed testers about not “feeling the impact” of basic attacks even though SEVEN different things happened when you hit someone (hit reaction animations, blood, etc.) I asked my mentor to take a look and he ended up helping me make these large, exaggerated slash marks that have a very quick flash of bright white color before turning red. Suddenly, those complaints stopped. Later on, I also made more exaggerated blood splashes that make no sense but easier to see.
Building Up a Community
80lv: With its Early Access v.3 released recently, when will the game be fully ready? What challenges do you still have to overcome? What content are you planning to add for the players in the future?
We hope it’ll be ready by the end of this year or Q1 2020 but it’s really tough to schedule it.
The biggest challenge – probably of my entire life – is building a player base for this game, making the gaming masses to care about the title and try it out. It’s that loop of “The game is really fun when there’re players BUT there’re not many players because people don’t want to play a multiplayer without a lot of players.”
Marketing an indie game is some kind of wizardry I wish I had more insight into. Players say “do better marketing” all the time but with influencers being paid like pro athlete endorsers, a low-budget indie faces the limits. We keep ourselves sane by following a Field of Dreams’ line “build a great game and they will come” and focus on what we can control. i.e. making the game as good as we can and growing our community on Discord one person at a time. We try to be VERY available to the players.
We have two more maps to finish for the full release but with our core gameplay already present, we’ve turned our focus to polishing the game as much as possible. We make our development roadmap public so the players know we’re not a ghost or an Early Access game that won’t get finished. We try to release patches every week even if it’s a small fix or a prototype of something new. We’ll also be experimenting with an FFA/BR mode (I know… but it’s been highly requested) and I think it’ll be a lot of fun playing with our classes and combat system in a more maze-like level.
To build our community, every Wednesday at 10 pm EST we also organize a public open test for any players. The dev team plays on a server for a few hours and tries out new stuff, gets feedback, finds bugs and just has a good time with our players. We’ve done this for the past year and honestly, it’s my favorite part of the game: you get to see your work being appreciated and look at the game through different perspectives that eventually help to make it better.