writing challenge 39/100

This commit is contained in:
gome 2023-01-24 22:56:53 -06:00
parent f8cb67cb34
commit b2a6ea90ca
10 changed files with 146 additions and 7 deletions

View File

@ -280,6 +280,36 @@ blockquote.highlight {
box-shadow: 2px 2px #bea98e;
border-radius: 3px;
}
.music-box {
margin: 0 0 1em 0;
display: flex;
align-items: center;
width: fit-content;
padding: 2px 4px 2px 2px;
border-radius: 3px;
border: 1px solid #323a42;
user-select: none;
cursor: pointer;
box-shadow: 1px 1px #323a42;
}
.music-box:hover, .music-box:focus {
outline: 0;
color: #6d747a;
border-color: #6d747a;
box-shadow: 2px 2px #6d747a;
}
.music-box svg {
margin-right: 2px;
}
.music-box.playing svg.play {
display: none;
}
.music-box.playing svg.pause {
display: block;
}
.music-box svg.pause {
display: none;
}
@media only screen and (max-width: 700px) {
a.journal-link {
border-right: none;

View File

@ -59,11 +59,11 @@
</article>
<article>
<h2>Latest gomepost</h2>
<a class='journal-link' href='./journal/completion.html'>
<h3>Abysmal project completion rate</h3>
<div class='line stop-3'></div>
<time datetime='Mon, 23 Jan 2023 10:00:00 CST'>23 Jan. 2023, 10:00 PM</time>
<p>What even is the purpose of side projects?</p>
<a class='journal-link' href='./journal/graveyard-1.html'>
<h3>My game graveyard, part one</h3>
<div class='line stop-2'></div>
<time datetime='Tue, 24 Jan 2023 11:00:00 CST'>24 Jan. 2023, 11:00 PM</time>
<p>This might become a series, well see</p>
</a>
</article>
<article id='listening'>

View File

@ -42,7 +42,7 @@
In order to feel it again, Id have to get back in touch with my original motives for doing it and kind of get past that “activation energy” threshold that makes it hard to pick up a project.
</p><p>
I have many such examples of side projects, either on hold or basically abandoned.
In fact, I could probably write a whole post just taking inventory of my project graveyard (I think I will tomorrow).
In fact, I could probably write a whole post just taking inventory of my project graveyard (I think I will <a href='graveyard-1.html'>tomorrow</a>).
I do regret not finishing certain projects, or I think that Id like to still come back to them sometime.
</p><p>
But a lot of times, it seems like completion isnt really what Im after.

85
journal/graveyard-1.html Normal file
View File

@ -0,0 +1,85 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<title>gome — graveyard</title>
<meta charset='utf-8'/>
<meta name='theme-color' content='#efe5d7'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, shrink-to-fit=no'/>
<link rel='icon' type='image/x-icon' href='../favicon.ico'>
<link rel='preconnect' href='https://fonts.googleapis.com'>
<link rel='preconnect' href='https://fonts.gstatic.com' crossorigin>
<link href='https://fonts.googleapis.com/css2?family=Lora:ital@0;1&display=swap' rel='stylesheet'>
<link rel='stylesheet' type='text/css' href='../css/style.css'/>
<script defer src='../js/gomesong.js'></script>
</head>
<body>
<header id='header'>
<nav>
<a href='..'>back to gomepage</a>&mdash;<a href='.'>journal</a>
</nav>
</header>
<main>
<article>
<h1 id='title'>My game graveyard, part one</h1>
<time datetime='Tue, 24 Jan 2023 11:00:00 CST'>24 Jan. 2023, 11:00 PM</time>
<p>
Yesterday, I <a href='completion.html' target='_blank'>posted</a> about how I start so many side projects and finish so few.
Today, I wanted to follow up with a review of just some of the projects I havent managed to complete so far, a tour of my “side project graveyard”.
I quickly realized I would have enough to say about each project for its own separate post.
So to keep the scope limited for today, Im just going to focus on video games Ive made or wanted to make.
</p><p>
I should clarify at the start, more for myself than the reader, that I dont consider all of these projects truly “dead”.
I reserve the right to “resurrect” them at any time, and indeed I hope to return to several of them.
Others ones Im fine with consigning to the graveyard indefinitely.
I might be more or less vague on the details of a game depending on how likely such a return is.
</p>
<h4><i>Vernal Luncheon</i></h4>
<p>
A cute little 2-dimensional platformer with a bear character.
The bears name is Vern.
The idea is that you would jump around collecting food.
Each type of food would grant you a different temporary ability, such as a double jump or a wall grab.
If youve ever played Celeste, the dash crystals from that are a similar idea.
</p><p>
The prototype was made in Godot, and its probably the most extensive thing Ive made in Godot to date (which isnt much).
In the prototype, I got the player characters movement fine-tuned and several foods are operational.
I made all the pixel art myself, and I also gave it a soundtrack (music I had previously written) and designed all the sound effects myself.
</p>
<img src='img/vernal_luncheon.webp' width='512' height='399' />
<div class='music-box'>
<audio src='img/davey_verne.mp3' loop></audio>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="play"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="pause"><rect x="6" y="4" width="4" height="16"></rect><rect x="14" y="4" width="4" height="16"></rect></svg>
<span><i>Vernal Luncheon</i> soundtrack</span>
</div>
<h4><i>Tungolcweorn</i></h4>
<p>
A top-down “galaxy crawler”, where you play as a legendary, planet-sized, planet-eating monster called the <i>Tungolcweorn</i>, Old English for “<a href='https://en.wiktionary.org/wiki/tungol#Old_English' target='_blank'>planet</a> <a href='https://en.wiktionary.org/wiki/cweorn#Old_English' target='_blank'>grinder</a>”.
The monster, which would look something like a round anglerfish made of volcanoes, flies around solar systems, eating up planets and absorbing energy from them.
You would have to contend with space-faring civilizations of varying sizes trying to defend their home planets and resources.
At the same time, I wanted the game to have a sort of medieval mythical theme to it, a mix of sci-fi and fantasy.
</p><p>
This idea never made it too far in implementation, but I had some good ideas sketched out for the various in-game quantities youd have to collect, like matter, energy, lifeforce, and exotic forms & states of matter that granted various abilities.
I wanted the game to be based on a relatively accurate gravity simulation, so you could do things like gravity slingshots, and planet collisions would be realistic.
The difficulty of implementing that was the first hurdle, and the one I never ended up getting over.
</p>
<h4><i>Standing Wave</i></h4>
<p>
A musical tower defense game inspired by the flash game <a href='https://en.wikipedia.org/wiki/GemCraft' target='_blank'>GemCraft</a>.
Each tower would emit a single musical pitch, but in order to do damage to passing enemies, you would need multiple towers to create certain combinations of pitches (e.g., a major chord).
Different combinations would do different amounts of damage, and the game would require some musical background and reasoning to play well.
I built a little bit of this one, but dropped it due to insufficient knowledge of Godot.
</p><p>
Well, I didn't make it through all the games I wanted to talk about, but I want to wrap up the post for now.
I could talk a lot about my fun ideas for games and other things.
Maybe Ill keep going with this as a series, either this week or spread out intermittently.
</p><p>
Have you ever tried to make a video game?
Which of these ideas do you think sounds the most fun?
Would you like to hear about more of my ideas and abandoned side projects?
Let me know your thoughts at my Ctrl-C email: <code>gome<span style='user-select: none;'>&nbsp;&#8203;</span>@<span style='user-select: none;'>&nbsp;&#8203;</span>ctrl-c.club</code>.
</p>
</article>
</main>
</body>
</html>

BIN
journal/img/davey_verne.mp3 Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -20,6 +20,12 @@
<main>
<h1>Journal</h1>
<a href='rss/feed.xml' class='rss-link'>RSS feed</a>
<a class='journal-link' href='./graveyard-1.html'>
<h3>My game graveyard, part one</h3>
<div class='line stop-2'></div>
<time datetime='Tue, 24 Jan 2023 11:00:00 CST'>24 Jan. 2023, 11:00 PM</time>
<p>This might become a series, well see</p>
</a>
<a class='journal-link' href='./completion.html'>
<h3>Abysmal project completion rate</h3>
<div class='line stop-3'></div>

View File

@ -13,6 +13,15 @@
<width>144</width>
<height>87</height>
</image>
<item>
<title>My game graveyard, part one</title>
<author>gome</author>
<pubDate>Tue, 24 Jan 2023 11:00:00 CST</pubDate>
<link>https://ctrl-c.club/~gome/journal/graveyard-1.html</link>
<guid>https://ctrl-c.club/~gome/journal/graveyard-1.html</guid>
<description>This might become a series, well see</description>
<enclosure url="https://ctrl-c.club/~gome/journal/img/vernal_luncheon.webp" length="3412" type="image/webp" />
</item>
<item>
<title>Abysmal project completion rate</title>
<author>gome</author>

View File

@ -13,6 +13,15 @@
<width>144</width>
<height>87</height>
</image>
<item>
<title>My game graveyard, part one</title>
<author>gome</author>
<pubDate>Tue, 24 Jan 2023 11:00:00 CST</pubDate>
<link>https://ctrl-c.club/~gome/journal/graveyard-1.html</link>
<guid>https://ctrl-c.club/~gome/journal/graveyard-1.html</guid>
<description>This might become a series, well see</description>
<enclosure url="https://ctrl-c.club/~gome/journal/img/vernal_luncheon.webp" length="3412" type="image/webp" />
</item>
<item>
<title>Abysmal project completion rate</title>
<author>gome</author>

View File

@ -27,7 +27,7 @@ try {
wotd.querySelector('.pronunciation').textContent = entry.pronunciation;
let definitionHTML = '';
for (const definitionEntry of entry.definitions) {
definitionHTML += `<h3 class='part-of-speech'>${definitionEntry.part}</h4>`;
definitionHTML += `<h3 class='part-of-speech'>${definitionEntry.part}</h3>`;
definitionHTML += `<ul class='definitions'>`;
for (const definition of definitionEntry.definitions) {
definitionHTML += `<li class='definition'>${definition}</li>`