Sometimes, you need to make a shmup to learn how to make other games…

As you might know if you’ve been reading this blog for a while, I feel it is important for a journalist to stay grounded when writing about things. And since I write about software, I feel it is important for me to know how programming works. Since I’m historically not very good at maths and therefore always struggled with learning programming, I’ve tried to tackle this problem in recent years (especially since I went freelance and gained full control over my workday). This is one of the reasons I was so excited when I discovered the PICO-8 fantasy console in 2020. After failing to realise my first game idea, I tried again last year and am now working on a third game idea. I have, however, realised that I keep running into programming obstacles I cannot easily surmount. This is why I decided to pause development on all these games and change track.

I recently discovered Krystian Majewski’s amazing tutorial series on making a shmup in PICO-8. It is geared at absolute beginners, so it’s right down my alley.


Therefore, I have decided to follow this tutorial and code a shmup1 now. This will accomplish two things:

  1. I will actually finish a game.
  2. I will hopefully learn enough about Lua and PICO-8 programming along the way to enable me to tackle my own, more complicated game ideas.

I decided to make a game inspired by classic TV sci-fi and have made it to episode 17 of the tutorial series now. I have the look and feel of the game nailed down pretty well, too — all the major gameplay elements are there.


Of course, now the real fun starts: Making this into an actual game. Which is the hardest part of the exercise. Still, I am pretty proud of how far I have come already. If you want to have a look at my horrible code, it is available on GitHub. You can also follow further development there. If you don’t own PICO-8, but you want to try out the game in it’s current (unfinished) state, download one of the binary versions of the program for your operating system.


  1. A shmup, or shoot ‘em up game, is a video game where you are usually flying a spaceship and the level scrolls by automatically in a vertical (sometimes horizontal) manner. Wikipedia defines shmups as follows: A “shoot ‘em up”, also known as a “shmup” or “STG” (the common Japanese abbreviation for “shooting games”), is a game in which the protagonist combats a large number of enemies by shooting at them while dodging their fire. The controlling player must rely primarily on reaction times to succeed. Beyond this, critics differ on exactly which design elements constitute a shoot ‘em up. Some restrict the genre to games featuring some kind of craft, using fixed or scrolling movement. Others widen the scope to include games featuring such protagonists as robots or humans on foot, as well as including games featuring “on-rails” (or “into the screen”) and “run and gun” movement. ↩︎