Wednesday, 18 July 2018

Give Me The Rights To Snail Mail Or Else


Well, here we are. Two videos and all I've got is radio silence from the now-defunct Sandlot Games.

Daniel Bernstein, I think you should make very sure that this message is not lost on you.

If you do not give me the rights to Snail Mail, people will. get. hurt. I can't say how and I can't say who, but this is the last straw, Sandlot Games. I've tried and tried to get into contact with you, e-mailing whoever I could possibly find to give me the rights and nothing. seems. to work.

I suggest you just bite the bullet and give me Snail Mail before bad things start happening. I've written a nice little list of the potential weapons I could use and since this is already a really short video, let me pad it out a bit.

I'll use knives. Guns. Swords. Katanas, specifically. Explosives, like C4, dynamite, TNT, C5, AK-47s, kitchen knives, butter knives, butcher knives, Ashton Kutcher's knives, large blades without handles, small blades that are only handles.

High-velocity chewing gum. Balls of thumb-tacks. Balls of drawing pins. Balls of hedgehog needles. Balls of porcupine needles. Balls of forks you find, weevils. I'll attack you with wildlife. Squirrels. Chipmunks. Rats. Mice. Rice.

[start to fade out]

Sugar, spice and everything nice. Sawblades. Sore spades. More maids. Four plays. Drawer maize. A gun. I'll throw the clip at you. I'll throw the bullet at you. I'll throw the barrel, or travel to put a mullet on you.

I'll plant a tree in your name. I'll brand a bee with propane. I'll cover your face in glue.

Brace your Gru. Grace your you. Shoot your gig. Boot your pig. Loot your brig. Tend your house. End a mouse. Defend a mouse. Pretend to douse.

E-mail me, Daniel.

Tuesday, 10 July 2018

I Demand The Rights To Snail Mail

So needless to say, I didn't really get a response on my last video about the rights to Snail Mail. I'm not entirely sure why, I thought I made a fairly reasonable proposition, I laid out my case pretty clearly and I thought I kind of logically stepped you through why I deserve the rights to Snail Mail.

In a nutshell, that was seemingly the wrong approach to take, so I'll try a new one.

I demand the rights to Snail Mail. I've laid out very clearly why and how I deserve them, and now I believe that I need to take them. I will not be offering any form of compensation, since I genuinely think that the rights to Snail Mail should be mine, and the current state of affairs is actually unfair to me. I think you recognize this, Sandlot Games. I think you're trying to twist my arm into making me... pay you? Let me tell you that's not going to happen.

Again, I'm reasonable. I'm a reasonable person, I think I'm mature enough to handle the rights to Snail Mail. I won't reiterate too much since I don't want to waste your time, just like you're wasting mine by refusing to even answer my proposition.

So here's what's going to happen. I'm going to write, record and upload this video to my YouTube channel. The former CEO of Sandlot Games, Daniel Bernstein, is going to e-mail me, telling me that he'll give me the rights to Snail Mail FOR FREE, and he'll expect nothing else from me. Daniel Bernstein will also be expected to hire a lawyer to draft a contract so that he cannot go back on his promise.

We'll agree to the terms in the contract, and I'll own the IP to Snail Mail. I'm not asking, Daniel, I'm telling you what's about to happen, and I hope you're listening. If you're not the one in charge of the Snail Mail IP, I suppose I'll have to take the same steps with the appropriate person but I will expect you to tell me who I have to talk to.

I'm believe I'm being as reasonable as I can be given the circumstances. I think that yeah, this is unfair to me and really at this point I'm still being too kind. If I was an angrier person, maybe I'd make you pay me just to TAKE the rights to Snail Mail. But I'm not. I'm making a simple offer.

Let's not let this go on any further. E-mail me, Daniel.

Sunday, 8 July 2018

MULTI-TECH - Let's Talk About My New Project

In a sentence, MULTI-TECH is a rogue-like bullet hell vidja game where you play as a dude on a scrappy, self-built spacecraft that you have to fix, upgrade and build yourself.

In my mind, it's kind of a fusion between FTL and Enter The Gungeon, even though I'm taking some fairly large design liberties with each of them. I'm basically using Enter The Gungeon as a reference point for game juice and FTL because you can upgrade your ship. Kind of a loose comparison in retrospect but I'll have these games in mind during development so I might as well put it out there.

As I'm sure you can see judging by the B-roll that I've got playing here, not a lot's really happening on-screen. That's because I only started working on this game at all on Tuesday, and I've put the majority of work into the pixel art for the time being which is miraculously turning out pretty decently so far.

With regard to the player character's ship that you can see at some point in the video footage, I'm not sure if that's gonna stay the same and I highly suspect that it won't. I'll maybe experiment with some player-generated ship design stuff, but that could get complicated kind of fast so I'm not making any promises.

More likely, I'm going to re-make it at some point. I don't want it to look like that for the whole game, at the time of script-writing I've not even done the animations for shooting those bullets yet so it looks kind of boring and flat, but I am kind of aiming for the look that this spaceship was literally built from a rusty barrel and had a few peripherals slapped on like a thruster and a gun.

The idea is that the player will salvage broken tech components, fix them up by combining them or some other system that I've yet to come up with and apply them to the ship. The ship will have 4 "power cores", each of which is able to supply power to one of these tech components, so it could be like a gun upgrade, a shield, something like that.

I should have mentioned before this point that there will hopefully be bosses in this game as long as I can actually make the pixel art for them without it looking weird and bad. When the player has all but won a boss fight, the boss will remain at critically low HP. The camera would zoom in on the ship itself, showing the human player character and prompt them to run between all 4 cores to engage a big ol super-laser-beam to finish off the boss.

This is kind of just a fun way to finish off a battle, but also it helps to reinforce that the player is running a ship all by himself, where most pilots would have a crew of a few people to help him out.

The only real worry I have about this project thus far is that I'm not sure if it's focused on one central element enough. In my mind, the focus is definitely the "combine tech and upgrade your ship" thing, but I'm not sure if that's actually interesting enough, let alone whether it gets overshadowed by other systems and aspects of gameplay.

I should also note that this isn't gonna be small project like Mushroom: The Ruckus, I'm expecting it to be a bit larger than Mass O' Kyzt. Hopefully it won't take longer than 9 months, but if it does then that's fine, since I wasted a lot of time in the dev cycle for Mass O' Kyzt that I feel I've learned to avoid doing. At least after that project, I feel confident that the time I spend working on MULTI-TECH isn't going to be running around in a circle aimlessly.

I've got a much clearer image of what the design is, plus I don't have school now so I'll be working essentially twice as fast as I did on Mass O' Kyzt, possibly even faster than that since school saps a lot of time and energy.

Anyway, I'm super excited about this project and I genuinely think it'll be really good. Thanks for watching and stay tuned for more videos about MULTI-TECH, the next game in the AlexHoratio saga.

Thursday, 5 July 2018

Why I Deserve The Rights To Snail Mail

For those of you who don't know, Snail Mail is a casual game developed by the now-defunct Sandlot Games in 2004. When I was a wee lad I used to play that game kind of a lot since it was fun and funny at the same time.

Now I'm not going to get too far into the merits of Snail Mail, and I'll keep the summary brief. Basically, you play as Turbo the Snail and your job is to deliver intergalactic mail while trying to avoid falling into the cosmic abyss or running face-first into enemy slugs.

The game plays nicely, the jokes are pleasant and it's a nice way to unwind if your brain is too melted or worn down to play something more taxing.

So let's get to the title of this video, why do i deserve the rights to Snail Mail? First, let me make it clear that I don't want to get anything from the original Snail Mail, the profits from that will still go to whatever legal entity is collecting revenue from Sandlot Games these days.

All I want is to legally and contractually own the intellectual property and associated trademarks of Snail Mail, so that theoretically I could choose to make a sequel, I could choose to write a book in the expanded universe or I could even just use Turbo the Snail as a character as I see fit. I want that freedom. I want the option.

I might not even end up using the IP, which is part of why this is such an appealing idea for either Sandlot Games, the also defunct Digital Chocolate, this company called RockYou, or the lead guy who worked on Snail Mail who I think works at Ubisoft now or something.

The point is that someone more eager to use the IP might not be thinking clearly. The excitement of owning such a property might actually end up clouding their ability to set an appropriate goal. If someone comes to you saying that they'll create an 800-episode webseries based on your IP, you tell them to get lost since that's not likely to happen, and even if it does happen it won't be good.

I'm saying: "Hey. I want the rights to Snail Mail. Maybe I'll use them, maybe I won't. I'm waiting for a good opportunity to use it."

It's the side of reason and it's a sensible deal to make. Who knows, maybe I'll use it in such a way that actually nets whoever some publicity, money or whatever else. It's not like they're ever gonna make Snail Mail 2 or use any Snail Mail related imagery in anything ever. It's basically a dead-end for them unless they give it to me- a reasonable, well-adjusted 18 year old who genuinely deserves the rights to Snail Mail.

Thursday, 28 June 2018

A Long-Awaited Return (For Good!)

Wow, I'm back! Oh god, finally, yikes. I've been gone for like a month, I mean what th-


So you loyal viewers are probably either wondering where I've been, or you've been wondering who I am because you forgot about me in the time I've been gone. For the latter camp, I'm Alex and I make video games and sometimes YouTube videos about video games which can be informative, educational or just telling you how my own games are going.

For the people who are just wondering where I've been, in short I've been busy with exams. However, on Monday the 26th I had my final exam and now I am free... forever! That's the last round of exams that I've got so now I guess it's time to venture on into the brave new world of full-time game development.

Of course, that's assuming that my parents don't tell to get a part-time job so I stop wasting my life chasing a rainbow, but I guess I'll cross that bridge when I get to it.

So what does this mean in terms that you care about? Well for one, YouTube videos will become a lot more regular since I won't really have much else on my mind. Also, I'll be able to commit a LOT more time towards game development since again- nothing else to really have to do right now.

So basically, this means more content for you and less negative stress for me. Let's face it, the overall amount of stress is probably gonna stay pretty constant since game development is HARD, but at least this is stress that 1) I brought on myself and 2) I'll probably quite enjoy because I enjoy game development.

Now what else has been going on? I wouldn't ask that question if I didn't have a good answer for it so I guess this is as good a time as any to announce...

Mass O' Kyzt+! Or whatever name we decide to give it in the end. So there are a few things to address here, the first of which is yes- this is a remaster of Mass O' Kyzt, that game that I finished like 6 or so months ago. Since that game had a lot of issues and things which I really should have ironed out before release, a friend of mine has decided to pick up the slack and re-make Mass O' Kyzt in the Unity engine with a few adjustments.

The friend of mine doing all this is of course the talented Alex Carpenter, who created "Squirm", that game that Jim Sterling liked, and has been working on his next game "Float" for the past 6 decades. I should note at this point that Alex Carpenter is indeed in his 70s, so it's really nice of him to work through a bingo night or two to get this done.

For real though, Alex Carpenter is cool. He's doing this re-make primarily to practice his multiplayer programming skills, so that he can later apply those skills to his main big project, Float. That means that Mass O' Kyzt+ will indeed have some kind of multiplayer, 2 new worlds, more achievements(and less nonsense ones) and a bunch of quality-of-life changes.

I'm really looking forward to this, and since it's my intellectual property and this YouTube channel is basically thinly-veiled commercials you all should be looking forward to it too.

However, Mass O' Kyzt+ is not intended to really keep me busy at all since I don't really know how Unity works and this is first and foremost a practice project for Alex to get to grips with some stuff he needs for Float. That means that I'll be working on my next game concurrently with Mass O' Kyzt+ but well.. I think that's territory best left to another video. Winking emoticon.

So thanks for watching and stay tuned for more YouTube videos at a reasonable pace, and also then a remake of a game I did, and then also a new game entirely which I've yet to even come up with yet but I guess I have like three days to do it because this is how my upload schedule works. Oh dear.

Tuesday, 15 May 2018

Sporadic Godot Tutorials - Tile Sets and Autotiling

Well, because I need to get popular somehow and I'd rather not start up some kind of horrible controversy involving throwing eggs at people in a public space while screaming my YouTube URL, my only other option seems to be to make more tutorials. This isn't the classic "Gitting Gud At Godot" stuff because that was kind of dense and I feel as though there was a kind of progression from simpler material to more complex tutorial.

This "Sporadic Godot Tutorials" thing that I'm doing right now is gonna be a bit all over the place compared to that, and I'll probably opt to explain more specific things. Hell, I don't even know if I'll ever do another one of these so I don't know why I'm framing this as a series but if you have anything that you desperately need explained, then send me a message or a comment and I'll see what I can do!

So let's get down to business. I assume that most people reading this know what a tile set is, but for the purposes of completeness I'll give a brief explanation here.

In Godot, there are two components to a tile system. One of which is the tile set, and one of which is the tile map. The tile set is kind of like a bunch of generic ingredients (flour, sugar, water) whereas the tile map is what you actually do with them, or specifically, a literal grid of the tiles which are defined in a tile set.

Here's an example of a tile set sprite from a game I made, Mushroom: The Ruckus:

 (sorry about the trailing whitespace!)
As you can see, there's a bunch of tiles here, each of which is a 16x16 tile. This is just saved as a .png file and placed into some folder in the project. However, we haven't finished creating a proper tile set as far as Godot is concerned, so let's get into the engine.

Create a new scene and save it as something like "tileset.tscn". This is something you should keep around- that is to say you shouldn't discard this as soon as the tile set data is generated!

Create a tree root node of type Node and then add some sprites. Each sprite you create will equate to one tile in the editor, with some exceptions that I'll get onto in a moment. However, at the moment we're at a cross-road. If you want to figure out how to do autotiling, you're gonna have to skip ahead of this bit. If you don't know how to do even normal tiling yet, then I'm about to explain that bit so stick around for a moment.

So for a standard tileset, add some Sprite objects and name it something unique. The name you give each Sprite will correspond to the name it is given in the tile set itself, so make sure that it's informative and clear.

Also, if all your tiles are stuck together in one big .png like mine are above, you're going to have to load that .png into each Sprite and set the region. You can do this by selecting the Sprite, scrolling down to "Region" and make sure it's enabled then set the Rect. This value is basically just a value that corresponds to a rectangle of the Sprite that is going to be displayed, so the X and Y parts are the position of the top left corner of the rectangle and the W and H parts are how wide and tall it is, respectively. It should look something like this:

One more thing to note is that in order to create tiles that have collision, you'll need to add a StaticBody2D node as a child of the Sprite. Also, you'll need to add a CollisionShape2D with the appropriate shape in order to map what the collider should be and then you're good to go.

So yay, you've done it! You've created a tile set- well, nearly. All you need to do now is to generate the .tres file(which stands for text resource, I think) which can be loaded by a TileMap node in another part of your project.

This is super easy, you just have to go to "Scene" in the top left, move down to "Convert To..." and click "TileSet". Save your new tileset resource as something memorable like "tileset.tres", create a TileMap somewhere else, load "tileset.tres" into your TileMap and you're good to start placing some tiles!

Now, onto AutoTiling!

So at this point and regardless of whether you want to, you're gonna have to put all the tiles that you want involved in this autotiling stuff into the same .png file.

Also, you're going to have to open your "tileset.tscn" scene file and create a new Sprite that loads that entire .png into it. This is important: Don't set the region like you might done previously! From my experience that'll mess things up for you. Just convert this scene to a tileset resource as described above and load it into a TileMap. You're definitely not done yet, though.You've yet to even begin the real AutoTiling work!

So you've created a TileMap that has the Tile Set property set to your lovely tile set resource. Click on that resource to open it in the inspector, scroll down to the tile that's holding the whole tileset and tick the "Is Autotile" box, as shown to the left- I've named my tile "AllTiles", since it holds all the tiles.

Next, you'll notice that a button that says "Autotiles" has appeared at the bottom, next to the "Output", "Debugger", "Audio", "Animation" or whatever other buttons you might have down there. Click that, and it'll open the AutoTiler menu.

Before we do anything here, go to the left hand column (where it would normally list your tiles) and find the "Properties" menu just below it. Set "Bitmask Mode" to 3x3 and Tile Size to whatever size your tiles are. Mine's 64x64, for instance.

Now that you've done that, let's get into what all this crazy stuff in the AutoTiling menu means. The first menu is "Icon", and that one's pretty easy. It's basically the default tile to show if the autotiler can't work out which tile to place. Just pick whichever one happens to work for you, but I picked this one by left clicking it:

Now for arguably the most important menu, the bitmask menu. This one is the one that decides how your tiles are automatically selected while they're being placed. Each time you click, you'll notice that it creates a little red box.

Each tile has 9 potential spaces (with a 3x3 bitmask, if it's 2x2 then it's only 4) to place a red box. Each red box basically means "put me here if there's a tile in this position relative to me". This is a bit confusing to get your head around at first, but just carry on.

Pretty much any tile that you want to show up needs a red box in the center, because that center red box represents the tile itself. Here's what my bitmask screen looks like:

Let's take the line of tiles in the middle first. The tile at the very top will only show up if the tile directly below it is also filled in, so I placed one red box in the center and one in the center bottom position. Similarly the one at the very bottom will only show up if the tile directly above it is filled in, so I placed a box in the center and a box in the center top position.

Let's take the top left corner of that blob to the left-hand side. That corner will only show up if 1. the tile to the right of it is placed, 2. the tile below it is placed and 3. if the tile to the bottom-right is placed. Therefore, I put a red box in the 1. center-right position, 2. center-bottom position and 3. bottom-right position.

I'm not sure if I've made this very clear, but just mess around with these things in mind- you'll get the hang of it soon enough.

For these tiles, I didn't set any collision because they are meant to be walked all over by everybody else. However, if you did want to set collision you'd have added a StaticBody2D with a BLANK CollisionShape2D node to the Sprite back in "tileset.tscn", and then you'd go to the Collision menu and drawn in collision shapes for each tile. That bit's pretty easy but also hellishly buggy as of Godot 3.0.2, so good luck. Changing settings randomly, node hierarchy, saving resources and loading them again- it's a bit of a mess and I'm pretty sure it's gonna be fixed in 3.1, but for now it's really a "fuck with it until it works then never touch it again" type thing.

I don't even know what the Occlusion menu does but I'm pretty sure it's to do with lighting/shadows so I haven't and will not touch it. Sorry!

Navigation is similar to Collision in that you can draw polygons onto each tile to map out a nice NavigationPolygonInstance that you don't have to draw manually after placing the tileset. It isn't always useful, since all of the tiles above are places that I don't necessarily want enemies to automatically pathfind through- for instance, if there's a solid house on grass, I'd rather the enemies look to get around the house rather than straight through it.

The Priority tab is actually quite cool. Basically,if you've mapped multiple tiles with all the same bitmask rules then it'll randomly select one of those tiles to place when the conditions are met. However, the chance of one tile being chosen over another is actually perfectly random unless you modify the chances of it being chosen in the Priority tab.

When selecting a Tile, it'll highlight the other tiles with the same placement rules and it'll give you a fraction of how likely it is to be placed compared to the other tiles. You can select a tile you want and use the up or down arrows next to the text field to modify the chances, so instead of a 1/16 chance for a tile to be placed, you can make it a 3/18 chance, as below:

And that should pretty much do it for all your tile set needs. You can return to your tilemap, select the "AllTiles" tile and start placing and it should start AutoTiling for you. If you want to know anything else about TileSets/AutoTiling/etc then let me know, if you want a tutorial on another specific engine feature then also let me know then. 

Thanks for reading, and good luck with the autotiling!

Friday, 11 May 2018

Mushroom: The Ruckus - A Post-Mortem

Oh lord, what a mistake I have made.

I'm not referring to Mushroom: The Ruckus just yet, I'm still stuck on the fact that I apparently can't keep a steady upload schedule to save my life. I'll give some explanation as to why at the end of the video, but it's not very interesting so I don't want to scare away all the people who legit just wanna know how my game did.

So, for those of you who don't know (and I wouldn't blame you for not knowing) Mushroom: The Ruckus is a top-down hack'n'slash thingy where you play as a mushroom and you kill all the other mushrooms. It costs $2 or £1.69 so it's not expensive but there's not a lot of content going on there. The reason for this was because I decided that I'd seriously cut down on how much time I would spend on this one.

My last project, Mass O' Kyzt, took me about 9 months from start to end. It still didn't have a lot of content because a lot of that time was just me removing the content and making it again but better. This meant that I effectively wasted a lot of time to create a pretty sub-par project.

This time, I decided that I'd seriously speed up the dev cycle and just get it done before I could even have time to start hating it. Trust me, I still got to that stage in the last week of development or so but I managed to pump out most of the game before I got there. Mushroom: The Ruckus only actually took me a little over one month to create. I started the main character design at about 1AM on March 23rd while talking to a friend and I released the whole game on May 1st.

I think overall, yeah this is way preferable to spending 9 months on something that's not even fun to play by most metrics. However, I think I cut the dev time a little bit short when I could maybe have used a bit more time. I don't know if more time would have even helped because quite frankly I'm not that good at a lot of the things this game focuses on- things like story, graphics and whatnot.

However, I did find myself working 8 hours a day plus school plus social responsibilities for about a month and feeling absolutely destroyed by the end of it. In fact, I still feel mostly destroyed, just a little less so than I have done. And yeah, that's pretty much why I haven't uploaded a video in ages. I'm not exactly presenting this as an excuse because that was a horrible decision.

For the purposes of disclosure, since May 1st and as of May 11th my game has sold 50 copies. This is WAY less than Mass O' Kyzt which sold a lot more, even despite its initially greater price tag and (in my opinion) less appealing visuals. Now you might be thinking "well, 50 copies at $2 a copy isn't bad, that basically makes you back the Steam Direct fee" but unfortunately that is not actually the case. You see, I put the game at a 40% launch discount - another mistake - which meant that about 40 of those 50 copies are only worth barely over one dollar each.

So for the time being, I'm at a net loss. That sucks, but I've only myself to blame in this case. I'm not super upset about it(well, anymore) because I have definitely learned some lessons from the experience and I'm sure as hell not gonna do most of the things I've done again.

So why did Mushroom: The Ruckus only sell 50 copies? There are a lot of reasons and I'm pretty sure all of them are because my marketing SERIOUSLY sucked. Pretty much all the marketing I did was a half-hearted YouTube video and a bad trailer, and I send some copies to some Steam curators. If I was smart, I would have taken an extra month, worked on the game more slowly and actually marketed it properly as I was working on it.

In my defense I did show some gifs on Twitter which netted me about 15-20 followers over the course of two weeks, but unfortunately those were not the weeks leading up to release day, those were like April 1st to April 14th. Even my real life friends who are generally pretty clued into what I do legitimately did not know that my game was being released on May 1st, because up until literally the day before release it was only ever an internal release date.

On April 30th I tweeted something like "oh yeah, by the way, game's coming out tomorrow" which is by far the worst way to build hype since I only have a little under 200 followers and I'm pretty sure a lot of them are bots. 

Also, I should have made proper YouTube videos that document the process a little bit more. This isn't just for motivational purposes, this is because I have a free bank of 800 people who signed up for regular notifications about my content and for some reason, I'm not utilizing that!

One more thing I might add is the price point. Yeah, maybe my game wasn't worth any more than $2 and that's not really the point I'm making but people will believe that your game has more value if it is priced higher. Regardless of the actual "value for money", people generally don't pay attention to a smaller product for smaller money because they perceive it as being disposable or worth less.

I think that the solution to this is to just make slightly bigger games. Nothing too big, but games that would maybe fit a $5 price tag. Also, I have to learn to think in terms of dollars which is great because I don't use that damned currency in my country.

Lastly, lemme talk about how this is the first large game I've made with Godot 3. 

The transition to Godot 3 from Godot 2.1 is one of the smoothest things I've ever done. It is honestly so much nicer to use a nice, slick UI and the audio bus system than it is to have a slightly less nice and less slick UI with whatever the fuck audio system Godot 2.1 uses.

Not only that, but Godot 3 has native support for autotiling. It's not very well documented at the moment so I had to spend a while figuring out how to use it but it's really convenient, albeit a bit buggy with saving collision shapes.

Speaking of bugs, the trail effect after the player dashes.

Now when I was implementing the dash effect, I thought "hey, let's add a lovely trail effect". So after a little while of googling some neat implementations of something like that I found a kind of tutorial that uses a Line2D. I know what you're thinking, "Hey, Alex! You should use the particle system which is like a thousand times better for trail effects!" and yes, you are absolutely right. However, I didn't realize this at the time for some reason.

So I created a Line2D and made it sync up nicely and everything, but in a pixel art-style game I should really try and make the Line2D node actually display in a pixelly way. So I applied a simple pixelization shader to the Line2D.

Well, that didn't work. For whatever reason, we live to suffer and it just turned the Line2D white. I tried applying the shader to a normal sprite and it worked perfectly, pixelated the sprite and everything was in order. Back to the Line2D - not pixelated, just white.

I must have spent like an hour just trying to deal with that and figuring out why even modulating it didn't make it any less white but after a small breakdown I came up with the idea to create a slightly larger Line2D object that is given the exact same data as the other one but uses a screen-space shader to pixelize(pixelate?) anything that is underneath it.

Sadly, this worked. It's really hacky and if you look carefully you can actually see that it slightly messes with the ground in an area around the trail effect, but yeah. It works.

Also, it seems that Godot 3.0.2 actually has some problematic bugs on Ubuntu. I talked about it a bit in a forum post that was made in the community hub but I cannot figure out what the problem is, just that it only seems to occur with the Unity desktop manager, and segfaults when "New Game" is selected in the main menu.

I have seen some bug reports on Github for similar issues, so I didn't make a proper bug report. I suppose the point of this section is just to beware. Hopefully a lot of these growing pains will be fixed in Godot 3.1 or 3.0.3, but yeah- for the moment they're a little problematic.

With all the complaining I've done about the engine I just wanna reiterate that yeah, this engine is awesome and I could hardly love it more. I've made a few successful contributions to the repo too, so I'm slowly climbing my way up to being listed as a developer(which requires 10 commits). 

Anyway thanks for watching(or reading, if you're reading this) and stay tuned for a video regarding my next project. Yikes. I have exams, you know, I can't be doing this to myself.

Sunday, 25 February 2018

UPDATE: What's happening?!

So you might have noticed that I haven't uploaded a video in like a thousand years, so here I am, setting the record straight. While I'm at it, I'll explain a bit about why I haven't since- well, I'll get to it in the video.

In my last video, I supposedly started a new long-term project even though it had only been like a week since my last one. Long story short, it wasn't going anywhere and now it's dead. I've stolen some of the code for another thing I'm doing but I think I'll get to that in future.

There were some technical reasons why I shut it down - using as many lights as I would have liked would have probably involved re-working Godot's lighting engine somehow since I was getting some serious performance hits where there really shouldn't have been. I was originally going to get a friend to help me with the art assets, named They-huh, They-he, thigh...?

Dante would have helped me with my art assets if I could have gotten a functioning build of the game, a requirement which is pretty fair enough. I didn't end up getting to a functioning build, I only got in as far as barely creating a basic enemy class before getting ill for like a week, and after I recovered I realized that it wouldn't be feasible to continue working on it.

I will interpret this one as the gamedev equivalent to a rebound relationship. It didn't last long and basically only softened the blow from working on a project to not working on a project.

In any case, I suppose I'm between projects again right now. I don't know when I'll get to work on another one and I don't know what it'll be, but it'll be something and it'll be coming eventually.

For now I should really focus on schoolwork- I know that's unlikely to happen, but in the event that I really don't upload another video for like nearly three weeks again, I want you to think that's what I'm doing, not playing Enter the Gungeon or Warframe or whatever the fuck else I find to spend huge amounts of time on.

I'm aware this is a particularly short video but I really don't have much to say at this time, being a gamedev channel with no gamedev happening! Thanks for watching and stay tuned for another video eventually. I guess that's what you're hoping for now. Remember when I'd say "stay tuned for another video on my project, Mass O' Kyzt?"

God, I miss those days.

Monday, 1 January 2018

Improvement over 2017

This is going to be a more "blog"-like video than usual, so I hope you lot don't mind too much.

I think I can recognize that my skills have come a long way over the course of this past year, even if they're still very far from perfect. This time last year I was working on a spin-off game to a strange audio show named Spiderman in the Rhineland, which I technically co-host with other a friend of mine known as Magos on YouTube.

It was a fairly simple walking simulator style thing where the player would hold the up arrow key for about two minutes while they passed some poorly drawn pixel art backdrops. The backdrops weren't particularly great, though creating them was very helpful towards developing my ability to draw pixel art.

It's actually quite funny, you could see the backdrops improving as you played through the levels due to how awful I was at the beginning. Apart from that though, it was a bit rubbish and I never really completed it.

After that, I made a few short platformer-style walking simulators. They were... something, and I'd be lying if I wasn't a bit embarrassed about just how pretentious they were trying to be. Let's just move on.

In about April, I made the first game that I'm actually kind of happy with. It was called Super Displacement, and originally intended to be a kind of re-make of a game I made back in 2016 named Don't Be Still. Ultimately, I changed a lot and it's barely even related to Don't Be Still at this point.

For those of you who haven't played it, Super Displacement is an arcade-style shooter wherein you move at high speeds and shoot some squares. The idea is that if you touch the walls you'll lose, and the enemies - rather than dealing damage - will bounce you around quite vigorously to try to throw you into a wall.

It's pretty fun to play, even though looking back on it there are a few things which I just didn't think to include or tweak in particular ways. It's a little bit rough around the edges, but I'm happy with it.

Next, I participated in my first Ludum Dare, which was Ludum Dare 38. My submission was called "Polar Protector", since the crux of the game was to defend literal poles running through the planet from enemy alien creatures. There were some fairly glaring design flaws- such as it being very difficult to determine whether the enemies were actually attacking the poles. They would usually just stand still and the HP bar at the top would slowly begin to tick down. Not great for visual clarity.

But it held up well enough and I got 77th place in the "Fun" category, so I count that one as a win.

Soon afterwards, I got the idea to work on the game post-jam, so I added a new mechanic wherein the player would decide how the enemies got stronger. A lot of you will probably recognize how that turned out. It didn't really work in Polar Protector, but it's working pretty nicely in my current project, Mass O' Kyzt.

Anyway, I did start working on Mass O' Kyzt shortly after Polar Protector. It's been a very slow yet educational experience starting a project with relatively little knowledge and intuition regarding design, art or anything else that a game developer really should know. So far, I'm pretty happy with how it's turned out. My game is almost like a real game- a fairly second-rate game, but it doesn't look like somebody's first project. Which is good, because this is definitely not my first project.

I'm not going to do a step-by-step through my other projects since this has dragged on long enough and I think you get the idea- I started out pretty bad, and now I'm only a little bit bad. Hooray!

Thanks for watching and stay tuned for more videos which are probably less "blog"-y than this one, since I like to present useful ideas to my audience, not just talk about myself. Talking about myself is fun though, so I can't promise anything.