iOS Swift Game - Push SpriteKit to the limit

Overview

iOS Swift Project - Legend Wings - EverWing's Mini Clone

EverWing is a popular action game. Survive as much you can, earn gold, and upgrade/purchase new characters.

Videos - Alpha v3.5.1 - Date Recorded: 07/08/2017:

Intro Video


Videos - Alpha v3.0.4 - Date Recorded: 06/20/2017:

Intro Video


Next video update on: Alpha v4.0.0

Notes:

  • Xcode Version: 9.0 Beta 2| Latest iOS: 10.3
  • Using Xcode's simulator will be a bit laggy. Use Device for best experience.
  • Current version: Alpha v3.5.3.
  • *Best experience with iPhone 7 Plus.

Message from developer [07/18/2017]:

This week I had attended many meetings, and due to lack of time, I did not work on the treant class. I have finished the sprites for treant. But, I want to let you know that this project will slow down significantly since I am working on other projects.
I have received many private messages about using the source code, so I will use this place to answer it.
Even though this is an open source project, but this does NOT mean you can use it for commercial-purpose or publish on AppStore by re-skin/re-modeling the sprites. The main purpose of this project is to show what we can achieve with the Apple's SpriteKit and it is also my hobby to do so. Of course, if your purpose is just to learn and/or practice, you are free to use the code as you like.

TODO list:

  • [ ✔️ ] Add Basic Magnetic Field on Characters - 07/08/2017
  • [ ✔️ ] Replace regular monsters - 07/12/2017
    • [ ✔️ ] Add new regular monsters sprites - 07/11/2017
      • [ ✔️ ] Redder - 07/11/2017
      • [ ✔️ ] Grenner - 07/11/2017
      • [ ✔️ ] Bluer - 07/11/2017
      • [ ✔️ ] Pupler - 07/11/2017
  • [*] Add new Boss
    • [*] Add Treant Sprites
    • [] Add Class for Treant
    • [] Add Actions for Treant
  • [*] Re-work on difficulty over time

[*] = Working [ ✔️ ] = Done

Future Implementations:

  • About to join TODO List (Order does not matter):

    • [] Add new drops from monsters (diamonds, trophy... etc?)
      • [] Gems (Red, Green, Purple)
    • [] Add new map
    • [] Re-work drop system.
    • [] Add chance to summon shiny regular monster. (They drop Power-Ups)
    • [] Add Power-Ups
      • [] Imune Item
      • [] Increase Fire Power
      • [] Double Shoot
  • High Priority (Order does not matter):

    • [] Add Level&Exp System for Account
      • [] Customized UI Progress Bar
      • [] Show level on the Badge
      • [] Show Current Percentage on the Badge
    • [] Add Game Over Scene
  • Low Priority (Order does not matter):

    • [] Add Purchase Character Function
    • [] Add Companions System (Each side with a small minion to assist you) - Sidekicks!
    • [] Add new effect for character's death
    • [] Add sound when Fireball is incoming
    • [] Pinky constant speed
    • [] Add Unit Test
    • [] Add Character unique skills
    • [] Add new FX for character's bullets

Note: Each new feature moves from Low Priority -> High Priority -> Todo List. In short, low priority items will go up.

Discovered Bugs:

  • Pinky completly freeze itself when it kills the player

Note about bugs:

Unless it crashes the game. Above bugs are put in low priority to be fixed.

Main Accomplishments:

  • [ ✔️ ] Add support for iPhone 5, iPhone 6, iPhone 6 Plus, iPhone 7, iPhone 7 Plus
  • [ ✔️ ] Preload Textures
    • [ ✔️ ] Add progress bar
    • [ ✔️ ] Divide Atlas into smaller atlas
  • [ ✔️ ] Coin System
  • [ ✔️ ] Character Selection
    • [ ✔️ ] Alpha
    • [ ✔️ ] Beta
    • [ ✔️ ] Celta
    • [ ✔️ ] Delta
  • [ ✔️ ] Add Backup Logic
  • [ ✔️ ] Add Progress Track
  • [ ✔️ ] Add Singleton Global to access all Sprites
  • [ ✔️ ] Add shader to fonts (OpenGL)
  • [ ✔️ ] Remove Main.storyboard for faster build time
  • [ ✔️ ] Add Bomber Boss in-game
  • [ ✔️ ] Add Pinky Boss in-game - 06/28/2017
    • [ ✔️ ] Add Pinky Boss Sprites
    • [ ✔️ ] Add Pinky Boss Actions
  • [ ✔️ ] Add Labels in Character Selection - 06/28/2017
  • [ ✔️ ] Add particle effects when selecting character - 06/29/2017
  • [ ✔️ ] "Fix" and find a better logic for the top bar which displays account progress 06/30/2017
  • [ ✔️ ] Add customized font ttf for Gold Label with OpenGL shader 06/30/2017
  • [ ✔️ ] Re-implement logic to increase enemies' HP and Velocity over time 07/03/2017
  • [ ✔️ ] Add new bullets for characters:
    • [ ✔️ ] Add Alpha Bullet Sprites 07/04/2017
    • [ ✔️ ] Add Beta Bullet Sprites 07/04/2017
    • [ ✔️ ] Add Celta Bullet Sprites 07/04/2017
    • [ ✔️ ] Add Delta Bullet Sprites 07/04/2017
  • [ ✔️ ] Add Class to create custom bullet sprite 07/04/2017
    • [ ✔️ ] Add Bullet Power Logic - 07/08/2017
    • [ ✔️ ] Add Upgrade Bullet Function - 07/08/2017
    • [ ✔️ ] Add Upgrade Scene on Character Scene 07/05/2017
  • [ ✔️ ] Display current level of bullet and its image on Character Scene 07/05/2017
You might also like...
An iOS app build with SpriteKit
An iOS app build with SpriteKit

Gravity Zen This is an iOS app build with SpriteKit. It shows a gravitationals f

Swift framework for working with Tiled assets in SpriteKit
Swift framework for working with Tiled assets in SpriteKit

SKTiled is a framework for integrating Tiled assets with Apple's SpriteKit, built from the ground up with Swift. This project began life as an exercis

The one and only open source 4X MMO mid-core strategy game for iOS. Similar to Game of War and Mobile Strike

4X MMO Strategy Game for iOS I have spent 4 years of my life and a significant amount of money into completing this game and I hope you enjoy it. For

IOS Spin Game - A simple spin game using SwiftUI
IOS Spin Game - A simple spin game using SwiftUI

IOS_Spin_Game A simple spin game using Swift UI.

Glide is a SpriteKit and GameplayKit based engine for building 2d games easily
Glide is a SpriteKit and GameplayKit based engine for building 2d games easily

Glide is a SpriteKit and GameplayKit based engine for building 2d games easily, with a focus on side scrollers. Glide is developed with Swift and works on iOS, macOS and tvOS.

A snake engine written in SpriteKit for all Apple devices.
A snake engine written in SpriteKit for all Apple devices.

A snake engine written in SpriteKit for all Apple devices. ⭐ Features Fully tested engine functionality. Framework based, super easy to integrate in d

A little arcade game that uses SwiftUI as a game engine.
A little arcade game that uses SwiftUI as a game engine.

SwiftUI Game A little arcade game that uses SwiftUI as a game engine :) Just copy the code into the Blank playgroundbook in Swift Playgrounds app on i

🦁 🃏 📱 An animal matching puzzle card game– built with turn-based game engine boardgame.io and React-Native + React-Native-Web
🦁 🃏 📱 An animal matching puzzle card game– built with turn-based game engine boardgame.io and React-Native + React-Native-Web

Matchimals.fun an animal matching puzzle card game 🦁 🃏 🍎 Download for iOS from the App Store 🤖 Download for Android from the Google Play Store 🖥

Switshot is a game media manager helps you transfer your game media from Nintendo Switch to your phone, and manage your media just few taps.
Switshot is a game media manager helps you transfer your game media from Nintendo Switch to your phone, and manage your media just few taps.

Switshot is a game media manager helps you transfer your game media from Nintendo Switch to your phone, and manage your media just few taps.

Comments
  • Truncated Strings

    Truncated Strings

    Hi @woguan ,

    I'm reporting this issue because my team and I are trying to localize this game to different language(s) for a school project (200% no commercial purpose). In your project, you made the description of characters go to different lines by hard-coded them. This, however, makes localization hard.

          let firstLabel = SKLabelNode()
                firstLabel.numberOfLines = 0
                firstLabel.preferredMaxLayoutWidth = 1000
                firstLabel.name = "character_menu_firstlabel"
                firstLabel.horizontalAlignmentMode = .left
                firstLabel.verticalAlignmentMode = .top
                firstLabel.fontColor = .brown
                **firstLabel.text = "She was born in the wilds and "**
                firstLabel.lineBreakMode = NSLineBreakMode.byWordWrapping
                firstLabel.fontName = "GillSans-Bold"
                firstLabel.fontSize = firstlinebox.size.width/MAGICNUMBER
                firstlinebox.addChild(firstLabel)
       
            // 2nd Line
            let secondlinebox = SKSpriteNode()
                secondlinebox.name = "character_menu_secondlinebox"
                secondlinebox.size = CGSize(width: txtBox.size.width, height: txtBox.size.height/3)
                secondlinebox.anchorPoint = CGPoint(x: 0.0, y: 1.0)
                secondlinebox.position.y = -secondlinebox.size.height
                secondlinebox.color = .clear
                txtBox.addChild(secondlinebox)
        
            let secondLabel = SKLabelNode()
                secondLabel.name = "character_menu_secondlabel"
                secondLabel.horizontalAlignmentMode = .left
                secondLabel.verticalAlignmentMode = .top
                secondLabel.fontColor = .brown
                **secondLabel.text = "raised by dragons. When dragons"**
                secondLabel.fontName = "GillSans-Bold"
                secondLabel.fontSize = secondlinebox.size.width/MAGICNUMBER
                secondlinebox.addChild(secondLabel)
    

    For example, in order to localize it, we need the firstLabel.text = "She was born in the wilds and " and secondLabel.text = "raised by dragons. When dragons" to be in the same label.text. Our team has googled and tried everything we could, but nothing has worked yet. Do you have any ideas how to make them multilined using the same label?

    Thank you so much!!

    Best, Olivia

    opened by oliviatsao 1
  • Game Crashing after loading on iPhone 5s

    Game Crashing after loading on iPhone 5s

    After building and running the game on my iPhone, the loading goes up to 100% then it crashes. The picture of the occurring error is shown below.

    Specs

    • iPhone 5s 16gb
    • iOS 11 beta 3

    screen shot 2017-07-11 at 11 52 16

    opened by Quaggie 1
Owner
Wong Guan
iOS Mobile Developer
Wong Guan
This project is a 2D game for iOS users built with Swift and SpriteKit.

PANDA CLICKER Description Panda Clicker is a 2D game and the aim is to touch the Panda image on the center of the screen. In each touch of the panda i

iremkaraoglu 6 Dec 21, 2022
ShooterGame - An iOS App that is a shooter game. Made with SpriteKit and Swift

Shooter Game This project was created based on the challenge of Day 66 of the 10

António Pedro da Silva Rocha 0 Feb 1, 2022
🕹 iOS game - classic Tic Tac Toe with AI and state machines [Swift + SpriteKit + GameplayKit].

?? iOS game - classic Tic Tac Toe with AI and state machines [Swift + SpriteKit + GameplayKit].

Astemir Eleev 60 Dec 14, 2022
Mergel - a match-and-merge game written in Swift, using SpriteKit

Mergel is a match-and-merge game written in Swift, using SpriteKit. It was created for the purpose of having some fun with SpriteKit and learning the Swift language.

Josh McKee 9 Nov 6, 2022
A Component Piece (a game) for a larger app (KoyaQuest) using SpriteKit

NyonindoChallenge This is a game that is intended for inclusion in a larger app (called KoyaQuest). I have created a separate version because of probl

null 0 Oct 25, 2021
SpriteKit 2D Breakout Game on rotating 3D SceneKit cube almost no code

2D Breakout game playable as texture on a rotating cube An Xcode12 project for iOS that implements a simple 2D SpriteKit "Break Out" style game. The S

Erik M. Buck 0 Nov 6, 2021
Hitting only the bad PinGUYS! Simple SpriteKit game

Whack-a-Penguin Hitting only the bad PinGUYS! Simple SpriteKit game. You have to

Pavel Surový 1 Feb 7, 2022
AngryBirdClone - Usage SpriteKit for create a AngryBird Game Clone

#AngryBird Clone SpriteKit The SpriteKit framework makes it easy to create high-

Hamit SEYREK 3 Feb 9, 2022
🐦 Flappy Bird reincarnation [Swift 5.3, GameplayKit, SpriteKit, iOS 12].

?? Flappy Bird reincarnation [Swift 5.3, GameplayKit, SpriteKit, iOS 12].

Astemir Eleev 290 Dec 27, 2022
The iOS version of 2048, made using SpriteKit

2048 This is a derivative and the iOS version of the game 2048. In the very unlikely case that you don't know what it is, you can check it out here. M

Danqing Liu 1.1k Dec 31, 2022