top of page
Research & Development
Technical Design
MachinationsDiagram.png

Focus:

Engines:

Time Span:

Role:

Team Size:

Gameplay Systems, Designer Tools

Unreal 3, 4, and 5

1.5 Years

Technical Designer

20 Developers

Highlights

Designer & Architect of Gameplay Systems

Designer & Architect of Dev Tools for Gameplay Implementation

Overview

While at Enduring Games, I contributed design specifics and technical implementation to a variety of R&D projects, including six gameplay systems and over a dozen tools for designers and developers. On this page, I have documented the process of Research and Development efforts in general, as I have come to understand and replicate them, particularly in the context of a professional game development studio. 

​

I worked directly with the design director, art and engineering leads, software engineers, artists, animators, and subject matter experts across engines and disciplines. Through this process, I came to appreciate the creative and technical aspects of the trade under uncertainty, time pressure, and often high-stakes business needs.

Core Loops of R&D

Research Cycle

Development Cycle

Project Lifecycle

Flowchart for an R&D Project, Start-to-Finish

R&DFlowchart.drawio.png
Ideation Stage

Goals for the Ideation Stage

  1. Decide on a direction.
    Establish a vision for the project, including technical direction, artistic goals, and a production timeline.

     

  2. Explore unknowns.
    Check blind spots and articulate assumptions about technical and creative dimensions.
    Find inspiration, fill knowledge gaps, and collect external information as needed.

     

  3. Mitigate foreseeable risks.
    Check for precedents, raise concerns, and analyze doubts to build realistic confidence in the project.

     

  4. Clarify expectations.
    Document the refined vision, including an in-depth timeline and deliverables, for team communication.

Research Loop in the Ideation Stage

What each step of the research cycle looks like during ideation:

​

  • Hypothesize.
    Our vision is valuable/achievable because [reason/mock-up/precedent].

     

  • Test.
    If this is built, we would also want/require [features/refinements].

     

  • Observe.
    Seeing the refined vision, naturally... [insights/surprises/risks/leverage].

     

  • Diagnose.
    How do [insights/surprises/risks/leverage] strengthen/weaken our vision?

     

  • Re-Hypothesize.
    We will pursue [leverage/risk mitigation] by [methods].

    ...etc.

Tips & Tactics for Ideation

Things that can help during ideation:

​

  • Write a bold, concise, single-sentence summary of the end result.
     

  • Break the problem down into dimensions: points of success or failure.
     

  • Envision the best and worst outcomes if time is spent on this project. 
    In general, alternate between bold vision and skepticism.
     

  • Design reusable lenses to help understand the problem space and diagnose outcomes.
     

  • Find ways to break the problem into chunks and leverage the team's strengths. 
     

  • Come prepared. Inspiration was always best done yesterday.

Manifestation Stage
Manifestation Stage

Goals for the Manifestation Stage

  1. Answer practical questions.
    A clear sense of the project's feasibility, scope, value, and payoff should be achieved.

     

  2. Proof-of-Concept.
    The value of the intended experience and robustness of technical implementation should be demonstrated sufficiently to be verified by domain experts.

     

  3. Lay the groundwork for productization.
    What is built during this phase should be extensible enough to expand on without significant rework.

Research Loop in the Manifestation Stage

What each step of the research cycle looks like during manifestation:

​

  • Hypothesize.
    We expect [user experience/technical result] if we use [strategy/methods].

     

  • Test.
    Implement according to the proposed [strategy/methods].

     

  • Observe.
    Did we achieve [user experience/technical result]?

     

  • Diagnose.
    Why or why not? Is there a better way?

Development Loop in the Manifestation Stage

What each step of the development cycle looks like during manifestation:

​

  • Prioritize.
    Get all the open questions. Sort them by impact versus effort.

     

  • Implement.
    Build a potential solution to the highest-priority open question.

     

  • Evaluate.
    What did we learn about the question? What's left to resolve?

Tips & Tactics for Manifestation

Things that can help during manifestation:

​

  • Be conscientious of software architecture best practices, with an eye for extensibility.
     

  • Have clear hypotheses about where the fun will be found before building a prototype.
     

  • ​Continually improve the codebase with small refactors when working with existing yet malleable code.
     

  • Experiment and identify opportunities for improving the player experience at each evaluation step.
     

  • Seek feedback from domain experts and ensure that the team is aligned on implementation details.
     

  • Define and work with criteria for success in areas where results are subjective.

Productization Stage
Productization Stage

Goals for the Productization Stage

  1. Reusable and marketable.
    Have the product built as general-purpose as possible for the market niche it occupies.

     

  2. Stable and robust.
    Ensure the product is stable under extreme conditions and reliable in every use case.

     

  3. Accessible.
    Make the product easy to interpret by a wide variety of people and create documentation as necessary.

Development Loop in the Productization Stage

What each step of the development cycle looks like during productization:

​

  • Prioritize.
    Which tasks get us closest to the target result the fastest?

     

  • Implement.
    Execute those tasks and log the time spent on each.

     

  • Evaluate.
    Have we reached the finish line? What's left?

Tips & Tactics for Productization

Things that can help during productization:

​

  • Quantify technical debt to the best of one's abilities, and plan to clear as much as is feasible.
     

  • Keep a handful of studio members off a given product, reserving them as fresh eyes when beneficial.
     

  • Keep the project integrated, rather than forking it, when iterating on client feedback, when possible. 
     

  • Triage requests for features and optimizations with a plan for versioning and future work.
     

  • Keep the target hardware in mind from the outset, and ensure compatibility throughout development. 

bottom of page