How PudL came to be

Our game looked like this:


Our game now looks like this:


and this:


Fog particles. It’s got fog particles!

Things happened in between.

I had been a hobbyist game dev for a really long time (3 years feels long as hell okay) and I had published exactly 0 units of game. I’d get halfway through a game, or even finish it (but no sprites or music because I’m bad at stuff) then move on to the next project cause that’s what you do when you make a game right?


Some games I’d worked on before

But anyway I had just started making some metroidvania platformer that I figured I’d trash just like the rest of ’em.  But pretty soon I realized I’d been working on it for 4 months and it was (spoiler alert) actually not terrible to play. When someone told me I should think about selling it, I freaked out and realized I could actually maybe do something with this. I decided to look into what some people on Reddit said about game development because anyone who browses r/gamedev is obviously a god-tier game designer that I should listen to. I watched like 2 GDC on marketing before deciding I was an expert and ready to go into the “real world” of making games. I whipped up a pretty bad blog post, spiced it up with 1 funny joke and a couple sentences that were entertaining enough to trick you into thinking they were clever. I posted it, told a couple friends then…


Holy Shit.

I got like a thousand views overnight (in hindsight not that much but c’mon I was hype). For a little bit, I was so excited, dancing on sunshine, etc. I was so happy that I pretty much ignored something that was super strange: no comments, no followers, no likes.  I was so happy that I told everyone I knew of my success until…


Welp I’m just about ready to die

But screw him, I’mma actually get the game working out well and then I’ll become internet famous easily. I DONT NEED ANYONE!


Maybe the viewbot wasn’t so bad

I guess nobody likes a game about moving squares. I started to think I might actually need assets. Well, I can’t draw so I need someone else to join the team. Thus began the scramble to find people who were willing to work and be paid in pocket lint. Also not for 10 months. Also you have to make over 200 sprites. I asked a buncha people I know who do art and the response was always the same: “I got you, don’t worry I’ll do the art for you” Then I’d wait for a week…

“Hey where’s that art?”

“Oh… you like still want that? I haven’t started, sorry”

Go to hell”Understandable have a nice day.”



Yo yo, Contrary to popular belief, the writer of this blog is not an omnipotent being who produced an entire video game by himself. I am a gonna be a special guest writer for this [UNIT OF BLOG-POSTING TIME], and I’m gonna talk about some of the non-game design parts of game design.

The first thing, as mentioned previously, is that people who make art

(((Don’t actually MAKE ART)))

They just make drawings for fun and they’ve done it so much they look good. Now don’t get me wrong, there’s nothing wrong with that, and many of my friends fall into that category. However, when your offering relatively large quantities of money for decidedly large quantities of art, that’s not really a great work ethic.

Luckily for me, I was an active member (I basically just introduced myself and then lurked for six months) of a couple artist community’s discords. I asked a few of them if they would be willing to do “you know, just a few sprites, some concept art, not much.” which, while isn’t super true… It’s close enough okay it’s fine shhhh it’s fine. Anyway, I got little to no responses, until… Oh,until… An angel from on high came down in the shape of an online artist named Flabbs (obv. that’s not his real name, but that’s what we call him) with a little bit of concept art.

Interestingly,  one of the images on that very first sheet actually went into the final character model.Screen_Shot_2018-01-07_at_8.56.18_AM.png

And then we didn’t follow up for two months.


One of the reasons for this is Charlie actually did find an artist who was willing to work under the parameters who we knew in real life. That worked pretty well for a while until it dawned on us that we had hundreds of hours of work that needed to be done, and only one person who was willing to do it (BTW thanks so much Hen you’re amazing), so we began to look around for other sources. We found flabbs, they and Hen started making some A1 quality art, and here we are today.

Also, an old friend started doing music for us at some point in this process, and it’s honestly super good, but that went way smoother than it really should have so it’s not a very interesting story (also I kinda forgot when they started an I’m too lazy to go check).

And we are soon to release a new demo, this time with sprites and such.

As usual, Check us out on Twitter an Instagram, (we actually regularly post there now!)


So this was drastically different than anything I ever posted on the blog so if you like it or dislike it make sure to let me know, comment here, comment on reddit, write me messages using sky writing.



Coin collection

I recently began looking at the less fun and more practical side of my coin system.  Namely, how the player collects the coins. Due to my current position as an indie game developer, I don’t know much about collecting currency (still holding out to get sponsored by Waffle House). When a coin is collected it displays the name of the coin, meaning every coin collection is followed by text, so I didn’t want you to be able to technically collect a coin unless you’re in a safe situation. Otherwise, you might miss the chance to read the text before you get killed.


So I made it so when you get the coin you “carry” it until you reach the next checkpoint, where it is then “cashed in”.


However, this presented a few problems, the first of which being that if you die, since you respawn at the previous checkpoint, you inherently touch the checkpoint. This means if you are holding a coin then you die you cash the coin in, which I don’t want.


To fix this I gave each coin a coin ID(™), so when you grab a coin it doesn’t just turn the coin into a “following coin” but it also creates an invisible placeholder where it used to be. The coin then stores the coin ID in an array of “coins you are holding”. When you reach a checkpoint it goes through your holding array and puts each value into a global collected array. However when you die it clears your holding array before you touch the checkpoint, thus not storing any of the holding coins into the collected global variable.


Then when you walk back into the room that has the coin that you collected, now it just has a placeholder, the placeholder then checks if it’s coin ID is in the global.collected array. If it is then it goes the way of the dodo, otherwise, it turns back into a real coin. The end result is that when you grab coins if you make it to a checkpoint then you collect them if you die they return to their original position.


If you are interested in following this game’s development more you can look at our Twitter or Instagram.  And there is a demo of the game if you want to try it out for yourself



It’s been a bit since I posted and that’s because all of my free time has been going into making a demo for the game. It has pretty good replayability but it doesn’t save after you close it (still working on save features).  A lot of people have said that they enjoy the minimalistic style but I do plan on adding art. Soon the enemies will look less like this:#13

and more like this:

and for the player character, I’m thinking of having them be a puddle of water

But please after playing the Demo fill out this survey. You don’t know just how much this helps me fix any issues anyone has with the game Even if you don’t finish the game it will help me figure out what to change so that next time you will finish it.

but without further ado here’s the Demo (WASD to move)




I’m sorry I wasn’t able to post at all during December, December is just a generally busy and stressful month with Halloween and everything. Halloween is all about suspense and spookiness and such so many games are trying to get into the holiday spirit by making you   However I’m building a metroidvania platformer and I have no intention of making it a horror game. However, I may still be able to incorporate suspense into the level design for a purpose other than spooks.

I loved Cat Nigri’s “Necrosphere”, if you are interested in metroidvanias I would strongly recommend looking into it (even though it only has 2 ability upgrades). It (much like my game) ditches the convention of large expanses of empty space, in necrosphere everything is crammed together so you are never more than a few seconds before the next challenge. This happens everywhere except in one place where you do almost nothing for about a whole minute as it builds suspense.

The whole first hour or so of necrosphere you have no way of moving up, you can only move left or right. Then suddenly while walking you see the background change you slowly drop


This immediately made me think I was finally going to get vertical mobility, and as I continued I dropped down the pit after pit reinforcing the idea that I was probably about to finally be able to jump or something. Notice how each ledge is only a couple of blocks beneath the previous ledge, this gives you some clues to how a potential vertical ability will work, it drops subtle hints that the ability will only allow you to move up a certain amount. Even though I encountered no challenge for almost a full minute, I was completely engaged, I was trying to determine through environmental clues how the ability would work, would it give you a jump, a wall run, a jetpack?

So I wanted to incorporate this into my own game, to before getting an ability hint at what the ability is going to be. For example one of the abilities is a blast that lets you reveal secrets 


and so I made it so that shortly before you get it you must pass through this area


the extrusion of the ceiling to almost touching you is enough to make anyone notice it, and the slightly different color of the bottom blocks makes you feel like something is special about this, it also helps that this is the first screen where you will ever see floating enemies and also the first screen where you ever encounter platforms you can drop through so it can help you remember it. On the way to that same blast power up you later run into this:


which is also a very memorable location due to the new enemy type discovered here. This isn’t a location you will need to go back to in order to progress it’s just an optional side path resulting in a coin. The overall purpose of all of this is to get you thinking about what the next power up could be. And you eventually make it to this room


a relatively difficult (harder than it looks) room that may take you a few tries so you’ll spend some time in there. However, the whole time you can see the power up at the top and you can’t help but guess what it’s gonna be.


Hey wonderful people, did I mention your shirt looks nice today? Anyway…

Previously I said that there would be no shooting and no punching, however, I never exactly meant that I wouldn’t add combat and enemies and such. But you will fight these enemies entirely by jumping on them, now that may sound pretty boring but I believe it can be done well.  For example (even though they weren’t bosses) I always thought fighting hammer bros as Mario was very engaging even if there were no platforms or anything.


I figured the core idea was creating it so that the player had to make a strategic decision of when to try to jump on the enemy. Or to make it so that specific criteria must be met in order to have a chance to jump on the enemy (for example with the hammer bros you need to get on the inside of their hammer arcs before you can try to jump on them.)  Thus I created this guy


A melee boss that swings his electric weapon (Trident? lance? idk) to battle you. He holds it straight up when in a neutral position, this means it is impossible to jump on him unless he swings his weapon. However he only swings at you when you get close, and due to the arc of his weapon, if he starts swinging, you can’t just jump to avoid it. This results in an interesting dynamic where the only way to damage him is to walk up to him, then move away and jump on him.


(By the way, the way this loops is very satisfying and completely accidental)

This enemy is defeated by using a simple pattern: approach, retreat, jump on its head. It’s somewhat difficult to execute but ultimately it is more about muscle memory than any sort of tactics. There is no room for strategy if it does the same thing every time. This is fine for this enemy because it is a miniboss that you only encounter once because bosses are ultimately about learning their patterns then executing the counter.

However, for actual enemies that you encounter multiple times, they need to feel different every time. This can be achieved by making the player rely on the environment to kill them.  For example, an enemy that will stay at the ceiling, making it impossible to jump on. The only way to defeat it is to lure it to a place with a higher ceiling.


This enemy isn’t done and will not appear in the demo.

There are many other ways to add environmental interaction to your enemies. Make them die when they fall off a cliff, make them die when they walk into another enemy, have enemies explode when they die and those explosions will kill other enemies. Maybe create enemies that will shoot bullets but if the bullets miss the bullets can kill other enemies. The point is that just jumping on an enemy isn’t very fun, but you can make all types of enemies that force you to strategize when you jump on them and how you position yourself.

Then there are the setpiece enemies. The enemies that you don’t exactly fight but either just survive until they die or wait around for one of their weaknesses to magically pop up.setpiece.gif

Most bosses from Rayman Legends fit this description

However, I’m not a fan of this type of combat because it doesn’t really feel like an actual fight and there is no room for player skill. What I mean by this is that the worst player and the best player will essentially fight the boss in the same way, there is no way to kill the boss faster by being better at the game.

Another, very similar, type of fight is a battle that offers “hard vulnerabilities” these are moments in the fight where the boss is invincible for most of the fight except for moments when it is extremely obvious that you should attack now.


These fights often suffer from the same problem of being too predictable and not based on the player’s actions. So that’s why most of the bosses in my game will be a different type of fight. One that doesn’t offer you hard vulnerabilities but is constantly able to be damaged it’s just very difficult to get close enough because of the boss’ attacks.


Don’t worry this guy’ll have a sprite eventually

As you see in this video there are many opportunities to jump on the enemy but they are always somewhat protected by bullets. This means that the more skill you have the more of these openings you will be able to utilize, meaning the better you are the faster you kill it.


I really enjoyed the checkpoints from Ori and the blind forest,  for those unfamiliar with the game, your character has the ability to create his own checkpoints.  However, this uses up some of a resource that you use for many things in the game.



This requires you to try to estimate how dangerous the upcoming area will be.  I thought about how I could introduce an interesting system for checkpoints in my game. My game has no sort of resource that I could use for that nor do I want to have the exact same system. I thought about what sort of emotion I wanted to instill within my player with the checkpoint system. I want it to feel like you are taking risks, I thought about shovel knights system where you can destroy checkpoints for money.


This makes it feel like you’ve given up your safety net and now you can’t mess up. I want the same emotion but I don’t have anything you could gain from destroying a checkpoint (except coins but I don’t want to utilize them that way). Then I thought about it again, you could have a resource if the checkpoint itself was a resource. Imagine that throughout the game you have locked checkpoints that behave exactly like checkpoints from any other game. But you also have a “mobile” checkpoint, which you can place then pick up and put down.


if you die while the mobile checkpoint is out you respawn at it. If you are holding it then you respawn at the last locked checkpoint that you activated. If you reach the next locked checkpoint while your mobile one is still out then the mobile one comes back to you.


I think this definitely creates a risk vs reward mechanic because the only way to move your checkpoint through the levels is to pick up your checkpoint and have to go through areas without having a nearby checkpoint.  This also means that even though you will die a lot (so far this game is very difficult) you don’t get set back far and the respawn times are instant (i.e. super meatboy).

However, that might be confusing for the first bit of the game and if I wanted to really make the players feel risky for picking up checkpoints I would need to put quite a bit of space between locked checkpoints (about 3 minutes of gameplay maybe) but that’s a lot to lose for one mistake, so maybe I should stick to the normal checkpoint formula. Comment whether you think that this checkpoint system is worth anything or if I should use normal checkpoints.

Level Design Philosophy

Now that I have the jump, it’s time to build the tutorial.  I need to start making the very beginning levels which will serve as a tutorial for the player (even if they don’t realize it). When designing the tutorial levels you have to make sure each section of the level is:

Great at conveying some sort of message to the player that is relatively easy to observe and isn’t cluttered. Like a screen of a level that introduces some new enemy or obstacle shouldn’t also introduce another mechanic at the same time. You should determine what the message is before you start making the level.

And when I say message I mean a mechanical message like “You can jump higher by holding jump” not a narrative message such as “God is dead, nothing matters, oriental ramen is the best ramen”. Narrative message in level design is an amazing thing but it’s not what I’m talking about.


This level is essentially broken into 2 levels, the top part introduces moving threats that must be dodged. It is immediately moving towards you down a long hall with a high ceiling so it’s easy to jump over and if you don’t jump you will be returned to the nearest checkpoint which is right before you enter the room. So if you fail you’ll be trying again in 2 seconds.


Then there’s the lower part of the level, that might take several tries for a new player. It’s purpose is to introduce platforming challenge. If you keep moving in the same direction after jumping over the enemy, you’ll land on solid ground. Notice how there are no threats in the lower section of the level besides falling at first. However in order to eventually force the player to make the first jump, the enemy will eventually fall back on the player.


I think of levels as having layers, (much like onions, ogres, and Taco Bell’s 7 layer burrito) layers of how players interact with them.  There’s the layer of what is immediately obvious to the player about the room, in this example it would be that there is an object moving towards the player. Then you have the layer of their options to achieve their goal, this room has a high ceiling which allows the player to jump over the object. But even within the category of options there are multiple layers depending on the player’s skill and abilities.


That is how a newcomer to the game would experience this level.


And that is how someone with a double jump would experience it.


And that is how a speedrunner would experience it.

This one screen level has many purposes and many different layers (and all the same principles apply to playing this level backwards). I will continue trying to put this amount of effort into each and every screen.

If you want to see more of my game check out our twitter.