1<!doctype html><html lang=en><head><meta charset=UTF-8><meta content="IE=edge" http-equiv=X-UA-Compatible><meta content="text/html; charset=UTF-8" http-equiv=content-type><meta content="width=device-width,initial-scale=1,user-scalable=no" name=viewport><meta content="index, follow" name=robots><title>Past and ongoing projects</title><meta content="Past and ongoing projects" name=title><meta content=Tiesselune name=author><meta content="Personal blog for Tiesselune. Ingredients: General geekery (13%), game programming and game playing, web and system dev, green IT. May contain importâ¦" name=description><meta content=website property=og:type><meta content=https://tiesselune.com/projects/ property=og:url><meta content="Tiesselune's domain" property=og:site_name><meta content="Past and ongoing projects" property=og:title><meta content="Personal blog for Tiesselune. Ingredients: General geekery (13%), game programming and game playing, web and system dev, green IT. May contain importâ¦" property=og:description><meta content=https://tiesselune.com/favicon.ico property=og:image><meta content=summary_large_image property=twitter:card><meta content=https://tiesselune.com/projects/ property=twitter:url><meta content="Past and ongoing projects" property=twitter:title><meta content="Personal blog for Tiesselune. Ingredients: General geekery (13%), game programming and game playing, web and system dev, green IT. May contain importâ¦" property=twitter:description><meta content=https://tiesselune.com/favicon.ico property=twitter:image><link href=https://tiesselune.com/projects/ rel=canonical><link rel="shortcut icon" href=https://tiesselune.com/favicon.ico type=image/x-icon><link href=https://tiesselune.com/atom.xml rel=alternate title=RSS type=application/atom+xml><link href=https://speyll.github.io/suCSS/reset-min.css rel=stylesheet><link href=https://speyll.github.io/suCSS/suCSS-min.css rel=stylesheet><link href=https://tiesselune.com/css/style.css rel=stylesheet>
1<script defer src=https://tiesselune.com/js/script.js></script>
1<link href=https://tiesselune.com/css/style-overrides.css rel=stylesheet><body><a href="https://tiesselune.com/cdn-cgi/content?id=DCIddrDrclJXU7XHbHCErYdSPk3xVh4MII.BhXpdNoI-1791399847.449234-1.2.1.1-FUe4Bbs0OrzQckdjzjqZbj2ya4jtw7ontXMBEfoRQJRlbFpI2urIVs62mhKLxUrj" aria-hidden="true" rel="nofollow noopener" style="display: none !important; visibility: hidden !important"></a><svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;display:none;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><defs><symbol viewbox="0 0 1024 1024" id=gear-icon><path d="M595.2 1024H433.476923c-14.276923 0-26.830769-10.614154-29.538461-24.674462l-19.446154-100.430769c-18.461538-6.163692-35.446154-12.829538-51.446154-20.726154l-85.661539 58.24a30.178462 30.178462 0 0 1-38.153846-3.702153L95.015385 817.969231a30.296615 30.296615 0 0 1-3.692308-38.252308l57.846154-85.366154A377.078154 377.078154 0 0 1 128 642.284308l-100.676923-19.495385c-14.030769-2.717538-25.107692-15.054769-25.107692-29.607385V431.064615c0-14.306462 11.076923-26.889846 25.353846-29.607384l99.692307-19.249231a420.765538 420.765538 0 0 1 20.923077-52.302769l-57.107692-84.391385c-8.123077-11.844923-6.4-27.884308 3.692308-38.242461L209.230769 92.780308a30.464 30.464 0 0 1 38.153846-3.702154l83.938462 57.245538c16.738462-8.388923 34.461538-15.556923 53.169231-21.720615L403.692308 24.674462C406.4 10.614154 418.707692 0 433.230769 0h161.723077c14.276923 0 26.830769 10.614154 29.538462 24.674462l19.2 99.682461a401.211077 401.211077 0 0 1 52.923077 21.228308l84.430769-57.245539a30.178462 30.178462 0 0 1 38.153846 3.692308L933.415385 206.769231a30.296615 30.296615 0 0 1 3.692307 38.252307l-57.6 84.873847a417.693538 417.693538 0 0 1 20.923077 51.574153l99.692308 19.495385C1014.153846 403.682462 1024 416.019692 1024 430.572308v161.624615c0 14.306462-9.846154 26.889846-24.123077 29.607385l-99.446154 19.495384a428.465231 428.465231 0 0 1-20.676923 52.30277l58.092308 85.868307a30.050462 30.050462 0 0 1-3.692308 38.252308L819.692308 932.214154c-10.092308 10.358154-26.092308 11.835077-38.153846 3.692308l-85.661539-58.230154a401.831385 401.831385 0 0 1-51.938461 21.218461l-19.446154 100.676923C621.784615 1013.385846 609.476923 1024 595.2 1024z m-137.107692-61.686154h112.246154l17.96923-93.272615a29.636923 29.636923 0 0 1 21.169231-22.941539c26.584615-7.650462 51.446154-17.772308 73.6-30.109538 9.846154-5.425231 22.153846-4.932923 31.507692 1.476923l80 54.537846 79.261539-79.458461-54.153846-80.187077a29.833846 29.833846 0 0 1-1.23077-31.586462c11.815385-21.464615 21.661538-45.646769 29.538462-74.023385 2.953846-10.860308 11.076923-19.249231 22.153846-21.218461l92.307692-18.018462V455.010462l-92.307692-18.25477c-11.076923-2.225231-19.446154-10.368-22.646154-21.228307-7.630769-26.889846-17.476923-51.564308-29.538461-73.531077a30.395077 30.395077 0 0 1 1.476923-31.576616l53.661538-79.212307-79.261538-79.448616-78.769231 53.543385c-9.353846 6.419692-21.661538 6.912-31.507692 1.230769-21.169231-11.835077-45.538462-21.710769-74.338462-29.853538-10.830769-2.953846-19.2-11.598769-21.169231-22.695385l-17.723076-92.288H457.846154l-17.969231 92.534154a29.636923 29.636923 0 0 1-21.169231 22.941538c-27.323077 7.650462-52.430769 18.018462-74.830769 30.601846-9.846154 5.425231-22.153846 4.923077-31.507692-1.476923l-78.276923-53.307077-79.261539 79.458462 53.415385 78.956308c6.4 9.373538 6.892308 21.464615 1.476923 31.340307-11.815385 21.218462-21.415385 45.390769-29.292308 73.777231-2.953846 11.096615-12.307692 19.239385-23.384615 21.464616l-93.046154 18.018461v112.512l93.292308 18.018462c11.076923 2.215385 20.184615 10.358154 23.138461 21.208615 7.630769 26.899692 17.723077 51.574154 30.276923 73.777231 5.415385 9.875692 4.923077 22.212923-1.230769 31.586461l-54.153846 79.95077 79.261538 79.448615L314.584615 818.215385c9.353846-6.419692 21.415385-6.912 31.507693-1.476923 21.169231 11.835077 45.046154 21.464615 73.107692 29.36123 10.830769 3.2 19.2 11.588923 21.169231 22.695385l17.723077 93.518769zM994.461538 602.062769h0.492308-0.492308z m-480.246153 146.313846c-62.523077 0-121.846154-24.418462-166.892308-69.326769-53.661538-53.789538-77.784615-128.315077-66.215385-204.553846 15.261538-100.430769 96-181.110154 196.184616-196.657231 75.569231-11.598769 150.153846 12.583385 203.815384 66.372923 53.661538 53.789538 78.030769 128.305231 66.461539 204.553846-15.261538 100.430769-96 181.110154-195.938462 196.657231-12.553846 1.969231-25.107692 2.953846-37.415384 2.953846z m32.738461-25.403077h0.492308-0.492308z m-32.492308-387.643076c-9.353846 0-18.461538 0.738462-28.061538 2.215384-73.353846 11.352615-134.646154 72.792615-145.969231 146.077539-8.615385 56.999385 9.353846 112.768 49.476923 152.979692 40.123077 40.221538 95.753846 58.24 152.615385 49.604923 73.353846-11.352615 134.646154-72.792615 145.723077-146.323692 8.615385-57.009231-9.353846-112.768-49.476923-152.989539-33.476923-33.555692-77.538462-51.564308-124.307693-51.564307z"/></symbol></defs></svg><header><nav id=nav-bar><a href=/> Home </a><a href=/projects> Projects </a><a href=/blog> Blog </a><div><input id=theme-toggle style=display:none type=checkbox><label for=theme-toggle id=theme-toggle-label><svg class=icons id=theme-icon><use href=https://tiesselune.com/icons.svg#lightMode></use></svg></label><audio id=theme-sound><source src=https://tiesselune.com/click.ogg type=audio/ogg></audio></div></nav></header><main>
1<style>body{grid-template-columns:1fr min(80rem,90%) 1fr}nav{width:45rem;max-width:100%;margin:auto}</style><svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;display:none;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><defs><symbol viewbox="0 0 1024 1024" id=gear-icon><path d="M595.2 1024H433.476923c-14.276923 0-26.830769-10.614154-29.538461-24.674462l-19.446154-100.430769c-18.461538-6.163692-35.446154-12.829538-51.446154-20.726154l-85.661539 58.24a30.178462 30.178462 0 0 1-38.153846-3.702153L95.015385 817.969231a30.296615 30.296615 0 0 1-3.692308-38.252308l57.846154-85.366154A377.078154 377.078154 0 0 1 128 642.284308l-100.676923-19.495385c-14.030769-2.717538-25.107692-15.054769-25.107692-29.607385V431.064615c0-14.306462 11.076923-26.889846 25.353846-29.607384l99.692307-19.249231a420.765538 420.765538 0 0 1 20.923077-52.302769l-57.107692-84.391385c-8.123077-11.844923-6.4-27.884308 3.692308-38.242461L209.230769 92.780308a30.464 30.464 0 0 1 38.153846-3.702154l83.938462 57.245538c16.738462-8.388923 34.461538-15.556923 53.169231-21.720615L403.692308 24.674462C406.4 10.614154 418.707692 0 433.230769 0h161.723077c14.276923 0 26.830769 10.614154 29.538462 24.674462l19.2 99.682461a401.211077 401.211077 0 0 1 52.923077 21.228308l84.430769-57.245539a30.178462 30.178462 0 0 1 38.153846 3.692308L933.415385 206.769231a30.296615 30.296615 0 0 1 3.692307 38.252307l-57.6 84.873847a417.693538 417.693538 0 0 1 20.923077 51.574153l99.692308 19.495385C1014.153846 403.682462 1024 416.019692 1024 430.572308v161.624615c0 14.306462-9.846154 26.889846-24.123077 29.607385l-99.446154 19.495384a428.465231 428.465231 0 0 1-20.676923 52.30277l58.092308 85.868307a30.050462 30.050462 0 0 1-3.692308 38.252308L819.692308 932.214154c-10.092308 10.358154-26.092308 11.835077-38.153846 3.692308l-85.661539-58.230154a401.831385 401.831385 0 0 1-51.938461 21.218461l-19.446154 100.676923C621.784615 1013.385846 609.476923 1024 595.2 1024z m-137.107692-61.686154h112.246154l17.96923-93.272615a29.636923 29.636923 0 0 1 21.169231-22.941539c26.584615-7.650462 51.446154-17.772308 73.6-30.109538 9.846154-5.425231 22.153846-4.932923 31.507692 1.476923l80 54.537846 79.261539-79.458461-54.153846-80.187077a29.833846 29.833846 0 0 1-1.23077-31.586462c11.815385-21.464615 21.661538-45.646769 29.538462-74.023385 2.953846-10.860308 11.076923-19.249231 22.153846-21.218461l92.307692-18.018462V455.010462l-92.307692-18.25477c-11.076923-2.225231-19.446154-10.368-22.646154-21.228307-7.630769-26.889846-17.476923-51.564308-29.538461-73.531077a30.395077 30.395077 0 0 1 1.476923-31.576616l53.661538-79.212307-79.261538-79.448616-78.769231 53.543385c-9.353846 6.419692-21.661538 6.912-31.507692 1.230769-21.169231-11.835077-45.538462-21.710769-74.338462-29.853538-10.830769-2.953846-19.2-11.598769-21.169231-22.695385l-17.723076-92.288H457.846154l-17.969231 92.534154a29.636923 29.636923 0 0 1-21.169231 22.941538c-27.323077 7.650462-52.430769 18.018462-74.830769 30.601846-9.846154 5.425231-22.153846 4.923077-31.507692-1.476923l-78.276923-53.307077-79.261539 79.458462 53.415385 78.956308c6.4 9.373538 6.892308 21.464615 1.476923 31.340307-11.815385 21.218462-21.415385 45.390769-29.292308 73.777231-2.953846 11.096615-12.307692 19.239385-23.384615 21.464616l-93.046154 18.018461v112.512l93.292308 18.018462c11.076923 2.215385 20.184615 10.358154 23.138461 21.208615 7.630769 26.899692 17.723077 51.574154 30.276923 73.777231 5.415385 9.875692 4.923077 22.212923-1.230769 31.586461l-54.153846 79.95077 79.261538 79.448615L314.584615 818.215385c9.353846-6.419692 21.415385-6.912 31.507693-1.476923 21.169231 11.835077 45.046154 21.464615 73.107692 29.36123 10.830769 3.2 19.2 11.588923 21.169231 22.695385l17.723077 93.518769zM994.461538 602.062769h0.492308-0.492308z m-480.246153 146.313846c-62.523077 0-121.846154-24.418462-166.892308-69.326769-53.661538-53.789538-77.784615-128.315077-66.215385-204.553846 15.261538-100.430769 96-181.110154 196.184616-196.657231 75.569231-11.598769 150.153846 12.583385 203.815384 66.372923 53.661538 53.789538 78.030769 128.305231 66.461539 204.553846-15.261538 100.430769-96 181.110154-195.938462 196.657231-12.553846 1.969231-25.107692 2.953846-37.415384 2.953846z m32.738461-25.403077h0.492308-0.492308z m-32.492308-387.643076c-9.353846 0-18.461538 0.738462-28.061538 2.215384-73.353846 11.352615-134.646154 72.792615-145.969231 146.077539-8.615385 56.999385 9.353846 112.768 49.476923 152.979692 40.123077 40.221538 95.753846 58.24 152.615385 49.604923 73.353846-11.352615 134.646154-72.792615 145.723077-146.323692 8.615385-57.009231-9.353846-112.768-49.476923-152.989539-33.476923-33.555692-77.538462-51.564308-124.307693-51.564307z"/></symbol></defs></svg><h1>Past and ongoing projects</h1><p>Here are the projects of note Iâve been working on.<h2 id=videogame>Video Game & Related Projects</h2>
1<ul class=project-list><li><article class=project_card><header><a href=https://tiesselune.com/projects/aic/><img alt="Promotion image for AI Confidential" src=/projects/aic/aic.webp></a></header><div class=card_content><a href=https://tiesselune.com/projects/aic/><h3 class=card_link>AI : Confidential</h3></a><p class=client>for <a href=https://www.criticalwit.biz/>Critical Wit LLC</a><p class=date>2023 - Paused<div class=card_summary><p class=card_description>A demo for the upcoming first-person narrative game "AI : Confidential" in UE5<ul class=skill-list><li><a class=skill_link href=/skills/unreal-engine-5> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Unreal Engine 5 </a><li><a class=skill_link href=/skills/c> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> C++ </a><li><a class=skill_link href=/skills/blueprint> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Blueprint </a><li><a class=skill_link href=/skills/3d> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> 3D </a></ul></div><a class=card_link href=https://tiesselune.com/projects/aic/>Learn more â¡ï¸</a></div></article><li><article class=project_card><header><a href=https://tiesselune.com/projects/samurai-riot/><img alt="Promo art for Samurai Riot Definitive Edition" src=/projects/samurai-riot/samurai-riot.webp></a></header><div class=card_content><a href=https://tiesselune.com/projects/samurai-riot/><h3 class=card_link>Samurai Riot Console Port</h3></a><p class=client>for <a href="https://www.linkedin.com/company/wako-factory/?originalSubdomain=fr">Wako Factory</a><p class=date>2018 - 2022<div class=card_summary><p class=card_description>A HD-2D beat-them-all game made with Unity. I was in charge of global resource optimization, new content integration for the Definitive Edition and porting on Xbox One, PS4 and Switch.<ul class=skill-list><li><a class=skill_link href=/skills/unity> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Unity </a><li><a class=skill_link href=/skills/console-porting> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Console porting </a><li><a class=skill_link href=/skills/optimization> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Optimization </a><li><a class=skill_link href=/skills/csharp> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Csharp </a><li><a class=skill_link href=/skills/2d> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> 2D </a></ul></div><a class=card_link href=https://tiesselune.com/projects/samurai-riot/>Learn more â¡ï¸</a></div></article><li><article class=project_card><header><a href=https://tiesselune.com/projects/wtvr-engine/><img alt="A screenshot of a human head rendered with WTVR3d" src=/projects/wtvr-engine/wtvr-engine.webp></a></header><div class=card_content><a href=https://tiesselune.com/projects/wtvr-engine/><h3 class=card_link>WTVR Engine</h3></a><p class=client>for <a href=https://wtvr.games>WTVR games - Open Source</a><p class=date>2018 - 2019<div class=card_summary><p class=card_description>A set of tools to make performant web-based games with modern APIs, namely a toy WebAsssembly in-house 3D engine made in rust with bare bones WebGL and UI-related WebComponents<ul class=skill-list><li><a class=skill_link href=/skills/javascript> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Javascript </a><li><a class=skill_link href=/skills/rust> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Rust </a><li><a class=skill_link href=/skills/webassembly> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> WebAssembly </a><li><a class=skill_link href=/skills/webcomponents> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> WebComponents </a><li><a class=skill_link href=/skills/webgl> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> WebGL </a><li><a class=skill_link href=/skills/3d-engine-development> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> 3D Engine Development </a></ul></div><a class=card_link href=https://tiesselune.com/projects/wtvr-engine/>Learn more â¡ï¸</a></div></article><li>
1<article class=project_card><header><a href=https://tiesselune.com/projects/vision-run/><img alt="Screenshot from Vision Run advergame" src=/projects/vision-run/vision-run.webp></a></header><div class=card_content><a href=https://tiesselune.com/projects/vision-run/><h3 class=card_link>Vision Run</h3></a><p class=client>for <a href=https://www.essilor.com>Essilor</a><p class=date>2017 - 2017<div class=card_summary><p class=card_description>A small web-based runner advergame made for glass-maker Essilor and Optic 2000. Made with ThreeJS.<ul class=skill-list><li><a class=skill_link href=/skills/webgl> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> WebGL </a><li><a class=skill_link href=/skills/threejs> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> ThreeJS </a><li><a class=skill_link href=/skills/javascript> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Javascript </a><li><a class=skill_link href=/skills/3d> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> 3D </a><li><a class=skill_link href=/skills/optimization> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Optimization </a><li><a class=skill_link href=/skills/glsl> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> GLSL </a></ul></div><a class=card_link href=https://tiesselune.com/projects/vision-run/>Learn more â¡ï¸</a></div></article><li><article class=project_card><header><a href=https://tiesselune.com/projects/resonant-souls/><img alt="Main title screen from Resonant Souls demo game" src=/projects/resonant-souls/resonant-souls.webp></a></header><div class=card_content><a href=https://tiesselune.com/projects/resonant-souls/><h3 class=card_link>Resonant Souls Prototype</h3></a><p class=client>for <a href=https://wtvr.games/>WTVR Games</a><p class=date>2016 - 2016<div class=card_summary><p class=card_description>A short demo project for a third-person adventure game, made in UE5 as part of the WTVR games studio project.<ul class=skill-list><li><a class=skill_link href=/skills/unreal-engine-5> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Unreal Engine 5 </a><li><a class=skill_link href=/skills/c> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> C++ </a><li><a class=skill_link href=/skills/blueprint> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Blueprint </a><li><a class=skill_link href=/skills/3d> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> 3D </a><li><a class=skill_link href=/skills/game-design> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Game Design </a></ul></div><a class=card_link href=https://tiesselune.com/projects/resonant-souls/>Learn more â¡ï¸</a></div></article><li><article class=project_card><header><a href=https://tiesselune.com/projects/b4c/><img alt="Promotion art for B4C: Schrödinger Warfare" src=/projects/b4c/b4c.webp></a></header><div class=card_content><a href=https://tiesselune.com/projects/b4c/><h3 class=card_link>B4C : Schrödinger Warfare</h3></a><p class=client>for <a href=https://wtvr.games/>WTVR games</a><p class=date>2015 - Long Hiatus<div class=card_summary><p class=card_description>A 4-players party game with quantum kitties, developed on my own as part of WT
1VR games studio project, on UE5<ul class=skill-list><li><a class=skill_link href=/skills/unreal-engine-5> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Unreal Engine 5 </a><li><a class=skill_link href=/skills/c> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> C++ </a><li><a class=skill_link href=/skills/blueprint> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Blueprint </a><li><a class=skill_link href=/skills/3d> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> 3D </a><li><a class=skill_link href=/skills/game-design> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Game Design </a></ul></div><a class=card_link href=https://tiesselune.com/projects/b4c/>Learn more â¡ï¸</a></div></article><li><article class=project_card><header><a href=https://tiesselune.com/projects/gourmet-quest/><img alt="In-game image from Gourmet Quest" src=/projects/gourmet-quest/gourmetquest.webp></a></header><div class=card_content><a href=https://tiesselune.com/projects/gourmet-quest/><h3 class=card_link>Gourmet Quest</h3></a><p class=client>for XIWEN games<p class=date>2013 - 2015<div class=card_summary><p class=card_description>A 2013 mobile and web game (Android/iOS) about defending french culinary art against a mysterious evil organization, made in Unity.<ul class=skill-list><li><a class=skill_link href=/skills/unity> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Unity </a><li><a class=skill_link href=/skills/mobile-games> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Mobile Games </a><li><a class=skill_link href=/skills/android> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Android </a><li><a class=skill_link href=/skills/ios> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> iOS </a><li><a class=skill_link href=/skills/csharp> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Csharp </a><li><a class=skill_link href=/skills/3d> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> 3D </a><li><a class=skill_link href=/skills/zeromq> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> ZeroMQ </a><li><a class=skill_link href=/skills/mongodb> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> MongoDB </a><li><a class=skill_link href=/skills/optimization> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Optimization </a></ul></div><a class=card_link href=https://tiesselune.com/projects/gourmet-quest/>Learn more â¡ï¸</a></div></article></ul><h2 id=web>Web</h2>
1<ul class=project-list><li><article class=project_card><header><a href=https://tiesselune.com/projects/tardigrade/><img alt="Screenshot of an evaluation in Tardigrade" src=/projects/tardigrade/tardigrade.webp></a></header><div class=card_content><a href=https://tiesselune.com/projects/tardigrade/><h3 class=card_link>Tardigrade</h3></a><p class=client>for multiple clients<p class=date>2021 - Ongoing<div class=card_summary><p class=card_description>A web tool to share assignments and student grades, with grading detail and teacher feedback. Made with Rust, Actix-web and Lit<ul class=skill-list><li><a class=skill_link href=/skills/webcomponents> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> WebComponents </a><li><a class=skill_link href=/skills/rust> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Rust </a><li><a class=skill_link href=/skills/actix-web> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Actix-web </a><li><a class=skill_link href=/skills/lit> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Lit </a><li><a class=skill_link href=/skills/full-stack> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Full-stack </a><li><a class=skill_link href=/skills/pwa> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> PWA </a><li><a class=skill_link href=/skills/typescript> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Typescript </a></ul></div><a class=card_link href=https://tiesselune.com/projects/tardigrade/>Learn more â¡ï¸</a></div></article><li><article class=project_card><header><a href=https://tiesselune.com/projects/echoes-of-elsewhere/><img alt="Logo for Echos d'Autre Part" src=/projects/echoes-of-elsewhere/echosdautrepart.png></a></header><div class=card_content><a href=https://tiesselune.com/projects/echoes-of-elsewhere/><h3 class=card_link>Echos d'Autre Part (Echoes of Elsewhere) webnovel</h3></a><p class=client>Personal<p class=date>2021 - Ongoing<div class=card_summary><p class=card_description>A webnovel written in french with practical read-on-the-web features.<ul class=skill-list><li><a class=skill_link href=/skills/webcomponents> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> WebComponents </a><li><a class=skill_link href=/skills/javascript> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Javascript </a><li><a class=skill_link href=/skills/lit> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Lit </a><li><a class=skill_link href=/skills/pwa> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> PWA </a><li><a class=skill_link href=/skills/static-web-app> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Static Web App </a></ul></div><a class=card_link href=https://tiesselune.com/projects/echoes-of-elsewhere/>Learn more â¡ï¸</a></div></article><li>
1<article class=project_card><header><a href=https://tiesselune.com/projects/wtvr-engine/><img alt="A screenshot of a human head rendered with WTVR3d" src=/projects/wtvr-engine/wtvr-engine.webp></a></header><div class=card_content><a href=https://tiesselune.com/projects/wtvr-engine/><h3 class=card_link>WTVR Engine</h3></a><p class=client>for <a href=https://wtvr.games>WTVR games - Open Source</a><p class=date>2018 - 2019<div class=card_summary><p class=card_description>A set of tools to make performant web-based games with modern APIs, namely a toy WebAsssembly in-house 3D engine made in rust with bare bones WebGL and UI-related WebComponents<ul class=skill-list><li><a class=skill_link href=/skills/javascript> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Javascript </a><li><a class=skill_link href=/skills/rust> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Rust </a><li><a class=skill_link href=/skills/webassembly> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> WebAssembly </a><li><a class=skill_link href=/skills/webcomponents> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> WebComponents </a><li><a class=skill_link href=/skills/webgl> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> WebGL </a><li><a class=skill_link href=/skills/3d-engine-development> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> 3D Engine Development </a></ul></div><a class=card_link href=https://tiesselune.com/projects/wtvr-engine/>Learn more â¡ï¸</a></div></article><li><article class=project_card><header><a href=https://tiesselune.com/projects/vision-run/><img alt="Screenshot from Vision Run advergame" src=/projects/vision-run/vision-run.webp></a></header><div class=card_content><a href=https://tiesselune.com/projects/vision-run/><h3 class=card_link>Vision Run</h3></a><p class=client>for <a href=https://www.essilor.com>Essilor</a><p class=date>2017 - 2017<div class=card_summary><p class=card_description>A small web-based runner advergame made for glass-maker Essilor and Optic 2000. Made with ThreeJS.<ul class=skill-list><li><a class=skill_link href=/skills/webgl> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> WebGL </a><li><a class=skill_link href=/skills/threejs> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> ThreeJS </a><li><a class=skill_link href=/skills/javascript> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Javascript </a><li><a class=skill_link href=/skills/3d> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> 3D </a><li><a class=skill_link href=/skills/optimization> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Optimization </a><li><a class=skill_link href=/skills/glsl> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> GLSL </a></ul></div><a class=card_link href=https://tiesselune.com/projects/vision-run/>Learn more â¡ï¸</a></div></article></ul><h2 id=system>Systems and Tools</h2>
1<ul class=project-list><li><article class=project_card><header><a href=https://tiesselune.com/projects/reindeer/><img alt="Standing deer emoji" src=/projects/reindeer/reindeer.png></a></header><div class=card_content><a href=https://tiesselune.com/projects/reindeer/><h3 class=card_link>reindeer-rs</h3></a><p class=client>Open Source<p class=date>2021 - Ongoing<div class=card_summary><p class=card_description>An embedded, minimal, lightweight and fast relationnal database, written in Rust, and using sled as a back-end.<ul class=skill-list><li><a class=skill_link href=/skills/rust> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Rust </a><li><a class=skill_link href=/skills/database> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Database </a></ul></div><a class=card_link href=https://tiesselune.com/projects/reindeer/>Learn more â¡ï¸</a></div></article><li><article class=project_card><header><a href=https://tiesselune.com/projects/git-jam/><img alt="Git-jam Logo" src=/projects/git-jam/git-jam.png></a></header><div class=card_content><a href=https://tiesselune.com/projects/git-jam/><h3 class=card_link>git-jam</h3></a><p class=client>Open Source<p class=date>2013 - 2014<div class=card_summary><p class=card_description>A git-lfs precursor with different back-end options, inspired by git-fat and written in NodeJS.<ul class=skill-list><li><a class=skill_link href=/skills/nodejs> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> NodeJS </a><li><a class=skill_link href=/skills/git> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Git </a><li><a class=skill_link href=/skills/javascript> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Javascript </a><li><a class=skill_link href=/skills/cli> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> CLI </a></ul></div><a class=card_link href=https://tiesselune.com/projects/git-jam/>Learn more â¡ï¸</a></div></article></ul><h2 id=education>Education</h2><ul class=project-list><li><article class=project_card><header><a href=https://tiesselune.com/projects/tardigrade/><img alt="Screenshot of an evaluation in Tardigrade" src=/projects/tardigrade/tardigrade.webp></a></header><div class=card_content><a href=https://tiesselune.com/projects/tardigrade/><h3 class=card_link>Tardigrade</h3></a><p class=client>for multiple clients<p class=date>2021 - Ongoing<div class=card_summary><p class=card_description>A web tool to share assignments and student grades, with grading detail and teacher feedback. Made with Rust, Actix-web and Lit<ul class=skill-list><li><a class=skill_link href=/skills/webcomponents> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> WebComponents </a><li><a class=skill_link href=/skills/rust> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Rust </a><li><a class=skill_link href=/skills/actix-web> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Actix-web </a><li><a class=skill_link href=/skills/lit> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Lit </a><li><a class=skill_link href=/skills/full-stack> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Full-stack </a><li><a class=skill_link href=/skills/pwa> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> PWA </a><li><a class=skill_link href=/skills/typescript> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Typescript </a></ul></div><a class=card_link href=https://tiesselune.com/projects/tardigrade/>Learn more â¡ï¸</a></div></article><li>
1<article class=project_card><header><a href=https://tiesselune.com/projects/programming-courses/><img alt="Teacher emoji" src=/projects/programming-courses/courses.png></a></header><div class=card_content><a href=https://tiesselune.com/projects/programming-courses/><h3 class=card_link>Programming and Computer Science Courses</h3></a><p class=client>for multiple clients<p class=date>2016 - Ongoing<div class=card_summary><p class=card_description>For several years, I have dedicated a large chunk of my time to teaching Game Programming, Web Development and general-purpose computer science in post-graduate schools.<ul class=skill-list><li><a class=skill_link href=/skills/pedagogy> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Pedagogy </a><li><a class=skill_link href=/skills/typescript> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Typescript </a><li><a class=skill_link href=/skills/oop> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> OOP </a><li><a class=skill_link href=/skills/javascript> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Javascript </a><li><a class=skill_link href=/skills/arduino> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Arduino </a><li><a class=skill_link href=/skills/c> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> C++ </a><li><a class=skill_link href=/skills/iot> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> IoT </a><li><a class=skill_link href=/skills/linux> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Linux </a><li><a class=skill_link href=/skills/go> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Go </a><li><a class=skill_link href=/skills/csharp> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Csharp </a><li><a class=skill_link href=/skills/unreal-engine-5> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Unreal Engine 5 </a><li><a class=skill_link href=/skills/unity> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> Unity </a><li><a class=skill_link href=/skills/pwa> <svg class=svg-icon style=vertical-align:middle;fill:currentColor;width:1em;height:1em;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg><use href=#gear-icon /></svg> PWA </a></ul></div><a class=card_link href=https://tiesselune.com/projects/programming-courses/>Learn more â¡ï¸</a></div></article></ul></main><footer><hr><div id=footer-container><div><p>Built with <a rel="noopener noreferrer" href=https://www.getzola.org target=_blank>Zola</a> using a modified <a rel="noopener noreferrer" href=https://github.com/Speyll/anemone target=_blank>anemone</a> theme.<br></div><div><a rel="noopener noreferrer" title="Subscribe via RSS for updates." class=no-style href=https://tiesselune.com/atom.xml target=_blank><svg class=icons><use href=https://tiesselune.com/icons.svg#rss></use></svg></a></div></div></footer>
1<script defer src=https://tiesselune.com/js/wtvr-expressive-text.js type=module></script>
1<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a46f2b768c396a46',t:'MTc5MTM5OTg0Nw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
1<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"4b5da6899d684ab281af4b071e4a4678","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 1
1
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.