Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

NoobInAustin

macrumors newbie
Original poster
Nov 8, 2014
2
0
Hello,

I am new to the forum and new to iPhone game development. I am teaching myself Swift/SpriteKit and iOS game development in general. I've done a few tutorials from ray wenderlich and I'm trying to build my first game (2D puzzle game using swift/spritekit) from scratch.

I have most of my game mechanics worked out but am struggling with how to quickly build and load levels into my game.

I want to implement something like the game Blek does for the levels. As the gamer progresses through the game, the levels become more complex. Blek has dots and other obstacles that appear in various locations on the screen and the players object (a line in Blek) can collide with these dots and obstacles. In my game, I need to detect when an expanding circle hits an obstacle. The obstacle could be a dot, a line or some other obstacle shape.

My first thought was to create a sprite image the size of the screen with the various obstacles in the image. However, xcode treats this image as one big image and cannot detect where my obstacles are located in the image because its just one big .png image. This is also tedious. I've googled puzzle game level design but have not found anything that helps.

I thought about using a tile map and briefly looked at Tiled but my obstacles will not take up very much space on the screen (i.e. a thin line or curve). Admittedly, I do not know much about tile maps though.

What is the best way to create my levels that will allow me to perform collision detection on the obstacles within that level?

I hope this is clear. If not, please let me know. I greatly appreciate any advice offered.

Thank you.
 
My suggestion:

If you want to make a game, for any platform, you should use Unity3D instead. Whereas Swift and the iOS SDKS were designed to be general enough to make any app (for iOS - porting will be difficult), Unity3D was purpose made for making games. All of the common problems that come up in making games (like designing and loading levels) are already handled.

Unity3D lets you target any platform you want, including iOS, Android, OS X, Windows, Linux, Xbox One, PS4, Wii U, 3DS, and pretty much every other console that was released since 2004 (give or take a year.)

Plus if you make under $100K/year from your game, Unity3D is free.
 
Thanks ArtofWarfare. I'm not sure how that's helpful though.

Your selling point for Unity doesn't mean much to me. I'm designing specifically for the iPhone and swift/spritekit are fully supported by Apple so I won't have issues with future updates to the OS. SpriteKit is a gaming framework. Additionally, swift is easy for a beginner like me.

If you have any suggestions related to my question, that would be great.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.