2 – Proof of Concept

During those next three weeks, I continued work on my project – to research how board game design and production can help game developers create games faster, and to finish my game Rhythm Dice by applying those techniques.

Work Breakdown Structure and project management

One of my first planned tasks for the week was to roughly list out tasks and estimates for the completion of Rhythm Dice, in its downscoped form. This could serve as a baseline against which any ‘board game development strategies’ could be compared.

Fig 1. Work Breakdown Structure for Rhythm Dice, as of 16/02.

My hope was that the estimates would demonstrate feasibility without any changes required – regardless of whether my research would contribute significantly to scope management.

The outcome surprised me – even after downscoping on the previous week, given 1 hour of estimated effort for each story point, I would not be able to finish by mid-August. In fact, the estimated scope was roughty 85% too large.

I’ve input the data into Jira, my project management tool of choice.

At this point, I had several options in addition to further reducing scope:

  • Hope that my research into board game strategies could help reduce that estimate. At this point however, I had no solid evidence that it would.
  • Continue working, and refine the scope after the first round of feedback. It would be somewhat risky to wait that long, however.
  • Reduce the theoretical element of the project in favour of full-on practice. That could jeopardise my completion of a Masters degree.
  • Outsource much of the production for money. I was reluctant to take that option, not being ready for the financial commitment.

After discussing this with my supervisor, we agreed that downscaling my ambitions for the scope of the game was unavoidable – but not necessarily by compromising the game’s existing pillars. There was still a way to preserve the core of the game.

Fig 2. The original themes of Rhythm Dice.

For instance, a collector might be discerning – making it still possible to appeal to a collector’s fantasy by creating a small set of objects.

I didn’t reach a decision that week. Instead, I shifting to a more practical goal of creating a prototype.

Research into “Strategies”

In line with the previous week’s SMART goals, I undertook more research into the tabletop game production process. The result of that research was a set of strategies covered in a separate post.

Other classifications in literature

My supervisor recommended the book A Pattern Language by Alexander, Ishikawa and Silverstein (1977). This book lists a large number of architectural patterns, divided into three scales from largest to smallest: TOWNS – BUILDING – CONSTRUCTION.

Salen and Zimmerman comment on Alexander’s approach in Rules of Play (2003):

Alexander’s answer to the challenge of complexity is to organize and classify aspects of the design problem at hand. The patterns that arise as a result of this analysis allow the designer to, as Alexander puts it,”overcome the difficulties of complexity.”

Rules of Play: Game Design Fundamentals by Salen and Zimmerman (2003 : 5).

I had read other books in the past that treated the issue of complexity in design similarly:

  • Design Patterns by the Gang of Four groups software architecture patterns into CREATIONAL – STRUCTURAL – BEHAVIORAL (Gamma et al. 1994).
  • Jesse Schell’s Book of Lenses lists “lenses” – points of interest relevant to game design specifically, but with no particular classification (2019).

It is this approach that initially gave me the idea of developing a list of “strategies” to tackle the issue – a set of practies to apply as needed the game’s development process.

Following the trail, I also found a similar approach in Building Blocks of Tabletop Game Design by Engelstein and Shalev (2022). The patterns listed do not explore the question of managing scope, however.

Tech decisions

I found a number of resources in the first week of the sprint that helped me with some of the major technical decisions heading my way:

  • Originally, the sound logic and mixing in the Rhythm Dice prototype was handled natively in Unity. I now have a better understanding on how to achieve what I need using FMOD (a proprietary sound effect engine for video games). The entire soundscape of last year’s Rhythm Dice could have been achieved with a single event in FMOD (Paterson 2016). A dedicated sound engine would also help address some of the original issues I’ve had such as sound latency (Fireflight Technologies 2022).
  • I wanted to experiment with projecting future values of the moving dice onto the game board in order to help players plan their movements during gameplay. This would potentially require shifting the camera perspective to a top-down view, so that all of the die’s sides are visible. It would however limit what is visible to the player ahead. After accruing some experience with Unity’s Shader Graph on my previous project, I could try a ‘world bending effect’ as demonstrated in a tutorial by NotSlot (2020).
  • Unity’s animation system allows for creating keyframe animation by setting absolute values for position and rotation – something that would not work elegantly for a die that has 26 beginning states (one of six sides up times one of four orientations), with 4 end states for each. Therefore, die movement would be described entirely with code. The previous iteration had some issues with that regard, so I drafted a new function that could handle the movement in a more natural way in relation to the beat – by starting to roll in the predicted movement direction in anticipation of the actual beat, through exponential interpolation.
  • After reading an excellent summary of the observer pattern, events, delegates and scriptable objects by John French (2021a) to help me think about the program’s architecture, I decided to dig deeper into the potential of ScriptableObjects – Unity’s alternative to components meant to store data. Apparently, the use of ScriptableObjects in place of some variables, events, or even manager classes (replacing the Singleton pattern) can help make complex game code more modular, editable and debuggable (Hipple 2017). The presented patterns made sense to me, and I was keen to try them out.
  • I would also try and use Unity’s new input system, having read a comprehensive explanation of its setup and benefits (French 2021b).

Proof of Concept development

For the second and third week of the sprint, I had planned the start of development of the first build – a proof of concept. The focus would be on setting up the scaffolding and exploring the feeling of the die’s movement. The third week would additionally focus on running a playtesting survey among peers, bug fixing and polishing.

Fig 3. Issue tracking on Jira.

It soon became apparent however that I underestimated the amount of work required for the already overscoped project, and started running behind schedule almost immediately. I pressed on, regardless, in case I was only experiencing a temporary setback:

Week 2:

  • Project and input system setup
  • Events based on ScriptableObjects – a “metronome” producing a beat
  • Die movement based on model developed earlier

Week 3:

  • Working on bugs and quirks in movement

Retrospective

As seen above, I did not maintain my initial pace throughout the sprint. I worked on fewer tasks that I expected, and didn’t end the week with a playable prototype, therefore having to postpone playtesting.

When looking back during the sprint retrospective, I identified the following areas where improvement was necessary:

  • Procedural. A “lost week” towards the end of the sprint where I barely made progress
  • Affective. Feelings of the ‘spark being lost’, passion for the project ‘fizzled out’.
  • Dispositional. The presence of distractions getting in the way.
  • Interpersonal. Limited engagement with peers during the sprint, partially as a result of postponed user research and feeling the need to focus on individual work to “catch up”.

Conversations during weekly supervisor meetings addressed some of the issues I’ve been having:

  • Weeks of slow progress are a normal, often invisible part of the creative process – my focus should be on finding a sustainable pace from a project point of view.
  • Passion fizzling is a common occurrence – one way to remedy it is to revisit notes from the early stages and pick up work on an element that excites me.

The question I should be asking myself is – which part of my project so far sounds the most doable and the most fun?

References

ALEXANDER, Christopher, Sara ISHIKAWA and Murray SILVERSTEIN. 1977. A Pattern Language : Towns, Buildings, Construction. New York: Oxford Univ. Pr.

ENGELSTEIN, Geoffrey and Isaac SHALEV. 2022. Building Blocks of Tabletop Game Design : An Encyclopaedia of Mechanisms. Boca Raton, Fl: Crc Press.

FIREFLIGHT TECHNOLOGIES PTY LTD. 2022. ‘Core API Reference | System’. Fmod.com [online]. Available at: https://fmod.com/resources/documentation-api?version=2.00&page=core-api-system.html#system_setdspbuffersize [accessed 1 Apr 2022].

FRENCH, John. 2021a. ‘Events & Delegates in Unity’. Game Dev Beginner [online]. Available at: https://gamedevbeginner.com/events-and-delegates-in-unity/ [accessed 1 Apr 2022].

FRENCH, John. 2021b. ‘Input in Unity Made Easy (Complete Guide to the New System)’. Game Dev Beginner [online]. Available at: https://gamedevbeginner.com/input-in-unity-made-easy-complete-guide-to-the-new-system/#player_input_component [accessed 1 Apr 2022].

GAMMA, Erich, Richard HELM, Ralph JOHNSON and John VLISSIDES. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Boston: Addison-Wesley.

HIPPLE, Ryan. 2017. ‘Unite Austin 2017 – Game Architecture with Scriptable Objects’. YouTube. Available at: https://www.youtube.com/watch?v=raQ3iHhE_Kk.

NOTSLOT. 2020. ‘Animal Crossing World Bending Effect | Shader Graph | Unity Tutorial’. http://www.youtube.com [online]. Available at: https://www.youtube.com/watch?v=SOK3Ias5Nk0 [accessed 1 Apr 2022].

PATERSON, Brett. 2016. ‘Select a Sound within a Multisound to Play via a Parameter’. FMOD Forums [online]. Available at: https://qa.fmod.com/t/select-a-sound-within-a-multisound-to-play-via-a-parameter/12768/2.

SALEN, Katie and Eric ZIMMERMAN. 2003. Rules of Play: Game Design Fundamentals. Cambridge, Mass. The Mit Press.

SCHELL, Jesse. 2019. The Art of Game Design : A Book of Lenses. Boca Raton: Taylor & Francis, A Crc Title, Part Of The Taylor & Francis Imprint, A Member Of The Taylor & Francis Group, The Academic Division Of T&F Informa, Plc.

Leave a comment