Devlog #1


Week 1 Progress Update:

Accomplishments:

  • Basic movement mechanics for the player:
    • Able to move freely on the ground.
    • Can switch between the wall and the ground.
    • Can move along the wall and is affected by gravity.
    • Can switch between two walls.
  • Core shadow mechanic
    • Objects cast shadows that have their own colliders.
    • The shape and size of the shadow transforms realistically based on its position relative to the light source.
  • Core puzzle mechanic:
    • Player can move objects when they shape-shift into “floor ghost” mode.
    • This movement of objects is dynamically reflected on the shadows such objects cast.
  • Created a basic tutorial level design that showcases the core mechanics of the game
    • The player is required to manipulate the shadows of two boxes in order to reach a door that is high up.

Next Steps:

  • Have the camera follow the player when switching between walls.
  • Integrate more art assets into the game.
  • Auto-movement through walls without need of player input.
  • Decide upon the object movement mechanic.
    • Should the player be able to push/pull the objects in the environment?
  • Plan and brainstorm level designs.
    • Add more variety of shapes/objects that can be interacted with.
    • Moving light sources (controlled by the game rather than by the player).
  • Stealth mechanic
    • Make it so that the player can transform into the “floor ghost” for a certain amount of time before being detected, which would result in a game over.
  • Enhance shadow mechanics
    • Experiment with Unity’s light system, and make the shadow pop more (draw the shadow ourselves?).
    • Add the ability to cast two shadows on one object.
    • Add the ability to create simpler shadow meshes for complex models, preferably auto-generated.

Important Discoveries:

  • The shadow during game jam 2 is a black slab, and the position and rotation are synced with the object itself.
    • After the game jam, we experimented with generating the shadow mesh by raycasting from the light source to all the vertices in the mesh to generate the shadow mesh dynamically.
    • This approach might be expensive for complex shapes with many curved surfaces.
    • One optimization idea is to have another simpler object mesh separate from the rendering mesh. The simple mesh can be generated by resampling the rendering mesh so that close-up vertices are included once.

Get Shadow Traveler

Leave a comment

Log in with itch.io to leave a comment.