Devlog #1: Intro & Player Input
Shmup game devlog #1, introduction and player input. Building a game with Swift and SpriteKit.
I just published my first devlog to begin sharing the process of the game I am developing with Swift and SpriteKit.
Being the first video I record on the subject it's mainly an introduction. Towards the end it get a bit more interesting where I walk through my player input system, showcasing it with different controllers on different systems.
I hope you will enjoy this video and the ones to come...
The game I'm working on is a classic shoot‘em up, a shmup. We are talking about spaceships, tons of bullets, weapon upgrades, cheesy plot, vertical scrolling and all the other goodies. While being inspired by multiple retro shmups, I am not going for a retro pixel look, but instead using tools and techniques to get a polished game with modern graphics. For the music I might want to go a bit retro towards the chiptune genre.
What I plan for this devlog going forward, apart from documenting how the game evolves towards a finished state, is to share the techniques, thoughts and what tools I use to create the game and all the assets. That would include things like using 3D, creating textures, designing levels, creating sound and music and everything else that needs to be done to get a complete game.
I'm designing the game from day one to be multi-platform and to natively fit the different screens and aspect ratios of iOS, tvOS and macOS. The same goes for the player input and game controls, where I want a really flexible and robust system that adapts to the different platforms and devices.
In the video you'll see the system I've built that works consistently over iOS, tvOS and macOS and that can use any kind of controller device the player might have. It seems to work perfect so far, so check out the test I made with different combination of devices. And while watching, enjoy the nice placeholder graphics I am currently using in the game. 🤓
More in-depth details about my player input handling and game controller implementation will be the subject of a future article.