Self-motivated game creator with experience in Agile Project Management. I have independently worked on titles across a variety of platforms, ranging from tabletop, mobile, PC, and VR. In doing so, I've worn all-the-hats including performing market research, creating new intellectual property, managing and prioritizing backlogs, mocking up game user interface, designing game mechanics, user interface and user flow diagramming, native documentation, back-end coding, networking coding, animations, 3D modeling, sprite sheets, audio creation and effects, designing paper prototypes, playtesting, and much more.
Tools - Unity, MS Office Suite, MS Project, JIRA (Structure, Plans, EazyBI), Confluence, Trello, Freedcamp, Visio, TFS, OneNote, Visual Studio, Adobe Illustrator, Adobe Photoshop. Paint.NET, Blender, Audacity, VSDC, MonoDevelop, SQL Server, Miro, Shotcut
Skills - Sprint planning, retrospective meetings, coaching agile practices, removing impediments, burndown charts, requirements gathering, documentation, forecasting, resource allocation,
Soft Skills - Active listening, creativity, adaptability, problem solving, organization, planning, team building, communication, decision making, leadership, coaching
Language/Scripting - C#, Java, Lua, Love2D, .NET, VB, Pascal, Ada, SQL, HTML5, CSS, Javascript, LUA, Game Maker, Matlab, C++
Wicked Manatee Games Mar 2013 - Current
Founder/Producer/Architect
Design game concept, develop game code, and playtest functionality on multiple platforms (tabletop, PC, VR, mobile)
Manage each project’s scope and timeline
Handle each campaign’s marketing, budget, and schedule
Unity3D Nov 2020 - Current
Snr Technical Program Manager, Multiplayer - GameObjects
Led the first release of Netcode for GameObjects and Multiplayer Tools 1.0 packages
Conducted a Jira consolidation program to move 10 teams into Jira that reduced overhead, leveraged repeatable victories, and guided collaboration
Ushered the first scrum of scrums process to help navigate risks/blockers
Manage various communication channels in Confluence, Slack, and email to ensure stakeholders within and outside the org are aware of each program of Multiplayer
Improve the team’s ability to plan and deliver software without hampering progress or autonomy of developers through coaching Agile development practices
Games by Moonlight Jun 2020 - Aug 2020
Lead Level Designer
Designing levels, obstacles, and puzzles utilizing Unity TileMaps and prefabs
Creating unique player abilities, enemy types, enemy attacks, and boss fights
Organizing Github repository for task management and documentation
Indiana Tech
Bachelor of Software Engineering - Aug 2008 - May 2012
Project Management Institute (PMI)
Project Management Professional (PMP) - Dec 2015 - Present
Scrum Alliance
Certified Scrum Master (CSM) - Mar 2017 - Present
HardvardX
Introduction to Game Development
I've pulled some basic logic from my enemy spawning code in Space Duel (prototype of Cosmic Battle). This is just calculating the time and difficulty of the wave level based on some linear math. I enjoy this snip-ip because I'm not calculating the number of enemies that are spawning. I'm calculating the "power" of the enemies as the limiting factor. (Higher numbered aliens have better stats)
private void PrepWave() { doSpawn = true; waveTimer = (level*30) + (Mathf.FloorToInt(level/5)*15f); //you have 30sec a level plus an extra 15 each 5 levels before the next wave comes if (waveTimer == 0) waveTimer = 15; timer = waveTimer; wavePoints = (level * 2) + (Mathf.FloorToInt(level / 5) * 2); //2 points a level plus an extra 2 each 5 levels. These are used to generate enemies to be spawned if (wavePoints == 0) wavePoints = 1; level++; CreateNotice(); }PC: Cyberpunk 2077
Switch: Lost in Random
PS4: Outer Worlds
Tabletop: Hopefully some Charterstone whenever I can shepherd some cats together