Skip to content
/ SKTetris Public

Educational project for SpriteKit beginners

License

Notifications You must be signed in to change notification settings

chsxf/SKTetris

Repository files navigation

❓ About This Project

App Icon

SKTetris is an educational project for developers learning how to use Apple's SpriteKit 2D framework.

This is a partial recreation of the Tetris game.

Conventions

This project uses gitmoji for its commit messages.

🖥 Supported Platforms

SpriteKit being a proprietary framework from Apple, the game will only be avaiable on the following Apple platforms:

  • macOS 10.15+
  • iOS / iPadOS 13+
  • tvOS 13+

iOS / iPadOS / tvOS Availability

Due to obvious potential copyright infringements, SKTetris is not available directly from the App Store. If you want to play on your iPhone, iPad or Apple TV, please clone this repository, open the project directly in Xcode and run the game directly on your device.

🎮 Controls

Keyboard

During Gameplay

Key Command
F Rotates the current piece counter clockwise
G Rotates the current piece clockwise
P Pauses / Unpauses the game
Down arrow Speeds up the descent of the current piece
Left arrow Moves the current piece to the left
Right arrow Moves the current piece to the right
Escape Opens / Closes options

In the Menus

Key Command
Arrow keys Moves to the next control in the corresponding direction
Space Triggers the selected control

Game Controller

The game uses the Game Controller framework, so only natively supported controllers will work.

During Gameplay

Control Command
X / ps-square Rotates the current piece counter clockwise
A / ps-x Rotates the current piece clockwise
D-pad Down Speeds up the descent of the current piece
D-pad Left Moves the current piece to the left
D-pad Right Moves the current piece to the right
Menu / Options Toggles options + pause

In the Menus

Control Command
D-pad Moves to the next control in the corresponding direction
A / ps-x Triggers the selected control

Siri Remote

During Gameplay

Control Command
Press the touch area (top of the remote) Rotates the current piece clockwise
Swipe downwards Speeds up the descent of the current piece
Swipe to the Left Moves the current piece to the left
Swipe to the Right Moves the current piece to the right
Play / Pause button Toggles options + pause

In the Menus

Control Command
Swipe on the touch area Moves to the next control in the corresponding direction
Press the touch area (top of the remote) Triggers the selected control

⚖️ License

To the exception of those mentioned below, all source code and assets are distributed under the MIT License.

Londrina Solid Font

Designed by Marcelo Magalhães and distributed under the Open Font License on Google Fonts.

Sound Effects

Distributed under CC-BY 3.0 Licence by Little Robot Sound Factory on Open Game Art.

Background Music

Distributed under CC0 Public Domain by Joth on Open Game Art.