Devlog #6: Level Editor

It's time for the sixth devlog of my indie shmup game. I've now built the first iteration of a level editor as a macOS app embedding a SpriteKit view.

Devlog #6: Level Editor
Johan Steen
by Johan Steen

It's time for the sixth devlog of my indie shoot 'em up game. I've now built the first iteration of a level editor as a macOS app, embedding a SpriteKit view.

macOS App

I’m making the level editor as a macOS app within the same Xcode project as the game, so I can share relevant code between the editor and the game. By doing it this way the level editor has access to the classes and assets to easily reproduce the game behavior inside the editor.

For a selected enemy I can move around the trigger point and I can choose which movement pattern to use. As well as changing enemy type. The editor also tracks and displays some position data that I found helpful to have.

Let’s just say that this is way faster and more convenient when setting up a level compared to what I had before.

Future Features

I don’t want to spend time adding features by guessing what I need, so I’ll use this version for a while and see what features I will feel is the most urgent to have.

Some things I can think of that I probably will end up doing is

  • Grid snapping when moving items around. Actually a suite of snap and alignment tools, including align in formations.
  • Duplicating a group of enemies and move to a new position.
  • Multi select and move.
  • Maybe also some formation tools to quickly design different kind of formations.
  • Also a editor mode to create new movement paths might be of use.
  • Finally the big one, I’ll need a mode so I can sort of play the game in the editor and scrub back and forth in time. That would be helpful to design levels that are fun to play.

That concludes the first iteration of the level editor. I’ll revisit the editor after I’ve added more features to the game.

Discuss this article

The conversation has just started. Comments? Thoughts?

If you'd like to discuss any of the topics covered in this article, then head over and hang out on Discord.

You can also get in touch with me, and keep up with what I'm up to, on Twitter or Mastodon.

Sign up to the newsletter to get occasional emails about my game development.