The small skeleton “Skul” who is responsible for the safety of the Demon King City, in order to save the demon king captured by humans, he alone confronts the imperial army and begins an adventure.
Human beings become opponents and small soldiers become “heroes”. This anti-routine setting makes the game catch people’s attention from the beginning. “Skul: The Hero Slayer” (hereinafter referred to as “Skul”) is a 2D Rogue Lite and action platform game made by a small team, SouthPAW Games. Although the starting point is not high, it is cute Little Skull still relies on strength to harvest a large number of fans.
In 2019, “Skul” debuted in the Global Independent Game Development Competition (GIGDC) and won the first prize. In the same year, it won the grand prize of South Korea’s BIC 2019. In 2020, “Skul” was launched on Steam, and within a few weeks, it received 2,700+ comments and a 91% favorable rating. The game will be officially released in 2021. Players who have exceeded 70W before the release have added a wish list. Up to now, the praise rate has reached 93%.
SouthPAW Games has eight members and was founded in 2017 by members of the gamedev club of Chonnam National University in South Korea. Since Unity 3.0, the studio has been choosing Unity as a development tool, and “Skul” is their first pixel game project.
The team borrowed a lot of content from classic games such as “Kabi of the Star” and “Rockman”, such as eating enemies to learn skills and boss-exclusive weapons. The most unique is the “head-changing” gameplay. The little skeleton takes off his head and puts on the heads of other demon races to transform into a warrior with the abilities of other demon races.
In addition to the superb gameplay, the screen of “Skul” is also very impressive. Although it is a pixel-style game, the screen is very delicate.
At the beginning, the little skull was in the empty Demon King City, with a few candles shining in the background, and the smell of loneliness and desolation immediately began.
When the move released by the little skull hits the BOSS, there will be a splash effect of pixel particles, which doubles the impact of the game.
In the process of game development, SouthPAW Games used many Unity 2D tools. We interviewed the main creative team of the game and asked them to reveal the key technical points for everyone.
Make clear and sharp images with 2D Pixel Perfect
SouthPAW Games used the latest Unity 2019.4 LTS to develop “Skul”, based on the Universal Rendering Pipeline (URP) 8.10 to produce images. The function is in the 2D Renderer of URP and can also be installed into other projects via Package Manager. Its Pixel Perfect Camera component allows pixels to remain clear and sharp at different resolutions. It also allows the movement, rotation and scaling of the object to be strictly limited to the pixel grid, and it automatically calculates the image according to the change in resolution Zoom.
The team realized at the beginning that when making pixel images, the resolution of game resources must be kept consistent. “The reference resolution of the image during the development preparation was too high, and the image resources were too fine to meet our needs. As a result, we had to recreate the image resources.” In the end, the team decided to set the pixel resolution of the entire game to 32 PPU (Per unit pixel), that is, a Tilemap grid contains 32 x 32 pixels, and one tile is a distance unit in the game.
The reference resolution of the game is 640 x 360 pixels, and the maximum height of the background is set to 400 pixels. In order to keep the image clear at all resolutions, the team tested different display resolutions in the Game view and also tested the game on PCs with different configurations.
In order to make the resolution modification process as smooth as possible, the team set a rough reference ratio to feel the shape and color performance of the image, and then shared and discussed their ideas in the conceptual art stage (1). After determining the role scheme, enter stage (2) to plan animation and draw key frames.
In stage (3), prototypes are made, the actions and sizes of the characters are tested whether they are appropriate, and then the abilities and skills of the characters are written. In the final stage (4), the team used the AnimationImporter plug-in to bring self-made Aseprite resources into Unity.
In addition, the unique style of “Skul” is also composed of some other elements, such as the character’s chopping and slashing action, the way that the enemy’s armor and weapons fall when the enemy dies. These effects have become more realistic under the action of 2D Physics. Director and animator Sang-u Park (aka PAW) explained: “We call these objects’parts’.”
The spawning position of each part is the same as the position on the sprite, and when dropped it is like falling from the body. Players can also attack parts to repel the enemy, each part has its own weight and rotation force, consistent with the real world. “As for the rotation of objects, the team sometimes rotates the sprite directly in Unity, and also creates a sprite at each rotation angle and combines the sprites to generate sequence animation.
“The frame-by-frame animation produced by rotating the sprite at every angle will indeed be of higher quality, but its production cost is also higher. Whenever we want to rotate a sprite, we have to carefully consider the image accuracy and importance of the character. The degree to decide which method to use for rotation.”
Use 2D Tilemap Editor to design levels
In “Skul”, the team divides the tiles in the world into Terrain (terrain), Terrain Foothold (terrain foothold) and Platform (platform). Players cannot cross Terrain and Terrain Foothold, the latter can only be used as a standing platform; what players can cross is Platform, which can jump from low to high, or from high to low. The team also wrote a script to allow tiles to inherit the tile class to determine their type.
According to PAW: “We used Tile Palette to generate tiles, assist in production, and bind Tilemap Collider 2D to a single Polygon Collider 2D to optimize the collision body.”
Development skills in game performance, operational efficiency, etc.
01 Wizard Atlas
Using Sprite Atlas can greatly improve performance. At first, the team’s optimization focus was on drawing calls and memory consumption. But they soon discovered that instead of squeezing out one or two frames of performance like squeezing a sponge, it is better to focus on the fun of the game, and by the way, the project structure can be optimized to facilitate testing and development. “As a 2D game, “Skul” does not require high system requirements. After the performance is optimized to a certain level, the game can easily run on smartphones,” PAW said.
There is plenty of blank space around the animation wizard, and the pivot point of the atlas is in the center, so that you can easily locate the position of each frame and form an animation.
02 Physics 2D
Physics 2D is mainly used to deal with collisions between static and dynamic objects. In the dynamic collision of visual effects (such as the wreck effect), Physics 2D will not directly affect the gameplay under low-precision settings. For those elements that require high precision and directly affect the game experience (such as player actions), the team used functions such as 2D Raycast and Collider projection to calculate the game logic.
03 Other skills
SouthPAW Games has extended the Unity editor so that the team can edit and use most of the Unity features without changing the code. Unity Profiler plays an important role in identifying CPU performance bottlenecks, while Frame Debugger is used to detect graphics rendering. The team can continuously improve the game based on the information provided by the tool. In these resource optimization work, the team divided the visual effect into smaller parts. The mixing of different parts can produce different output. The size, angle and color of the pixel are changed, and the URP and color are used as a brand new effect. The default shader in 2D Renderer, and remove the unused functions.
04 Other 2D tools and custom extensions
Since the team’s project started, Unity has successively released some new 2D tools. Although these new features cannot be used, the 2D Sprite Shape, 2D Lights, and Sprite Tools still excite the team. “These tools are too complicated and difficult to optimize. We can’t apply them to the project by ourselves, and there are no very reliable third-party tools on the market. I heard that some tools apply the Job System and have a high level of optimization. We look forward to using these useful official tools in the future.” As a fan of 2D games, the SouthPAW Games team is satisfied with the 2D tools released and updated by Unity. The team also developed an extension program using the API of the 2D tool, allowing the artist to modify the game without changing the code.
Another very convenient tool is the Preset system. Users can use this function to load pre-set configuration resources to facilitate the creation of props and characters with unified settings.
The team created a shortcut to the project folder, saving a lot of time. They have established a weapon creation system that can create new prefabs with relevant data, and a system for dropping items at the player’s location.
Professional evaluation creates professional achievements
SouthPAW Games showcased “Skul” for the first time in the Global Independent Game Development Competition (GIGDC) and won the first prize-Unity Enterprise Technical Support Service: Unity South Korea sent a team to Gwangju to conduct consultation-style project analysis and report to the team Provide professional feedback. The two parties analyzed the performance of the project together, and the “Skul” team learned a lot of basic knowledge of performance analysis from the Unity expert team.
For SouthPAW Games, the release of “Skul” is just a milestone. They will continue to listen to the opinions of players and update the game until they make the ideal “Skul”.
Source: Unity official platform