Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eleev/hungry-wormy
🐛 iOS & macOS game - classic snake game [Swift + SpriteKit].
https://github.com/eleev/hungry-wormy
apple cross-platform game gamedevelopment ios macos retro-game snake-game spritekit swift
Last synced: about 5 hours ago
JSON representation
🐛 iOS & macOS game - classic snake game [Swift + SpriteKit].
- Host: GitHub
- URL: https://github.com/eleev/hungry-wormy
- Owner: eleev
- License: mit
- Created: 2018-10-24T13:47:45.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-01-18T17:06:07.000Z (almost 4 years ago)
- Last Synced: 2023-05-16T04:07:44.049Z (over 1 year ago)
- Topics: apple, cross-platform, game, gamedevelopment, ios, macos, retro-game, snake-game, spritekit, swift
- Language: Swift
- Homepage:
- Size: 25.9 MB
- Stars: 19
- Watchers: 4
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# hungry-wormy [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
[![Platforms](https://img.shields.io/badge/platforms-macOS%20%26%20iOS-yellow.svg)]()
[![Language](https://img.shields.io/badge/language-Swift_5.3-orange.svg)]()
[![Last Commit](https://img.shields.io/github/last-commit/jvirus/hungry-wormy)]()
[![NLOC](https://img.shields.io/tokei/lines/github/jvirus/hungry-wormy)]()
[![Contributors](https://img.shields.io/github/contributors/jvirus/hungry-wormy)]()
[![Repo Size](https://img.shields.io/github/repo-size/jvirus/hungry-wormy)]()
[![License](https://img.shields.io/badge/license-MIT-blue.svg)]()![](logo-hungry_wormy.png)
### If you like the project, please give it a star ⭐ It will show the creator your appreciation and help others to discover the repo.
# ✍️ About
🐛 `Hungry Wormy` is a retro game reincarnation implemented on top of SpriteKit framework for `iOS` & `macOS`.# 📺 Demo
Please wait while the `.gif` files are loading...
# 🍱 Features
- Cross-platform: `macOS` & `iOS`. `tvOS` can be easily added as an update.
- `Extendable`, `data-driven` architecture: you can easily add a new level without any programming (well, almost 😄).
- **Six** levels: from very trivial to insane difficulty level.
- Fully native implementation: `Swift` & `SpriteKit` only.
- `One external` dependency.# 📝 Controls
## iOS
On `iOS` all the controls are handled by `swipe` gestures. There are **4** gestures for swipe `up`, `left`, `down` and `right`. You will get the `haptic` feedback on the supported devices for when the `direction` of the `wormy` is changed. If you double swipe to a direction, the second swipe will be ignored.## macOS
On `macOS` all the controls are handled by `arrow` keys. There are **4** keys for turning to `up ⬆️`, `left ⬅️`, `down ⬇️` and `right ➡️` directions. If you double tap to a direction, the second one will be ignored. In order to `pause/resume` the game you need to tap on `escape` key.# 🔗 Dependencies
The project currently has one dependency, which is [device-kit](https://github.com/jVirus/device-kit) framework.# 🏗 How to create a new level
There is a possibility to create new levels, almost without any programming. Let's get started:#### 1. Create a new `.sks` file:
#### 2. Give it a name:
#### 3. Set the scene size to the following dimensions:
#### 4. Add **3** tile maps to the scene and set their properties as follows:
#### 5. Add a `Cover` node, copy-paste the `Pause` reference node and align everything as displayed in the following hierarchy:
#### 7.Start editing `Background` & `Walls` tile maps by drawing tiles as you'd like:
#### 8. Place the `blue` diamond tiles as `food` for `wormy` and `red` squares for spawn points:
#### 9. Add new button nodes to access the level:
In `Assets/Scenes/macOS/MainMenuScene-macOS.sks` & `Assets/Scenes/iOS/MainMenuScene-iOS.sks` files with custom `User Data` key/value pair that conforms to the following scheme: `levelName`:`YourLevelName.sks`. Remember that you need to set the corresponding `target membership` options in `File Inspector` menu for each of the `.sks` files.#### 10. Done!
You have written zero lines of code and added a new level to the game.
# 🖼 Assets
The game uses assets taken from [kenney.nl](https://kenney.nl) that are published under [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) licence.
# 👨💻 Author
[Astemir Eleev](https://github.com/jVirus)# 🔖 Licence
The project is available under [MIT licence](https://github.com/jVirus/hungry-wormy/blob/master/LICENSE)[device-kit](https://github.com/jVirus/device-kit) framework is available under [MIT licence](https://github.com/jVirus/device-kit/blob/master/LICENSE)