cool cleanup club
All checks were successful
ci/woodpecker/push/main Pipeline was successful

This commit is contained in:
Ell 2023-08-07 14:04:06 +02:00
parent 5f248b47d5
commit 812fe57577
42 changed files with 250 additions and 252 deletions

View file

@ -56,18 +56,18 @@
<span id="message"></span>
<script>
const messages = [
'Maybe try a different place?',
'Do you want to know a secret?',
'This is a magical place',
'What were you trying to find?',
'Now my day is ruined',
'There\'s a place like this somewhere',
'I shall overcome this obstacle.',
'Why are you like this?',
'this is so sad alexa play despacito',
'The server is at a loss for what you were trying to find',
'oh no :(',
'The world is quiet here.',
"Maybe try a different place?",
"Do you want to know a secret?",
"This is a magical place",
"What were you trying to find?",
"Now my day is ruined",
"There's a place like this somewhere",
"I shall overcome this obstacle.",
"Why are you like this?",
"this is so sad alexa play despacito",
"The server is at a loss for what you were trying to find",
"oh no :(",
"The world is quiet here.",
"Instructions unclear, got site stuck in debug mode",
"Please fix",
"If we get this video to 400 likes, I'll put the site back up",
@ -75,7 +75,7 @@
];
let message = Math.floor(Math.random() * messages.length);
document.getElementById('message').innerHTML = `<em>${messages[message]}</em>`;
document.getElementById("message").innerHTML = `<em>${messages[message]}</em>`;
</script>
</p>
<p class="go-home">
@ -87,4 +87,4 @@
</div>
</body>
</html>
</html>

View file

@ -5,7 +5,7 @@
},
{
"name": "Twitch",
"link": "http://twitch.tv/ellpeck"
"link": "https://twitch.tv/ellpeck"
},
{
"name": "GitHub",

View file

@ -5,10 +5,10 @@
</p>
<div id="about-list">
{% for item in site.data.about %}
<p>
<strong>Q: {{ item.q }}</strong><br>
<strong>A:</strong> {{ item.a }}
</p>
<p>
<strong>Q: {{ item.q }}</strong><br>
<strong>A:</strong> {{ item.a }}
</p>
{% endfor %}
</div>
<script>

View file

@ -2,7 +2,7 @@
<h1 id="blog">
<span id="blog-all"></span>
{% for tag in site.tags %}
<span id="blog-{{ tag[0] | slugify }}"></span>
<span id="blog-{{ tag[0] | slugify }}"></span>
{% endfor %}
📔 Blog
</h1>
@ -14,24 +14,24 @@
{% include tagbtn.html tag="All" %}
{%- assign sorted = site.tags | sort -%}
{%- for tag in sorted -%}
{%- assign name = tag[0] -%}
{% include tagbtn.html tag=name %}
{%- assign name = tag[0] -%}
{% include tagbtn.html tag=name %}
{%- endfor -%}
</div>
<div id="blog-list">
{% for post in site.posts %}
{% if post.archived != true %}
{% include post.html post=post %}
{% endif %}
{% if post.archived != true %}
{% include post.html post=post %}
{% endif %}
{% endfor %}
</div>
<button type="button" class="btn btn-link" id="blog-archive-button">Show archived posts</button>
<div id="blog-archive">
{% for post in site.posts %}
{% if post.archived == true %}
{% include post.html post=post %}
{% endif %}
{% if post.archived == true %}
{% include post.html post=post %}
{% endif %}
{% endfor %}
<em id="no-archived-posts" hidden>There are no archived posts in this category.</em>
</div>

View file

@ -10,7 +10,7 @@
<script src="/scripts/quote.js"></script>
<img src="/res/blobheart.png" id="blobheart" alt="A blob emoji holding a heart">
<script>
$('#blobheart').on('click', () => $("#navbar-image").attr("src", "res/heart.jpeg"));
$("#blobheart").on("click", () => $("#navbar-image").attr("src", "res/heart.jpeg"));
</script>
</div>
</div>

View file

@ -1,22 +1,22 @@
{% assign tag = page.tags[0] %}
{% assign posts = site.tags[tag] | where_exp: "post", "post.archived != true" %}
{% for post in posts %}
{% if post.url != page.url %}
{% continue %}
{% endif %}
{% if forloop.last == false %}
{% assign prev = forloop.index0 | plus: 1 %}
{% endif %}
{% if forloop.first == false %}
{% assign next = forloop.index0 | minus: 1 %}
{% endif %}
{% break %}
{% if post.url != page.url %}
{% continue %}
{% endif %}
{% if forloop.last == false %}
{% assign prev = forloop.index0 | plus: 1 %}
{% endif %}
{% if forloop.first == false %}
{% assign next = forloop.index0 | minus: 1 %}
{% endif %}
{% break %}
{% endfor %}
<a class="nav-item nav-link" href="../../#blog-{{ tag | slugify }}">🏠 Back to Main Page</a>
{% if prev %}
<a class="nav-item nav-link" href="{{ posts[prev].url }}">⏮️ Previous in {{ tag }}</a>
<a class="nav-item nav-link" href="{{ posts[prev].url }}">⏮️ Previous in {{ tag }}</a>
{% endif %}
{% if next %}
<a class="nav-item nav-link" href="{{ posts[next].url }}">⏭️ Next in {{ tag }}</a>
<a class="nav-item nav-link" href="{{ posts[next].url }}">⏭️ Next in {{ tag }}</a>
{% endif %}

View file

@ -8,18 +8,18 @@
<div class="col">
<div id="social-list">
{% for item in site.data.socials %}
<a class="btn btn-light social-button rounded-0" href="{{ item.link }}">
<img class="social-image social-image-light" src="res/social/{{ item.name | downcase }}.png" alt="Social icon">
<a class="btn btn-light social-button rounded-0" href="{{ item.link }}">
<img class="social-image social-image-light" src="res/social/{{ item.name | downcase }}.png" alt="Social icon">
{% if item.darkIcon %}
{% assign dark = item.name | downcase | append: "_dark" %}
{% else %}
{% assign dark = item.name | downcase %}
{% endif %}
<img class="social-image social-image-dark" src="res/social/{{ dark }}.png" alt="Social icon" hidden>
{% if item.darkIcon %}
{% assign dark = item.name | downcase | append: "_dark" %}
{% else %}
{% assign dark = item.name | downcase %}
{% endif %}
<img class="social-image social-image-dark" src="res/social/{{ dark }}.png" alt="Social icon" hidden>
{{ item.name }}
</a>
{{ item.name }}
</a>
{% endfor %}
</div>

View file

@ -5,12 +5,12 @@
</p>
<div id="support-list">
{% for item in site.data.support %}
<div class="card bg-light support-entry rounded-0">
<div class="card-body">
<h4 class="card-title"><a class="title-button" href="{{ item.link }}">{{ item.name }}</a></h4>
<p class="card-text">{{ item.text }}</p>
<div class="card bg-light support-entry rounded-0">
<div class="card-body">
<h4 class="card-title"><a class="title-button" href="{{ item.link }}">{{ item.name }}</a></h4>
<p class="card-text">{{ item.text }}</p>
</div>
</div>
</div>
{% endfor %}
</div>
<script>

View file

@ -22,7 +22,7 @@ nav: nav/blognav.html
{% else %}
<script>
let style = dark ? "monokai" : "friendly";
$('head').append($("<link/>", {
$("head").append($("<link/>", {
rel: "stylesheet",
href: `https://cdn.jsdelivr.net/gh/richleland/pygments-css@master/${style}.css`
}));

View file

@ -9,7 +9,7 @@
if (/^#impressum\/?$/.test(location.hash))
location.href = "/impressum";
</script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@ -27,7 +27,7 @@
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"></script>
<script>
const darkCookie = localStorage.getItem("dark");
const dark = darkCookie === null ? window.matchMedia("(prefers-color-scheme: dark)").matches : darkCookie === "true";
@ -47,7 +47,7 @@
if (dark)
$("body").addClass("dark-mode");
</script>
{% include nav/navbar.html %}
<!-- Content -->

View file

@ -42,11 +42,11 @@ So keep on going, no matter what people say, because you're probably awesome.
# Basically No Obligations
When making a game, or a "real" product in general, a lot of the time, you're bound to certain obligations: Either it's legal ones, or maybe you've done a Kickstarter, maybe the thing you make actually costs you quite a bit of money because you have a whole development team, stuff like that.
Well with Minecraft modding, the only thing you have to deal with is people asking you when you'll *finally* update to the next version. But if you're sick of that, or sick of anything else, you can just stop, take a break, and do something else entirely for a while.
Well with Minecraft modding, the only thing you have to deal with is people asking you when you'll *finally* update to the next version. But if you're sick of that, or sick of anything else, you can just stop, take a break, and do something else entirely for a while.
People might judge, but the important thing is: They don't have a right to judge, because you can do whatever you want. It's a hobby thing, so it's your thing.
# So yea,
this is all of the stuff I could think of that inspires me to keep going with Minecraft Modding. It's been a really awesome journey so far and I'm excited to keep going, to create more things and to see more things that other people created.
Thanks for reading! <3
Thanks for reading! <3

View file

@ -10,7 +10,7 @@ archived: true
As originally a java kid, I've never had much trouble with making any of my programs work on Windows, Linux and Mac. With Java, all you have to do is make a jar and then tell people to install Java on their machine. That's it. But oh boy, am I getting hit in the face hard now that I'm making a game with MonoGame and .NET Framework.
# The story, with all its horrible parts
Imagine you're me. Imagine you're just happily making a game and eventually you decide that you want to distribute it to testers.
Imagine you're me. Imagine you're just happily making a game and eventually you decide that you want to distribute it to testers.
## The documentation
So you check the documentation of the framework you're using: MonoGame, in my case. It advertises itself as being amazing at cross-platform, so I look around to find a simple tutorial on what to do to get my game working on Mac and Linux.
@ -34,9 +34,9 @@ So then it finally works, and I have a... yea, no. Apparently now, mkbundle can'
Yea, just kidding. Now it crashes because it can't find `stdint.h`. It's neither telling me where it's trying to look for it, nor why it even needs it, what it is or really anything of use at all. Dead end.
## .NET Core
After some more looking, I find that .NET Core is basically a better version of .NET Framework (it's actually a lot different, but that doesn't matter in the scope of this post) that actually runs on multiple platforms natively.
After some more looking, I find that .NET Core is basically a better version of .NET Framework (it's actually a lot different, but that doesn't matter in the scope of this post) that actually runs on multiple platforms natively.
So I go through the process of upgrading my game project from .NET Framework to .NET Core, and everything finally works. I can really easily use my IDE (Rider) to publish packaged builds of the game for Windows, Linux and Mac that don't even need the user to have .NET Core installed.
So I go through the process of upgrading my game project from .NET Framework to .NET Core, and everything finally works. I can really easily use my IDE (Rider) to publish packaged builds of the game for Windows, Linux and Mac that don't even need the user to have .NET Core installed.
Except that it doesn't run on my Laptop for some strange reason. It runs fine on my PC, and it runs fine on my boyfriend's computer and his Linux VM, but my Laptop has some obscure issue about MonoGame not being able to load the shaders it requires. There are also no traces of the issue online, and after some looking around, I realize that MonoGame's .NET Core implementation is, according to the repository, just a hack that also hasn't been updated in over a year. Dead end.
@ -71,4 +71,4 @@ A couple weeks ago, I picked up this project again after taking a long break fro
And then this whole thing happened, and now my motivation is back to zero. It's just extra frustrating to me because I was so excited about finally getting back the motivation that I had previously lost.
So yea. Thanks for reading, I guess. <3
So yea. Thanks for reading, I guess. <3

View file

@ -15,7 +15,7 @@ So I decided to also sell the game on Discord - the Skype-Teamspeak-IRC-hybrid t
By the way, in case you actually want to see what Foe Frenzy's Discord store page currently looks like before release, you should [join my Discord](https://link.ellpeck.de/discordweb) and check out its `#ff-store` channel (on Desktop). It looks pretty snazzy!
## Oh, also:
As it turns out, Discord has a game SDK. And Achievement support. And Lobbies, and Multiplayer, and Invites.
As it turns out, Discord has a game SDK. And Achievement support. And Lobbies, and Multiplayer, and Invites.
And surprisingly, integrating all of that with Foe Frenzy wasn't necessarily the breeziest breeze ever, as I didn't really have any example implementations or anything of the sort at hand, but it worked out in the end!
@ -33,7 +33,7 @@ So for a rather long time now, I've been watching a YouTuber called [ThinMatrix]
So after some contemplating (and a lot of anxiety), I decided to send him an email, and quite quickly, he replied and said that, yes indeed, he would love to create the soundtrack for Foe Frenzy. So that's what he's doing now, and it's super awesome.
In case you haven't seen it yet, here's the announcement trailer for the game which features the awesome trailer theme that he created:
In case you haven't seen it yet, here's the announcement trailer for the game which features the awesome trailer theme that he created:
<iframe width="560" height="315" src="https://www.youtube.com/embed/Z7ZeuVBNuf4" frameborder="0" allow="accelerometer; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

View file

@ -63,7 +63,7 @@ public class Main {
}
}
```
As you can see from line 6 and 7, to declare a variable, you need to put the variable's type first (`String` meaning text, `int` meaning an integer; a number without a decimal point), followed by the variable's name, which you can choose yourself.
As you can see from line 6 and 7, to declare a variable, you need to put the variable's type first (`String` meaning text, `int` meaning an integer; a number without a decimal point), followed by the variable's name, which you can choose yourself.
For now, these variables don't have a value assigned to them yet. That's done in line 9 and 10. To assign a value to a variable, you first put the variable's name, followed by an equals sign `=`, followed by your desired value. For numbers, you can simply put them down, but text has to be wrapped in quotes `""` (which is also why the text in lines 3 and 4 is wrapped in quotes).
@ -72,7 +72,7 @@ To actually do something with the variables, let's have them be printed out to t
System.out.println(someText);
System.out.println(someNumber);
```
As you can see, to print a variable's value to the console, all you have to do is put its name where you would usually put a piece of text directly.
As you can see, to print a variable's value to the console, all you have to do is put its name where you would usually put a piece of text directly.
# Variable Manipulation
Obviously, this isn't really that exciting yet: Our program isn't really doing anything so far. Let's manipulate our variables. I've added the following code:

View file

@ -7,7 +7,7 @@ discuss: https://twitter.com/Ellpeck/status/1182354544707198976
archived: true
---
If you're reading this, then I assume you have already read the first part of this tutorial series, in which we covered setting up a program, making it print "Hello World" to the console, as well as how to declare and set the values of variables.
If you're reading this, then I assume you have already read the first part of this tutorial series, in which we covered setting up a program, making it print "Hello World" to the console, as well as how to declare and set the values of variables.
Today, we'll be talking about conditions and loops.[^1] As with the last tutorial, I'll be writing most of the code snippets first and then explaining what exactly they mean and do right after.
@ -124,7 +124,7 @@ The current index is 0
The current index is 1
The current index is 2
```
As you might be able to tell from that, a `for` loop causes any number of instructions in it to be executed a certain amount of times.
As you might be able to tell from that, a `for` loop causes any number of instructions in it to be executed a certain amount of times.
Its structure is pretty similar to the `if` statement's: First, you write the word `for`, followed by some loop instructions inside parentheses `()`, and then you open curly braces `{}` which contain the instructions that should be executed multiple times. The loop instructions contain three parts, which are separated by semicolons `;`:
- `int index = 0;` is the declaration of the *loop variable*: This is the instruction that will be executed *before* the loop starts running.
@ -165,6 +165,6 @@ Thanks for reading this tutorial and I hope it helped you out! If you have any f
[^2]: Note that, when *comparing* two numbers, two equals signs `==` are used. This is different from *assigning a value* to a variable, which only uses one equals sign `=`.
[^3]: Why exactly this is the case will be discussed later when we get into object orientation. The different behavior mentioned here is the case for any variable types which aren't so-called *native types*. Any variable whose type starts with an uppercase letter is not a native type, because it derives from a *class*.
[^3]: Why exactly this is the case will be discussed later when we get into object orientation. The different behavior mentioned here is the case for any variable types which aren't so-called *native types*. Any variable whose type starts with an uppercase letter is not a native type, because it derives from a *class*.
[^4]: Named after [George Boole](https://en.wikipedia.org/wiki/George_Boole), a mathematician.

View file

@ -138,7 +138,7 @@ As you can see, I created a method `square` that returns its parameter `i`, but
- The method's *return type* has to be declared. For methods that don't return anything, the return type is `void`. For methods that return something, just replace `void` with the *type of variable* that it returns.
- To actually return a specific value after it has been calculated, just type `return`, followed by the value and a semicolon `;`.
Now, this method can be used as if it were just another number: We can set variables to it and print it out. But instead of it being just another number, it actually executes the code inside it every time.
Now, this method can be used as if it were just another number: We can set variables to it and print it out. But instead of it being just another number, it actually executes the code inside it every time.
## Stopping execution
A thing that should be noted about returning is that any code that comes after a return statement will *not* be executed. In other words: After returning a value, a method will stop its execution, no matter what comes next.
@ -177,7 +177,7 @@ public static boolean isIGreaterThanJ(int i, int j) {
Because when `i` is *not* greater than `j`, the print statement will be executed but then, the method doesn't know what value to return, so this code will give out an error before it even tries to execute.
# Conclusion
So yea, that's pretty much everything important there is to know about (static) methods. In one of the next tutorials, we'll finally get into actual object orientation and we'll soon be taking a look at non-static methods, which are even more useful than static methods.
So yea, that's pretty much everything important there is to know about (static) methods. In one of the next tutorials, we'll finally get into actual object orientation and we'll soon be taking a look at non-static methods, which are even more useful than static methods.
As a little exercise, you might want to create some methods with different return types and different parameters and call them. Have some fun!

View file

@ -148,7 +148,7 @@ myOtherTable.printLegAmount();
...then the result will be the same as before: `My table has 4 legs`, followed by `My other table has 25 legs`, because in `myTable.printLegAmount()`, `this` will be `myTable`, and in `myOtherTable.printLegAmount()`, `this` will be `myOtherTable`.
# Constructors
Constructors are a special kind of method in Java. You can't really execute them manually, but instead, they're automatically called every time a new instance is created (so every time you use the `new` keyword).
Constructors are a special kind of method in Java. You can't really execute them manually, but instead, they're automatically called every time a new instance is created (so every time you use the `new` keyword).
Let's look at the following example, which adds a constructor to our `Table` class that automatically sets the `legAmount` variable to 4.
```java

View file

@ -7,12 +7,12 @@ discuss: https://twitter.com/Ellpeck/status/1186028260838334471
archived: true
---
So some of you might be disappointed that this *isn't* the next Java tutorial. Well, today and the last couple of days, I haven't been feeling like working on those, because.. I've been depressed again. I never know how to describe it, or how to say it without seeming like it's just.. something I say when I'm too lazy to work on things.
So some of you might be disappointed that this *isn't* the next Java tutorial. Well, today and the last couple of days, I haven't been feeling like working on those, because.. I've been depressed again. I never know how to describe it, or how to say it without seeming like it's just.. something I say when I'm too lazy to work on things.
This post will probably be a little all over the place, because that's also the mood that my head is currently in, but I'll try to explain to you what it feels like to me to have a low low follow a high high, mood-wise.
# Highs
When I say that I'm depressed, it means something different than when I say that I'm suffering from depression. Because, for me, depression isn't a constant state. Before depression hits, I have long periods of highs, long periods of what non-depressed people would probably just call.. normal moods.
When I say that I'm depressed, it means something different than when I say that I'm suffering from depression. Because, for me, depression isn't a constant state. Before depression hits, I have long periods of highs, long periods of what non-depressed people would probably just call.. normal moods.
I get up in the mornings, I enjoy breakfast, I go to University, I do my daily chores, I sit down at my computer, I code, I play some games, and then I go to bed. Normal days, really.
@ -23,8 +23,8 @@ And then a low hits. And the longer the high has been going on for, the longer I
I wake up at noon. I stay in bed. I check my phone. Hours pass. I think to myself "What am I doing?" I check my phone. After a while, I force myself to get up; I might even take a shower. I find some cookies in the back of my fridge; those'll be good enough for breakfast, I think to myself. I sit down at my computer. I watch some videos. "What am I doing?" Maybe some more videos. "What am I doing? I don't know what to do." I start Minecraft. "This sounds like fun!" I play for five minutes. I close the game again. "What am I doing?" I watch some videos. I start The Sims 4. I play for half an hour, and then I close the game again. "What am I doing?" I watch some more YouTube videos. I listen to some music. Should I do my coursework now? Not in the mood. I open IntelliJ. Let's work on some code. I glance at a couple of files, and then I close it again. "What am I doing?"
Take that whole description, and slow it down by about 200%. That's what a low day feels like to me. I feel like every single hour; every single *minute* even, is filled with doubt and emptiness and just... nothing.
Take that whole description, and slow it down by about 200%. That's what a low day feels like to me. I feel like every single hour; every single *minute* even, is filled with doubt and emptiness and just... nothing.
This is so hard to explain for me because I also don't.. see myself in these low phases. I don't look at myself. I don't observe what I'm doing. It's like I'm not even there; it's like I'm not inside my own body, doing these activities with it. It's like it's just doing everything on some sort of weird auto-pilot mode.
So until that passes, I probably won't be working on any tutorials, or anything, really. Let's hope it passes fairly soon, because I'm honestly sick of forcing myself to eat cookies for breakfast. It might sound great, but eating something when you have absolutely no desire to eat things is... quite unpleasant, really.
So until that passes, I probably won't be working on any tutorials, or anything, really. Let's hope it passes fairly soon, because I'm honestly sick of forcing myself to eat cookies for breakfast. It might sound great, but eating something when you have absolutely no desire to eat things is... quite unpleasant, really.

View file

@ -75,7 +75,7 @@ As you can see, the `Truck` class now uses the `amountOfWheels` field from its s
## `super`
Now, you've probably been wondering what line 5 means: `super(amountOfWheels)`. As we defined earlier, our `Vehicle` class takes one argument in its constructor: The amount of wheels that it has. As we also previously discussed, a constructor *has to be called* when a new object is created. So, when creating a `Truck` object, the `Truck` constructor is called, but, in turn, it needs to also implicitly call the `Vehicle` constructor.
When placing a `super()` call at the start of the constructor of a class, the constructor of the class that is being extended will be called. If that class takes a set of arguments in its constructor, we have to pass it those arguments, similarly to if we were creating an object of that class.
When placing a `super()` call at the start of the constructor of a class, the constructor of the class that is being extended will be called. If that class takes a set of arguments in its constructor, we have to pass it those arguments, similarly to if we were creating an object of that class.
That's what our `super(amountOfWheels)` is doing here: It's calling the constructor of `Vehicle` with the `amountOfWheels` argument.

View file

@ -38,7 +38,7 @@ If you really, *really* want to port Actually Additions to 1.15, at least remove
I still, to this day, *adore* the way I implemented Phantomfaces. They look good, they work well, they have unique functionality, but... **everyone uses them wrong**. They're not supposed to be a means of item transportation. How could I make them be more restricted to their intended use case? I don't really know, honestly.
# The Coffee Maker
Etho is my favorite YouTuber of all time, and always has been. When he first used the Coffee Maker in his HermitCraft modded series, I legitimately cried of happiness. Following that point, he made and used it in every modded series that it was available in.
Etho is my favorite YouTuber of all time, and always has been. When he first used the Coffee Maker in his HermitCraft modded series, I legitimately cried of happiness. Following that point, he made and used it in every modded series that it was available in.
I still think it's a great block with awesomely unique functionality, and I have been considering implementing something similar in functionality into my newer mod Nature's Aura.
@ -62,7 +62,7 @@ I personally especially love the item laser relays, because they can do almost a
The crystals, though... I don't think I'd want them to work the same nowadays. The names were ridiculous, the textures were weird and the materials used to make them were generic and boring. Actually, I originally picked the ridiculous anagram-ish names specifically because I *knew* YouTubers would have trouble saying them, and the thought of that was hilarious to me.
# Lush Caves
They don't fit the mod (because it's not a biome/world gen mod), so most modpacks disable them. I don't really understand why, though, because they add so much to the world!
They don't fit the mod (because it's not a biome/world gen mod), so most modpacks disable them. I don't really understand why, though, because they add so much to the world!
This game desperately needs a cave update.
@ -73,7 +73,7 @@ That's why the visual style of the mod is inconsistent and honestly pretty gross
Altogether, when playing the mod now, the texture and overall visual style of the mod make me feel like I'm playing some bizarre combination of old ruins, a tech mod and a confused magic mod.
# Honorable-ish Mentions
# Honorable-ish Mentions
**Black Quartz**. Why didn't I make it drop the item directly instead of the ore? I don't know. Weird choice, though.
**Smiley Clouds**. God, they're creepy. Yes, they were just supposed to be a clone of Botania's Tiny Potato. Were they as well designed? No. Were they as cool? No. Would I ever want them in my life ever again? Definitely not.
@ -95,6 +95,6 @@ Altogether, when playing the mod now, the texture and overall visual style of th
# What Do We Learn From This?
Well, I don't know if you learn anything from this, but there's one thing I learned for sure: I'm a lot better of a programmer and a lot better of a game designer now.
Sure, I'd still consider Actually Additions to be a pretty good mod, and it's definitely a nice project to be known for. But I don't think I'd do almost anything in the mod the same way nowadays.
Sure, I'd still consider Actually Additions to be a pretty good mod, and it's definitely a nice project to be known for. But I don't think I'd do almost anything in the mod the same way nowadays.
Also, I kind of think that Actually Additions has run its course in some way; it's lived its life. It's important to remember that there is a huge amount of new, unexplored mod ideas still out there, and that there are already some great mods that implement unique, new ideas. Shouldn't we let those mods step into the spotlight now?
Also, I kind of think that Actually Additions has run its course in some way; it's lived its life. It's important to remember that there is a huge amount of new, unexplored mod ideas still out there, and that there are already some great mods that implement unique, new ideas. Shouldn't we let those mods step into the spotlight now?

View file

@ -8,11 +8,11 @@ reedsy: https://blog.reedsy.com/creative-writing-prompts/contests/95/submissions
discuss: https://twitter.com/Ellpeck/status/1398049729582407686
---
Sally strolled along the shopping street with her favorite, rainbow-colored bag swung over her left shoulder. Looking around the shops, she wondered if she'd gotten everything from her list. Unsure, but willing to be *absolutely certain*, she pulled her phone out of her shiny bag and opened her notes. There was one item left on it, unticked: *short skirt, blue, summer*. She held the bag open with one hand and started rummaging through it with the other. Sally had already bought a skirt, but it wasn't blue, and it wasn't fit for summer either. It was longer, and the colors made her think of the fall. Of dancing around in the rain, of jumping straight into a pile of leaves. Of *Joey*.
Sally strolled along the shopping street with her favorite, rainbow-colored bag swung over her left shoulder. Looking around the shops, she wondered if she'd gotten everything from her list. Unsure, but willing to be *absolutely certain*, she pulled her phone out of her shiny bag and opened her notes. There was one item left on it, unticked: *short skirt, blue, summer*. She held the bag open with one hand and started rummaging through it with the other. Sally had already bought a skirt, but it wasn't blue, and it wasn't fit for summer either. It was longer, and the colors made her think of the fall. Of dancing around in the rain, of jumping straight into a pile of leaves. Of *Joey*.
Oh, God.
She took the skirt out of its protective casing and checked the price tag, which was still firmly attached to the waistband. Forty-seven dollars, it said. That was a lot of money to pay for a skirt, wasn't it? She jerked around on the busy street in an instant, almost bumping into a stranger, while trying to locate the store where she'd gotten this stupid thing.
She took the skirt out of its protective casing and checked the price tag, which was still firmly attached to the waistband. Forty-seven dollars, it said. That was a lot of money to pay for a skirt, wasn't it? She jerked around on the busy street in an instant, almost bumping into a stranger, while trying to locate the store where she'd gotten this stupid thing.
Ah, there it was. Without thinking much, she stuffed the skirt back into her bag and headed straight for the entrance of the small boutique.
@ -28,9 +28,9 @@ Joey would've never done anything like that with her. It wasn't that he hadn't b
After a few more minutes of dreaming, and possibly a tiny bit of *drooling*, she caught herself doing exactly the thing that she promised herself she'd never do again: *Pining* for someone, someone who probably didn't even remember she existed. Someone she hadn't even *talked to* yet. Jesus Christ.
She needed to get her act together, she thought to herself. And what better way to do that than to return that ugly fall skirt she'd bought and get a perfect, blue summer one just like her to-do list demanded of her. She sat up, turned away from David, who looked like he was almost finished checking out by now, and pulled the stupid skirt back out of her bag. But looking at it, she realized again how beautiful the pattern on it was. How the thin lines connected to form what looked like a network of pathways, or maybe a tree with thousands of small branches.
She needed to get her act together, she thought to herself. And what better way to do that than to return that ugly fall skirt she'd bought and get a perfect, blue summer one just like her to-do list demanded of her. She sat up, turned away from David, who looked like he was almost finished checking out by now, and pulled the stupid skirt back out of her bag. But looking at it, she realized again how beautiful the pattern on it was. How the thin lines connected to form what looked like a network of pathways, or maybe a tree with thousands of small branches.
She stuffed the skirt right back into her bag and deliberated. She could always just get the blue summer skirt *on top* of the fall one, and keep both. But surely, she'd never *wear* both of them, because she already had so many other skirts, and dresses, and jeans. Why did she have *so many clothes*? She didn't even need to buy any more today. This whole thing was so unnecessary, she realized.
She stuffed the skirt right back into her bag and deliberated. She could always just get the blue summer skirt *on top* of the fall one, and keep both. But surely, she'd never *wear* both of them, because she already had so many other skirts, and dresses, and jeans. Why did she have *so many clothes*? She didn't even need to buy any more today. This whole thing was so unnecessary, she realized.
Determined to keep the skirt (because of the beautiful lines, et cetera), but not buy another skirt (because of the full closet), she headed straight for the exit with big, confident strides. So confident, in fact, that she ran right into the backside of none other than David, who had stopped in the doorway of the store, probably to check his phone or something.
@ -48,13 +48,13 @@ He arched an eyebrow. "Sally...," he began. "Sally, like, debate team Sally?"
"Is that what you thought of me as?", she said almost instinctively. "I didn't even do it for that long."
"Well," David began awkwardly and stuffed his phone into his pocket. "The other Sally made it hard to think of you as just 'Sally'", he explained.
"Well," David began awkwardly and stuffed his phone into his pocket. "The other Sally made it hard to think of you as just 'Sally'", he explained.
Ah, that made a lot of sense, actually. Sally (the other one) was one of the popular girls, and *this* Sally was never that popular at school, or anywhere, really. She hung around the debate team for a while, but quit fairly quickly and moved on to a different club. And right now, still standing in the doorway of the store, awkwardly looking at David, she pulled a face and tried to remember what she *did* after she quit the debate team.
Ah, that made a lot of sense, actually. Sally (the other one) was one of the popular girls, and *this* Sally was never that popular at school, or anywhere, really. She hung around the debate team for a while, but quit fairly quickly and moved on to a different club. And right now, still standing in the doorway of the store, awkwardly looking at David, she pulled a face and tried to remember what she *did* after she quit the debate team.
"Anyway," David said with a blank expression. "I was about to grab lunch..."
He paused, and Sally just kind of stared. She was still thinking about that damn club.
He paused, and Sally just kind of stared. She was still thinking about that damn club.
"You want to come?" David finally said.
@ -62,7 +62,7 @@ He paused, and Sally just kind of stared. She was still thinking about that damn
***
Sally couldn't quite believe it, but David had actually given her his *phone number* after their lunch date thing. They'd walked to a nearby fast food place and both ordered a burger and fries, and, while waiting for the food to arrive, they'd talked about what both of them had started doing after finishing school.
Sally couldn't quite believe it, but David had actually given her his *phone number* after their lunch date thing. They'd walked to a nearby fast food place and both ordered a burger and fries, and, while waiting for the food to arrive, they'd talked about what both of them had started doing after finishing school.
Sally was sitting in her bed now and looking down at her phone, the bright screen displaying David's contact information. He'd entered his first name only, along with his phone number. For a moment, Sally wondered if he might have given her some sort of fake number, but that wouldn't make much sense, because *he* was the one who'd invited her to lunch, after all.
@ -74,7 +74,7 @@ She hovered over the green call button with her thumb, considering her options.
Wow, that was *bold* of her, wasn't it? What had gotten into her all of a sudden? She never used to be like this with Joey, or anyone else, for that matter. She shook her head and followed up with a *super* smooth "Only if you want, though. Of course." Fucking hell.
"I'd love to! I'm so glad you asked," he said. "I was worried you weren't going to call."
"I'd love to! I'm so glad you asked," he said. "I was worried you weren't going to call."
He was... *worried*? That was a surprise to Sally. And a nice thing to say, too, in a weird sort of way.
@ -90,7 +90,7 @@ Sally had suggested a place that he'd never been to this time around, a place th
He shrugged off the thought as a notification made his phone vibrate in his pocket. For a second, he wondered if this was Sally canceling their date-- lunch meeting-- *friendly hangout session*.
It was, indeed, Sally. Evidently, she hadn't messaged him to cancel, though.
It was, indeed, Sally. Evidently, she hadn't messaged him to cancel, though.
The little banner notification at the top of his screen captured the start of her message: *been deliberating. do you mind if we go to the thai place i talked abo...* David chuckled to himself as he tapped the notification. She'd already presented him with about seventeen choices last night, asking him which one *he* would choose. What was up with that girl?
@ -108,10 +108,10 @@ She pulled a tiny frown and rolled her eyes. "Shut up."
They continued bantering as they ordered food and until after their drinks arrived. This seemed to be their rapport now: Making fun of each other over drinks and varying cuisine. It was good. No, actually. It was *great*.
While eating his burger (and fries with mayonnaise, of course), he looked up to meet Sally's eyes for a quick moment, who smiled back before returning her focus to her own burger, also with fries and mayo. And ketchup. *And* barbecue sauce.
Jesus Christ.
While eating his burger (and fries with mayonnaise, of course), he looked up to meet Sally's eyes for a quick moment, who smiled back before returning her focus to her own burger, also with fries and mayo. And ketchup. *And* barbecue sauce.
Jesus Christ.
He continued looking at Sally for another few seconds, studying her features, taking in her eyes, which were nestled neatly between the rims of her glasses and below her long, blonde bangs. It was warm today, and Sally was wearing a flowy, bright top and a short, blue skirt that looked like she'd just bought it the same day.
He continued looking at Sally for another few seconds, studying her features, taking in her eyes, which were nestled neatly between the rims of her glasses and below her long, blonde bangs. It was warm today, and Sally was wearing a flowy, bright top and a short, blue skirt that looked like she'd just bought it the same day.
Sally looked back up at him. "You know," she began. "I've really been enjoying our dates."
@ -127,20 +127,20 @@ David let what that sink in for a moment. He looked at her and smiled. Of course
As she arrived home and unlocked the front door, Sally realized that she'd been thinking about David, and David alone, for the last few days. Whenever she watched TV and saw a cute scene, she thought of David. When chatting with her friends about their relationships, she thought of David. And, yes, she admitted to herself, she'd also thought of David while touching herself. Once or twice.
But that wasn't bad, she concluded. In fact, she accepted all of it as what it was: A sign that she really liked David. She smiled to herself as she went up to her room, throwing her jacket onto a chair in the corner.
But that wasn't bad, she concluded. In fact, she accepted all of it as what it was: A sign that she really liked David. She smiled to herself as she went up to her room, throwing her jacket onto a chair in the corner.
She let herself drop backwards onto the bed like a brick and pulled out her phone, holding it over her head. She opened her message thread with David and typed the words *Today was fun.* Then, she followed up with another message: *I really like you, David.*
This was, for the first time since Sally could remember, something she was absolutely certain about. She didn't have to think twice before sending those messages. She didn't even *want* to think twice about them, because it was so unusually clear to her. She liked David, and there would be nothing she could tell herself, no question she could ask herself, to change that.
This was, for the first time since Sally could remember, something she was absolutely certain about. She didn't have to think twice before sending those messages. She didn't even *want* to think twice about them, because it was so unusually clear to her. She liked David, and there would be nothing she could tell herself, no question she could ask herself, to change that.
Before he even read the message, Sally moved into her contact list with a few quick swipes, scrolling down to the entries that started with the letter J. *J*, as in *Joey*, of course. She tapped his name and immediately felt a weird sense of unease, a dread that she'd always felt when she had to think about him. She scrolled down past the phone numbers and his address until, right there, in the center of her screen, was a big red button with a trash can icon and the word *Delete* next to it.
Before he even read the message, Sally moved into her contact list with a few quick swipes, scrolling down to the entries that started with the letter J. *J*, as in *Joey*, of course. She tapped his name and immediately felt a weird sense of unease, a dread that she'd always felt when she had to think about him. She scrolled down past the phone numbers and his address until, right there, in the center of her screen, was a big red button with a trash can icon and the word *Delete* next to it.
She thought of the lunches with David again, the way he stuffed fries into his mouth. The way he snickered when she asked the waiter for three different condiments. The way his smooth hair dissolved into more and more curls the longer he was outside in the dry summer heat. The way things seemed so *easy* with him. All of a sudden, the dread that Joey's name brought up in her vanished, just like that.
And then she pressed the button.
And then she pressed the button.
As she watched Joey's name slide off-screen in the contact list, all the other J names shuffling up and down neatly to fill the gap, a banner notification came down from the top of her screen. It was David.
*I like you too, Sally. Really like you.*
*I like you too, Sally. Really like you.*
Another notification came down. *Lunch again tomorrow?*
Another notification came down. *Lunch again tomorrow?*

View file

@ -27,7 +27,7 @@ He groaned and rolled over again, kicking the blanket onto the floor with his fe
The little tick marks turned blue, and his face followed suit quickly when his phone began to vibrate violently in his hand. A call? Really?
"If you don't come, I will literally cry, Vincent. What the fuck am I going to do without you?"
"If you don't come, I will literally cry, Vincent. What the fuck am I going to do without you?"
Myra genuinely sounded a little annoyed, but Vince knew this game: She'd pretend to be pissed at him for a minute until he started feeling genuinely bad, and then she had to explain to him that she was just joking, like always. It was less of a game and more of a *Myra being a normal friend while Vince stumbles around his inability to be a functioning person*. So, pretty much like always.
@ -35,11 +35,11 @@ Myra genuinely sounded a little annoyed, but Vince knew this game: She'd pretend
Admittedly, he *was* pretty fun when he managed to leave his anxiety behind at the bottom of a glass. And drunk Vince and drunk Myra would always start deep, meaninglessly meaningful conversations that made them think deeply and then cackle embarrassingly again and again.
And if he said no to this party, he would've not only denied his best friend, who was there for him pretty much constantly, but he'd just have to have another sad Saturday night consisting of chips, memes and maybe a, uh, *fun toy* and some porn. Admittedly, that sounded a lot more fun than some jock-infested party.
And if he said no to this party, he would've not only denied his best friend, who was there for him pretty much constantly, but he'd just have to have another sad Saturday night consisting of chips, memes and maybe a, uh, *fun toy* and some porn. Admittedly, that sounded a lot more fun than some jock-infested party.
"Look, listen," Myra began after enduring the awkward silence for longer than she reasonably should have. "There's this guy coming to the party who is really sweet, and he looks pretty cute too. Dan even said that he might be, you know, *a top*, and I know how desperate you've been for that sort of thing recently."
Damn it. Why did Vincent tell anyone anything, ever?
Damn it. Why did Vincent tell anyone anything, ever?
"Why do I tell you anything, ever?" He half-whispered into his phone and sat up into a surprisingly graceful cross-legged situation and picked up the dildo that he spotted at the foot of his bed. He really had to take better care of his belongings.
@ -49,7 +49,7 @@ Damn it. Why did Vincent tell anyone anything, ever?
"Listen. Are you coming or not? I'm not going to spend the rest of the evening getting your sad ass laid."
Vince rolled his eyes and sighed, deliberately loud enough for her to hear it clearly.
Vince rolled his eyes and sighed, deliberately loud enough for her to hear it clearly.
"Stop rolling your eyes at me. Yes or no?"
@ -65,11 +65,11 @@ There we fucking go.
Myra's party turned out to be happening at a different house that apparently belonged to a friend of hers or something. Vince was kind of relieved, as Myra's apartment didn't feature a lot of space to hide from sweaty crowds of drunken people in. The night was unfurling as people around him started showing clear signs of a buzz, and of course, Myra was absolutely nowhere to be found. Great.
In his frustration, Vince decided to sit down on one of the chic living room sofas that were very clearly too expensive to house his poor ass. Nevertheless, it seemed to invite him to take a little break from the crowds and the anxiety and just *breathe* for a second.
In his frustration, Vince decided to sit down on one of the chic living room sofas that were very clearly too expensive to house his poor ass. Nevertheless, it seemed to invite him to take a little break from the crowds and the anxiety and just *breathe* for a second.
If he was being honest with himself, Vincent wasn't at all interested in this party or the people at it. He sipped his drink tentatively, a vodka and coke that tasted more like a vodka and vodka with a side of coke, and looked around the bustling living room. Not only had Myra seemingly disappeared, any other people that he may know and be able to interact with were also nowhere to be found. And while this meant that there were *also* no people around that he might want to run-away-slash-hide from, it was still kind of a bummer to be wasting his night at this place and still sit around alone.
A few more minutes went by, and Vince started spotting one or two people that he *did* know, but none of which he wanted to talk to. There was a guy that he'd briefly hooked up with at another one of Myra's parties about a year ago (he was one of the "straight, but I have needs, too" guys), and there was a girl who had flirted with him a lot before Vince found out that he was, in fact, not at all interested in her or her gender. They'd still continue talking every now and again after that, but it seemed to Vince like she'd only been interested in him as a potential romantic (or sexual) partner, which was fair enough.
A few more minutes went by, and Vince started spotting one or two people that he *did* know, but none of which he wanted to talk to. There was a guy that he'd briefly hooked up with at another one of Myra's parties about a year ago (he was one of the "straight, but I have needs, too" guys), and there was a girl who had flirted with him a lot before Vince found out that he was, in fact, not at all interested in her or her gender. They'd still continue talking every now and again after that, but it seemed to Vince like she'd only been interested in him as a potential romantic (or sexual) partner, which was fair enough.
Myra finally reappeared by tapping Vincent on the shoulder from behind the sofa. She was radiating confidence and also, maybe, probably, a slight bit of drunkenness. Those tended to go hand in hand for her.
@ -83,7 +83,7 @@ Myra finally reappeared by tapping Vincent on the shoulder from behind the sofa.
Vince made one of his famous faces. "Who the hell is Brandon?"
"The guy I was telling you about! The cute one with a dick that isn't made of silicone?"
"The guy I was telling you about! The cute one with a dick that isn't made of silicone?"
Ah, yes. The human dick man.
@ -91,7 +91,7 @@ Ah, yes. The human dick man.
He chose a smooth "How much have you had to drink?" as his reply and then pushed her head off of his shoulder. "Where is he?"
"He's, uh..." She narrowed her eyes and began to investigate the crowd.
"He's, uh..." She narrowed her eyes and began to investigate the crowd.
"Right there!" She exclaimed and jumped up from the couch. "Go to him! Come on!"
@ -99,7 +99,7 @@ He chose a smooth "How much have you had to drink?" as his reply and then pushed
Brandon was, in fact, quite cute. Actually, Vince might have been drooling over him just a tiny bit while waiting for Myra to resurface earlier, even before he knew that he was the cute, gay friend in question. Well, he might have been bi or pan or something. That wasn't important right now.
What *was* important right now was getting Brandon out of the hot tub and into one of the spare bedrooms. Why was there even a *hot tub*? Had someone taken this house from a high school movie? Though, in the hot tub's defense, it did allow Vince to see Brandon's not-quite-chiseled chest and his not-so-short hair that was flowing over his surprisingly broad shoulders. He hadn't quite decided if he found Brandon cute or hot yet, but he *had* decided that he would quite enjoy spending some more time with him to figure it out.
What *was* important right now was getting Brandon out of the hot tub and into one of the spare bedrooms. Why was there even a *hot tub*? Had someone taken this house from a high school movie? Though, in the hot tub's defense, it did allow Vince to see Brandon's not-quite-chiseled chest and his not-so-short hair that was flowing over his surprisingly broad shoulders. He hadn't quite decided if he found Brandon cute or hot yet, but he *had* decided that he would quite enjoy spending some more time with him to figure it out.
Vincent, being the perfect-at-social-interaction smooth talker that he was, stood in front of the hot tub like an idiot, just staring at Brandon's beautiful fucking face. How did humans do that *speaking* thing again?
@ -109,7 +109,7 @@ Brandon turned around and saw Vince standing there like an idiotic statue. He lo
"Yup, yea, that's... that's me. Hi." He stood there awkwardly, debating whether he should extend his hand? Go in for a hug? No, he was dripping wet. The--- *Brandon* was dripping wet. Yes.
Not too long after the most awkward thirty-five seconds of his life, Vince found himself sitting next to Brandon on a bed in a room that Vince was pretty sure was at least twice as big as his own apartment. Brandon had, despite Vincent's wordless disapproval, towel dried himself off and put on a shirt.
Not too long after the most awkward thirty-five seconds of his life, Vince found himself sitting next to Brandon on a bed in a room that Vince was pretty sure was at least twice as big as his own apartment. Brandon had, despite Vincent's wordless disapproval, towel dried himself off and put on a shirt.
After staring at each other for a few seconds, their thighs rubbing together on the bed, things started going pretty fast. Brandon took of Vince's shirt and then his own, and Vincent started making use of his free hands to feel Brandon's rather muscular body. Brandon took off his Bermudas and they both realized that he was not wearing anything else underneath, revealing his rock hard---and very human---cock. Vince also took off his pants after struggling with his belt buckle for an embarrassing amount of time, and then he found himself laying on his back with Brandon's chest pressed against his, their cocks rubbing against each other. Brandon got up from the bed and grabbed Vince's legs, pulling him towards the edge of the bed.
@ -119,7 +119,7 @@ Brandon was fumbling with a condom wrapper and Vincent quickly decided to use th
"Can we," He began. "Can we slow down a bit? I don't think I'm ready for that yet." Vincent frowned and looked at Brandon, whose expression was unreadable to him.
"What?" Brandon asked, still expressionless. His tone wasn't aggressive, but it wasn't all that calm, either. Had Vincent said something wrong?
"What?" Brandon asked, still expressionless. His tone wasn't aggressive, but it wasn't all that calm, either. Had Vincent said something wrong?
"I thought this is what you wanted. That's what Myra said!"
@ -131,19 +131,19 @@ Brandon frowned and closed his eyes. He sighed. He didn't say anything for a sol
"Fuck," Vincent began again. He shook his head slowly and frowned. "I'm sorry, that came out wrong."
Brandon just stood there. "It did, didn't it?"
Brandon just stood there. "It did, didn't it?"
Then he walked away.
***
When Vincent trotted slowly down the stairs, the party was still in full swing, and he absolutely hated it. Not only were there a million humans that all reeked of alcohol and just generally existed, which was usually bad enough, Vincent had also ruined a very good opportunity to have sex with a very hot and, according to Myra, very sweet guy. A guy whom, even after looking around the living room and the kitchen, he wasn't able to find anywhere.
When Vincent trotted slowly down the stairs, the party was still in full swing, and he absolutely hated it. Not only were there a million humans that all reeked of alcohol and just generally existed, which was usually bad enough, Vincent had also ruined a very good opportunity to have sex with a very hot and, according to Myra, very sweet guy. A guy whom, even after looking around the living room and the kitchen, he wasn't able to find anywhere.
This was, as Vincent told himself, the perfect time to give up. Find Myra, say goodbye, and head home to his bed and his stupid toys. He didn't deserve human dick anyway, because all he could do was *be* a human dick.
If he talked to Myra right now, all she'd tell him would be to stop wallowing in self-pity and do something about the problem or some crap. Maybe she'd instruct him to find Brandon, or find some other guy, or apologize through text because she probably had his number, too. But Vincent wasn't ready for rationality right now. Being mad at himself felt good, in a fucked up way. And maybe it had its purpose, or at least that's what he began telling himself as he was walking outside to check the hot tub for any signs of the guy he'd just hurt for no reason.
Brandon was, in fact, in the hot tub. He sat there with his hands by his sides, less happy and less confident than the first time he saw him here.
Brandon was, in fact, in the hot tub. He sat there with his hands by his sides, less happy and less confident than the first time he saw him here.
Vincent slowly walked up to him. He closed his eyes for a second and started feeling sick to his stomach. If he was going to leave, he should leave *right now*. But that's what he usually did, and he wasn't going to mess this up again. He wanted to give this guy a chance. He wanted to give *himself* a chance, too.
@ -151,33 +151,33 @@ Vincent slowly walked up to him. He closed his eyes for a second and started fee
***
Vincent and Brandon were sitting on a log bench at the far side of the unreasonably large backyard.
Vincent and Brandon were sitting on a log bench at the far side of the unreasonably large backyard.
"Fuck, I'm so sorry," Vincent said apologetically, again. "I just... I thought about something stupid and then I snapped. I really didn't mean what I said."
Brandon looked at him and frowned, his eyes twitching back and forth between the ground and Vincent's face.
Brandon looked at him and frowned, his eyes twitching back and forth between the ground and Vincent's face.
"No, you were right, man. I should have asked if you wanted to do the stuff we did. I was too fast." He didn't sound disingenuous. If anything, he sounded like he was mad at himself.
"No, you were right, man. I should have asked if you wanted to do the stuff we did. I was too fast." He didn't sound disingenuous. If anything, he sounded like he was mad at himself.
"I *did* want to do the stuff you did. I really wanted to. I *still* want to." After saying that, Vincent decided it was probably time to shut up. Was he being too vulnerable or honest now? Was Brandon just going to walk back to the hot tub, or go inside and fuck any of the twenty other cute guys that were less of an emotional mess than Vincent was?
"I *did* want to do the stuff you did. I really wanted to. I *still* want to." After saying that, Vincent decided it was probably time to shut up. Was he being too vulnerable or honest now? Was Brandon just going to walk back to the hot tub, or go inside and fuck any of the twenty other cute guys that were less of an emotional mess than Vincent was?
Brandon chuckled and smiled.
"Okay," He said. "Let's do it, then."
"Wait, really?" Vincent blurted out and raised his eyebrows to the fucking sky.
"Wait, really?" Vincent blurted out and raised his eyebrows to the fucking sky.
"Yea. I still want to, too. Plus, I haven't really gotten to take a proper look at your ass yet."
"Hey now, I'm not *just* an ass, Brandon." Vincent said and smiled.
"Hey now, I'm not *just* an ass, Brandon." Vincent said and smiled.
"So far, you were," Brandon whispered into his ear, and Vincent knew that it was true, but he wasn't sure if this was Brandon dirty talking or just... telling him how much of an ass he was.
It didn't take long until he found out, because Brandon turned Vincent's head towards his own.
It didn't take long until he found out, because Brandon turned Vincent's head towards his own.
"Can I make out with you?" He asked quietly and bit his lip.
"Yes," Vincent replied with a grin, and he kissed Brandon on the lips and didn't let go.
"Yes," Vincent replied with a grin, and he kissed Brandon on the lips and didn't let go.
Eventually, their tongues were intertwined and only momentarily separated as Brandon made sure that he was doing everything exactly as Vincent wanted him to. They went slower this time, but still did all the things that they'd both wanted to do.
@ -187,4 +187,4 @@ Vincent looked at Brandon, who was walking next to him, and quietly said a genui
Brandon looked back and chuckled. "It was fun." He said. Then he came a little closer.
"Hey, Vincent," He began. "Can I take your hand?"
"Hey, Vincent," He began. "Can I take your hand?"

View file

@ -25,7 +25,7 @@ The book is a great first step in discovering the amazing, witty and hilarious w
# 🚇 One Last Stop, by Casey McQuiston
[One Last Stop](https://app.thestorygraph.com/books/28386517-30cc-4ce4-bb90-9336c370a9dd) falls into a genre that I usually can't quite get myself to enjoy: Somewhat far-fetched science fiction. I'd previously read one of Casey McQuiston's books, namely [Red, White and Royal Blue](https://app.thestorygraph.com/books/d9b32ad2-41d2-4663-a19c-f65ffc7b0091) and absolutely adored it, and so I thought it was a good opportunity to discover some more of their writing.
One Last Stop is about a girl, whom I will refer to exclusively as Coffee Girl, who moves to a big city and immediately falls in love with a girl she meets on the train, whom I will refer to as Subway Girl. There's a bit of a problem, though: Subway Girl is *not from this time*. Spooky. She's actually stuck in the train due to some sort of time... problem that I shan't go into because, to me, it is very far from the most interesting part of the book.
One Last Stop is about a girl, whom I will refer to exclusively as Coffee Girl, who moves to a big city and immediately falls in love with a girl she meets on the train, whom I will refer to as Subway Girl. There's a bit of a problem, though: Subway Girl is *not from this time*. Spooky. She's actually stuck in the train due to some sort of time... problem that I shan't go into because, to me, it is very far from the most interesting part of the book.
What I enjoy most is the way that the main character struggles with this issue, and the way her emotions are depicted, not only in relation to Subway Girl, but also in relation to her hilarious queer friends, her chaotic and possibly not-very-good mother, and the ever-present dread of having to go to University instead of hanging out with the girl on the train for all eternity.
@ -43,7 +43,7 @@ If you want to educate yourself on political topics that you don't have much per
# 🎂 Rosaline Palmer Takes the Cake, by Alexis Hall
I've talked about Alexis Hall before. In fact, it was this very blog post. Just... a few minutes ago, actually. But here I am, yet again, talking about his absolutely brilliant writing.
[The book](https://app.thestorygraph.com/books/bbac9ac1-8d25-4413-8cbd-acb82e79cb67), whose title is far too long, is about Rosaline Palmer, a bisexual single mother who makes the terrible (but great) decision of joining what is essentially a not-so-trademarked version of the British Bake-Off, only with exactly the same amount of chaos and hilarity. When that isn't currently the main thing messing up her life, it's also about her relationship with a very, uh, *lovely* man, the relationship with her daughter, and the relationship with her excellent and sexy friend Anvita (her words, not mine).
[The book](https://app.thestorygraph.com/books/bbac9ac1-8d25-4413-8cbd-acb82e79cb67), whose title is far too long, is about Rosaline Palmer, a bisexual single mother who makes the terrible (but great) decision of joining what is essentially a not-so-trademarked version of the British Bake-Off, only with exactly the same amount of chaos and hilarity. When that isn't currently the main thing messing up her life, it's also about her relationship with a very, uh, *lovely* man, the relationship with her daughter, and the relationship with her excellent and sexy friend Anvita (her words, not mine).
Here's a lot of quotes, because *Jesus Christ, this book is funny*. But also very real. I'm not quoting the real parts, because they're not as funny. But it gets very emotional, and very "there's a lot of problems with the way bisexuality is perceived by straight people", and very "life is hard sometimes". But this is just some funny parts. Don't wanna bring you down.
@ -86,6 +86,6 @@ Also, I love Hanna. Just wanted to say that. *Also*, each chapter has a fun Clue
# So Yea,
I think the main thing we learn from this list is that I love romantic fiction, and I love Alexis Hall. I'm sorry, it's just all so good.
Anyway, I hope this post was interesting to at least a small subset of you. I know that this isn't what I regularly talk about, and this post contains a surprising lack of programming-related things (there you go, now it contains programming-related things, sort of), but reading is also something I really enjoy doing. Although I do have to admit that I'm not very good at doing it consistently.
Anyway, I hope this post was interesting to at least a small subset of you. I know that this isn't what I regularly talk about, and this post contains a surprising lack of programming-related things (there you go, now it contains programming-related things, sort of), but reading is also something I really enjoy doing. Although I do have to admit that I'm not very good at doing it consistently.
Either way, thanks so much for reading, and if you're Alexis Hall, please write more books. No pressure, though.

View file

@ -35,10 +35,10 @@ Oh boy. Talking about conventions is always a tough one, because people disagree
When it comes to programming in languages that don't *rely* on formatting for their syntax (like Python), the actual formatting you use doesn't matter, even though some people might have you believe that it's *extremely important* to put opening braces on a new line. For me, the only important thing is that **you keep it consistent**. If you use an IDE, your best bet is to configure its auto-formatter exactly the way you like, and then using the format button every now and again (or even turning on format on save!) to make sure that, no matter how horrible your formatting is, at least it's consistently so.
# Any useful tools, resources, utilities etc.
# Any useful tools, resources, utilities etc.
> ...for modding would be good too. (Afkman57)
I think the best, and most important tool, for modding, and any kind of programming, is a git server, be it GitHub, Bitbucket or whatever else. Source control is amazing, because not only does it allow you to see exactly what you (and your colleagues) changed an when, but it also allows you to revert any of your changes or merge them together.
I think the best, and most important tool, for modding, and any kind of programming, is a git server, be it GitHub, Bitbucket or whatever else. Source control is amazing, because not only does it allow you to see exactly what you (and your colleagues) changed an when, but it also allows you to revert any of your changes or merge them together.
The other very useful thing about git websites like GitHub is that you can *look at other people's code* and take it as an implicit sort of tutorial. There are countless times where I looked at the code of other, bigger mods in an attempt to find useful information on how to realize certain things in my own mods. In the very first version of Actually Additions that had [Laser Relays](https://ellpeck.de/actaddmanual/#laserRelays), they were pretty much an exact copy of [Immersive Engineering](https://www.curseforge.com/minecraft/mc-mods/immersive-engineering)'s wire system, in terms of their inner workings. When you look at and especially copy other people's code, though, make sure of two things:
- *Understand* the code you're copying. If you don't understand it, you might as well just be mindlessly copying random code from random places.
@ -47,7 +47,7 @@ The other very useful thing about git websites like GitHub is that you can *look
# How much work did it take to make Actually Additions
> ...from start to finish? Also how long did it take you to go from an idea to a first "prototype"? (Spo0ok)
This is an incredibly tough question, because of course I didn't record an exact measurement of how many hours I sunk into creating Actually Additions. What I do know, however, is this: It look *a long time*. Actually Additions was one of my first mods, and as previously discussed, I was not very good at any kind of programming when I started out, so I made al ot of mistakes, and I copied a lot of code without understanding it. That being said, I can give a rough estimate based on data that I already discussed in my [post about its features](https://ellpeck.de/blog/actually_additions).
This is an incredibly tough question, because of course I didn't record an exact measurement of how many hours I sunk into creating Actually Additions. What I do know, however, is this: It look *a long time*. Actually Additions was one of my first mods, and as previously discussed, I was not very good at any kind of programming when I started out, so I made al ot of mistakes, and I copied a lot of code without understanding it. That being said, I can give a rough estimate based on data that I already discussed in my [post about its features](https://ellpeck.de/blog/actually_additions).
The first file I uploaded to CurseForge was [this one](https://www.curseforge.com/minecraft/mc-mods/actually-additions/files/2229705), on *March 15, 2015*. I know that, before I started uploading the mod to CurseForge, I had a Minecraft Forum page (it was still that time in 2015), and I would release early versions of the mod on Mediafire or some other site. That wouldn't have lasted that long, though, and looking at the commit history for the mod, the first time I referred to it as Actually Additions wasn't long after the repository was first created, [in March 2015](https://github.com/Ellpeck/ActuallyAdditions/commit/2a2308c0ce35fe8a5ac9dcea100b9aeb941c495a). I made my last real contribution [in June 2017](https://github.com/Ellpeck/ActuallyAdditions/commits/main?after=896a082d747a3e19755ded1973544d59fa992787+244).

View file

@ -9,21 +9,21 @@ discuss: https://twitter.com/Ellpeck/status/1374770369169653767
---
# Chapter 1
There'd never been a day quite like Tuesday, February 17. It was a warm, spring day, and the newly awakened sun was warming Ben's freckle-ridden face. He didn't know it just yet, but this would be the day that Ben would almost die. Well, that's the way he'd think of it *afterwards*, anyway.
There'd never been a day quite like Tuesday, February 17. It was a warm, spring day, and the newly awakened sun was warming Ben's freckle-ridden face. He didn't know it just yet, but this would be the day that Ben would almost die. Well, that's the way he'd think of it *afterwards*, anyway.
The park was unusually packed with people, and for a second, Ben debated whether turning back was a good idea after all. He'd had these thoughts a lot recently; wanting to just turn back and run away from things. He ran a hand through his long, silky hair and turned around. *Damn it*, he thought, before he snapped back to facing the center of the park. *I have to do this.*
From afar, he could just about make out what was going on around the large fountain. The water was splashing out of what he'd always just assumed to be a large fish, though he didn't have the ability to tell for sure, because the fountain was old and rugged and had probably been just-about-fixed one too many times before. Ben squinted a bit before raising his glasses in an attempt to make out the faces of the people he saw, sitting and standing around the fountain, talking. He was looking for his best friend, Emily. She was really the kind of person that would drag him to outings like this; public gatherings and any sort of parties were terrifying to Ben. It was natural then that he would find a best friend that is his absolute polar opposite: Popular, blonde and, of course, an absolute party animal. *Damn it, Em, where are you?*, he mumbled to no one in particular.
From afar, he could just about make out what was going on around the large fountain. The water was splashing out of what he'd always just assumed to be a large fish, though he didn't have the ability to tell for sure, because the fountain was old and rugged and had probably been just-about-fixed one too many times before. Ben squinted a bit before raising his glasses in an attempt to make out the faces of the people he saw, sitting and standing around the fountain, talking. He was looking for his best friend, Emily. She was really the kind of person that would drag him to outings like this; public gatherings and any sort of parties were terrifying to Ben. It was natural then that he would find a best friend that is his absolute polar opposite: Popular, blonde and, of course, an absolute party animal. *Damn it, Em, where are you?*, he mumbled to no one in particular.
He started approaching the fountain and the square around it. Several small crowds of people were standing around little stalls that emitted vastly different smells. Amidst all of this mess, he was almost certain he could smell bubblegum ice cream. Hectically looking around in an attempt to find his friend, he tried to suppress any memory related to bubble gum. To ice cream. To the life that he'd had before he changed. *Fuck*, he quietly said to himself.
He started approaching the fountain and the square around it. Several small crowds of people were standing around little stalls that emitted vastly different smells. Amidst all of this mess, he was almost certain he could smell bubblegum ice cream. Hectically looking around in an attempt to find his friend, he tried to suppress any memory related to bubble gum. To ice cream. To the life that he'd had before he changed. *Fuck*, he quietly said to himself.
The smell of the bubblegum ice cream started getting too strong for him to handle, and memories started welling up inside of him. His brain was unfolding like a book, too heavy to close. Ben pictured a red, rickety swing set in the middle of a park much like the one he was in right now. He pictured Emily, and for a moment, he pictured the way it had felt. The way the wind blew through his hair as he threw his legs back and forth on the swings, laughing with Em about wanting to do a three hundred and sixty degree turn. Had he already called her *Em* back then?
The smell of the bubblegum ice cream started getting too strong for him to handle, and memories started welling up inside of him. His brain was unfolding like a book, too heavy to close. Ben pictured a red, rickety swing set in the middle of a park much like the one he was in right now. He pictured Emily, and for a moment, he pictured the way it had felt. The way the wind blew through his hair as he threw his legs back and forth on the swings, laughing with Em about wanting to do a three hundred and sixty degree turn. Had he already called her *Em* back then?
He immediately snapped back into reality when he felt the tap of something on his shoulder. Immediately might have been generous, because the tap really did feel like a heavy knock. Maybe it had taken him a few seconds to come back. His eyes felt a bit watery and his knees were shaking, but he told himself that he was probably just hungry (he wasn't) and turned around to discover the source of the heavy tapping.
He immediately snapped back into reality when he felt the tap of something on his shoulder. Immediately might have been generous, because the tap really did feel like a heavy knock. Maybe it had taken him a few seconds to come back. His eyes felt a bit watery and his knees were shaking, but he told himself that he was probably just hungry (he wasn't) and turned around to discover the source of the heavy tapping.
"Ben!", Emily exclaimed right behind him. She was a beautiful woman with curly hair and a smile that probably tasted like bubblegum ice cream. *Tasted?*
"Ben!", Emily exclaimed right behind him. She was a beautiful woman with curly hair and a smile that probably tasted like bubblegum ice cream. *Tasted?*
"Hey, Emily, why'd you take so long?", he asked in the flattest possible tone.
"Hey, Emily, why'd you take so long?", he asked in the flattest possible tone.
"Shut up", she returned with a snarky grin. *Damn*, she looked extra beautiful today. Ben looked down at her flowy, blue skirt and matching light purple ballerinas. Even though his eyes were still watery, he couldn't help but smile at the look of her, standing there right in front of him. This is exactly what she did to him.
@ -36,9 +36,9 @@ He immediately snapped back into reality when he felt the tap of something on hi
Not entirely convinced of Emily's sudden wealth, he raised an eyebrow and tilted his head slightly in disapproval. "Fine."
# Chapter 2
Over the next few hours, Ben was dragged back and forth between stalls and attractions. For every single one, he was apprehensive at first but rather quickly changed his mind once Emily frowned. It was such a heart-melting frown, worse than the faces that his aunt's dogs would make when they wanted to be taken for a long walk. Every single thing about Emily was just so beautiful that he could be happy doing anything with her. Even going to a shoddy, uncomfortable carnival in the middle of February.
Over the next few hours, Ben was dragged back and forth between stalls and attractions. For every single one, he was apprehensive at first but rather quickly changed his mind once Emily frowned. It was such a heart-melting frown, worse than the faces that his aunt's dogs would make when they wanted to be taken for a long walk. Every single thing about Emily was just so beautiful that he could be happy doing anything with her. Even going to a shoddy, uncomfortable carnival in the middle of February.
They'd already stopped at almost every ride and stall, and so Ben decided that now was enough. He wasn't usually the type of person to make decisions like this (he'd just leave it up to whoever else was actually in charge), but this time, he'd put his foot down. He would, absolutely.
They'd already stopped at almost every ride and stall, and so Ben decided that now was enough. He wasn't usually the type of person to make decisions like this (he'd just leave it up to whoever else was actually in charge), but this time, he'd put his foot down. He would, absolutely.
"Em, I'm getting tired."
@ -48,7 +48,7 @@ They'd already stopped at almost every ride and stall, and so Ben decided that n
*In love*, he thought. This time, he was going to put his foot down, right? That's what he'd decided. He didn't want people to control him anymore. But was that really what Emily was doing here? No. She was his best friend, she knew what was good for him. Right? She was looking at him, in obvious anticipation of his answer. He did really like churros. But did he love them? He wasn't sure about that. Okay, he did love them, but did he love them enough to warrant another thirty minutes at this godforsaken carnival?
He loved Emily, that was for certain.
He loved Emily, that was for certain.
Wait, what? Had he really just thought that? No, he couldn't have. That was just one of those jokes his brain made up sometimes. Amusing, albeit slightly infuriating. *Fuck off*, he said to himself.
@ -56,7 +56,7 @@ Wait, what? Had he really just thought that? No, he couldn't have. That was just
"I'm, the," he mumbled, trying to make sense of what Emily could've just heard him say. Maybe she didn't hear anything, maybe it was just the wind. What could he have said to her? Surely he didn't say the love part out loud, right?
He stared at her face. Her brown eyes were intensely focusing on him, her lips slightly curled into a smile. She tugged on his sweatshirt one last time.
He stared at her face. Her brown eyes were intensely focusing on him, her lips slightly curled into a smile. She tugged on his sweatshirt one last time.
"So, churros?" Oh Thank God.
@ -68,12 +68,12 @@ As they were eating their churros, Ben couldn't help but notice how much chocola
"You know this sauce is for dipping, right?", he said to her with a grin before taking another huge bite. "It's not supposed to be a full-on coating."
"What do you know, huh? Where does it say that?" She tutted and shoved her churro into the tub of sauce with ostentation. While pulling out the excessively coated pastry, she got ready to put her other hand under it as to prevent any of the chocolate sauce from dripping down onto her dress.
"Try it!", she said with an impish smile and held the dripping mess right up to Ben's mouth.
"What do you know, huh? Where does it say that?" She tutted and shoved her churro into the tub of sauce with ostentation. While pulling out the excessively coated pastry, she got ready to put her other hand under it as to prevent any of the chocolate sauce from dripping down onto her dress.
"Try it!", she said with an impish smile and held the dripping mess right up to Ben's mouth.
"No, I don't—" He tried to interject, but Emily had already rammed the chocolate-covered churro directly into his face. He resisted opening his mouth, so the chocolate sauce smeared all over this face and chin and then continued to drip onto his sweatshirt in big, brown globs. "Damn it, Em."
"I'm sorry, but why didn't you open your mouth?", she asked jokingly while holding back laughter.
"I'm sorry, but why didn't you open your mouth?", she asked jokingly while holding back laughter.
"Fuck," he said angrily and fumbled around his pockets, trying to find a tissue or something. In the scramble, the smells of the chocolate on his face and the odor of bubblegum ice cream in the air mixed to create something awfully unpleasant in his nose. He was trying really hard to find a tissue now.
@ -93,19 +93,20 @@ He was yelling now, and some people around them were beginning to notice. Fuck.
That was the moment a switch in his brain finally flicked. A switch that was probably in a back room, guarded by multiple doors with multiple, separate keys. Use only in emergencies, a sign somewhere close to the switch probably said. Don't use even, maybe. Ben tried to force his eyes shut with extreme determination. No, he wouldn't cry.
But he did. Tears started running down his face like waterfalls, and he tried to cover them up and wipe them away with the sleeve of his sweatshirt. He wiped his cheeks with the sleeves of his blue sweatshirt, and large amounts of chocolate sauce transferred from his face to the sleeves. God fucking damn it, he muttered to himself. The world around him was turning into a very small part of his vision, the rest filled with blurry streams of tears. He tried to get up from the bench they were sitting on and stumbled around the square where the festival was happening. He was sure he'd bumped into a few people on the way, but couldn't tell for absolute certain. After what felt like an hour and a half, he finally arrived at a tree a few meters away from the fountain square.
But he did. Tears started running down his face like waterfalls, and he tried to cover them up and wipe them away with the sleeve of his sweatshirt. He wiped his cheeks with the sleeves of his blue sweatshirt, and large amounts of chocolate sauce transferred from his face to the sleeves. God fucking damn it, he muttered to himself. The world around him was turning into a very small part of his vision, the rest filled with blurry streams of tears. He tried to get up from the bench they were sitting on and stumbled around the square where the festival was happening. He was sure he'd bumped into a few people on the way, but couldn't tell for absolute certain. After what felt like an hour and a half, he finally arrived at a tree a few meters away from the fountain square.
He rested one hand against the bark and tried to catch his breath. The thought of bubblegum ice cream was fresh in his mind again, the thought of the red, rickety swing set was morphing and mixing with the thought of churros, the thought of chocolate sauce in his face. The thought of Emily's smile, the thought of her frown, the thought of her sad movie face. Fuck.
He rested one hand against the bark and tried to catch his breath. The thought of bubblegum ice cream was fresh in his mind again, the thought of the red, rickety swing set was morphing and mixing with the thought of churros, the thought of chocolate sauce in his face. The thought of Emily's smile, the thought of her frown, the thought of her sad movie face. Fuck.
He tried telling himself to breathe. *Five in, six hold, seven out.* That's what his therapist had told him. *One, two, three.* What's the worst that could realistically happen?, that's what he was supposed to ask himself. *Four, five.* Well. *One, two, three.* Emily might never talk to him again. *Four, five, six.* She might hate him, now that she'd just tried to be cute by shoving a churro into his face, and now that he'd reacted like a total fucking asshole. *One, two.* Was he already breathing in again? *Fuck.* He kept telling his body to calm down, his mind to stop racing. His heart to stop racing. He started leaning against the bark and then slowly slid down the tree trunk, sitting down on the ground with his knees close to his chest. He observed the rickety swing set in the middle of the field, and saw himself and Emily swinging back and forth again, talking about three hundred and sixty degree swings. He saw himself, laughing and giggling and occasionally licking a cone of bubble gum soft serve he had in his left hand. He saw Emily doing the same. He saw himself wobbling a bit on the swing, trying to hold himself steady with just his right hand. He tried to breathe again. *One, two, three.* He saw himself, still holding the cone, sliding out of the swing's seat and yelling something. He saw himself landing in the rough, wet sand, the cone having left his hand and landing face-down in the sand next to him. *Four, five.* Tears were still running down his face. He saw himself turning around as Emily jumped off of her swing and came to his rescue.
He tried telling himself to breathe. *Five in, six hold, seven out.* That's what his therapist had told him. *One, two, three.* What's the worst that could realistically happen?, that's what he was supposed to ask himself. *Four, five.* Well. *One, two, three.* Emily might never talk to him again. *Four, five, six.* She might hate him, now that she'd just tried to be cute by shoving a churro into his face, and now that he'd reacted like a total fucking asshole. *One, two.* Was he already breathing in again? *Fuck.* He kept telling his body to calm down, his mind to stop racing. His heart to stop racing. He started leaning against the bark and then slowly slid down the tree trunk, sitting down on the ground with his knees close to his chest. He observed the rickety swing set in the middle of the field, and saw himself and Emily swinging back and forth again, talking about three hundred and sixty degree swings. He saw himself, laughing and giggling and occasionally licking a cone of
bubble gum soft serve he had in his left hand. He saw Emily doing the same. He saw himself wobbling a bit on the swing, trying to hold himself steady with just his right hand. He tried to breathe again. *One, two, three.* He saw himself, still holding the cone, sliding out of the swing's seat and yelling something. He saw himself landing in the rough, wet sand, the cone having left his hand and landing face-down in the sand next to him. *Four, five.* Tears were still running down his face. He saw himself turning around as Emily jumped off of her swing and came to his rescue.
"Are you alright?", he heard her say in her beautiful, melodic voice. *One, two, three.*
"I would've been, if you hadn't forced me to get this stupid ice cream!", he heard himself shoot back aggressively.
He felt something tap on his shoulder again.
He felt something tap on his shoulder again.
"Are you alright?", he heard someone say. "I'm sorry, I shouldn't have said that."
"Are you alright?", he heard someone say. "I'm sorry, I shouldn't have said that."
It was Emily, standing next to him, bending down a bit to reach his shoulders. She slid down the tree trunk next to him. "I'm really sorry."
@ -131,12 +132,12 @@ He wiped the remaining tears and chocolate sauce off of his face, his sweatshirt
She scooched closer and rested her head on his shoulder. "You know, I think about stuff too."
"Like what?", he asked while also resting his head on her head, which made him feel really close to her. Intertwined, even.
"Like what?", he asked while also resting his head on her head, which made him feel really close to her. Intertwined, even.
"You", she said quietly and grunted. "I really like hanging out with you, you know?"
"I do too," he said almost immediately. Did this mean what he thought it meant?
"I do too," he said almost immediately. Did this mean what he thought it meant?
"Do you want to go home? I'm sure my mom has cookies."
He nodded. Maybe it did.
He nodded. Maybe it did.

View file

@ -10,13 +10,13 @@ discuss: https://twitter.com/Ellpeck/status/1378014977999659016
# Chapter 1
For Emily, Saturdays always seemed to be the days when most things went wrong. She didn't exactly know why, but she was almost certain that there was some pattern, some sort of spiteful spirit that hated Saturdays, hated her, or both. This Saturday would be one of the most bizarre ones so far, but she didn't know that yet.
The alarm rang, its screeching noises filling Emily's bedroom. With a huge sigh, she pulled the cover off of her body and jumped out of bed. As she picked up her phone from the nightstand, she sighed again. *Oh God*, she thought. *What now?* She tapped various locations of the device's large screen until she ended up in a text message chain with her mom, her brother and her younger sister. Her eyes kept trying to entice her to fall back asleep while she was scanning the lines of the last ten or so messages as carefully as she could.
The alarm rang, its screeching noises filling Emily's bedroom. With a huge sigh, she pulled the cover off of her body and jumped out of bed. As she picked up her phone from the nightstand, she sighed again. *Oh God*, she thought. *What now?* She tapped various locations of the device's large screen until she ended up in a text message chain with her mom, her brother and her younger sister. Her eyes kept trying to entice her to fall back asleep while she was scanning the lines of the last ten or so messages as carefully as she could.
*Damn it*, she thought as she got to the last message. *That's today*? She quickly gathered her things, put on her favorite, pastel pink cardigan, messily fluffed up her hair as she ran past her large mirror and made her way downstairs.
"Good morning!" Her mom said with a slight smile. She was standing in the kitchen, as she usually did, preparing homemade waffles. Emily's mother was a very good cook and baker, but waffles weren't her strong suit, for some reason. Every time she tried (and she tried too much), they'd end up burnt or somehow taste of licorice. The thought made Emily grimace as she walked past the kitchen.
"Morning, mom!" she hastily said and made her way to the front door.
"Morning, mom!" she hastily said and made her way to the front door.
"Not so fast," her mom shouted back from the kitchen. "Don't forget your waffles!"
@ -42,7 +42,7 @@ Almost immediately, far too many thoughts started sprinting through his head: It
"I know, I know. It's bad." She tutted. "The thing is that my aunt can be really *annoying*. She always goes on and on about my love life, about how I haven't found a boyfriend yet, even though I'm already 19, and how that is *absolutely unacceptable*. So, I decided to put a stop to it."
Ben closed his eyes. *Fuck.* Of course, it wasn't what he'd hoped it was. *Of course*, she didn't want to be his *actual* girlfriend. Who'd want to be? Nobody. Especially not her.
Ben closed his eyes. *Fuck.* Of course, it wasn't what he'd hoped it was. *Of course*, she didn't want to be his *actual* girlfriend. Who'd want to be? Nobody. Especially not her.
She was standing there, her blonde locks swaying back and forth in the breeze that the open front door let in, and Ben was lost for words.
@ -58,15 +58,15 @@ Emily breathed a huge sigh of relief. "Let's sit down somewhere," she said quiet
As she finally entered the house, and they started making their way over to Ben's living room, she felt a kind of unease course through her body. It wasn't the *bad Saturday waffles* kind. She couldn't quite put her finger on what this feeling was, but she felt her heart beating faster when they sat down on a rickety, brown sofa.
She knew, of course, that Ben didn't enjoy this whole situation. She knew that he wasn't the best liar, and she knew that he didn't *enjoy* lying all that much either. But this was different, she thought to herself. Emily never understood what, if anything, Ben felt for her. It wasn't that he was secretive about his feelings, it's that she was incredibly bad at reading them. To her, it was weird that so many people automatically *assumed* that she was amazing at talking to people, making conversation, and understanding what other people want. But this wasn't really the case. While Emily *did* love hanging out with people, the part of her brain that was meant for understanding people's feelings was probably being repurposed to store excessive amounts of Ariana Grande quotes. And it made her feel bad, too, because her best friend Ben was absolutely *packed* with feelings.
She knew, of course, that Ben didn't enjoy this whole situation. She knew that he wasn't the best liar, and she knew that he didn't *enjoy* lying all that much either. But this was different, she thought to herself. Emily never understood what, if anything, Ben felt for her. It wasn't that he was secretive about his feelings, it's that she was incredibly bad at reading them. To her, it was weird that so many people automatically *assumed* that she was amazing at talking to people, making conversation, and understanding what other people want. But this wasn't really the case. While Emily *did* love hanging out with people, the part of her brain that was meant for understanding people's feelings was probably being repurposed to store excessive amounts of Ariana Grande quotes. And it made her feel bad, too, because her best friend Ben was absolutely *packed* with feelings.
While poking at a small hole in the brown fabric she was sitting on, she recalled a situation from a few months ago. She and Ben were in the park, and there was some sort of spring festival going on. She had dragged him out to it because, even though she didn't necessarily *like* taking this role in his life, she'd often try to take him out of his shell and help him fight his anxiety. During that festival, he had a full-on *panic attack* (the kind of thing that she, as an avid Ariana Grande listener, did not understand), which caused him to run off and hide.
While poking at a small hole in the brown fabric she was sitting on, she recalled a situation from a few months ago. She and Ben were in the park, and there was some sort of spring festival going on. She had dragged him out to it because, even though she didn't necessarily *like* taking this role in his life, she'd often try to take him out of his shell and help him fight his anxiety. During that festival, he had a full-on *panic attack* (the kind of thing that she, as an avid Ariana Grande listener, did not understand), which caused him to run off and hide.
Was this really such a good idea?
"Okay, so," she said and let out a big sigh. "Let's talk relationship. What kind of boyfriend do you want to be?"
"Okay, so," she said and let out a big sigh. "Let's talk relationship. What kind of boyfriend do you want to be?"
"I'm sorry?" He said, flustered.
"I'm sorry?" He said, flustered.
"Well, I didn't tell my aunt that many lies about you, so the whole thing is pretty open. You can be super caring, or, you know, the bad boy type."
@ -74,11 +74,11 @@ Was this really such a good idea?
"Yea, like, uncaring and aloof, you know? Maybe wear a leather jacket."
"A leather- have you *met me*?" He responded in playful disgust.
"A leather- have you *met me*?" He responded in playful disgust.
"Okay, super caring it is, then," she laughed and moved her hands around in the air as if writing something down on a giant, invisible notebook.
"Okay, super caring it is, then," she laughed and moved her hands around in the air as if writing something down on a giant, invisible notebook.
Honestly, *super caring* was exactly the kind of boyfriend that she actually wanted. Of course, she would never say this out loud, but occasionally she dreamed of the perfect storybook romance. *Romeo and Juliet*, just without all the tragic stuff. Just like that one Taylor Swift song. While she'd fooled around with some of her girlfriends once or twice, she'd never actually had a relationship with anyone, especially not a guy. She didn't really know why, either. She briefly wondered if any guys had ever been visibly into her. Maybe she'd just missed it.
Honestly, *super caring* was exactly the kind of boyfriend that she actually wanted. Of course, she would never say this out loud, but occasionally she dreamed of the perfect storybook romance. *Romeo and Juliet*, just without all the tragic stuff. Just like that one Taylor Swift song. While she'd fooled around with some of her girlfriends once or twice, she'd never actually had a relationship with anyone, especially not a guy. She didn't really know why, either. She briefly wondered if any guys had ever been visibly into her. Maybe she'd just missed it.
She'd also never admit *this*, of course, but Ben seemed like a fairly good candidate for the position of the super caring boyfriend. He was innocent, sweet, and he had the mane of an extremely gentle lion.
@ -93,7 +93,7 @@ In an attempt to quickly change the subject on her mind, she started telling a s
"Right?"
# Chapter 2
In the early evening, Ben found himself sitting at a big dinner table, straight across from an overly cheerful looking lady. If he had to guess, Em's aunt was probably around fifty-five years old, maybe a little older. She was slightly hunched over the table, resting one of her arms on it. *That's not how you sit at a table, young man*, he heard his own aunt's voice echoing in his head. Clearly, Emily's aunt didn't care, and from what he'd been told, this wasn't surprising.
In the early evening, Ben found himself sitting at a big dinner table, straight across from an overly cheerful looking lady. If he had to guess, Em's aunt was probably around fifty-five years old, maybe a little older. She was slightly hunched over the table, resting one of her arms on it. *That's not how you sit at a table, young man*, he heard his own aunt's voice echoing in his head. Clearly, Emily's aunt didn't care, and from what he'd been told, this wasn't surprising.
When Emily's mom came into the room from the kitchen, she was carrying a large tray that held a variety of sweet pastries and cookies. Homemade, Ben assumed, waiting to bite into one of those chocolate croissants. Emily's mom set the tray down in the center of the table and pointed at it with an open hand as if to say *There you go, dig in*. So Emily and her sister did. After they finished selecting something they liked, Ben also felt comfortable taking a croissant.
@ -101,7 +101,7 @@ A chocolate cookie in her delicate fingers, Emily's aunt turned to Emily. "So,"
"Well, school's been going pretty well. I've only gotten good grades this semester, and my classes have been bearable."
Her aunt started smiling wide. "A perfect student as always! I expected nothing less of you, dear."
Her aunt started smiling wide. "A perfect student as always! I expected nothing less of you, dear."
Emily provocatively rolled her eyes and sighed. Her aunt didn't seem affected by that at all. Instead, she continued smiling as she bit into her cookie. "And you, love?"
@ -111,13 +111,13 @@ Confused for a second, Ben realized that she was talking to him now.
"On the same level, you say? Maybe that's why you two get along so well! For years now, I've been *absolutely positive* that you two would make the cutest couple. And now it's *finally* happened, God bless."
Emily sighed, louder this time. Ben let out a stifled chuckle. *I wish*, he thought to himself.
Emily sighed, louder this time. Ben let out a stifled chuckle. *I wish*, he thought to himself.
***
As the conversation continued over dinner, followed by coffee, Ben felt himself zoning out from time to time. As he continued to observe Em and her aunt conversing, he felt his mind wander to a different world without his control.
As the conversation continued over dinner, followed by coffee, Ben felt himself zoning out from time to time. As he continued to observe Em and her aunt conversing, he felt his mind wander to a different world without his control.
A world where him and Em really *were* a couple. A world where, against all odds, they'd happily been together for years, with their own apartment, with floor-length windows and a balcony. They'd sit outside in the evenings, eating ice cream and sipping on cocktails. They would laugh and share stories of their day while watching the sunset over the park. They'd go into town on the weekends and eat at that little Italian place he keeps wanting to go to. They'd never fight anymore, because they'd be happy. He'd never cry alone, never wonder why he was too *stupid* to tell her how he felt.
A world where him and Em really *were* a couple. A world where, against all odds, they'd happily been together for years, with their own apartment, with floor-length windows and a balcony. They'd sit outside in the evenings, eating ice cream and sipping on cocktails. They would laugh and share stories of their day while watching the sunset over the park. They'd go into town on the weekends and eat at that little Italian place he keeps wanting to go to. They'd never fight anymore, because they'd be happy. He'd never cry alone, never wonder why he was too *stupid* to tell her how he felt.
Emily grabbed his hand. "We're going upstairs now," she said and got up from her chair.
@ -137,12 +137,12 @@ He thought about this kind of thing a lot. Of course, he also thought a lot abou
Ben couldn't help but laugh. "She's not that bad! I thought she was nice."
"Oh shut up, I *know* you." Did she? "People like her drive you *mad*! You never miss out on an opportunity to hide in your room. You don't *like* her."
"Oh shut up, I *know* you." Did she? "People like her drive you *mad*! You never miss out on an opportunity to hide in your room. You don't *like* her."
Maybe she did know him. And maybe it was this realization that made him unable to think about the words flying out of his mouth. He let out a quiet, but emotional sigh, and said "I like *you*, though."
Maybe she did know him. And maybe it was this realization that made him unable to think about the words flying out of his mouth. He let out a quiet, but emotional sigh, and said "I like *you*, though."
Emily turned and looked into his eyes. As he stared back, he could see a tiny reflection of his face in her brown irises. "I like you too, Ben. You know that," she said.
Maybe she didn't know him after all. He focused intensely on her face. What if this was the moment to be honest? What if, in the light of this fake relationship, he could finally be true to how he felt? Anxiety boiled up inside him. This was a panic attack just waiting to happen. But he had to try. Right?
"No," he said and gently took her hand. "I *really* like you, Em."
"No," he said and gently took her hand. "I *really* like you, Em."

View file

@ -17,11 +17,11 @@ He looked out the window, the lush, pine-plastered mountains in the distance slo
After leaving the train, he stopped in the middle of the platform and looked around to get his bearings again. Out of the corner of his eye, he noticed something odd. He turned to face the front window of a small bakery, the glass protecting delicious looking pastries and cakes that were quietly sitting in a large vitrine. But that wasn't the odd thing.
He started closely inspecting the head of the person standing behind the register, currently handing a glazed donut to an old lazy. After a few seconds, the person turned in his direction, and started looking directly at him. And there he was, standing in the middle of a train station, locking eyes with the *last* person he wanted to see in this town. He smiled and waved awkwardly, and the person behind the register did the same, before turning back to the old lady and finishing their transaction.
He started closely inspecting the head of the person standing behind the register, currently handing a glazed donut to an old lazy. After a few seconds, the person turned in his direction, and started looking directly at him. And there he was, standing in the middle of a train station, locking eyes with the *last* person he wanted to see in this town. He smiled and waved awkwardly, and the person behind the register did the same, before turning back to the old lady and finishing their transaction.
Jed, clearly having lost his mind, thought it would only be right to go inside and say hello. A little bell that was mounted behind the door rang. Now, he was standing right in front of him. His long, wavy brown hair had the same elegance as it did the last time Jed saw him, as if nothing had changed. Davy must've been sat in a time capsule for the last four years, because he still looked exactly as beautiful as he did all those years ago at school. No, better. Davy had broad shoulders and a wide frame. His arms were thick and muscular and Jed imagined them again, wrapped around his body, warming him. Protecting him.
"Jed! I didn't know you still lived in town," he said with a smile that penetrated all of Jed's defenses.
"Jed! I didn't know you still lived in town," he said with a smile that penetrated all of Jed's defenses.
"I don't, actually," he stuttered. "I'm visiting my parents."
@ -31,17 +31,17 @@ Jed, clearly having lost his mind, thought it would only be right to go inside a
"I've been pretty good, actually," Jed mumbled, still mesmerized by Davy's movements. The grip clearly hadn't been gotten yet. "I'm working at a pretty big software company."
"That's awesome," Davy said with a very real, supportive air of enthusiasm.
"That's awesome," Davy said with a very real, supportive air of enthusiasm.
"And you?"
"Been working here to help with uni. That shit's really expensive, man." Davy chuckled.
Jed nodded his head slightly. "Yea, I can imagine," he said.
Jed nodded his head slightly. "Yea, I can imagine," he said.
"Anyway, it's cool that you're here. Do you maybe want to catch up some time?"
Jed froze. *Oh my God*, he thought. Had Davy really just asked him on a date? Okay, well. Not a *proper* date, but...
Jed froze. *Oh my God*, he thought. Had Davy really just asked him on a date? Okay, well. Not a *proper* date, but...
"Uh, yea, that sounds great," he mumbled. If Davy was a mirror, he'd probably see his entire face turn into a tomato right now. *Oh, God.* "I'm free the whole weekend," he continued.
@ -53,9 +53,9 @@ Only a few days later, Jed arrived at a coffee shop that he used to go to with h
He waited in the entryway of the café until Davy arrived. And *boy*, did he arrive. He walked into the room wearing a jean jacket over a black logo tee and jeans. His hair was blowing in the wind let in by the open door, and it reminded Jed of their first encounter at the train station. The whole outfit made Davy seem strong. For a second, Jed imagined what it would be like to be scooped up by his strong, muscular arms like a princess. Like a *prince*.
*Get a grip*, he thought to himself.
*Get a grip*, he thought to himself.
"Hey man," Davy said with a smile as he saw Jed. *Hey, 'man'?*, he repeated in his head.
"Hey man," Davy said with a smile as he saw Jed. *Hey, 'man'?*, he repeated in his head.
"Hey Davy," said Jed with an awkward half-smile. He tried to wipe it off. "You look," he started, but he didn't know how to finish.
@ -63,11 +63,11 @@ He waited in the entryway of the café until Davy arrived. And *boy*, did he arr
"That's not-", Jed stuttered. "I didn't ... you look *good*." He hesitated. Why did he *say* that?
"Thanks. You don't look too bad yourself," Davy said and started making his way towards one of the seating nooks. He brushed Jed's arm with his own while passing him, and it made that place tingle with... with something.
"Thanks. You don't look too bad yourself," Davy said and started making his way towards one of the seating nooks. He brushed Jed's arm with his own while passing him, and it made that place tingle with... with something.
Jed realized that he didn't even know for sure if Davy was into guys. He wondered for a second if that comment about his jacket was confirmation that he was, in fact, gay. Was anything he'd done so far confirmation that he was?
Jed realized that he didn't even know for sure if Davy was into guys. He wondered for a second if that comment about his jacket was confirmation that he was, in fact, gay. Was anything he'd done so far confirmation that he was?
A weird feeling of unease creeped up in Jed's chest, and it immediately entered his heart. *What if he's not even into guys?*, he thought to himself. He didn't do relationships anyway, though, so why would it matter -- right? They were too complicated, too time-consuming, and too draining of the small amount of emotions that Jed had. So it was of no value to know whether Davy was into him or not.
A weird feeling of unease creeped up in Jed's chest, and it immediately entered his heart. *What if he's not even into guys?*, he thought to himself. He didn't do relationships anyway, though, so why would it matter -- right? They were too complicated, too time-consuming, and too draining of the small amount of emotions that Jed had. So it was of no value to know whether Davy was into him or not.
He really enjoyed the idea though. As he watched Davy sit down on a sofa in one of the nooks, he imagined what it'd be like to be on that sofa with him. Sitting next to him. Close. Kissing him. Davy's hand moving closer to Jed's--
@ -75,9 +75,9 @@ He really enjoyed the idea though. As he watched Davy sit down on a sofa in one
Jed started walking towards him, and Davy started patting the spot next to him on the sofa. He wanted Jed to sit next to him. *Great.*
Of course, being the gentleman he was, it was only right of Jed to actually go ahead and sit down next to Davy. That was the only reason, *of course*.
Of course, being the gentleman he was, it was only right of Jed to actually go ahead and sit down next to Davy. That was the only reason, *of course*.
They both ordered drinks (hot chocolate) and food (cheesecake and apple pie) and started chatting about how they'd been since school. Davy talked about his university courses and the bakery job and how he'd sometimes see his old friends at the train station, and Jed was *fascinated*. It wasn't that Davy's stories were actually *fascinating*, but somehow, because *he* was the one telling them, they seemed more alive than Jed ever thought a story could be.
They both ordered drinks (hot chocolate) and food (cheesecake and apple pie) and started chatting about how they'd been since school. Davy talked about his university courses and the bakery job and how he'd sometimes see his old friends at the train station, and Jed was *fascinated*. It wasn't that Davy's stories were actually *fascinating*, but somehow, because *he* was the one telling them, they seemed more alive than Jed ever thought a story could be.
When Jed started talking about his job, about the long work hours and about his family, Davy turned a bit to face him. Now they were sitting closer, almost opposite one another, and Davy's gaze seemed to be locked onto Jed's eyes while he told his stories. He'd never met someone, Jed thought to himself, who seemed so genuinely interested in his life. Somehow, the two of them were just fascinated with each other, it seemed. But Jed's rule was clear: *No relationships*. They were a waste of time, and that was a final, reasonable, and educated decision.
@ -91,7 +91,7 @@ He shifted a little on the sofa, and they were sitting even closer to each other
"My mom's the same way."
"Your *mom*? That's terrible!", Jed hissed.
"Your *mom*? That's terrible!", Jed hissed.
"Eh, I've been getting by alright. I don't need her, you know? It's her loss." Davy began smiling again. "I've got enough people in my life who support me."
@ -103,7 +103,7 @@ He shifted a little on the sofa, and they were sitting even closer to each other
Jed's cheeks warmed up, and he began to smile again. "Me, too," he said shakily.
Over the next few days, Jed kept daydreaming about Davy. His cute smile, his wavy hair and his muscular, strong arms. He kept picturing, over and over, how Davy grabbed his arm when they sat so close in the café. He should've kissed him then and there. No, it would've been too soon. Plus, they had another date lined up. Because he hadn't seen town in a while, Davy came up with the idea of hiking to the top of the nearby mountain and looking down at the cityscape from there.
Over the next few days, Jed kept daydreaming about Davy. His cute smile, his wavy hair and his muscular, strong arms. He kept picturing, over and over, how Davy grabbed his arm when they sat so close in the café. He should've kissed him then and there. No, it would've been too soon. Plus, they had another date lined up. Because he hadn't seen town in a while, Davy came up with the idea of hiking to the top of the nearby mountain and looking down at the cityscape from there.
But maybe he shouldn't get closer to Davy, he thought. He didn't want to give him the wrong idea. His list of rules was very strict, and Jed intended to continue following it. No relationships, because they are too complicated and time-consuming. But Davy could've happily consumed all of his time without Jed even remembering that his list of rules *exists*.
@ -111,7 +111,7 @@ But maybe he shouldn't get closer to Davy, he thought. He didn't want to give hi
There he was. Strong as always, wearing a t-shirt that made his muscular upper arms even more pronounced than usual. Today, his long, silky hair wasn't flowing over his shoulders, though. He had tied it up into a ponytail, presumably so it wouldn't bother him during their hike.
Jed approached him on the parking lot close to the hike trail leading up the mountain, and Davy turned around slowly.
Jed approached him on the parking lot close to the hike trail leading up the mountain, and Davy turned around slowly.
"Hey," he said in a rough voice. He cleared his throat, before saying "hey" again, less raspy this time.
@ -121,15 +121,15 @@ Jed approached him on the parking lot close to the hike trail leading up the mou
Halfway up the trail, Jed started getting exhausted. It wasn't that he was out of shape (he'd been working out occasionally because of the part of his List of Things to Avoid in Life that read *getting out of shape*, of course), but something about this hike was different to him. Stopping on the trail, he grabbed a bottle of water out of his backpack and started gulping it down without hesitation. Davy stopped as well, and observed Jed as he almost finished the entire bottle.
"Want to take a break?", he asked slyly.
"Want to take a break?", he asked slyly.
"Shut up, I can do this!", Jed blurted out without much thought. *Oops.* "I'm just-"
Davy cut him off. "Well, I know you can, but you can also relax with me for a little while."
Davy cut him off. "Well, I know you can, but you can also relax with me for a little while."
Relaxing sounded like a great idea to Jed. He wiped his mouth and chin with his forearm and looked over at Davy, who had already found a nice bit of grass to sit down on. *Laying down on the grass together*, he thought, remembering this very fantasy having been stuck in his head for the last few days. *Of course. Damn it.*
Jed walked up to Davy and looked down questioningly. Davy looked back up at him and smiled.
Jed walked up to Davy and looked down questioningly. Davy looked back up at him and smiled.
"Come sit," he said with a grin, pointing to the ground right next to him. Jed did as he was told.
@ -163,10 +163,10 @@ At this point, Jed went over the options in his mind. The rules, the meeting at
"Do you want to..." Davy began, but he paused. Jed wanted a lot of things right now. He imagined moving closer to Davy, putting his hand on his thigh, maybe lower, deeper, and going through Davy's hair with his hand. He didn't, however, know what Davy wanted. So he didn't do anything.
"Can I kiss you?", Davy asked after an uncomfortably long silence. Jed didn't answer with words -- how could he possibly answer that question without melting into a puddle then and there -- but apparently, his wide smile was enough indication to Davy that Jed *did* want to kiss him.
"Can I kiss you?", Davy asked after an uncomfortably long silence. Jed didn't answer with words -- how could he possibly answer that question without melting into a puddle then and there -- but apparently, his wide smile was enough indication to Davy that Jed *did* want to kiss him.
Davy moved in closer, grasping Jed's hip with one hand, and as Davy leaned in closer with his head, Jed could see the veins in his arm twitching as he moved.
Davy moved in closer, grasping Jed's hip with one hand, and as Davy leaned in closer with his head, Jed could see the veins in his arm twitching as he moved.
Jed closed his eyes, and he felt Davy's lips touch his own. He felt him reaching around Jed's body with his other hand, fully enclosing him in his strong embrace now. It felt good. Jed wanted to continue, forever, staying here and kissing Davy until the end of time.
Jed closed his eyes, and he felt Davy's lips touch his own. He felt him reaching around Jed's body with his other hand, fully enclosing him in his strong embrace now. It felt good. Jed wanted to continue, forever, staying here and kissing Davy until the end of time.
This was good. To Jed, it was the perfect place to be.
This was good. To Jed, it was the perfect place to be.

View file

@ -6,12 +6,12 @@ tags: [Reading]
discuss: https://twitter.com/Ellpeck/status/1408565191218978818
---
So recently, I've been reading a lot more again. Since I got my first Kindle [and talked about it](https://ellpeck.de/blog/reading) a while ago, I have now also started tracking my reading progress on [the StoryGraph](https://app.thestorygraph.com/profile/ellpeck). I also started watching some more book- and reading-related YouTube videos, and I came across this tag that I thought would be *perfect* for me to talk about for one specific reason, which I'll get to shortly.
So recently, I've been reading a lot more again. Since I got my first Kindle [and talked about it](https://ellpeck.de/blog/reading) a while ago, I have now also started tracking my reading progress on [the StoryGraph](https://app.thestorygraph.com/profile/ellpeck). I also started watching some more book- and reading-related YouTube videos, and I came across this tag that I thought would be *perfect* for me to talk about for one specific reason, which I'll get to shortly.
To sum it up: My boyfriend thinks dog-earing books (that you own!) is the worst, and he despises me for doing it. But I want all of you to *hear my case* about this. So read on. Please.
To sum it up: My boyfriend thinks dog-earing books (that you own!) is the worst, and he despises me for doing it. But I want all of you to *hear my case* about this. So read on. Please.
# Do you have a certain place at home for reading?
A while ago, I actually got one of those cheap-but-nice IKEA chairs that everyone seems to have and set it up as a little reading nook in a corner.
A while ago, I actually got one of those cheap-but-nice IKEA chairs that everyone seems to have and set it up as a little reading nook in a corner.
But then I realized that reading in bed, before going to sleep, actually works a lot better for me because I take sleeping pills, but they take a while to start working. So I got into the habit of taking them, and then reading for an hour or so in bed, and then putting the book away and dozing off right when I feel the medication starting to make me drowsy.
@ -20,16 +20,16 @@ Okay, hear me out: *Dog-earing*. Of course, if you get a library book or read a
*But.*
A book that looks like it's been read, with the pages a little warped and the spine maybe, possibly a little broken, and the marks of dog ears on some pages looks *so much nicer* than a book that looks all new and fancy and clean.
A book that looks like it's been read, with the pages a little warped and the spine maybe, possibly a little broken, and the marks of dog ears on some pages looks *so much nicer* than a book that looks all new and fancy and clean.
Listen, okay? Dog ears tell a *story*. Not only do they show you where you (or other people) took a reading break, but they also show you which parts of the book might have been difficult or otherwise slow to read, because those parts would have a lot more dog ears than other parts of the book.
Listen, okay? Dog ears tell a *story*. Not only do they show you where you (or other people) took a reading break, but they also show you which parts of the book might have been difficult or otherwise slow to read, because those parts would have a lot more dog ears than other parts of the book.
Okay, maybe this is just me defending something that is objectively terrible. I like it, though.
# Can you just stop reading or do you have to stop after a chapter/ a certain amount of pages?
I absolutely can't stop reading in the middle of a chapter. For me, it's not necessarily that I want to know how the chapter ends or that I enjoy stopping at the end of a chapter because it's a cliffhanger, and it'll make me feel excited to get back into the book later.
My real reason is a lot more boring, because it's just that... for some reason, it feels *wrong* stopping before the end of a chapter, similarly to how it feels wrong for some reason to stop watching a show in the middle of an episode.
My real reason is a lot more boring, because it's just that... for some reason, it feels *wrong* stopping before the end of a chapter, similarly to how it feels wrong for some reason to stop watching a show in the middle of an episode.
Chapters were made for a reason, and the author probably thought about the pacing of the book and, as a result, the placement of the chapters. It doesn't feel like my place to just disrupt that pacing. And that placement.
@ -66,4 +66,4 @@ I think my reading habits can be summed up pretty accurately as "book murderer".
I don't do it to books that aren't mine, though. I'm not, like, a library... hater. Or anything. Libraries are cool.
Since I've been reading a lot more again in recent history, I also want to start writing more blog posts about my reading habits and the books I enjoy. If you're interested in that sort of thing, you can head back to [the post list](https://ellpeck.de/#blog-reading) to see other posts in the Reading category, and you can also subscribe to the blog's RSS feed there too. If anyone still does that. I think RSS is dead. Right?
Since I've been reading a lot more again in recent history, I also want to start writing more blog posts about my reading habits and the books I enjoy. If you're interested in that sort of thing, you can head back to [the post list](https://ellpeck.de/#blog-reading) to see other posts in the Reading category, and you can also subscribe to the blog's RSS feed there too. If anyone still does that. I think RSS is dead. Right?

View file

@ -7,13 +7,13 @@ mature: true
discuss: https://twitter.com/Ellpeck/status/1602678787220684802
---
2022 has been an interesting year, to say the least. I moved to a new city at the other side of the country, I continued my studies at a new university, and I read a *ton* of books.
2022 has been an interesting year, to say the least. I moved to a new city at the other side of the country, I continued my studies at a new university, and I read a *ton* of books.
Well, okay, not necessarily a ton by some people's standards. But seeing as I've only read about twelve books [last year](https://ellpeck.de/blog/reading_faves_2021/), and zero books the year before that, I think this year's twenty-nine[^1] books is a pretty good amount.
I'm tracking my reads using [the StoryGraph](https://app.thestorygraph.com/profile/ellpeck), which is an incredibly helpful tool for helping myself remember what I even read and how much I liked it. My favorite genre is romance, as you can quite clearly see looking at my [statistics](https://app.thestorygraph.com/stats/ellpeck?year=), but I try to read a nonfiction book from time to time, too.
Here's a list of some of the books I read this year that I enjoyed most. I'll try not to include any major spoilers in them, but I will talk about the story a bit to highlight the parts that I particularly enjoyed, and I'll also include some quotes I found funny, cute or otherwise relevant.
Here's a list of some of the books I read this year that I enjoyed most. I'll try not to include any major spoilers in them, but I will talk about the story a bit to highlight the parts that I particularly enjoyed, and I'll also include some quotes I found funny, cute or otherwise relevant.
These aren't the *only* books I read this year that I'd recommend, by any means, but they're the ones I'd perhaps recommend most if you happen to like similar stuff to what I like. These are in no particular order, so this isn't a ranked list by any means.
@ -22,7 +22,8 @@ So, right off the bat, I need you to know that I don't usually read books with s
But when I saw *They Both Die at the End* by Adam Silvera, I didn't *know* it was going to be as bittersweet as it was. Well, I had some idea based on the title, of course, but for some reason I didn't clock that it was going to be a romance. A romance where both characters die at the end. *I cried so much.*
*They Both Die at the End*, and its prequel, *The First to Die at the End*, are set in a fictionalized universe where a service exists that will tell you about the day you're going to die. On the day, they call you on the phone and deliver the frankly disturbingly true prediction. They don't tell you why, or how, you're going to die, but they tell you that you *will* definitely die on that day. The stories are told from multiple people's perspectives, with each chapter being told either by one of the two main characters, or occasionally by some of the many side characters. The people dying, called "Deckers" (for a somewhat silly reason that will become apparent in the prequel), are encouraged to make their last day beautiful, and fill it with as many memorable moments as possible. In both books, this includes a boy falling in love with another boy (who may or may not also die today). They have a beautiful one-day romance, until death happens at the end and the reader cries themselves to sleep, replaying the scene in their head for hours.
*They Both Die at the End*, and its prequel, *The First to Die at the End*, are set in a fictionalized universe where a service exists that will tell you about the day you're going to die. On the day, they call you on the phone and deliver the frankly disturbingly true prediction. They don't tell you why, or how, you're going to die, but they tell you that you *will* definitely die on that day. The stories are told from multiple people's perspectives, with each chapter being told either by one of the two main characters, or occasionally by some of the many side characters. The people dying, called "Deckers" (for a somewhat silly reason that will become apparent in the prequel), are encouraged to make their last day beautiful, and fill it with as many memorable moments as possible. In both books, this includes a boy falling in love with another boy (who may or may not also die today). They have a beautiful one-day romance, until death happens at the end and the reader cries themselves
to sleep, replaying the scene in their head for hours.
If you like close-to-reality sci-fi, and heartbreakingly tragic queer romance stories, then I really recommend these two books.
@ -35,14 +36,14 @@ If you like close-to-reality sci-fi, and heartbreakingly tragic queer romance st
# ⚱️ I'm Glad My Mom Died
*If you struggle with physically or emotionally abusive relatives or severe eating disorders, this book and this section of the blog post may not be for you.*
We all know Jennette McCurdy, right? If you don't, she's an ex-actress (now writer and director) who used to work for Nickelodeon, with her most popular role having been Sam Puckett in *iCarly* and later *Sam & Cat*.
We all know Jennette McCurdy, right? If you don't, she's an ex-actress (now writer and director) who used to work for Nickelodeon, with her most popular role having been Sam Puckett in *iCarly* and later *Sam & Cat*.
I'm Glad My Mom Died is her memoir about her childhood and early adulthood, which was hugely influenced by her abusive mother who forced her daughter into eating disorders and acting, neither of which McCurdy was particularly interested in herself. The book is deeply tragic, but also hopeful, and it depicts the actress, her family, her characters, and the people she worked for, in a raw and heartbreaking way.
I don't want to say that much more about the book's content here because I don't want to glamorize or romanticize McCurdy's experiences, but I do want to invite you to read the book for yourself. It really gives you another insight into how much of people's trauma isn't visible to the outside world, and how seemingly impossible it is to get out of an abusive situation when that situation your entire life. It also gives you a deep appreciation for honesty, openness, and mental health support through intimate friendships and therapy. It's also incredibly well written, making you feel like you're reading a diary that isn't meant to be read by anyone but the one who wrote it. The book's second section is also deeply hopeful, showing McCurdy's escape and subsequent healing from her traumatizing past.
# 🚀 Love on the Brain
Ali Hazelwood is a romance author who seems to primarily write stories related to academia in some form. Being a student, this should be deeply relatable to me, but being an antisocial mess, I rarely ever actually interact with people at university. Nevertheless, I read two of Ali's books this year: The Love Hypothesis in the first half, and Love on the Brain, her most recent release.
Ali Hazelwood is a romance author who seems to primarily write stories related to academia in some form. Being a student, this should be deeply relatable to me, but being an antisocial mess, I rarely ever actually interact with people at university. Nevertheless, I read two of Ali's books this year: The Love Hypothesis in the first half, and Love on the Brain, her most recent release.
While I think they are both amazing, I'm passionate about Love on the Brain because it contains two adorable romances, a cast of hilarious characters, and a cute cat that may or may not be real. In the book, the main character Bee starts a job at NASA along with her assistant, where she meets her apathetic, but secretly adorable, love interest Levi.
@ -57,7 +58,7 @@ The story of We Are Not Like Them, by Christine Pride and Jo Piazza, is... *inte
I think you can see where this is going.
After Kevin shoots an unarmed black teenager, Jen has to reevaluate her relationship with her husband while Riley covers the events and aftermath on the news. The book perfectly delivers the heartfelt, troubling accounts of both women, their interactions with each other, and the difficult question of what it all means for their relationship. In emotionally packed and heartbreaking descriptions, we also see Riley reporting on, and subsequently getting closer to, the mother of the victim and the rest of their family.
After Kevin shoots an unarmed black teenager, Jen has to reevaluate her relationship with her husband while Riley covers the events and aftermath on the news. The book perfectly delivers the heartfelt, troubling accounts of both women, their interactions with each other, and the difficult question of what it all means for their relationship. In emotionally packed and heartbreaking descriptions, we also see Riley reporting on, and subsequently getting closer to, the mother of the victim and the rest of their family.
If you're into troubling, but deeply honest depictions of racial issues, and the effect they have not only on the victims and their families, but also on everyone around them, I highly recommend We Are Not Like Them.
@ -105,7 +106,7 @@ If learning about deathcare traditions in various cultures is more your stlye, I
> The anxiety I felt was no longer caused by the fear of an afterlife, of pain, of a void of nothingness, or even a fear of my own decomposing corpse. All my plans and projects would come to an end. The last thing preventing me from accepting death was, ironically, my desire to help people accept death.
# Closing Remarks
I hope you enjoyed this little look into some of the books I really enjoyed this year. As I said at the top, for a more in-depth look at my kind of books, you can check out my profile on [the StoryGraph](https://app.thestorygraph.com/profile/ellpeck).
I hope you enjoyed this little look into some of the books I really enjoyed this year. As I said at the top, for a more in-depth look at my kind of books, you can check out my profile on [the StoryGraph](https://app.thestorygraph.com/profile/ellpeck).
I also write my own short stories occasionally, so if you're into cutesy romantic stuff, you can check them out [here on the blog](https://ellpeck.de/#blog-short-stories) as well.

View file

@ -30,7 +30,7 @@ So, as a result of that, **MiKeY** is basically the new, official maintainer of
A little while later, another person approached me: [Ridanisaurus](https://github.com/Ridanisaurus), who apparently really likes making beautiful art for mods. He asked me if I want new art for Actually Additions, and since I have some *opinions* about the current state of Actually Additions' graphics and visual consistency, I naturally said yes immediately. So yea, **Ridanisaurus** is basically the new, official artist of Actually Additions.
# What?
MiKeY and Rid are going to port Actually Additions to **Forge** for **Minecraft 1.16.4**. They are re-doing all of the art for the mod and they will also modify some of the features that I dislike, based on my personal feedback and the information outlined in [my diss track](https://ellpeck.de/blog-actually_additions).
MiKeY and Rid are going to port Actually Additions to **Forge** for **Minecraft 1.16.4**. They are re-doing all of the art for the mod and they will also modify some of the features that I dislike, based on my personal feedback and the information outlined in [my diss track](https://ellpeck.de/blog-actually_additions).
The art overhaul has already started (and even been finished, I believe), and because it is *gorgeous*, I'm going to show you some of the preview pictures that Rid has sent me right now. Enjoy.
@ -49,9 +49,9 @@ Since I know a lot of people will ask questions about this, here is a list of so
- We will *not* be keeping all of the features in the mod the same, especially not the Storage Crate, which will be getting a major overhaul.
- There will be *no* entirely new features, only changes to existing ones. Since this has been the case for the last few years as well, I don't think it's very surprising.
MiKeY has expressed great interest in helping me overhaul the features that I dislike and, as a result, making Actually Additions a better and more refined mod than it used to be.
MiKeY has expressed great interest in helping me overhaul the features that I dislike and, as a result, making Actually Additions a better and more refined mod than it used to be.
# When?
# When?
We don't know yet. *Please* don't ask.
# Thank You

View file

@ -6,7 +6,7 @@ tags: [Programming]
discuss: https://twitter.com/Ellpeck/status/1180092634410487808
---
So it's been a hot minute since I stopped working on my first big game project, [Rock Bottom](https://rockbottomgame.com). Since then, I've changed a lot, but the game hasn't changed that much: For a long time, the project was vacant, until I decided to make it open source. From that point on, a couple of my friends started working on it, adding some new features and fixing some bugs, until it seemingly fell back into vacancy over the last couple of weeks.
So it's been a hot minute since I stopped working on my first big game project, [Rock Bottom](https://rockbottomgame.com). Since then, I've changed a lot, but the game hasn't changed that much: For a long time, the project was vacant, until I decided to make it open source. From that point on, a couple of my friends started working on it, adding some new features and fixing some bugs, until it seemingly fell back into vacancy over the last couple of weeks.
So let's port my recent Minecraft mod, [Nature's Aura](https://www.curseforge.com/minecraft/mc-mods/natures-aura), to Rock Bottom!

View file

@ -18,7 +18,7 @@ _Foe Frenzy is a fast-paced fighting game where you battle up to three of your f
# The Artstyle
Not every developer has this problem, but I know a lot do: The inability to make good-looking art. Well, I have this same problem too.
A lot of times, I'll find myself getting stuck on making art for my game projects and getting burnt out through trying too hard to force myself to make good-looking art.
A lot of times, I'll find myself getting stuck on making art for my game projects and getting burnt out through trying too hard to force myself to make good-looking art.
So, this time around, what I did instead of doing that all over again, I just decided to go with _simple art_ instead. For example, as you can see, all the tiles in the world only have 8x8 pixels, and all of them follow a really simple pattern: The top and left side are slightly darker, giving the world a really tiled feel and making the levels seem like they were made with actual building bricks. As well as that, the character movement animations are _really_ simple.

View file

@ -12,7 +12,7 @@ On this day, exactly one year ago, I made my first commit to the Tiny Life repos
If you don't recall just how long of a way it has come, or you don't even know about the game yet: Tiny Life is, as I wrote on its [itch page](https://ellpeck.itch.io/tiny-life):
> Tiny Life is a fun simulation game that tries to capture the essence of games like The Sims, but in an isometric pixelart style.
> Tiny Life is a fun simulation game that tries to capture the essence of games like The Sims, but in an isometric pixelart style.
>
> In the game, you control a set of people that live together in a household. You take care of their daily needs, build their skills, forge new relationships... or just mess up their entire life in whatever way you can think of!
@ -183,7 +183,7 @@ public static readonly NeedType Energy = Register(new NeedType("Energy", 0.5F, p
There we go, that's most of the funny human-related comments I could find with the very simple search I did. I definitely think some of these are *very funny* out of context, but what makes it even better is that some of them are also pretty funny *in* context. Humans really do act very weirdly sometimes, don't they?
All of that being said, thanks so much for reading this blog post. If you haven't already, you should definitely check out the game, as it is very much a passion project of mine, and I think it currently has enough content to be quite a bit of fun to play already.
All of that being said, thanks so much for reading this blog post. If you haven't already, you should definitely check out the game, as it is very much a passion project of mine, and I think it currently has enough content to be quite a bit of fun to play already.
You can download the game for free (or for a price of your choosing) on its [itch page](https://ellpeck.itch.io/tiny-life).

View file

@ -30,10 +30,10 @@ function populateManual(lang) {
for (let topic of data.split("\n\n")) {
let lines = topic.split("\n");
let t = '<div class="entry rounded">';
let t = "<div class=\"entry rounded\">";
// first line is name
let name = lines[0].substring(lines[0].indexOf("=") + 1);
let id = lines[0].match(/chapter\.([^\.]*)\.name/)[1];
let id = lines[0].match(/chapter\.([^.]*)\.name/)[1];
sidebar.append(`<a href=#${id}>${name}</a>`);
t += `<h1 id="${id}">${name}</h1>`;
// following lines are content
@ -49,7 +49,7 @@ function populateManual(lang) {
if (location.hash.startsWith("#")) {
let element = $(location.hash);
if (element.length) {
$('html, body').animate({
$("html, body").animate({
scrollTop: element.offset().top
}, 0);
}

View file

@ -4,7 +4,6 @@ html {
body {
font-family: Roboto, sans-serif;
font-display: swap;
margin-top: 30px;
margin-bottom: 30px;
background-color: #e2e2e2;
@ -25,10 +24,7 @@ body {
margin-top: 20px;
margin-left: auto;
margin-right: auto;
padding-top: 30px;
padding-bottom: 30px;
padding-left: 40px;
padding-right: 40px;
padding: 30px 40px;
background-color: white;
}

View file

@ -5,7 +5,7 @@ $.ajax({
success: function (value) {
if (value !== "true")
return;
$('.closed').html( /*html*/ `
$(".closed").html( /*html*/ `
<div class="alert alert-warning" role="alert">
<strong>My commissions are currently closed.</strong>
<br>Check this site periodically to see if they have opened back up. Please don't contact me until they do.

View file

@ -1,10 +1,10 @@
const data = [{
id: "nyx",
name: "Nyx",
description: "Nyx is a mod that transforms and improves Minecraft's time of darkness by adding elements and events themed around the moon, stars, and night sky",
testimonial: "Ellpeck has proven time and again to be very talented and open-minded when it comes to mod commissions. Easy and enjoyable to work with, and very patient when it comes to working out any inconsistencies. I'm happy to have collaborated with him!",
commissioner: "Drakallen"
},
id: "nyx",
name: "Nyx",
description: "Nyx is a mod that transforms and improves Minecraft's time of darkness by adding elements and events themed around the moon, stars, and night sky",
testimonial: "Ellpeck has proven time and again to be very talented and open-minded when it comes to mod commissions. Easy and enjoyable to work with, and very patient when it comes to working out any inconsistencies. I'm happy to have collaborated with him!",
commissioner: "Drakallen"
},
{
id: "slingshot",
name: "Slingshot",
@ -74,4 +74,4 @@ for (let mod of data) {
`;
left = !left;
}
$("#mods").html(content);
$("#mods").html(content);

View file

@ -8,7 +8,7 @@ nav: nav/miscnav.html
<div class="list-display rounded">
<h1>🙈 Privacy Policy</h1>
<p><strong>This privacy policy applies to all subdomains of ellpeck.de as well as the sites ell.lt and tinylifegame.com and their subdomains.</strong></p>
<p>This site uses <a href="https://en.wikipedia.org/wiki/HTTP_cookie">cookies</a> and <a href="https://en.wikipedia.org/wiki/Web_storage">local storage</a> to store information about your browsing activity. This information is only stored locally on your device, and not evaluated or analyzed by the web server.</p>
<p>Due to widgets, embeds and analytics, additional information will be stored by other sites. Please refer to those sites' privacy policies for more information:</p>

View file

@ -1,5 +1,5 @@
$("#blog-archive-button").on("click", function () {
let archive = $('#blog-archive');
let archive = $("#blog-archive");
archive.toggle();
$(this).html((archive.is(":visible") ? "Hide" : "Show") + " archived posts");
});

View file

@ -1,5 +1,5 @@
if (localStorage.getItem("notification") !== "true") {
$('#cookieinfo').html( /*html*/ `
$("#cookieinfo").html( /*html*/ `
<div class="alert alert-danger alert-dismissible fade show" role="alert">
This site uses your browser's local storage to store information about your browsing activity.
<br>For more information, check out the <a href="/privacy">privacy policy</a>.

View file

@ -1,18 +1,18 @@
const greetings = [
'Hey!',
'How\'s it going?',
'Welcome!',
'Hello to you!',
'It\'s nice to see you!',
'How are you?',
'What\'s up?',
'Hello!',
'You\'re looking great!',
'Good day mate!',
'Hello friend!',
'Howdy!',
'Guten Tag!',
'Servus!',
"Hey!",
"How's it going?",
"Welcome!",
"Hello to you!",
"It's nice to see you!",
"How are you?",
"What's up?",
"Hello!",
"You're looking great!",
"Good day mate!",
"Hello friend!",
"Howdy!",
"Guten Tag!",
"Servus!",
"Yo yo yo",
"Good morning!",
"Good evening!",
@ -21,4 +21,4 @@ const greetings = [
"Henlo",
"Sul Sul"
];
$('#intro-text').html(greetings[Math.floor(Math.random() * greetings.length)]);
$("#intro-text").html(greetings[Math.floor(Math.random() * greetings.length)]);

View file

@ -498,4 +498,4 @@ const quotes = [
"I'll kill the lights to lose you in the dark",
"So I don't distroy us, please, baby, disarm me"
];
$('#quote-text').html(`🎵 <em>${quotes[Math.floor(Math.random() * quotes.length)]}</em>`);
$("#quote-text").html(`🎵 <em>${quotes[Math.floor(Math.random() * quotes.length)]}</em>`);