Hey, so I’ve been on Patreon for one whole year now, and it has been the most productive year for me since… well, for a LONG time. And that is all thanks to your support meaning I can hugely cut back on the stress and bad thoughts that come with trying to make games and not starve, so thanks so much!
The tl;dr? I made 10 new games, 12 monthly builds (of 10 different games!), and (at least) new 6 tools/systems.
I was coming in to Patreon at a point when I was releasing 3-4 games a year, so I think it’s apparent how much of a help this is for me <3
SO, here’s the list!
A platformer with 4 (literal) levels, and a multi-stage boss. Also it’s CUTE AF and has awesome music by patron Tim Monks.
Another platformer, perhaps my most advanced pico-8 game? Also really punishing <3
A festive reskin of CoG:U. Should a reskin count as a seperate game? You think I’m cheating the number of games I’ve made? Psh you’re lucky I don’t count the original Curse of Greed too. I practically made THREE CoG games this year. THREEEEEE.
I ported Dusk Child to unity, made high resolution graphics, and updated some stuff that had been requested. It’s so pretty now!
My first bitsy game! It’s miserable but also I’m really proud of it!
Nobody had made a frogger clone for pico-8, someone had to! Also it doubled as a chance to show my complete pico-8 process, that link above includes a full video playlist of me making it and talking through the whats and whys.
I started experimenting with twitch/streaming game stuff and a new game came from it! One person streams the game, others play by typing commands into stream chat 🙂
This game SUCKS but I made it when I had been in a huge funk for weeks and that’s not nothing. After this I got back to work on a bunch of things!
Two-player Tic Tac Toe Tactics, Totally Terrific To Try!
Very ordinary bowling game! Not at all interesting or unusual! (but seriously tho I just put this up today, check it out!)
These are the monthly builds that I have made available to $5+ patrons over the past year, some are games that I was working on at the time, others are older unfinished games that I have uncovered just for you<3
This is what I was working on when I started this patreon, I’m keen to get back to it but I totally promised you a Halloween adventure game. The builds I have are up for this tho 🙂
This game is actually 5 years old, it’s “complete” but you know, unfinished because who has time to animate a proper ending (or get better voice acting (or model proper props (or etc etc etc))) 😛
So glad I actually got to share a build of this, and it includes a level I made just for patrons! <3
Haha, I thought I was gonna finish this game in one month… Anyway it’s still turning out to be something I’m real proud of, there’s a couple of builds of it and there should be another one before too long also. I’m making HECKA progress on it 🙂
This is another old one I’ve had lying unfinished in my projects folder, I’m really glad I got to share what I made for it!
This one is sooooooo close to done but you know how it is when you have a nearly finished game and even if you love it you’d rather be working on anything else and so you leave a game in your projects folder for years and learn pico-8 instead? no? just me?
A VR game! Funny story; a couple of years ago I blew what little money I had on a VR set-up and a computer good enough to support it because I figured it would 100% be a fast-growing market before too long and being able to make cool games for it would finally mean I had reliable income. Well… in the end all I was right about was that I could make cool VR games. Actually now I think about it, that story isn’t funny at all. But I think this prototype is cool af 🙂
Anti-gravity racing game! This is another one that’s been a WIP on my shelf for quite a long time, mostly because programming AI is like, really difficult, you know?
I think this is a really sweet prototype, this version is the first thing I got Sinput to work with so that’s cool. Interesting fact; when I started this game, my plan was to release it on OUYA, do you remember OUYA? Sometimes even I don’t and it was half my income for like two years.
This one is a really popular request and I’m SO glad I took the time to make it happen. First standalone version of Sarah’s Run, updated to run with modern versions of unity, now with Sinput so the controls are 100% customisable.
I also put out a bunch of gamedev (and other) stuff that might be useful to other creators, but if not then they are at least useful to me. I know for sure I’m gonna get a lot of use out of Sinput and Palutte, and I’ve already gotten a lot of use from Ducksnaker PRO 😉
- Froggi making-of
- Slope collision tutorial pico-8
- Prince Snow model talkthrough
- Ducksnaker PRO
- Even more I never posted about
Some other links from throughout the year:
Overall, I’d say I’ve done pretty well, and that I’ve been able to do so well is entirely thanks to your support. I love you all so much and I just wanna say that even if you have to reduce/delete pledges or whatever (I know times are tight) that you have still truly helped me this year. It really has been my best year for a very long time!
If you can tho, do bump up your pledge! I’m not exactly suffering from an abundance of time spent with positive credit you know ;P <3
For Dusk Child 2 I’m going to have slopes in the game, I’ll explain how here 🙂
All slopes are just sprites, placed on the map like any other tile. The key thing is their sprite flags, normally I’d just have a single flag to check to say “is this tile solid or not?” but some parts of a slope tile are solid, and some parts aren’t. So the flags need to describe what kind of slope the tile has, and that looks like this:
The actual sprite appearance don’t really matter too much – it’s the sprite flags that the code will be looking at, so you can go wild with their appearance of course.
Right now Dusk Child 2 looks like this, the surfaces are a little bumpy and uneven to make it look more natural 🙂
It’s all code and math from here, sorry, I’ll try to explain it clearly though!
In order to tell if a point is overlapping a slope or not, first you need to know what kind of tile the point is on. This is a little awkward because it involves converting a game x/y position into map cel_x/cel_y position, I have a function for that though:
It’s not much but with how often I do it, it saves a lot of tokens to make it a function 😉
With that, we can then do MGET( FLR8(X), FLR8(Y) ) to get the sprite ID of any map tile.
Once you have the sprite ID, you can use FGET() to check the sprite’s flags, and know if the tile is a slope and what kind it is.
So, we can figure out if a point is overlapping a slope tile, how do we figure out if that point is overlapping the slope itself?
We will define our slope by two points; one on the left side of the tile, and one on the right. Our slope is the line between those points – anything above the line is a miss, anything below is a hit.
We set the values that describe these points (X1, Y1, X2, Y2) based on the tile’s flags – if it’s a steep slope going up (bottom left to top right) that looks like:
In that code, X and Y are the point we are comparing the slope to – so by using FLR8(value)*8 we get the lower bounds of the tile (top or left edge).
You will need to have code to set (X1, Y1, X2, Y2) conditionally for each type of slope.
So just to summarise where we are at, we have:
- X, Y – The point we want to check against the slope
- X1, Y1 – The point on the left side of the slope
- X2, Y2 – The point on the right side of the slope
From here, we just need to find the HEIGHT of the slope at X, if Y is above that then our point isn’t overlapping the slope, otherwise it is.
We know that X is between X1 and X2, but we need to know just how far along, for that I simply do:
We divide by 8 so the left side of the tile is 0, the right side is 1. We want T to be in the range of 0-1 because we’ll get the height through linear interpolation (“Lerping”):
I’m… not gonna explain interpolation to you, all you really need to know is you plug in A and B, and what you get back will be closer to A if T is near 0, closer to B if T is near 1. Here’s a long confusing wikipedia article if that’s your thing 😛
Anyway, with our distance along the line T we can interpolate between Y1 and Y2 to get the height of the line at X.
From here it’s simple, just compare Y to HEIGHT to know if our point overlaps the slope. 🙂
I’ll leave my POINTONSLOPE() function here for you if you want to just copy/paste.
Of course this only lets you check if a point overlaps a slope or not, if you want to do some actual platforming interaction with it… you’re gonna have to work that out yourself for now 😉