diff --git a/src/assets/posts/pulex_leg.webp b/src/assets/posts/2024/05/pulex_leg.webp similarity index 100% rename from src/assets/posts/pulex_leg.webp rename to src/assets/posts/2024/05/pulex_leg.webp diff --git a/src/assets/posts/2024/06/photo_2023-08-07_10-22-00.jpg b/src/assets/posts/2024/06/photo_2023-08-07_10-22-00.jpg new file mode 100644 index 0000000..45040e0 Binary files /dev/null and b/src/assets/posts/2024/06/photo_2023-08-07_10-22-00.jpg differ diff --git a/src/content/posts/2024_05_28-Astro_is_hard.mdx b/src/content/posts/2024_05_28-Astro_is_hard.mdx index d713f0b..73ba677 100644 --- a/src/content/posts/2024_05_28-Astro_is_hard.mdx +++ b/src/content/posts/2024_05_28-Astro_is_hard.mdx @@ -154,6 +154,6 @@ I'm hoping to write more blogs in the future, mainly to practice my writing skil regardless if it's something political or programming related. But life's in a tangle right now
- ![Maned Wolf art by Pulex](../../assets/posts/pulex_leg.webp) [Art by + ![Maned Wolf art by Pulex](../../assets/posts/2024/05/pulex_leg.webp) [Art by Pulex](https://www.pulexart.com/)
diff --git a/src/content/posts/2024_06_08-Urchin_project.mdx b/src/content/posts/2024_06_08-Urchin_project.mdx new file mode 100644 index 0000000..161d88d --- /dev/null +++ b/src/content/posts/2024_06_08-Urchin_project.mdx @@ -0,0 +1,82 @@ +--- +draft: true +title: Urchin project +description: The game that maybe could be +pubDate: 2024-06-08 +tags: + - python + - go + - raylib + - gamedev + - algorithms +--- + +'Tis I again. + +Recently I've made quite a lot of progress on a project of mine and my brothers. I dubbed it "Urchin Project" because +urchin sounds funny, but also I have zero clue what to call the game. + + +## What was originally + +This project actually started [around 10 months ago](https://www.youtube.com/watch?v=z9P-KlNKXAA), but this version was +abandoned for a few reasons. Main one being, I had zero fucking clue what I was doing, I didn't plan out a single part +of the project, I didn't even know what the story was going to be. Quickly, there was a lot of foot-guns in place and +horribly designed systems. + +Urchin Project, though not called it back then, was written on PyGame, a Python wrapper for SDL with a few helpful +features. PyGame is more than suitable for most project and tests, as its quite simple to use and relatively fast to get +the hang of when first getting into writing games. One of the biggest gripes I have with it was the software based +rendering, but that shouldn't be an issu- + +![Screenshot of the Urchin Project on a highDPI screen, causing everything to be really zoomed out](../../assets/posts/2024/06/photo_2023-08-07_10-22-00.jpg) + +oh, yeah, that. While basically impossible to see on the screenshot, what ran at 300FPS on my 1080p monitor ran at barely 40fps on +a 5k one, this was going to be an issue, not only when it came to scaling things, but also the general design of the +game. + +The only option I had was either to: +1. Ignore the issue and deal with it later +2. Use something like ModernGL to make an OpenGL context, and use PyGame as the input and audio manager + +Guess which I've taken! + +From the [previously linked video](https://www.youtube.com/watch?v=z9P-KlNKXAA), you can see I made quite a bit of +progress on the game. I even made a [world generator of some sorts](https://github.com/Fluffy-Bean/py_map_generation)! +But it was all horribly slow, terribly implemented and wasn't going to get far, and it didn't. + +Eventually I gave up and moved onto other things, such as dealing with upcoming college. + +## Go + +Then around October 2023 I picked up Go. Go is a pretty neat little language, it has the simplicity of Python, and a +_pythonic_ sort of syntax in some ways, but the speeds of languages such as Java! + +{/* I believe I read somewhere that Go can preform faster than Rust, but I cannot find the video/resource to back this up */} + +Since then, I've used Go for most of my new projects, because since then I realised that Functional is the way to go for +me. + +At one point I even tried to make something using a Go SDL wrapper, but that didn't really go anywhere and I gave up +even quicker with that. + +## raylib + +Now, here's where things get interesting! + +- What have I been working on in the past week +- How the project started originally +- Why did I choose RayLib and Go over python + - Python was slow + - I didn't plan out the project well + - PyGame wasn't for me + - Gocurrency + +- Physics system + - SAT + - QuadTrees + - Greedy Meshing + +- What I want todo next + - World Generation + - Time/Temperature based systems diff --git a/src/content/posts/2024_06_29-ESPHome.mdx b/src/content/posts/2024_06_29-ESPHome.mdx new file mode 100644 index 0000000..c7454d3 --- /dev/null +++ b/src/content/posts/2024_06_29-ESPHome.mdx @@ -0,0 +1,12 @@ +--- +draft: true +title: ESPHome +description: Making little controllers do magic +pubDate: 2024-06-29 +tags: + - esphome + - ha + - networking +--- + +ToDo diff --git a/src/content/tags/algorithms.md b/src/content/tags/algorithms.md new file mode 100644 index 0000000..98a5ee5 --- /dev/null +++ b/src/content/tags/algorithms.md @@ -0,0 +1,3 @@ +--- +name: Algorithms +--- diff --git a/src/content/tags/esphome.md b/src/content/tags/esphome.md new file mode 100644 index 0000000..662bb95 --- /dev/null +++ b/src/content/tags/esphome.md @@ -0,0 +1,3 @@ +--- +name: ESPHome +--- diff --git a/src/content/tags/gamedev.md b/src/content/tags/gamedev.md new file mode 100644 index 0000000..fe1c4dc --- /dev/null +++ b/src/content/tags/gamedev.md @@ -0,0 +1,3 @@ +--- +name: Game Development +--- diff --git a/src/content/tags/go.md b/src/content/tags/go.md new file mode 100644 index 0000000..7bcc63e --- /dev/null +++ b/src/content/tags/go.md @@ -0,0 +1,3 @@ +--- +name: Go +--- diff --git a/src/content/tags/ha.md b/src/content/tags/ha.md new file mode 100644 index 0000000..5c22364 --- /dev/null +++ b/src/content/tags/ha.md @@ -0,0 +1,3 @@ +--- +name: HomeAssistant +--- diff --git a/src/content/tags/raylib.md b/src/content/tags/raylib.md new file mode 100644 index 0000000..e50ea62 --- /dev/null +++ b/src/content/tags/raylib.md @@ -0,0 +1,3 @@ +--- +name: raylib +--- diff --git a/src/layouts/Markdown.astro b/src/layouts/Markdown.astro index 87513ab..fb9cd85 100644 --- a/src/layouts/Markdown.astro +++ b/src/layouts/Markdown.astro @@ -271,7 +271,7 @@ const comments = import.meta.env.PUBLIC_COMMENTS === "true"; img { margin: 16px -16px; - max-width: 100%; + max-width: calc(100% + 32px); height: auto; border-radius: $radius;