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

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

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

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