Dreamwillow

Project information

  • Developed By WolverineSoft Studio
  • Dev Cycle 09/08/2019 - 12/08/2019
  • Team Size 30 Developers
  • Engine Unity
  • Platforms PC, Mac
  • Visit itch.io Page

About

DREAMWILLOW is a top-down 2D twin-stick shooter made by the University of Michigan's video game development club, where you resurrect your felled foes to fight alongside you in a dreamlike forest.

My Responsibilities (Lead Designer, Lead Programmer)

  • Led enemy and companion design pods
  • Designed and balanced enemy/companion systems
  • Designed and balanced levels
  • Designed other necessary game systems
    • Character movement controller
    • Interactable system
  • Held meetings with designers, artists, programmers, and audio engineers
Gather souls for the shop!

What I'm Proud of

  • Establishing a throughline aesthetic allowed for consistent enemy designs amongst different artists
  • Set up a baseline set of enemy behaviors early on, giving pod members a lot to work with right away
  • All pod members' (not just designers) ideas were heard and discussed in designer brainstorming sessions
  • Actively updated public tasks/schedule allowed for transparency of who was working on what and how we were doing as a team
  • Events-based style of programming enabled abstract interfaces between code, audio, and animation
Sacrifice your companions to stay alive!

What I Could've Done Better

  • Took too long to establish my pods' workflow pipelines
  • Initial wishy-washy critique on art and audio just led to further complications and lost work down the line
  • Wasn't proactive enough in checking in on pod members' work or potential problems
  • Didn't enforce a content-lock on enemies until very late in development, leading to debugging crunch
  • Enemy/companion balancing didn't happen until very late in development
  • Companion system caused problematic feedback loop that polarized the overall skill curve
  • Animation became a big, unforeseen bottleneck, leading to lower througput of finished enemies
  • Didn't dedicate enough time to code reviews, leading to some unmanagable scripts
  • Unclear version control protocol led to git conflicts on enemy prefabs
You saved the forest!

Lessons I Learned

  • Always be proactive about reaching out to teammates on potential blockers
  • Trust in teammates to handle straight-forward critique early on to avoid lost work later on
  • Playtest more often with people outside the studio
  • Balancing is best done as an on-going process, not a last-minute task
  • A lot of ideas can be cool, but not all ideas add actual value or player choice to gameplay
  • More enemies doesn't mean more depth if they don't change how the player has to play
  • Identify bottlenecks early on so we can allocate more resources or descope when necessary