mirror of
https://github.com/Fluffy-Bean/website.git
synced 2024-12-26 17:36:12 +00:00
Add work-in-progress blogs
This commit is contained in:
parent
6fac6596b2
commit
a69105b1a0
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
BIN
src/assets/posts/2024/06/photo_2023-08-07_10-22-00.jpg
Normal file
BIN
src/assets/posts/2024/06/photo_2023-08-07_10-22-00.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
|
@ -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>
|
||||
|
|
82
src/content/posts/2024_06_08-Urchin_project.mdx
Normal file
82
src/content/posts/2024_06_08-Urchin_project.mdx
Normal 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
|
12
src/content/posts/2024_06_29-ESPHome.mdx
Normal file
12
src/content/posts/2024_06_29-ESPHome.mdx
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
draft: true
|
||||
title: ESPHome
|
||||
description: Making little controllers do magic
|
||||
pubDate: 2024-06-29
|
||||
tags:
|
||||
- esphome
|
||||
- ha
|
||||
- networking
|
||||
---
|
||||
|
||||
ToDo
|
3
src/content/tags/algorithms.md
Normal file
3
src/content/tags/algorithms.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
name: Algorithms
|
||||
---
|
3
src/content/tags/esphome.md
Normal file
3
src/content/tags/esphome.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
name: ESPHome
|
||||
---
|
3
src/content/tags/gamedev.md
Normal file
3
src/content/tags/gamedev.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
name: Game Development
|
||||
---
|
3
src/content/tags/go.md
Normal file
3
src/content/tags/go.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
name: Go
|
||||
---
|
3
src/content/tags/ha.md
Normal file
3
src/content/tags/ha.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
name: HomeAssistant
|
||||
---
|
3
src/content/tags/raylib.md
Normal file
3
src/content/tags/raylib.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
name: raylib
|
||||
---
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue