Add work-in-progress blogs

This commit is contained in:
Michał 2024-06-29 17:32:50 +01:00
parent 6fac6596b2
commit a69105b1a0
12 changed files with 114 additions and 2 deletions

View file

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View file

@ -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
<div style="width: 200px">
![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/)
</div>

View file

@ -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

View file

@ -0,0 +1,12 @@
---
draft: true
title: ESPHome
description: Making little controllers do magic
pubDate: 2024-06-29
tags:
- esphome
- ha
- networking
---
ToDo

View file

@ -0,0 +1,3 @@
---
name: Algorithms
---

View file

@ -0,0 +1,3 @@
---
name: ESPHome
---

View file

@ -0,0 +1,3 @@
---
name: Game Development
---

3
src/content/tags/go.md Normal file
View file

@ -0,0 +1,3 @@
---
name: Go
---

3
src/content/tags/ha.md Normal file
View file

@ -0,0 +1,3 @@
---
name: HomeAssistant
---

View file

@ -0,0 +1,3 @@
---
name: raylib
---

View file

@ -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;