One Soul (Part 1)

Work In Progress / 01 November 2022

I have been working on an RPG game, and thought it would be fun to challenge myself to create all the art for a simple level, and share my experience here.

GAME ENGINE

The game is prototyped in Unity for quick iteration. The art in the Unity prototype is minimal blockmesh, using a custom render pipeline with a simple tri-planar grid material. No lights, shadows or post processing. Though, the material itself is emulating a directional light and fog.

For this art challenge, I will be using the Unreal engine. It is artist friendly, having a single built in render pipeline, that everyone is familiar with. Unity, on the other hand, has a built in standard render pipeline (SRP), that is not supposed be used, as well universal (URP) and high definition render pipelines (HDRP).

PLATFORMS

I am using Mac as my primary platform, and Windows PC as the build target platform. As a long time Mac user, I prefer working on that platform, even though OS upgrades are prone to break existing software, causing quite a headache. Linux might have been an option, though it does not run Photoshop. As most desktop game players are using Windows, that is my target platform. Also, when using Unity on Mac, it is easy to make Windows builds. The game also supports game controllers, and could easily be built for consoles was well.

VERSIONS

When developing a product, updating the OS or applications to the latest version often cause problems, and might even break the product you are working on. The VFX reference platform (https://vfxplatform.com/) is addressing this problem by defining what software versions to use together.  In my case, I have locked my versions roughly corresponding to the VFX reference platform 2020:

  • macOS 10.13.6
  • Windows 10
  • Unity 2020 LTS
  • UE4.20
  • Maya 2019
  • Houdini 17.5

UNITY PROTOTYPE

The Unity prototype has four test levels. The first is a combat setup with three enemies. This is used to test the combat mechanics. The level was blocked out in Maya.

The second level is a city, used for testing traversal and NPC interaction. This is also blocked out in Maya.

The third level is a dungeon. The level is procedurally generated using Houdini, and also handles locking doors and placing the keys is such a way that the end of the level can be reached without locking yourself out. Houdini generates a point cloud with entity ids, specifying the location of modular pieces, doors, keys, chests and enemy encounters. Enemies are placed with easy encounters in the beginning, and more difficult by the end of the level. They are also placed to face the direction where the player is likely to enter a room. The cyan area on the floor is the navigation mesh, dynamically generated in Unity.

The forth level is an open world, also generated by Houdini, outputting height fields, masks, and a point cloud for all entities like trees, rocks, NPCs, and towers. The NPCs are placed on the roads, and near towers, and the towers are oriented with the entry towards the path.

SCOPE

For the final game with the main campaign, I plan to make a one square km hand crafted overland world, with an additional square km of underworld caves, dungeons, mines, sewers and secret tunnels. It would take maybe one year for the level blockout, placeholder animations and remaining game mechanics. There will also be quadrupeds in addition to bipeds, mainly for animals roaming the overland world. Then at least another year for the production of art, animation, effects, sound design and composing music.

That is a long time to wait, which is why I'd like to do this challenge, creating a minimal subset of the game:

  • one generated dungeon level
  • modular art pieces for the dungeon level (floors, walls, ceilings, columns, doors)
  • props (torch, chest, key, sword, shield, key, health potion)
  • one biped character with variations for the enemies (body, armor, helmet)
  • character rig
  • character animations (idle, walk, strafe, attack, combo attack, block, hit reaction, open chest, death)
  • environment/prop animations (open door, open chest)
  • effects (burning torch)
  • lighting (indoor)
  • user interface elements and font for the menu and HUDs
  • one cover art image
  • a 30s promo cinematic
  • sound/music (not part of this art challenge)

As I will also be working on the main campaign, the amount of time I'll allocate to this blog series depends on the interests from you readers.