(2024)

our boat,
the Thread

Videogame installation. The players steer a motorboat into the underworld with a physical tiller. The game tells a branching narrative of queer grief and empire within a necropolitical mythology. Made in collaboration with Alex Brettell.

The protagonist’s lover, the childhood friend who would become empress, is dead. The underworld shaped in her own image is crumbling with her. You play as the Fates, steering the protagonist in her old motorboat to do what must be done.

Depending on the path taken, the game concludes in one of three wildly divergent endings. Together, they tell a story of cultural death, rebirth, and betrayal. Not all is as it seems.

The game was produced in collaboration with Alex Brettell. He produced the wooden tiller controller and the incredible soundscape.

The game has been installed at Limits & Demonstrations, Shuffle, and most recently the 2024 Degree Show at LJMU.

our boat, the Thread was written about by Gabrielle de la Puente for The White Pube. From the article:

“The boat chugged over lakes, through a half-sunken church, into dark sewers and glowing caves. At one point, the player had to keep the boat straight across a tense waterfall bridge that stretched across blank space with no boundaries. We arrived into a starry globe where a translucent ghost standing next to a bonfire was waiting on the shores to meet us. I got completely pulled into the whole thing. I couldn’t really believe that this was in a BA degree show.”

Read the article here. (It’s very beautiful.)

An adaptation of the game played with a mouse is available on itch.io:

A spoken recording of the ‘Flowers’ path of the game was created for Ashley Holmes’s … and other possibilities, a collection of audio works broadcast by Montez Press Radio.

Listen:

[9dc473d] added release to projects archetype | [6f3e014] ignoring lock file | [437e2f5] adjust drop cap to fit new line height | [a0c5bb5] our boat the thread | [1b994cf] mobile font size decrease | [85d62f0] reimplemented mobile sidebar button on all pages | [b017486] sidebar group by year + improved style | [a2da721] images, sass renames, etc | [bb0661d] replaced tags taxonomy with params | [3d7ada0] weird videos | [735bd7e] mobile: content title improvements, site title goes left in horizontal, content background padding fixed | [c5e4f8e] naming fix | [e662127] sidebar refactor | [b25bf24] added we searched its remains for the heart | [14b957e] moved ticker down in body | [7adcb84] header margin top increase + refactor | [df45bbb] max fetch depth in deploy | [d381aca] better title for singles | [1f78bcb] brought the hero scrolling effect out to a separate file loaded async | [4ebe0e7] ticker, responsive | [17993b5] added intl dogging beach | [7b7c91e] site title gradient rework, content title align, working on fonts | [57ab706] github action yaml and compiled | [ecde3c1] our boat | [67348cd] customer support chatbot title format adjusted | [4c1654c] site title adjust | [87a7c2f] padding adjustments | [4ba8c51] our boat has montez press, using columns | [73446f7] using new jquery 'on' api | [65b36a5] minor re-order | [ad0e851] removed content image partial | [73a3d0b] blah | [b3302db] hero images, new svg noise gradient | [4e722a1] sidebar only shows projects in project list | [ebd00f7] kiss space | [45a7672] improved margins | [36c1777] itchio shortcode | [7db4d3a] updated default archetype | [d9c85bb] more padding fixes | [9446ad1] sorting by date | [1f36360] twine shortcode takes raw uri | [64c36d6] attempted fix on mobile svg rendering | [8d34175] turning red scroll effect | [f97589a] fixed customer support chatbot release | [2d8c901] mobile content background top padding fix | [b0c6dd2] content padding adjusts | [34f1782] removed sidebar featured project year italics | [9de7c75] 'selected projects' tag | [e271600] added rendering | [5a152df] made image fitting size a site param | [43978db] beach | [57fa570] added 20:20 print exchange mention | [8eb6b5c] minor style fix | [28d3626] twine shortcode | [79354b7] customer support chatbot | [d21b271] beginning of framework for home page | [88fb9ec] finished meatspace ephemera for now, fixed shortcodes, added archetypes | [0d67b02] columns plus 404 | [0288f9c] font size adjust | [5bd2e0b] limits and demonstrations space descriptions | [d15a884] figure margin fix | [5bee191] responsive sidebar, broke up sass, using jquery | [aac126c] limits and demonstrations minimal | [158ade2] ignoring node_modules | [c76931f] init | [7cad296] display audio as block | [f98c1fa] ticker text class instead of id + scrolling time is a variable | [b5c24a1] horizontal/vertical image margin fix | [b9ba5cf] creates 'data' dir if doesn't exist | [df77a7f] content-title made block in hero-less | [33699e8] rotated mobile improvements | [4943033] adjusted mobile hero image height | [273a2ec] correct testing url before switching back | [f0c8498] consistent italics | [82a3b05] image resizing and conversion to jpg | [ca6e8b1] added the return home | [87161f7] using new twine shortcode | [65d4a1f] stop publishing page resources | [6a6bdbc] added cave | [1c785ab] added sophisticate adult party | [876a554] minor adjustment to overview images | [8a82b20] Create deploy.yml | [49dfd97] title improvements | [907e957] homepage spelling and rewrite | [3060cc6] columns, rename class to parent-image, itchio uses container | [6dec12e] workflow renames and cleanup | [362a80d] EVIL hack to solve svg nonsense | [681a5d0] scroll effect with hugo filters | [2d0daba] sidebar padding changes + supports new base section pages | [e0c6818] tidied up deploy.yml | [8a84d24] added bonfire | [9c6bb68] audio shortcode | [ae272c4] added bradwill hungtop | [e600360] better grain noise | [82f5a15] font changes, rename pages to projects | [413dc1c] figure not hard italic | [d78c296] sidebar menu button fix | [729cb73] removed redundant project.sass | [315ab00] page titles in progress, site title improvements | [05d9f92] meatspace using columns | [6071a32] links adjust, better headings, margin adjust | [dd6f84e] storytelling | [d0b39d6] scrolling red effect occurs on load | [8eade8c] twine experiments | [69bf483] content columns adjustment | [2f399c5] kiss space promoted to selected | [7b6b46e] maybe safari fix who knows anymore | [a9528be] fonts and colours | [621fe1f] home page | [dedfc90] favicon + baseof adjustments | [450c1c6] switch var to let | [548db78] added git log json to deploy.yml | [ab4d2b7] line height increases + figure margin regression fix | [c86b5a7] figure shortcode uses inside tag for caption | [44e5589] fix z-sorting by rearranging document structure | [bba0205] ticker adjustment | [7b2a088] title noise | [e74cba3] the fisherman | [eda69ad] commit data read as ticker text | [57db78f] overview shortcodes | [7221f6a] single without hero image | [594e501] contact details | [f9499c5] overview text column is container | [81b0b4a] revert to regular baseurl | [576cc91] added credit to bradwill hungtop | [4afad51] using sass test | [3c33fd9] drop cap experiment | [8da44fb] sidebar padding adjust | [8e4d8c3] attempt at safari fix | [f5a5807] site title can't get too small | [3a1e325] internal links shortcode | [bc36318] ticker speed dependent on width and randomises animation start | [2f31675] catastrophic interference | [d33cfc3] our boat spelling errors and phrasing fix | [1069228] limits and demonstrations placeholder | [ee661ae] display iframes as block | [b7d8753] updated to use new figure shortcode | [5a228a1] meatspace ephemera using itchio shortcode | [21bd25e] added wren church | [e52eada] script to write commit log as json | [8f30c14] midway through overview rework | [5e6d190] first letter fix on chrome browers | [944462f] list margin fix + padding adjust and added home | [b345e80] figures, img shortcode uses inheritance, rearranged assets, more meatspace ephemera |

[9dc473d] added release to projects archetype | [6f3e014] ignoring lock file | [437e2f5] adjust drop cap to fit new line height | [a0c5bb5] our boat the thread | [1b994cf] mobile font size decrease | [85d62f0] reimplemented mobile sidebar button on all pages | [b017486] sidebar group by year + improved style | [a2da721] images, sass renames, etc | [bb0661d] replaced tags taxonomy with params | [3d7ada0] weird videos | [735bd7e] mobile: content title improvements, site title goes left in horizontal, content background padding fixed | [c5e4f8e] naming fix | [e662127] sidebar refactor | [b25bf24] added we searched its remains for the heart | [14b957e] moved ticker down in body | [7adcb84] header margin top increase + refactor | [df45bbb] max fetch depth in deploy | [d381aca] better title for singles | [1f78bcb] brought the hero scrolling effect out to a separate file loaded async | [4ebe0e7] ticker, responsive | [17993b5] added intl dogging beach | [7b7c91e] site title gradient rework, content title align, working on fonts | [57ab706] github action yaml and compiled | [ecde3c1] our boat | [67348cd] customer support chatbot title format adjusted | [4c1654c] site title adjust | [87a7c2f] padding adjustments | [4ba8c51] our boat has montez press, using columns | [73446f7] using new jquery 'on' api | [65b36a5] minor re-order | [ad0e851] removed content image partial | [73a3d0b] blah | [b3302db] hero images, new svg noise gradient | [4e722a1] sidebar only shows projects in project list | [ebd00f7] kiss space | [45a7672] improved margins | [36c1777] itchio shortcode | [7db4d3a] updated default archetype | [d9c85bb] more padding fixes | [9446ad1] sorting by date | [1f36360] twine shortcode takes raw uri | [64c36d6] attempted fix on mobile svg rendering | [8d34175] turning red scroll effect | [f97589a] fixed customer support chatbot release | [2d8c901] mobile content background top padding fix | [b0c6dd2] content padding adjusts | [34f1782] removed sidebar featured project year italics | [9de7c75] 'selected projects' tag | [e271600] added rendering | [5a152df] made image fitting size a site param | [43978db] beach | [57fa570] added 20:20 print exchange mention | [8eb6b5c] minor style fix | [28d3626] twine shortcode | [79354b7] customer support chatbot | [d21b271] beginning of framework for home page | [88fb9ec] finished meatspace ephemera for now, fixed shortcodes, added archetypes | [0d67b02] columns plus 404 | [0288f9c] font size adjust | [5bd2e0b] limits and demonstrations space descriptions | [d15a884] figure margin fix | [5bee191] responsive sidebar, broke up sass, using jquery | [aac126c] limits and demonstrations minimal | [158ade2] ignoring node_modules | [c76931f] init | [7cad296] display audio as block | [f98c1fa] ticker text class instead of id + scrolling time is a variable | [b5c24a1] horizontal/vertical image margin fix | [b9ba5cf] creates 'data' dir if doesn't exist | [df77a7f] content-title made block in hero-less | [33699e8] rotated mobile improvements | [4943033] adjusted mobile hero image height | [273a2ec] correct testing url before switching back | [f0c8498] consistent italics | [82a3b05] image resizing and conversion to jpg | [ca6e8b1] added the return home | [87161f7] using new twine shortcode | [65d4a1f] stop publishing page resources | [6a6bdbc] added cave | [1c785ab] added sophisticate adult party | [876a554] minor adjustment to overview images | [8a82b20] Create deploy.yml | [49dfd97] title improvements | [907e957] homepage spelling and rewrite | [3060cc6] columns, rename class to parent-image, itchio uses container | [6dec12e] workflow renames and cleanup | [362a80d] EVIL hack to solve svg nonsense | [681a5d0] scroll effect with hugo filters | [2d0daba] sidebar padding changes + supports new base section pages | [e0c6818] tidied up deploy.yml | [8a84d24] added bonfire | [9c6bb68] audio shortcode | [ae272c4] added bradwill hungtop | [e600360] better grain noise | [82f5a15] font changes, rename pages to projects | [413dc1c] figure not hard italic | [d78c296] sidebar menu button fix | [729cb73] removed redundant project.sass | [315ab00] page titles in progress, site title improvements | [05d9f92] meatspace using columns | [6071a32] links adjust, better headings, margin adjust | [dd6f84e] storytelling | [d0b39d6] scrolling red effect occurs on load | [8eade8c] twine experiments | [69bf483] content columns adjustment | [2f399c5] kiss space promoted to selected | [7b6b46e] maybe safari fix who knows anymore | [a9528be] fonts and colours | [621fe1f] home page | [dedfc90] favicon + baseof adjustments | [450c1c6] switch var to let | [548db78] added git log json to deploy.yml | [ab4d2b7] line height increases + figure margin regression fix | [c86b5a7] figure shortcode uses inside tag for caption | [44e5589] fix z-sorting by rearranging document structure | [bba0205] ticker adjustment | [7b2a088] title noise | [e74cba3] the fisherman | [eda69ad] commit data read as ticker text | [57db78f] overview shortcodes | [7221f6a] single without hero image | [594e501] contact details | [f9499c5] overview text column is container | [81b0b4a] revert to regular baseurl | [576cc91] added credit to bradwill hungtop | [4afad51] using sass test | [3c33fd9] drop cap experiment | [8da44fb] sidebar padding adjust | [8e4d8c3] attempt at safari fix | [f5a5807] site title can't get too small | [3a1e325] internal links shortcode | [bc36318] ticker speed dependent on width and randomises animation start | [2f31675] catastrophic interference | [d33cfc3] our boat spelling errors and phrasing fix | [1069228] limits and demonstrations placeholder | [ee661ae] display iframes as block | [b7d8753] updated to use new figure shortcode | [5a228a1] meatspace ephemera using itchio shortcode | [21bd25e] added wren church | [e52eada] script to write commit log as json | [8f30c14] midway through overview rework | [5e6d190] first letter fix on chrome browers | [944462f] list margin fix + padding adjust and added home | [b345e80] figures, img shortcode uses inheritance, rearranged assets, more meatspace ephemera |