diff --git a/.gitignore b/.gitignore index b7e2ec4..4ad5c36 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,6 @@ sitemap.xml feed.json rss.xml atom.xml -/blog \ No newline at end of file +/blog/* +!/blog/.htaccess +!/blog/res \ No newline at end of file diff --git a/.htaccess b/.htaccess index ddfad49..553be1b 100644 --- a/.htaccess +++ b/.htaccess @@ -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 - - - ExpiresActive On - ExpiresDefault A1 - Header append Cache-Control must-revalidate - diff --git a/blog/.htaccess b/blog/.htaccess new file mode 100644 index 0000000..38aedb5 --- /dev/null +++ b/blog/.htaccess @@ -0,0 +1,3 @@ +ExpiresActive On +ExpiresDefault A1 +Header append Cache-Control must-revalidate \ No newline at end of file diff --git a/blogsrc/res/future_actually_additions/1.png b/blog/res/future_actually_additions/1.png similarity index 100% rename from blogsrc/res/future_actually_additions/1.png rename to blog/res/future_actually_additions/1.png diff --git a/blogsrc/res/future_actually_additions/2.png b/blog/res/future_actually_additions/2.png similarity index 100% rename from blogsrc/res/future_actually_additions/2.png rename to blog/res/future_actually_additions/2.png diff --git a/blogsrc/res/future_actually_additions/3.png b/blog/res/future_actually_additions/3.png similarity index 100% rename from blogsrc/res/future_actually_additions/3.png rename to blog/res/future_actually_additions/3.png diff --git a/blogsrc/res/rock_bottom_mod/1.png b/blog/res/rock_bottom_mod/1.png similarity index 100% rename from blogsrc/res/rock_bottom_mod/1.png rename to blog/res/rock_bottom_mod/1.png diff --git a/blogsrc/res/rock_bottom_mod/2.png b/blog/res/rock_bottom_mod/2.png similarity index 100% rename from blogsrc/res/rock_bottom_mod/2.png rename to blog/res/rock_bottom_mod/2.png diff --git a/blogsrc/res/rock_bottom_mod/3.png b/blog/res/rock_bottom_mod/3.png similarity index 100% rename from blogsrc/res/rock_bottom_mod/3.png rename to blog/res/rock_bottom_mod/3.png diff --git a/blogsrc/res/rock_bottom_mod/4.png b/blog/res/rock_bottom_mod/4.png similarity index 100% rename from blogsrc/res/rock_bottom_mod/4.png rename to blog/res/rock_bottom_mod/4.png diff --git a/blogsrc/res/rock_bottom_mod/5.png b/blog/res/rock_bottom_mod/5.png similarity index 100% rename from blogsrc/res/rock_bottom_mod/5.png rename to blog/res/rock_bottom_mod/5.png diff --git a/blogsrc/res/rock_bottom_mod/6.png b/blog/res/rock_bottom_mod/6.png similarity index 100% rename from blogsrc/res/rock_bottom_mod/6.png rename to blog/res/rock_bottom_mod/6.png diff --git a/blogsrc/res/rock_bottom_mod/7.png b/blog/res/rock_bottom_mod/7.png similarity index 100% rename from blogsrc/res/rock_bottom_mod/7.png rename to blog/res/rock_bottom_mod/7.png diff --git a/blogsrc/res/rock_bottom_mod/8.gif b/blog/res/rock_bottom_mod/8.gif similarity index 100% rename from blogsrc/res/rock_bottom_mod/8.gif rename to blog/res/rock_bottom_mod/8.gif diff --git a/blogsrc/res/rock_bottom_mod/NaturesAuraRockBottom-0.1.jar b/blog/res/rock_bottom_mod/NaturesAuraRockBottom-0.1.jar similarity index 100% rename from blogsrc/res/rock_bottom_mod/NaturesAuraRockBottom-0.1.jar rename to blog/res/rock_bottom_mod/NaturesAuraRockBottom-0.1.jar diff --git a/blogsrc/res/small_projects/cave.png b/blog/res/small_projects/cave.png similarity index 100% rename from blogsrc/res/small_projects/cave.png rename to blog/res/small_projects/cave.png diff --git a/blogsrc/res/small_projects/contrib.png b/blog/res/small_projects/contrib.png similarity index 100% rename from blogsrc/res/small_projects/contrib.png rename to blog/res/small_projects/contrib.png diff --git a/blogsrc/res/small_projects/flame_thrower.gif b/blog/res/small_projects/flame_thrower.gif similarity index 100% rename from blogsrc/res/small_projects/flame_thrower.gif rename to blog/res/small_projects/flame_thrower.gif diff --git a/blogsrc/res/small_projects/map.png b/blog/res/small_projects/map.png similarity index 100% rename from blogsrc/res/small_projects/map.png rename to blog/res/small_projects/map.png diff --git a/blogsrc/res/small_projects/map_select.png b/blog/res/small_projects/map_select.png similarity index 100% rename from blogsrc/res/small_projects/map_select.png rename to blog/res/small_projects/map_select.png diff --git a/blogsrc/res/small_projects/overview.png b/blog/res/small_projects/overview.png similarity index 100% rename from blogsrc/res/small_projects/overview.png rename to blog/res/small_projects/overview.png diff --git a/blogsrc/res/small_projects/water_wobble.gif b/blog/res/small_projects/water_wobble.gif similarity index 100% rename from blogsrc/res/small_projects/water_wobble.gif rename to blog/res/small_projects/water_wobble.gif diff --git a/blogsrc/res/small_projects/win.gif b/blog/res/small_projects/win.gif similarity index 100% rename from blogsrc/res/small_projects/win.gif rename to blog/res/small_projects/win.gif diff --git a/blogsrc/res/small_projects/wobble.gif b/blog/res/small_projects/wobble.gif similarity index 100% rename from blogsrc/res/small_projects/wobble.gif rename to blog/res/small_projects/wobble.gif diff --git a/blogsrc/future_actually_additions.md b/blogsrc/future_actually_additions.md index a4592c6..499fb9a 100644 --- a/blogsrc/future_actually_additions.md +++ b/blogsrc/future_actually_additions.md @@ -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*? diff --git a/blogsrc/rock_bottom_mod.md b/blogsrc/rock_bottom_mod.md index 7b0412a..e4983c2 100644 --- a/blogsrc/rock_bottom_mod.md +++ b/blogsrc/rock_bottom_mod.md @@ -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 diff --git a/blogsrc/small_projects.md b/blogsrc/small_projects.md index ec5acf7..263d15f 100644 --- a/blogsrc/small_projects.md +++ b/blogsrc/small_projects.md @@ -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 \ No newline at end of file