move blog resources to blog directory
Web/pipeline/head This commit looks good Details

This commit is contained in:
Ell 2021-03-11 03:43:11 +01:00
parent 9c3b8f16ae
commit fe510da05a
27 changed files with 26 additions and 27 deletions

4
.gitignore vendored
View File

@ -3,4 +3,6 @@ sitemap.xml
feed.json
rss.xml
atom.xml
/blog
/blog/*
!/blog/.htaccess
!/blog/res

View File

@ -22,9 +22,3 @@ RewriteRule ^wishlist/?$ "https://www.amazon.de/hz/wishlist/ls/LZO9Y2Z3VJ5Q?&sor
RewriteRule ^fftranslate/?$ "https://poeditor.com/join/project/ElzC23ecB6" [R=301,L]
ErrorDocument 404 /404.html
<FilesMatch "^(blog|sitemap|feed|atom|rss)">
ExpiresActive On
ExpiresDefault A1
Header append Cache-Control must-revalidate
</FilesMatch>

3
blog/.htaccess Normal file
View File

@ -0,0 +1,3 @@
ExpiresActive On
ExpiresDefault A1
Header append Cache-Control must-revalidate

View File

Before

Width:  |  Height:  |  Size: 632 KiB

After

Width:  |  Height:  |  Size: 632 KiB

View File

Before

Width:  |  Height:  |  Size: 380 KiB

After

Width:  |  Height:  |  Size: 380 KiB

View File

Before

Width:  |  Height:  |  Size: 630 KiB

After

Width:  |  Height:  |  Size: 630 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

View File

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 145 KiB

View File

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 133 KiB

View File

Before

Width:  |  Height:  |  Size: 156 KiB

After

Width:  |  Height:  |  Size: 156 KiB

View File

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 112 KiB

View File

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

Before

Width:  |  Height:  |  Size: 158 KiB

After

Width:  |  Height:  |  Size: 158 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 126 KiB

View File

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

View File

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 121 KiB

View File

Before

Width:  |  Height:  |  Size: 4.3 MiB

After

Width:  |  Height:  |  Size: 4.3 MiB

View File

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View File

@ -18,11 +18,11 @@ MiKeY and Rid are going to port Actually Additions to **Forge** for **Minecraft
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.
![](../blogsrc/res/future_actually_additions/1.png =100%x*)
![](res/future_actually_additions/1.png =100%x*)
![](../blogsrc/res/future_actually_additions/2.png =100%x*)
![](res/future_actually_additions/2.png =100%x*)
![](../blogsrc/res/future_actually_additions/3.png =100%x*)
![](res/future_actually_additions/3.png =100%x*)
Don't they look *so good*?

View File

@ -13,7 +13,7 @@ Okay, finding [a build of the game](https://github.com/RockBottomGame/RockBottom
Hm. Okay.
So something's already broken.
![](../blogsrc/res/rock_bottom_mod/1.png =100%x*)
![](res/rock_bottom_mod/1.png =100%x*)
It looks like here
```
@ -27,7 +27,7 @@ That didn't seem to fix it either. Huh. Taking a look at [the maven](https://mav
Okay, it's now the next day and it looks like the maven has been fixed, which is nice. So all the compile issues are finally resolved, I put the build into the `/gamedata` folder like explained in the tutorial, I renamed the examplemod to `NaturesAura`, and I can now finally try running the game!
![](../blogsrc/res/rock_bottom_mod/2.png =100%x*)
![](res/rock_bottom_mod/2.png =100%x*)
Ah! That worked quite well in the end.
# Actually making something
@ -76,7 +76,7 @@ public void preInit(IGameInstance game, IApiHandler apiHandler, IEventHandler ev
So far, so good. Let's figure out how to add a texture to the thing.
I somewhat remember that I made a horrible json-based asset system (instead of just loading all of the assets in the mod's jar automatically), so I'm going to try to add my tile to the `assets.json` file the example mod provided me with and also add a texture into the actual file system.
![](../blogsrc/res/rock_bottom_mod/3.png =100%x*)
![](res/rock_bottom_mod/3.png =100%x*)
This is the folder structure I decided on. I also created a quick golden version of the game's leaves texture by going to the [asset repository](https://github.com/RockBottomGame/Assets), stealing the leaves texture and recoloring it to be golden-ish.
Also, I put this in the assets file, but I have no idea if that's actually the right path. We'll find out.
@ -101,7 +101,7 @@ public static final Tile GOLDEN_LEAVES = new TileGoldenLeaves(NaturesAura.create
```
*Crisis averted*.
![](../blogsrc/res/rock_bottom_mod/4.png =100%x*)
![](res/rock_bottom_mod/4.png =100%x*)
Yaaay, it... worked? *Somewhat?*
You're probably yelling at your screen by now, but yes, I finally noticed it as well: My assets path says `examplemod` instead of `naturesaura`. Easy fix, though.
@ -119,7 +119,7 @@ While I'm at it though, I can also add a localization entry for the golden leave
Let's try again.
![](../blogsrc/res/rock_bottom_mod/5.png =100%x*)
![](res/rock_bottom_mod/5.png =100%x*)
Ta-da! Success, at last.
After some investigation, I realized that Rock Bottom's normal leaves can be walked through, so let's see how to make that happen. Typing `@Override` while in the `TileGoldenLeaves` class causes my IDE to list all of the methods I can override. Among them are two that interest me:
@ -136,13 +136,13 @@ public BoundBox getBoundBox(IWorld world, TileState state, int x, int y, TileLay
```
It seems like this is what I have to do to make the tile walk-through...able. Let's try it out.
![](../blogsrc/res/rock_bottom_mod/6.png =100%x*)
![](res/rock_bottom_mod/6.png =100%x*)
Yay, that seems to have worked. Great.
# Making an item
Now that I have somewhat of a grip of this whole Rock Bottom stuff again, I'm quickly going to make an item. I won't bore you with the details as it's pretty similar to making a tile, but the gist of it is this: I made an `ItemGoldPowder` class that extends `ItemBasic`, and I initialized and registered an instance of that in my newly created `Items` class, of which I created an instance in my mod class's `preInit` method so that it gets initialized at the right time. Also, I did all of the annoying asset mumbo jumbo.
![](../blogsrc/res/rock_bottom_mod/7.png =100%x*)
![](res/rock_bottom_mod/7.png =100%x*)
*Oh, C#, you've ruined me.*
# Making stuff happen
@ -164,7 +164,7 @@ While writing this code, I quickly remembered that Rock Bottom has a tile state
Let's try it out! ...yea, no. The Java version that gradle uses to compile a Rock Bottom mod isn't new enough yet: You can't use the `var` keyword. Oh, my poor, poor C# soul. So let's swap that `var` out for a `TileState`.
![](../blogsrc/res/rock_bottom_mod/8.gif =100%x*)
![](res/rock_bottom_mod/8.gif =100%x*)
Yay, it works! *Except that, in the gif, the mouse position is weirdly offset for some reason. It's correct in person, I promise!*
# Conclusion

View File

@ -1,10 +1,10 @@
As it turns out, I struggle a lot with maintaining interest and motivation for working on bigger projects like my [other game](https://rockbottom.ellpeck.de/) or my Minecraft mods. However, an easy fix for that would be to just start less big projects and focus more on smaller ones, like **Foe Frenzy**. Foe Frenzy is a game I've been working on for about a month now.
![](../blogsrc/res/small_projects/contrib.png =100%x*)
![](res/small_projects/contrib.png =100%x*)
The basic gameplay is finished, as is enough content for my friends to have been testing it for the last week or so and saying that they enjoy it quite a bit, both visually and gameplay-wise. I thought I'd make a blog post about my process of working on it, showing what it's about and what I did this time around to make sure that I don't get burnt out with it.
![](../blogsrc/res/small_projects/overview.png =100%x*)
![](res/small_projects/overview.png =100%x*)
_Foe Frenzy is a fast-paced fighting game where you battle up to three of your friends with random, short-lasting items in an attempt to be the last survivor._
@ -14,9 +14,9 @@ A lot of times, I'll find myself getting stuck on making art for my game project
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.
![](../blogsrc/res/small_projects/wobble.gif =100%x*)
![](res/small_projects/wobble.gif =100%x*)
![](../blogsrc/res/small_projects/water_wobble.gif =100%x*)
![](res/small_projects/water_wobble.gif =100%x*)
Both of those aren't even real animations per se, because what they really are is just the player's static texture rotating around a sin wave that is centered on the player's feet. It looks cute, though.
@ -27,7 +27,7 @@ What I did for this game instead is just kind of... let the code take me where i
For example, the map parsing system is really simple: It consists of an XML file, which stores all the important information about a map like its name and the positions that players spawn in, and a png file.
![](../blogsrc/res/small_projects/map.png =100%x*)
![](res/small_projects/map.png =100%x*)
Each pixel in the file determines which tile will be put at its location. In this instance, black is deep water, blue is shallow water, yellow is sand and green is grass. And the cool thing is that this is really easy to deal with (reading pixels is a simple thing that's present in almost every game framework), because changing something on the map just takes an image editing program, no custom map editor needed.
@ -49,14 +49,14 @@ Keep updated about the game on [my Discord](https://ellpeck.de/discord) as well
To finish off, here are some more pictures of the game for your enjoyment.
![](../blogsrc/res/small_projects/cave.png =100%x*)
![](res/small_projects/cave.png =100%x*)
A cave being lit up by torches and lava. This is where a rubber hammer can spawn that you can use to knock the other players into the lava.
![](../blogsrc/res/small_projects/map_select.png =100%x*)
![](res/small_projects/map_select.png =100%x*)
The map selection screen, where each player can choose the map that they'd like to play most.
![](../blogsrc/res/small_projects/flame_thrower.gif =100%x*)
![](res/small_projects/flame_thrower.gif =100%x*)
The favorite item I've added so far: The flamethrower.
![](../blogsrc/res/small_projects/win.gif =100%x*)
![](res/small_projects/win.gif =100%x*)
Killing the last person alive and winning