Project Theseus

Check it out here

Project Theseus is a 3rd-person game which pits two players controlling different characters in a dynamic, hostile and dark environment. Players need to carefully explore their surroundings, paying attention to every movement and sound while outsmarting their lethal opponent.

Deep underground a sinister research program pursues experiments with modified human DNA to find eternal life. After a devastating seismic event a specimen escapes and tries to flee the facility, with only one last standing guard able to prevent that.

Responsibilites

  • Art Direction
  • Level Design
  • Environment Art

In this project my main concern was to develop and iterate on the overall level design from a gameplay as well as visual perspective. My role as the Art Director of the project was to oversee the visual development of the game as well as provide concepts to realize the original vision of the project. Furthermore the curation and working with Unreal’s Marketplace allowed me to quickly concept a level and expanded the game in terms of content what wouldn’t been possible in just 3-4 months we were given.

Examples

The following code snippet is an excerpt of a ceiling tile effect that uses physics simulation to drop tiles during an earthquake event in the game.

Tiles drop from the ceiling

Another area I worked on was the creation of destructible environmental objects that would randomly open up the game world and allow for different routing in the level. This was done through a prebaked animation of skeletal meshes that were constrained to a rigidbody animation in Blender with a small Python script.

# This is a script for placing and constraining bones
# to selected objects.  It is useful for baking physics
# simulations to armatures for export to game engines

import bpy

selObj = []

for j in bpy.context.selected_objects:
    selObj.append(j)
    
for i in selObj:
    vg = i.vertex_groups.new(name=i.name)
    verts = []
    for vert in i.data.vertices:
        verts.append(vert.index)
    vg.add(verts, 1.0, 'ADD')
    
bpy.ops.object.armature_add()
bpy.ops.object.editmode_toggle()
bpy.ops.armature.select_all(action='SELECT')
bpy.ops.armature.delete()
    
for e in selObj:
    bpy.ops.armature.bone_primitive_add(name=e.name)
        
bpy.ops.object.posemode_toggle()
bpy.ops.pose.select_all(action='SELECT')

for bone in bpy.context.selected_pose_bones:
    lc = bone.constraints.new(type='COPY_LOCATION')
    lc.target = bpy.data.objects[bone.name]
    rc = bone.constraints.new(type='COPY_ROTATION')
    rc.target = bpy.data.objects[bone.name]
    sc = bone.constraints.new(type='COPY_SCALE')
    sc.target = bpy.data.objects[bone.name]

bpy.ops.pose.select_all(action='SELECT')
     
bpy.ops.pose.armature_apply(selected=False)

    
bpy.ops.object.posemode_toggle()

The animations were then expanded with particle systems and sfx that spawn at certain bone locations and finally used as a blueprint actor that can be destroyed through an earthquake event.

In the end I created most of the levels structures, layout and interactivity, allowing for a semi dynamic gameplay experience in a tense setting. The following images show sections from the level which range from an underground laboratory to a logistical train station.

Photo 1 from Project Theseus Photo 2 from Project Theseus Photo 3 from Project Theseus Photo 4 from Project Theseus Photo 5 from Project Theseus Photo 6 from Project Theseus Photo 7 from Project Theseus Photo 8 from Project Theseus Photo 9 from Project Theseus Photo 10 from Project Theseus Photo 11 from Project Theseus Photo 12 from Project Theseus Photo 13 from Project Theseus Photo 14 from Project Theseus Photo 15 from Project Theseus Photo 16 from Project Theseus Photo 17 from Project Theseus Photo 18 from Project Theseus Photo 19 from Project Theseus Photo 20 from Project Theseus Photo 21 from Project Theseus Photo 22 from Project Theseus