Journal

Unleashing the Villains: Behind the Scenes of Our RPG Enemy Art!

Posted by:

Unleashing the Villains: Behind the Scenes of Our RPG Enemy Art!

We know it’s been a while since our last update, but we promise, we’ve been hard at work on Last Dream II. In this post, we’re excited to share a major milestone in the game’s development—our enemy art!

In Last Dream II, we’ve gone all in on delivering 100% unique artwork, which has meant a significant investment in creating high-quality enemies. And we didn’t stop there! We made a promise to bring these enemies to life with full animations, and today, we’re thrilled to announce that after years of on-and-off work, we’ve completed the entire enemy art and animation process.

To put this into perspective: Last Dream II features 98 unique enemy types, with multiple variations for each, bringing the total number of enemies to a staggering 461! While there are still a couple of enemies and a handful of bosses left to finish, we’re almost there—every piece of artwork has been created and animated.

Now, let’s dive into how we bring these creatures to life, starting with a fan favorite: the Werewolf. It all begins with a request to our talented graphic artist (@unclebladey), who then creates the initial sketch for approval:

After our team has reviewed and approved, the artwork is then painted and finalized, resulting in the artwork shown below:

Then our work begins where we attempt to bring the Werewolf to life through animation. We use a process known as “cut out” animation. We cut the artwork into it’s various pieces (body, head, arms, legs, tail) and save each piece separately in a “sprite sheet” shown below:

 With all the individual pieces of artwork ready, it’s time to build the skeleton in Godot. Think of the skeleton as a structure made of interconnected parts. We start by creating a Node2D for the base skeleton and add Sprite2D nodes for each body part, like the limbs and torso. To make everything move seamlessly, we attach RemoteTransform2D elements to each part, linking them in a way that mirrors their natural connections—like the upper arm connecting to the body, the lower arm to the upper arm, and the hand to the lower arm.

We also adjust the pivot points to match the joint locations, ensuring that when each part rotates, it moves correctly and realistically. The final result looks exactly like the original artwork, but now, it’s fully animated and able to move in the game!

 The transparent symbols at the Werewolf’s joints represent the pivot points where the rotations will happen. Each enemy will have a basic idle animation, involving subtle movements to bring them to life. To achieve this, we use continuous movement with cubic interpolation to smoothly transition between animation points. The end result? A lifelike, fluid animation, which you can see in the example below:

 This process has been repeated over 400 times!