Nightcycle Studios January-April Development Update

Hello! It’s CJ. As you all may have noticed my “Weekly” game development updates have been absent the last few months. I do apologize for that - it was not my intention to be absent for so long.

From now on I’ll be doing a monthly re-cap, likely around the start of the following month. As we’re already on the latter half of April my first one of these would be summarizing the month of May + April’s end, likely posted early June.

As for this specific post, I’m not sure if I’ll do seasonal recaps (doesn’t seem like too bad an idea) but this one serves more to catch everyone up.

The Past Few Months: Going from 0.1.0 to 0.2.0

Jan 6: Hair Simulation Improvements

The hair now sways a bit when the player walks - nothing too monumental, but a nice improvement.

Jan 21: Character Scaling

Characters can now have different body types! This includes different faces, heights, body proportions, etc. It was a nice change, but due to the character generator script not being super optimized for it, for months following a lot of the randomly generated characters looked pretty weird.

February 16: Multiplayer

Prior to now, all the SHL4 tests have been single-player. In order to bring the game to multiplayer, I had to do some intense code refactoring. Code refactoring is when a dev takes time to reorganize / rewrite code to make it a better foundation for future work.

This is the 3rd time I’ve majorly refactored the LP3 (our custom avatar system) code. The first one was taking a rough prototype and making it more modular. The second time was to better prepare the code for multiplayer. The third time was fixing all the mistakes carried over from the previous two in order to actually make it multiplayer.

This refactoring was so intense that I only had time to get the basic stuff transferred over. This means that stuff like much of the limb inverse-kinematics, hair / cape physics, and more didn’t make the jump. On top of that I lost a bunch of the polish in character movement, as well as reliable custom character physics. In time I will regain most if not all of these, better and more reliable than they were before, however for now it leaves me feeling like I shouldn’t have created them at all until multiplayer refactoring had been completed.

March 19: Character Editor First Semi-Functional Prototype

Prior to this tweet I had released a few images of basic editor navigation. People seemed to like the basic layout, but this was the first time you could actually make an adjustment to the character.

In the video above, a few technologies are shown off:

  • An OOP based UI infrastructure: This allowed me to easily configure and build panels for customization, something that meant I could reuse code and make changes much faster.
  • UI Shading Library: See how much of the UI has a bit of shading under it? It allows these 2D elements to look 3D. This was inspired by a trend in UI aesthetics called Neumorphism. Now I wouldn’t call this editor strictly Neumorphistic, but it definitely reflects some of its core tenants. The UI shading library made converting boring flat UI to shaded UI very easy.
  • Various UI Element Libraries: I used some libraries like Material Plus as a starting point for stuff like the sliders and the dropdown menus. I wrote up my own libraries for things like the HSV color picker, and the 3D instance display selection menu. They aren’t anything too fancy, but they’re useful.
  • Camera Navigation: Previous SHL games have allowed for limited camera movement when it came to their characters, but the new SHL4 editor allows for full control. The movement scheme was inspired by the one used for Google Earth, and so far people seem to like it.

April 12: Editor Detail Selection Tool + Further Editor Advancement

In previous SHL games, all of the actual character editings happened in UI. After working on Nightships I realized how some tasks were actually much better suited for 3D interactions with the model. With that I debuted the selection tool for the character editor. At the moment the way it works is it allows for you to specify what specific area of the avatar you wish to edit. For example you can change the color of just an arm, or the material of just part of the torso - the whole idea is that it allows for most finite control over your character.

At this point much of the editor is considered functional, allowing for customization over much of the character aspects previously only changeable through the character generator.

April 16: Character Auto-Complete

Character customization is the core of the SHL franchise, but many of the people when they try it the first time get bored in the character editor. For many, the fun part of the game is being your own custom hero, not setting up your own custom hero. In order to best provide players with the ability to quickly make a custom character (our goal <30 seconds), we created an auto-complete functionality.

The way it works is that it takes all the input you’ve provided so far, and uses it to fill out areas you haven’t reached yet. The result is a character which very quickly looks like you’d expect it to. If it’s not to how you like you can always change aspects of it manually - the point is to save you time.

Our Path From Here

We’ve done a lot of cool stuff in the past 3 months, so what do we do from here?

0.2.0 Release Improvements

We hope to have all of these added by mid-May.

  • Touch Port: In order to get some early feedback on the editor, we didn’t release the most recent build with touch device compatibility. As mobile devices make up the majority of our audiences we want to fix that ASAP.

  • LP3 Avatar: As mentioned previously, the code refactoring left out much of the cool features from the old version of the LP3 avatar. We want to at the very minimum get stuff like hair physics and nice feeling movement back.

  • Editor: Some of the panels are slow to load in the editor, and there is a long list of small bugs that need to be squashed. Before we can do too much improvement I’ll likely need to refactor the way the editor handles the undo/redo/selection tools in preparation for adding new ones. Once stuff like hair physics and capes are re-implemented on the LP3, we’ll want to integrate them into the editor as well.

  • New Assets: Currently the library the editor uses to build the character is quite limited - especially in the mask department. We want to build that up, hopefully doubling the number of base character skins, and adding a powerful mask creation system on top of that.

0.3.0 Release

We’re hoping to have this done in June.

  • Procedural Map Generation: in order to provide a vibrant expansive world that can run on any device, we’ve realized the need to procedurally generate the city map. Similar to how minecraft can run on your phone yet be massive, we’re hoping to accomplish the same thing with SHL4. Also like Minecraft, this procedural map will be fully destroyable. Don’t take this to mean though that we’re going for a blocky aesthetic - things should look like a normal city. By the end of the 0.3.0 release we’re hoping to have the base variant of the planet generation done, likely including a few generic building styles that create cities spread across generated terrain.

  • Customizable Super Powers: The core of all the SHL games is customization, and in SHL4 we’re going all-in on customizable superpowers. You’ll be able to choose what meshes you use, what sounds the powers make, particle effects, animations, and more! It’s all quite exciting. At this time they’ll be limited to non-combat powers. We want to give combat a ton of focus so that it feels great, and that means delaying its addition until we have other foundations set.

Summary

SHL4 is on a steady path to a fun playable game. I was delighted to see the recent multiplayer / editor private test reach 30 concurrent players on its release. This will soon be my longest project, but it has also been the one I’ve put the most care into. I’ve done a lot of research and tested out my ideas in side projects to better the chances of this game.

I know you all feel restless for its release, but what you may not realize is that I’m more restless than any of you. I spend most of my day thinking about SHL4, what it will become, and how I can get it there. I want to get this game playable as soon as possible, but I want it to be done right most of all.

Super Hero Life III showed how a game - even when made with love - needs to be made carefully to avoid making major missteps. The reason these updates take so long is because I’m testing everything, and spending much more time on polish than I did in the past. I’m working daily to avoid too much technical debt as that’s what made SHL2 so difficult to update. I’m working daily to make sure the core loop is built up right so that it doesn’t end up like SHL3 either.

I promise it will all be worth it, and I look forward to showing you my progress for the month of May in my next post!

Until next time,
-CJ

7 Likes