Inspiration
I wanted my game app to be very unique and I saw that they were not many multiplayer non-board games on the App Store. I also was interested in mobile games where you have to build stuff. I decided to combine these two ideas to create Battle Builders.
What it does
This app is a puzzle game, where players have to build a combination of the strongest, tallest and cheapest tower using the various materials in your arsenal in order to ensure your tower can withstand harsh weather effects. Players can either face off in a tower showdown in the multiplayer mode or complete levels to unlock new materials to use in multiplayer modes.
How I built it
Battle Builders was built using XCode 8 and Swift 3 and SpriteKit. The materials are created when the corresponding icon is pressed, it creates a copy of the original and grants the block certain traits, including cost, strength, weaknesses, and resistances by using Object Oriented Programming. The weather conditions were creating using physics fields programmed into XCode 8 and Swift 3,
Challenges I ran into
One major challenge I ran into was implementing physics for the multiplayer mode. As the multiplayer uses a split screen, the gravity for each player would go towards the center, creating opposing gravitational forces. SKScene in Swift 3 only has one gravity option that is used for the entire scene. I thought to create a different scene for each player and adjusted the gravity and put both scenes in another scene. However, that did not work out. Then, I learned I can apply forces, or vectors, on specific nodes. So, I wrote a method that would cause blocks in the upper half of the screen would go towards the top, while blocks in the lower half of the screen would go towards the bottom. Another major challenge was creating the weather effects using physics fields. If the weather effects were included in the GameScene, the physics fields would cancel each other out. After trying different solutions in Swift, I saw the best solution was to only have one physics field at a time and that I would have to add the physics field in code. Another challenge was to adjust the physics fields' position and strength as the physics fields are extremely sensitive.
Accomplishments that I'm proud of
I am proud that I have an application on the App Store as my app is available to download on Apple products allowing me to have an influence on others.
What I learned
I learned the process of problem solving in computer science and coding as there are always unexpected obstacles regarding the limitations of the programming languages or computers.
What's next for Battle Builders
Recently, in Version 1.1.0, a new single player mode was added with 8 levels. I plan to add more levels in the future, adding a new material type every few levels.
Log in or sign up for Devpost to join the conversation.