Add GWJ game to portfolio

This commit is contained in:
Aria 2025-04-25 23:44:39 +10:00
parent 5613e2f2f9
commit 2d39184d0a
Signed by: aria
GPG key ID: 19AB7AA462B8AB3B
3 changed files with 202 additions and 116 deletions

View file

@ -6,7 +6,7 @@ const { name, date, tags, link } = Astro.props;
<Partition> <Partition>
<h2><a class="nav-btn text-2xl" href={link} target="_blank">{name}</a></h2> <h2><a class="nav-btn text-2xl" href={link} target="_blank">{name}</a></h2>
<p>Date: {date}</p> <p>Date: {date}</p>
<p><sub>{tags}</sub></p> <p>Tags: <sub>{tags}</sub></p>
<hr/> <hr/>
<p><slot /></p> <p><slot /></p>
</Partition> </Partition>

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

View file

@ -4,19 +4,17 @@ import Partition from "../components/Partition.astro";
import BaseLayout from "../layouts/BaseLayout.astro"; import BaseLayout from "../layouts/BaseLayout.astro";
import PortfolioProject from "../components/PortfolioProject.astro"; import PortfolioProject from "../components/PortfolioProject.astro";
import { Picture } from "astro:assets";
const Project = PortfolioProject; const Project = PortfolioProject;
const pageTitle = "Portfolio"; import ItchCoverSmol from "../img/projects/ItchCoverSmol.png";
const description = "Aria's portfolio, a page completely full of her little projects!";
const languagesUsed = [ const pageTitle = "Portfolio";
"Rust", const description =
"GDScript", "Aria's portfolio, a page completely full of her little projects!";
"Go",
"Python", const languagesUsed = ["Rust", "GDScript", "Go", "Python", "JavaScript", "C#"];
"JavaScript",
"C#"
];
// languagesUsed.sort((a, b) => a.localeCompare(b.firstname)) // languagesUsed.sort((a, b) => a.localeCompare(b.firstname))
--- ---
@ -25,49 +23,98 @@ const languagesUsed = [
<Partition> <Partition>
<h1 class="text-4xl text-center">Portfolio</h1> <h1 class="text-4xl text-center">Portfolio</h1>
<p>This is a list of some of my projects that I've worked on over the years.</p> <p>
<p>Not all of them are complete or expansive but with each project I've grown as a developer.</p> This is a list of some of my projects that I've worked on over the
years.
</p>
<p>
Not all of them are complete or expansive but with each project I've
grown as a developer.
</p>
<br /> <br />
<p>I have worked in these languages:</p> <p>I have worked in these languages:</p>
<ul class="list-disc pl-5"> <ul class="list-disc pl-5">
{languagesUsed.map((language) => ( {languagesUsed.map((language) => <li>{language}</li>)}
<li>{language}</li>))}
</ul> </ul>
<br />
<br />
<h2 class="text-xl">
Remember that the project titles can be clicked!
</h2>
</Partition> </Partition>
<main> <main class="max-w-[1600px]">
<!--<Project--> <!--<Project-->
<!-- name="Lorem ipsum"--> <!-- name="Lorem ipsum"-->
<!-- date="29th December 2024"--> <!-- date="29th December 2024"-->
<!-- tags="Lorem, ipsum"--> <!-- tags="Lorem, ipsum"-->
<!-- link="https://aria.coffee"--> <!-- link="https://aria.coffee"-->
<!--&gt;--> <!-- > -->
<!-- Lorem ipsum dolor sit amet--> <!-- Lorem ipsum dolor sit amet-->
<!--</Project>--> <!--</Project>-->
<Project
name="Soul Abscence 🌟"
date="21st April 2025"
tags="Godot, GDScript, GameDev, GameJam, godotwildjam"
link="https://itch.io/jam/godot-wild-jam-80/rate/3491084"
>
I worked together with a small group to make my first proper game
jam game! This was for <a
href="https://itch.io/jam/godot-wild-jam-80/rate/3491084"
class="nav-btn backdrop-contrast-150"
target="_blank">Godot Wild Jam #80</a
><br />
Soul Abscence is a resource managment simulation game inpired by <a
href="https://store.steampowered.com/app/503560/911_Operator/"
class="nav-btn backdrop-contrast-150"
target="_blank">911 operator</a
>.<br />
Adding 113 commits totalling around 12K lines of formatted code(no number
is most likely smaller!) I worked on things like level loading, A⭐ path
finding, Menus and Options.<br />
It was made over the course of about 9 days and I'm super happy with
the work we've all put in! There is of coure a lot of things I'd do differently
if we made the game again but that's just how it is when you make effectively
a "prototype" game.<br /><br />
<Picture
src={ItchCoverSmol}
alt="Cover image for Sould Absence from itch.io"
inferSize={true}
formats={["avif", "webp", "jpg"]}
quality="90"
/>
</Project>
<Project <Project
name="Open-FBT" name="Open-FBT"
date="26th July 2021" date="26th July 2021"
tags="Rust, Discord, Bot, Redis, Docker, Python" tags="Rust, Discord, Bot, Redis, Docker, Python"
link="https://github.com/BuyMyMojo/open-fbt" link="https://github.com/BuyMyMojo/open-fbt"
> >
Open-FBT is an open sourced public variant of the <a href="https://fbtsecurity.fbtheaven.com/" Open-FBT is an open sourced public variant of the <a
target="_blank" class="nav-btn backdrop-contrast-150">FBTHeaven href="https://fbtsecurity.fbtheaven.com/"
discord bot</a>, a bot I created to help moderate discord communities. This bot is in 419 servers as of the target="_blank"
29th December 2024 and has processed over 36,000 user commands since July 31 2022. class="nav-btn backdrop-contrast-150">FBTHeaven discord bot</a
>, a bot I created to help moderate discord communities. This bot is
in 419 servers as of the 29th December 2024 and has processed over
36,000 user commands since July 31 2022.
<br /><br /> <br /><br />
In 2021 I was approached by a friend who runs a VRChat dance club to help work on their Discord bot, this In 2021 I was approached by a friend who runs a VRChat dance club to
was originally written in Python using <span class="backdrop-contrast-150">discord.py</span> which help work on their Discord bot, this was originally written in Python
eventually got dropped by the developer so we had to migrate to <span using <span class="backdrop-contrast-150">discord.py</span> which eventually
class="backdrop-contrast-150">nextcord</span>. got dropped by the developer so we had to migrate to <span
class="backdrop-contrast-150">nextcord</span
>.
<br /><br /> <br /><br />
After a year of building the bot, and dealing with the strange performance characteristics of nextcord, in After a year of building the bot, and dealing with the strange performance
July 2022 I decided to start rewriting the bot in Rust to make use of the increased performance and characteristics of nextcord, in July 2022 I decided to start rewriting
portability that the new language afforded. I also moved to using Redis as the database of choice instead of the bot in Rust to make use of the increased performance and portability
SQLite for much faster access to our thousands of DB entries. that the new language afforded. I also moved to using Redis as the database
of choice instead of SQLite for much faster access to our thousands of
DB entries.
<br /><br /> <br /><br />
After a few hundred commits and a couple years of work I decided to fork my own code to strip out any After a few hundred commits and a couple years of work I decided to fork
confidential info and release an open variant to the world as a final send off to the longest running my own code to strip out any confidential info and release an open variant
project to the world as a final send off to the longest running project I have
I have worked on. worked on.
</Project> </Project>
<Project <Project
name="discord-chat-parser" name="discord-chat-parser"
@ -75,13 +122,15 @@ const languagesUsed = [
tags="Python, Golang, Discord, CLI" tags="Python, Golang, Discord, CLI"
link="https://github.com/BuyMyMojo/discord-chat-parser" link="https://github.com/BuyMyMojo/discord-chat-parser"
> >
This was an additional tool made to be used with Open-FBT's predecessor. It takes exported csv files from <a This was an additional tool made to be used with Open-FBT's
href="https://github.com/Tyrrrz/DiscordChatExporter" , target="_blank">DiscordChatExporter</a> and predecessor. It takes exported csv files from <a
extracts the UserIDs within. This was made to log users found within discord servers centered around VRChat href="https://github.com/Tyrrrz/DiscordChatExporter"
piracy and trolling to then bar them from entry of any server that both used Open-FBT's predecessor and target="_blank">DiscordChatExporter</a
opted in to this functionality. > and extracts the UserIDs within. This was made to log users found within
discord servers centered around VRChat piracy and trolling to then bar
Originally written in Python this was another project I transferred to a new language, unlike the bot itself them from entry of any server that both used Open-FBT's predecessor and
opted in to this functionality. Originally written in Python this was
another project I transferred to a new language, unlike the bot itself
I decided to write this in Go for simplicity. I decided to write this in Go for simplicity.
</Project> </Project>
<Project <Project
@ -90,11 +139,20 @@ const languagesUsed = [
tags="Unity, C#, GameDev, Course" tags="Unity, C#, GameDev, Course"
link="https://buymymojo.itch.io/mojos-kitchen-chaos" link="https://buymymojo.itch.io/mojos-kitchen-chaos"
> >
<sub><a href="https://github.com/BuyMyMojo/mojo-kitchen-chaos" target="_blank">Source code</a></sub> <sub
<hr> ><a
href="https://github.com/BuyMyMojo/mojo-kitchen-chaos"
target="_blank">Source code</a
></sub
>
<hr />
In order to learn more about working in Unity I followed <a In order to learn more about working in Unity I followed <a
href="https://www.youtube.com/watch?v=AmGSEH7QcDg" target="_blank">this</a> course from <a href="https://www.youtube.com/watch?v=AmGSEH7QcDg"
href="https://www.youtube.com/@CodeMonkeyUnity" target="_blank">Code Monkey</a> on YouTube. target="_blank">this</a
> course from <a
href="https://www.youtube.com/@CodeMonkeyUnity"
target="_blank">Code Monkey</a
> on YouTube.
</Project> </Project>
<Project <Project
name="Godot Micro Games(Course work)" name="Godot Micro Games(Course work)"
@ -104,21 +162,35 @@ const languagesUsed = [
> >
<ul class="list-disc pl-5"> <ul class="list-disc pl-5">
<li> <li>
<a href="https://buymymojo.itch.io/speedy-saucer" target="_blank">Speedy Saucer(2D)</a> <a
href="https://buymymojo.itch.io/speedy-saucer"
target="_blank">Speedy Saucer(2D)</a
>
</li> </li>
<li> <li>
<a href="https://buymymojo.itch.io/alien-attack" target="_blank">Alien Attack(2D)</a> <a
href="https://buymymojo.itch.io/alien-attack"
target="_blank">Alien Attack(2D)</a
>
</li> </li>
<li> <li>
<a href="https://buymymojo.itch.io/martian-mike" target="_blank">Martian Mike(2D)</a> <a
href="https://buymymojo.itch.io/martian-mike"
target="_blank">Martian Mike(2D)</a
>
</li> </li>
<li> <li>
<a href="https://buymymojo.itch.io/project-boost" target="_blank">Project Boost(3D)</a> <a
href="https://buymymojo.itch.io/project-boost"
target="_blank">Project Boost(3D)</a
>
</li> </li>
</ul> </ul>
<hr> <hr />
These are some small games made while following <a href="https://www.gamedev.tv/" These are some small games made while following <a
target="_blank">GameDev.tv</a>'s Godot 2D and 3D courses. href="https://www.gamedev.tv/"
target="_blank">GameDev.tv</a
>'s Godot 2D and 3D courses.
</Project> </Project>
<Project <Project
name="Rust 3x+1" name="Rust 3x+1"
@ -126,12 +198,16 @@ const languagesUsed = [
tags="Rust, Math, CLI" tags="Rust, Math, CLI"
link="https://github.com/BuyMyMojo/rust-3xp1" link="https://github.com/BuyMyMojo/rust-3xp1"
> >
I found myself watching a <a href="https://youtu.be/094y1Z2wpJg" target="_blank" I found myself watching a <a
class="nav-btn backdrop-contrast-150">Veritasium video</a> about the Collatz href="https://youtu.be/094y1Z2wpJg"
Conjecture, more simply known as 3x+1, and I found myself drawn to it for a time. target="_blank"
class="nav-btn backdrop-contrast-150">Veritasium video</a
> about the Collatz Conjecture, more simply known as 3x+1, and I found
myself drawn to it for a time.
<br /><br /> <br /><br />
I was looking for a small project to work on and figured I'd try my hand at writing my own tool to brute I was looking for a small project to work on and figured I'd try my hand
force the Conjecture to find another looping sequence. I never found one sadly but the project was a great at writing my own tool to brute force the Conjecture to find another
looping sequence. I never found one sadly but the project was a great
learning exercise during my early days of Rust development. learning exercise during my early days of Rust development.
</Project> </Project>
<Project <Project
@ -140,8 +216,9 @@ const languagesUsed = [
tags="Rust, Redis, CLI" tags="Rust, Redis, CLI"
link="https://github.com/BuyMyMojo/RedisFS" link="https://github.com/BuyMyMojo/RedisFS"
> >
I had a really silly Idea while working on the bot behind Open-FBT, what if I used a Redis database to store I had a really silly Idea while working on the bot behind Open-FBT,
files? well the answer if a pretty fast but inefficient RAM based file storage server. what if I used a Redis database to store files? well the answer if a
pretty fast but inefficient RAM based file storage server.
</Project> </Project>
<Project <Project
name="verify-rs" name="verify-rs"
@ -149,9 +226,11 @@ const languagesUsed = [
tags="Rust, Hashing, CLI" tags="Rust, Hashing, CLI"
link="https://github.com/BuyMyMojo/verify-rs" link="https://github.com/BuyMyMojo/verify-rs"
> >
verify-rs is a simple cli tool for printing out several kinds of hashes from an input file. I just needed a verify-rs is a simple cli tool for printing out several kinds of
simple tool to do this so I decided to write my own. It supports sha1, sha256, sha512, sha3_256, sha3_512, hashes from an input file. I just needed a simple tool to do this so
sha3_224, sha3_384, blake2s256, blake2b512 and blake3. I decided to write my own. It supports sha1, sha256, sha512,
sha3_256, sha3_512, sha3_224, sha3_384, blake2s256, blake2b512 and
blake3.
</Project> </Project>
<Project <Project
name="Another ssimulacra2 cli(as2c)" name="Another ssimulacra2 cli(as2c)"
@ -159,16 +238,20 @@ const languagesUsed = [
tags="Rust, CLI" tags="Rust, CLI"
link="https://github.com/BuyMyMojo/another_ssimulacra2_cli" link="https://github.com/BuyMyMojo/another_ssimulacra2_cli"
> >
as2c was a fork of the initial release of <a href="https://github.com/rust-av/ssimulacra2_bin" as2c was a fork of the initial release of <a
target="_blank">ssimulacra2_bin</a> I made to add "video" href="https://github.com/rust-av/ssimulacra2_bin"
support. target="_blank">ssimulacra2_bin</a
> I made to add "video" support.
<br /><br /> <br /><br />
This was accomplished by having the user export both the Source and Distorted videos as image sequences into This was accomplished by having the user export both the Source and Distorted
separate folders and then comparing files with matching names. Since the ssimulacra2 calculation is single videos as image sequences into separate folders and then comparing files
threaded I added the ability to run the calculations across multiple threads when working in "video mode". with matching names. Since the ssimulacra2 calculation is single threaded
I added the ability to run the calculations across multiple threads when
working in "video mode".
<br /> <br />
Another addition I made was allowing the user to specify the colour space and colour transfer of the images, Another addition I made was allowing the user to specify the colour space
in the initial implementation of the tool it defaulted to SRGB BT709. and colour transfer of the images, in the initial implementation of the
tool it defaulted to SRGB BT709.
</Project> </Project>
<Project <Project
name="AI-Gopher" name="AI-Gopher"
@ -176,10 +259,13 @@ const languagesUsed = [
tags="Golang, Twitter, Bot" tags="Golang, Twitter, Bot"
link="https://github.com/BuyMyMojo/AI-Gopher" link="https://github.com/BuyMyMojo/AI-Gopher"
> >
AI-Gopher is a bot that automatically posted a tweet generated by ChatGPT3. Honestly nothing great or useful AI-Gopher is a bot that automatically posted a tweet generated by
but it was at least a good opportunity to learn more about Go and interacting with some APIs and OAuth 1.0. ChatGPT3. Honestly nothing great or useful but it was at least a
good opportunity to learn more about Go and interacting with some
APIs and OAuth 1.0.
<br /><br /> <br /><br />
This project was technically against the Twitter TOS at the time but I didn't know that, oops! This project was technically against the Twitter TOS at the time but
I didn't know that, oops!
</Project> </Project>
</main> </main>
</BaseLayout> </BaseLayout>