Shoot ‘Em Up


“Shoot ‘Em Up” is a sidescrolling shoot-em-up flash game I created in 2012.
You can still play it on Kongregate, if you use a browser that supports flash.

It was an experimental game, in that I wanted to experiment with using the Kongregate-sharing-API to create a sort of co-op game where players play in cooperation with a recorded run of another player.

seu2 seu3 seu4 seu14
seu5 seu7 seu15 seu23 seu20 seu21 seu22 seu16

You don’t need a kongregate account to play the game or to play coop with any of the recorded runs, but if you do have one, you can save your own run and share it with others after completing a level.

For more info on the making of the game, see my previous post about it

Gem Eater

Gem Eater is a casual puzzle game I created in the 2nd half of 2017.
It’s available for free on the Google Play Store:
Google Play Link

In Gem Eater you play as an underground gem-eating snake. Just drag the snake’s head to move him around.
You eat your way through a screen filled with dirt, stone blocks and gems; trying to eat as much gems while making big combos, without getting stuck.

You gain points by eating gems, these come in 3 colors, red, yellow and blue.
Each time you eat the same color as the last, you increase your gem combo, earning you more and more points each time. But eat a different colored gem, and the combo ends.

It’s a unique game mechanic that works really well, it’s easy to start playing the game, but it takes a clever mind to master it.

For more info on the making of the game, see my previous post

Tacx Trainer Software – Level Update

Years ago, I made the graphics for the Tacx Trainer Software Virtual Reality (including tools and shaders).
But after about 8 years, the first levels started to feel a bit outdated, so I got the opportunity to revamp the Mediteranian/Italy levels.

The main restriction was that the road-structure had to remain exactly the same.
But we also didn’t want the levels to suddenly become a lot more demanding (hardware-wise).

I made a lot of new vegetation (grass, plants, trees), and new water-, terrain- and vegetation-shaders among other things.



Improved Terrain UV-mapping

As part of improving these levels, I also created a terrain shader that reduces the vertical UV-stretching that is typical for standard heightmap-based terrains:
(the level itself wasn’t fully finished however, at the time of these screenshots)

Silent Protagonists

Everyone knows what a silent protagonist is; one that doesn’t speak. Except, that’s not really true, and many don’t really seem to get that.

There are a lot of games that try to make a silent protagonist by making the character mute. Jak&Daxter is a good example of this. The player character, Jak, never says a word.

Jak’s a great guy, but horribly ineffective as a silent protagonist

While I do love that game, the developers didn’t seem to understand what a silent protagonist is.
Many people seem to think that making the playable character not speak somehow makes the player more connected to the character. But that’s a gross simplification of a silent protagonist. It’s not simply the act of speaking that distances the player from the character, it’s every action the character does that isn’t in line with what the player would do. So making him mute is pointless if you instead make him react non-verbally. Which is what Jak does all time.
(like All . The . Time)

Another thing you often see in games, is that other characters comment on the fact that the player character doesn’t speak.

While it’s meant as a joke, it’s still harmful. It’s like a bad 4th wall break.

The reason why this is wrong, is because a silent protagonist isn’t actually mute, we just don’t see/hear him respond/react! He does react, namely whatever the player’s reaction is. It’s just not shown to the player, as that’s not practical (seeing as every player could have a different reaction), and there’s also no need to, as the player knows what his own reaction is.

But of course, making the player character stand still with a blank expression isn’t right either. Because not reacting is also a reaction, and most likely not the same reaction as the player has.
So the only proper way of doing a silent protagonist, is by not showing his reaction (or lack of) in a way that doesn’t feel contrived. 

This is why silent protagonists are more common in older games and first-person games.
In first-person games this is ofcourse because we can’t see the player character anyway. In old games it was because they were way more visually abstract than most games nowadays (by which I mean, lower graphics). For example, the old Zelda game boy games; all the characters barely animate, at most they have an idle animation and a walking animation. So when the player character doesn’t show any reaction to anything, that’s fine, as it’s in line with how everything else behaves in the game.
(And again, it’s not that they don’t have a reaction, it just isn’t shown to us.)

Many people complain about the silent protagonist concept nowadays, but the problem lies in it’s misuse, not the concept itself. Silent protagonists get used incorrectly and thrown in games they don’t fit in. And I feel people rightfully complain about that.

The point of a silent protagonist is for the character be an extension of ourselves, rather than him being his own person with his own personality. A silent protagonist is the player.
So if you’re making a game, and you want the player character to have a certain personality (which is most often the case in games with a strong focus on the story), whatever his personality may be,  you should probably not have him be a silent protagonist.
If instead the story of the game is what the player makes of it, it might be a good idea to have him be a silent protagonist.

The making of Gem Eater

My first mobile game

It took me long enough, but last year I finally decided to make a mobile game.
The main reason being that I felt I should make a smaller game for once, and fully finish it, rather than the heap of unfinished (bigger) game projects I have.
I also wanted it to be accessible to most people, so a mobile game seemed like the best choice then.

I have to admit that mobile games, and casual games, are actually a bit out of my comfort zone. But that only makes it more of an interesting challenge to design such a game.
I didn’t have to make it a casual game, but I felt like I should make it as easy to get into as I could (to a degree), and IMO that seems like one of the key-aspects of a casual game.
(This because I noticed that the games I made before often required me to explain to people how to play, rather than people understanding it immediately themselves.)

The game

In Gem Eater you play as an underground gem-eating snake. Just drag the snake’s head to move him around.
You eat your way through a screen filled with dirt, stones(blocks) and gems; trying to eat as much gems while making big combos, without getting stuck.

You gain points by eating gems, these come in 3 colors, red, yellow and blue.
Each time you eat the same color as the last, you increase your gem combo, earning you more and more points each time. But eat a different colored gem, and the combo ends.

At first the screen is only filled with dirt and gems, you’re free to move around carelessly, but as you eat your way through, stone-blocks will fall down among the dirt and gems. These stone blocks are impassable, and slowly but surely the screen will fill up with these, making it harder for you to get around, until eventually, you get stuck. That is, unless you reach the target score first.

Designing the mechanics

Comming up with the game concept and designing the mechanics was actually rather easy. I knew I wanted to make something similar to old arcade games, which quickly made me think about games like Tetris, Snake and Bejeweled. And it didn’t take long for me to come up with a bunch of ideas involving falling blocks and snakes eating gems.

Now don’t get me wrong, my idea wasn’t to copy existing games, I always want to make fully original games, I just wanted something with a simple concept, structure and controls as these games.

I had the main game mechanics pretty much entirely worked out in my head before even making the first prototype.
After making the prototype however, finalizing the entire game took a lot more time to figure out.
I had expected to finish the game in a couple of weeks in my spare time, but it ended up taking months.

Finalizing the game and adding extra content

At first it was just gonna be like Tetris; no stages, you just play until you get stuck, and that’s it. But I realized it would be more fun to have to try to reach a target score, which clears the solid blocks and makes you advance to the next stage, which has a higher target score.
I also felt (And still do) like it would be best to have every stage continue from the last (as in: keep all tiles with dirt and gems the same), rather than have you move to a new screen as you go to the next stage. Because this way you can save gems for later, and it just makes all the stages feel like one big level rather than a bunch of small ones.

However I felt like the game was a bit too short and lacked reason to play the game over and over, and it took me long to decide what to do against that.
Eventually I came up with a bunch of variations of the snake, each with a different power that could help you. And I decided to make the player unlock these one by one.
But it wasn’t clear to me what would be the best way to unlock these.
At first I made it so you needed to reach a certain highscore for each to unlock. But I eventually made it so you earn coins for completing stages, and more coins the higher the stage. And you could then use these coins to unlock the next snake.
The benefit this has over unlocking through highscore, is that every game you play brings you closer to your goal of unlocking the next snake, even when you don’t play as well as before. And since the main purpose of it was to give the player a reason to keep playing, I went with this approach.

All the snakes

I also added in achievements and a leaderboard through google play.

After having played the game myself a bunch, and becoming very good at it, I found that starting at stage 1 each time was a bit tiresome. (Even though that was actually one of the core aspects of the game I wanted, like old arcade games)
So I thought about having the player be able to start a game at a higher stage, but I didn’t know how to make that work exactly. With how many points would he start? Making it too low and it’s pointless to do when you’re trying to beat a highscore, and making it too high would be unfair as well.
So I thought about making the player able to set checkpoints at a stage while playing, and when you start from that checkpoint (CP for short) later, you’ll have exactly the same points and everything as when you initially set it. But I didn’t want the player to just be able to start from a CP as soon as he got there for the first time. Because that would cause the player to set the CP as high as he could, and would ruin the fun of the game. I kindof wanted the player to only be able to set a CP at stage 10 when he is able to get to stage 20, for example. But I couldn’t think of a good way to do this without making it all too complex.
In the end I made it so you can only set (and start from) a CP by spending coins, and the cost increases exponentially the higher the stage. This ensured that it is only beneficial to set a CP at least about 5-10 stages lower than the highest stage you can get to. (Because when you set it higher, it would cost more coins to start from the CP than you could make back)
Honestly, I’m still not entirely sure if that was the best approach, but I think it’s good enough.


Most people were really positive, and I know a couple of people that really loved it and played it a ton. And I’m really happy for that.
But In the end though, the game went pretty much unnoticed, most of the people that played it are people I know personally.
I also added in (optional) rewarding ads, more as an experiment than anything else, but I’m not even close to reaching the minimum number of views to even have the chance of making any money on it.
I didn’t expect it to become a huge success or anything, especially since I spent no money on advertising the game, I just posted about it on facebook and the Unity forums and that’s about it.
But still, when I compare it to years ago when I posted flash games on Kongregate, every game there was easily played a couple hundreds of times after just a single day without telling anyone about it. In the grand scheme of things, that’s still not much, but at least it’s something. Now on the play store, I think not even a single person encountered my game without being directed there by me (either in person or through a post of mine).
But it shouldn’t really be news to anyone that if you post a game on the play store, without advertising it in one way or another, it’s (most likely) never going to reach anyone.

One problem with my game, is that it’s visual style isn’t really attracting anyone I think. I mean I don’t think it looks awful or anything, but it does look rather generic. And I don’t really think any screenshot or video of the game will ever make anyone think “wow, I want to play that!”.

If I wanted more people to play this game, I should have advertised this game better, and made some better promotional images (or have these made) at the very least.


Although it’s ofcourse a rather small game, I’m rather proud of the it. The game mechanics are truly original. And I honestly feel like they are simple but deceptively deep. The way everything influences everything else; every tile you eat causes the tiles above to fall down, changing the shape of the level. The way you eat around the solid blocks defines the wall, rooms, tunnels of the level.

It’s easy to start playing the game, but the more you play the better you get at it because you start to understand the consequences of your every action and you start to see the strategic aspects of the game.

The game is available for free on the Play Store:
Google Play Link

Improving the battle-system in Pokemon

The problem with PP

I mentioned in my previous post that I don’t consider the PP-system in Pokemon a very good system.
It’s a means to limit the use of stronger moves, but it’s not very effective at that and it mostly just causes annoyance.
Or to quote myself from my previous post: For battles that matter, you generally make sure to have full PP before battle, effectively making PP irrelevant, as you’ll rarely run out of PP for any move within a single battle (except rarely for some specific powerful moves that have only 5 maxPP). Outside of these battles, it just feels annoying when you have to heal at a pokecenter when you’re pokemon are in full health, just because a move ran out of PP.

Not only that, but it’s (what I think is) the reason Pokemon doesn’t use a move-learning/remembering system like Ni no Kuni.
You might argue that not having the current PP-system wouldn’t necessary mean that Pokemon would switch to the Ni no Kuni system, but I really think they would, as it seems like they (=Nintendo/GameFreak) are already trying to make it more like that.
For one, they added Move Relearners, which are NPCs that can make your pokemon relearn all the moves they could learn at a lower level.
And they made TMs be reusable, which is a terrible decision IMO, as it causes more pokemon to know the same moves, decreasing variety.
These are both attempts to make it more like the Ni no Kuni system, but they’re not as good as just being able to choose the moves at any given time outside of battle. (and they should revert the TM change)


So I propose the following system to replace the PP system:
Instead of having PP per move, every move has a cooldown, of either 0, 1, 2 or 3 turns.
Moves with a 0 turn-cooldown, can effectively be used every turn, moves with a 1 turn-cooldown every other turn, etc.
Making the maximum 3 turns will ensure that there’s always atleast 1 move that can be done (if you have 4 moves).
In general, moves that currently have high maxPP, would get a low cooldown, and moves with low maxPP, would get a high cooldown.

For example:

Pokemon PP Moves

A pokemon with it’s moves and their respective PP

Pokemon Cooldown Moves

Would become this when using the cooldown system

My idea is to have these cooldowns be reset outside of battle, so all battles start with all moves usable, but switched out pokemon would leave their cooldowns as they are. (So a pokemon has to be in battle for their moves’ cooldowns to reset.) Though I suppose switched in pokemon should have their cooldowns be lowered by 1, seeing as the player already loses a turn switching that pokemon in.

I made a beautiful mockup showing how it would work in battle:

pokemon cooldown moves

The cooldown system in action (opponent’s actions aren’t depicted).
Note that dig is a 2-turn move

I think this system could be a better way to make player’s think about what moves to use, and can cause battles to be more strategically interesting. All without causing the annoyance and hindrance of PP.

Improving the moves-system in Pokemon

I don’t know why, but I recently got in the pokemon-mood again. That is, in the mood of thinking about ideas to improve the pokemon games.

One thing I have thought often, is that I think it would be better if they made pokemon learn more than just 4 moves.
I don’t mean they should have more than 4 moves at their disposal in battle, but the player should be able to pick the pokemon’s 4 battle-moves, out of a list of all the moves this pokemon has learned, outside of battle. Like Ni no Kuni did.

Now it isn’t like this in pokemon, and I’m sure the reason isn’t because the people at Game Freak / Nintendo have never thought about it. (And even if they hadn’t, Ni no Kuni happened)
For a long time I’ve wondered what that reason could be, as IMO, the Ni no Kuni moves-system is better in every way.
But I think I finally realized what the reason is, and it’s as small as it is stupid;
it’s because of the Power Points.

See Power Points, or PP, is pokemon’s version of mana or MP or whatever you want to call it, but instead of there being 1 mana pool per creature, it’s per move.
The use of mana-cost is generally to have some way of limiting the player’s use of strong abilities, preventing the player from using only his strongest move(s) without thinking.
In pokemon this is no different, by having stronger moves have less max PP, they intend to have the player use these sparingly, only when he needs to.

The reason Ni no Kuni can have their moves-system, and why pokemon can’t (at first glance at least), is because in Ni no Kuni moves don’t have PP, but simply use the character’s mana-pool. Switching moves outside of battle has no effect on the mana pool, so there’s no problem. But if the pokemon games would allow this, player’s could just switch moves that ran out of PP with other moves, drastically postponing running out of PP.

Now one might say that isn’t necessarily a bad thing.
For one, the current PP system isn’t a very good system to be honest, it’s mostly just annoying; For battles that matter, you generally make sure to have full PP before battle, effectively making PP irrelevant, as you’ll rarely run out of PP for any move within a single battle (except rarely for some specific powerfull moves that have only 5 maxPP). Outside of these battles, it just feels annoying when you have to heal at a pokecenter when you’re pokemon are in full health, just because a move ran out of PP.
Another thing is that it would still stimulate players to use lots of different moves, rather than using the same old all the time.

But if there’s one thing the different pokemon games have taught me about Game Freak / Nintendo, it’s that they don’t like to make “drastic” changes to their winning formula if they don’t have to.

So I propose a simple solution that allows the Ni no Kuni moves-system, without it ‘breaking’ the PP system.
And that is to simply take over the PP amount of the old move, when switching it for an other move, in relation to their maxPP.
For example: I have a charmeleon that has the move ’ember’ with 10 PP of its 25 maxPP set as 1 of his 4 battle moves, and I want to switch it for ‘flamethrower’ which has 15 maxPP. Doing so will result in having ‘flamethrower’ with 6/15 PP. As 10 out of 22 PP is equal to 40%, and 6 out of 15 PP is also 40%:
10 / 25 = 0.4
0.4 x 15 = 6

That way the PP system isn’t undermined when switching moves.

Now if you’re wondering “but what when the result isn’t an integer?”
Then we have to get technical:
The solution is to store a floating point number internally, rather than an integer, for the moves current PP. But to the player we display this number floored to an integer. We then consider a move out of PP whenever it’s lower than 1.

And there we have it, a clean solution to the PP issue.
(Oh god, PP issue, I just noticed how that sounds)

At least that’s what I thought, until I realized that this system could be easily abused to make a move replenish PP, by switching it out, and then switching it back in for an other move, completely undermining the PP system.

Sigh, so much for a non-“drastic” solution.
I add the “” because I personally don’t find any of these changes to be drastic, but I feel Nintendo probably would.

Anyway, my point was simply that I think the Ni no Kuni system would be favorable over the current system, it just may need a small workaround for the pp system.
They could just use a mana pool like most other jrpgs use, but I have another idea, albeit just as drastic (or even more so), but I’m saving that for an other post.