❓ About This Project

July 4, 2021 · View on GitHub

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

KeyCommand
FRotates the current piece counter clockwise
GRotates the current piece clockwise
PPauses / Unpauses the game
Down arrowSpeeds up the descent of the current piece
Left arrowMoves the current piece to the left
Right arrowMoves the current piece to the right
EscapeOpens / Closes options

In the Menus

KeyCommand
Arrow keysMoves to the next control in the corresponding direction
SpaceTriggers the selected control

Game Controller

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

During Gameplay

ControlCommand
X / ps-squareRotates the current piece counter clockwise
A / ps-xRotates the current piece clockwise
D-pad DownSpeeds up the descent of the current piece
D-pad LeftMoves the current piece to the left
D-pad RightMoves the current piece to the right
Menu / OptionsToggles options + pause

In the Menus

ControlCommand
D-padMoves to the next control in the corresponding direction
A / ps-xTriggers the selected control

Siri Remote

During Gameplay

ControlCommand
Press the touch area (top of the remote)Rotates the current piece clockwise
Swipe downwardsSpeeds up the descent of the current piece
Swipe to the LeftMoves the current piece to the left
Swipe to the RightMoves the current piece to the right
Play / Pause buttonToggles options + pause

In the Menus

ControlCommand
Swipe on the touch areaMoves 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.