|
@@ -8,7 +8,7 @@
|
|
|
<p>I have been writing code for as long as I can remember – yes, that must have been around 1990, with my Amiga 500. It has been a long journey, and I learned a thing or two along the way.</p>
|
|
|
</section>
|
|
|
<section class="left col-start-1 col-span-1">
|
|
|
- <p>One of these is that the “<em>what languages do you know?</em>” question is largely irrelevant. Once you know a bunch of them, learning a new one is easy. The hard part is knowing how to attack a problem and solve it.</p>
|
|
|
+ <p>One of these is that the “<em>what languages do you know?</em> ” question is largely irrelevant. Once you know a bunch of them, learning a new one is easy. The hard part is knowing how to attack a problem and solve it.</p>
|
|
|
</section>
|
|
|
<section class="right col-start-1 col-span-1 sm:col-start-2">
|
|
|
<p><strong>Languages</strong> I know:</p>
|
|
@@ -36,25 +36,42 @@
|
|
|
<h2>Things I've done</h2>
|
|
|
<p>Enough talk, let's see some of the projects I worked on over the years.</p>
|
|
|
</section>
|
|
|
+ <section class="project full col-start-1 sm:col-span-2 border-t-2 pb-3" id="project_cashorcard">
|
|
|
+ <section class="_right sm:float-right sm:w-1/2 sm:pl-1">
|
|
|
+ <h3>Cash or Card?</h3>
|
|
|
+ </section>
|
|
|
+ <section class="_left sm:float-left sm:w-1/2 sm:pr-2">
|
|
|
+ <figure>
|
|
|
+ <picture>
|
|
|
+ <source srcset="/images/cash_or_card-2x.webp" type="image/webp" />
|
|
|
+ <source srcset="/images/cash_or_card.jpg 1x, /images/cash_or_card-2x.jpg 2x" type="image/jpeg" />
|
|
|
+ <img class="rounded" srcset="/images/cash_or_card.jpg" alt="Circular Bells" />
|
|
|
+ </picture>
|
|
|
+ </figure>
|
|
|
+ </section>
|
|
|
+ <section class="_right sm:float-right sm:w-1/2 sm:pl-1">
|
|
|
+ <p>“Cash or Card?” is an educational puzzle-simulation video game to explore the theme of cash vs electronic payments. You play as a shopkeeper who has to earn enough money in 5 days and you need to choose how your customers are going to pay you.</p>
|
|
|
+ <p><strong>Technologies</strong>: Godot 4.</p>
|
|
|
+ <p><a href="https://edugames.andreafranceschini.org/games/cash_or_card/" title="Play Cash or Card online for free!"><strong>Play online</strong></a> | <a href="https://edugames.andreafranceschini.org/cash-or-card/"><strong>Description</strong></a> | <a href="https://edugames.andreafranceschini.org/wp-content/uploads/cash-or-card-gdd.pdf"><strong>GDD</strong></a> | <a href="https://github.com/Morpheu5/cash-or-card"><strong>Source code</strong></a></p>
|
|
|
+ </section>
|
|
|
+ </section>
|
|
|
<section class="project full col-start-1 sm:col-span-2 border-t-2 pb-3" id="project_rfk2d">
|
|
|
<section class="_left sm:float-left sm:w-1/2 sm:pr-1">
|
|
|
<h3>Robot Finds Kitten 2D for Godot Engine</h3>
|
|
|
</section>
|
|
|
<section class="_right sm:float-right sm:w-1/2 sm:pl-2">
|
|
|
<figure>
|
|
|
- <a href="#" data-featherlight="/images/rfk2d-2x.jpg">
|
|
|
- <picture>
|
|
|
- <source srcset="/images/rfk2d-2x.webp" type="image/webp" />
|
|
|
- <source srcset="/images/rfk2d.jpg 1x, /images/rfk2d-2x.jpg 2x" type="image/jpeg" />
|
|
|
- <img class="rounded" srcset="/images/rfk2d.jpg" alt="Robot Finds Kitten 2D for Godot Engine" />
|
|
|
- </picture>
|
|
|
- </a>
|
|
|
+ <picture>
|
|
|
+ <source srcset="/images/rfk2d-2x.webp" type="image/webp" />
|
|
|
+ <source srcset="/images/rfk2d.jpg 1x, /images/rfk2d-2x.jpg 2x" type="image/jpeg" />
|
|
|
+ <img class="rounded" srcset="/images/rfk2d.jpg" alt="Robot Finds Kitten 2D for Godot Engine" />
|
|
|
+ </picture>
|
|
|
</figure>
|
|
|
</section>
|
|
|
<section class="_left sm:float-left sm:w-1/2 sm:pr-1">
|
|
|
<p>I wanted to learn <a href="https://godotengine.org/">Godot</a> so I made a port of the <a href="http://robotfindskitten.org/">famous zen simulation</a> Robot Finds Kitten which you can <a href="https://rfk.morpheu5.net/2d" title="Play Robot Finds Kitten 2D online for free!">play online here</a> for free! No ads! Pure zen!</p>
|
|
|
- <p><strong>Technologies</strong>: Godot Engine.</p>
|
|
|
- <p><a href="https://www.github.com/Morpheu5/RFK_Godot2D"><strong>Source code</strong></a> | <a href="https://rfk.morpheu5.net/2d" title="Play Robot Finds Kitten 2D online for free!"><strong>Play</strong></a></p>
|
|
|
+ <p><strong>Technologies</strong>: Godot 3.</p>
|
|
|
+ <p><a href="https://rfk.morpheu5.net/2d" title="Play Robot Finds Kitten 2D online for free!"><strong>Play online</strong></a> | <a href="https://www.github.com/Morpheu5/RFK_Godot2D"><strong>Source code</strong></a></p>
|
|
|
</section>
|
|
|
</section>
|
|
|
<section class="project full col-start-1 sm:col-span-2 border-t-2 pb-3" id="project_circularbells">
|
|
@@ -63,13 +80,11 @@
|
|
|
</section>
|
|
|
<section class="_left sm:float-left sm:w-1/2 sm:pr-2">
|
|
|
<figure>
|
|
|
- <a href="#" data-featherlight="/images/cb_demo-2x.jpg">
|
|
|
- <picture>
|
|
|
- <source srcset="/images/cb_demo-2x.webp" type="image/webp" />
|
|
|
- <source srcset="/images/cb_demo.jpg 1x, /images/cb_demo-2x.jpg 2x" type="image/jpeg" />
|
|
|
- <img class="rounded" srcset="/images/cb_demo.jpg" alt="Circular Bells" />
|
|
|
- </picture>
|
|
|
- </a>
|
|
|
+ <picture>
|
|
|
+ <source srcset="/images/cb_demo-2x.webp" type="image/webp" />
|
|
|
+ <source srcset="/images/cb_demo.jpg 1x, /images/cb_demo-2x.jpg 2x" type="image/jpeg" />
|
|
|
+ <img class="rounded" srcset="/images/cb_demo.jpg" alt="Circular Bells" />
|
|
|
+ </picture>
|
|
|
</figure>
|
|
|
</section>
|
|
|
<section class="_right sm:float-right sm:w-1/2 sm:pl-1">
|
|
@@ -84,13 +99,11 @@
|
|
|
</section>
|
|
|
<section class="_right sm:float-right sm:w-1/2 sm:pl-2">
|
|
|
<figure>
|
|
|
- <a href="#" data-featherlight="/images/phd-app-2x.jpg">
|
|
|
- <picture>
|
|
|
- <source srcset="/images/phd-app-2x.webp" type="image/webp" />
|
|
|
- <source srcset="/images/phd-app.jpg 1x, /images/phd-app-2x.jpg 2x" type="image/jpeg" />
|
|
|
- <img class="rounded" srcset="/images/phd-app.jpg" alt="PhD app for iPad" />
|
|
|
- </picture>
|
|
|
- </a>
|
|
|
+ <picture>
|
|
|
+ <source srcset="/images/phd-app-2x.webp" type="image/webp" />
|
|
|
+ <source srcset="/images/phd-app.jpg 1x, /images/phd-app-2x.jpg 2x" type="image/jpeg" />
|
|
|
+ <img class="rounded" srcset="/images/phd-app.jpg" alt="PhD app for iPad" />
|
|
|
+ </picture>
|
|
|
</figure>
|
|
|
</section>
|
|
|
<section class="_left sm:float-left sm:w-1/2 sm:pr-1">
|
|
@@ -105,13 +118,11 @@
|
|
|
</section>
|
|
|
<section class="_left sm:float-left sm:w-1/2 sm:pr-2">
|
|
|
<figure>
|
|
|
- <a href="#" data-featherlight="/images/table_2-2x.jpg">
|
|
|
- <picture>
|
|
|
- <source srcset="/images/table_2-2x.webp" type="image/webp" />
|
|
|
- <source srcset="/images/table_2.jpg 1x, /images/table_2-2x.jpg 2x" type="image/jpeg" />
|
|
|
- <img class="rounded" srcset="/images/table_2.jpg" alt="PhD app for large tabletop" />
|
|
|
- </picture>
|
|
|
- </a>
|
|
|
+ <picture>
|
|
|
+ <source srcset="/images/table_2-2x.webp" type="image/webp" />
|
|
|
+ <source srcset="/images/table_2.jpg 1x, /images/table_2-2x.jpg 2x" type="image/jpeg" />
|
|
|
+ <img class="rounded" srcset="/images/table_2.jpg" alt="PhD app for large tabletop" />
|
|
|
+ </picture>
|
|
|
</figure>
|
|
|
</section>
|
|
|
<section class="_right sm:float-right sm:w-1/2 sm:pl-1">
|
|
@@ -126,13 +137,11 @@
|
|
|
</section>
|
|
|
<section class="_right sm:float-right sm:w-1/2 sm:pl-2">
|
|
|
<figure>
|
|
|
- <a href="#" data-featherlight="/images/aranaboo-2x.jpg">
|
|
|
- <picture>
|
|
|
- <source srcset="/images/aranaboo-2x.webp" type="image/webp" />
|
|
|
- <source srcset="/images/aranaboo.jpg 1x, /images/aranaboo-2x.jpg 2x" type="image/jpeg" />
|
|
|
- <img class="rounded" srcset="/images/aranaboo.jpg" alt="Aranaboo" />
|
|
|
- </picture>
|
|
|
- </a>
|
|
|
+ <picture>
|
|
|
+ <source srcset="/images/aranaboo-2x.webp" type="image/webp" />
|
|
|
+ <source srcset="/images/aranaboo.jpg 1x, /images/aranaboo-2x.jpg 2x" type="image/jpeg" />
|
|
|
+ <img class="rounded" srcset="/images/aranaboo.jpg" alt="Aranaboo" />
|
|
|
+ </picture>
|
|
|
</figure>
|
|
|
</section>
|
|
|
<section class="_left sm:float-left sm:w-1/2 sm:pr-1">
|
|
@@ -147,13 +156,11 @@
|
|
|
</section>
|
|
|
<section class="_left sm:float-left sm:w-1/2 sm:pr-2">
|
|
|
<figure>
|
|
|
- <a href="#" data-featherlight="/images/astronauta-2x.jpg">
|
|
|
- <picture>
|
|
|
- <source srcset="/images/astronauta-2x.webp" type="image/webp" />
|
|
|
- <source srcset="/images/astronauta.jpg 1x, /images/astronauta-2x.jpg 2x" type="image/jpeg" />
|
|
|
- <img class="rounded" srcset="/images/astronauta.jpg" alt="Da grande voglio fare l'astronauta" />
|
|
|
- </picture>
|
|
|
- </a>
|
|
|
+ <picture>
|
|
|
+ <source srcset="/images/astronauta-2x.webp" type="image/webp" />
|
|
|
+ <source srcset="/images/astronauta.jpg 1x, /images/astronauta-2x.jpg 2x" type="image/jpeg" />
|
|
|
+ <img class="rounded" srcset="/images/astronauta.jpg" alt="Da grande voglio fare l'astronauta" />
|
|
|
+ </picture>
|
|
|
</figure>
|
|
|
</section>
|
|
|
<section class="_right sm:float-right sm:w-1/2 sm:pl-1">
|
|
@@ -168,13 +175,11 @@
|
|
|
</section>
|
|
|
<section class="_right sm:float-right sm:w-1/2 sm:pl-2">
|
|
|
<figure>
|
|
|
- <a href="#" data-featherlight="/images/bsc-2x.jpg">
|
|
|
- <picture>
|
|
|
- <source srcset="/images/bsc-2x.webp" type="image/webp" />
|
|
|
- <source srcset="/images/bsc.jpg 1x, /images/bsc-2x.jpg 2x" type="image/jpeg" />
|
|
|
- <img class="rounded" srcset="/images/bsc.jpg" alt="CRUSADE Bleeding Score Calculator" />
|
|
|
- </picture>
|
|
|
- </a>
|
|
|
+ <picture>
|
|
|
+ <source srcset="/images/bsc-2x.webp" type="image/webp" />
|
|
|
+ <source srcset="/images/bsc.jpg 1x, /images/bsc-2x.jpg 2x" type="image/jpeg" />
|
|
|
+ <img class="rounded" srcset="/images/bsc.jpg" alt="CRUSADE Bleeding Score Calculator" />
|
|
|
+ </picture>
|
|
|
</figure>
|
|
|
</section>
|
|
|
<section class="_left sm:float-left sm:w-1/2 sm:pr-1">
|
|
@@ -189,13 +194,11 @@
|
|
|
</section>
|
|
|
<section class="_left sm:float-left sm:w-1/2 sm:pr-2">
|
|
|
<figure>
|
|
|
- <a href="#" data-featherlight="/images/doodle-2x.png">
|
|
|
- <picture>
|
|
|
- <source srcset="/images/doodle-2x.webp" type="image/webp" />
|
|
|
- <source srcset="/images/doodle.png 1x, /images/doodle-2x.png 2x" type="image/png" />
|
|
|
- <img class="rounded" srcset="/images/doodle.png" alt="Doodle" />
|
|
|
- </picture>
|
|
|
- </a>
|
|
|
+ <picture>
|
|
|
+ <source srcset="/images/doodle-2x.webp" type="image/webp" />
|
|
|
+ <source srcset="/images/doodle.png 1x, /images/doodle-2x.png 2x" type="image/png" />
|
|
|
+ <img class="rounded" srcset="/images/doodle.png" alt="Doodle" />
|
|
|
+ </picture>
|
|
|
</figure>
|
|
|
</section>
|
|
|
<section class="_right sm:float-right sm:w-1/2 sm:pl-1">
|
|
@@ -210,13 +213,11 @@
|
|
|
</section>
|
|
|
<section class="_right sm:float-right sm:w-1/2 sm:pl-2">
|
|
|
<figure>
|
|
|
- <a href="#" data-featherlight="/images/tofus-2x.jpg">
|
|
|
- <picture>
|
|
|
- <source srcset="/images/tofus-2x.webp" type="image/webp" />
|
|
|
- <source srcset="/images/tofus.jpg 1x, /images/tofus-2x.jpg 2x" type="image/jpeg" />
|
|
|
- <img class="rounded" srcset="/images/tofus.jpg" alt="tOfuS" />
|
|
|
- </picture>
|
|
|
- </a>
|
|
|
+ <picture>
|
|
|
+ <source srcset="/images/tofus-2x.webp" type="image/webp" />
|
|
|
+ <source srcset="/images/tofus.jpg 1x, /images/tofus-2x.jpg 2x" type="image/jpeg" />
|
|
|
+ <img class="rounded" srcset="/images/tofus.jpg" alt="tOfuS" />
|
|
|
+ </picture>
|
|
|
</figure>
|
|
|
</section>
|
|
|
<section class="_left sm:float-left sm:w-1/2 sm:pr-1">
|