Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/panel-attack/panel-attack
Panel Attack is a free modern puzzle game inspired by popular games such as Tetris Attack and Pokemon Puzzle League while still maintaining authentic mechanics. Arrange colored panels in rows and columns of three or more to match matches that clear. Panels then fall from gravity and can make chains that give bonuses or attack the other player.
https://github.com/panel-attack/panel-attack
game love2d lua multiplayer panel-de-pon puzzle tetris-attack
Last synced: 6 days ago
JSON representation
Panel Attack is a free modern puzzle game inspired by popular games such as Tetris Attack and Pokemon Puzzle League while still maintaining authentic mechanics. Arrange colored panels in rows and columns of three or more to match matches that clear. Panels then fall from gravity and can make chains that give bonuses or attack the other player.
- Host: GitHub
- URL: https://github.com/panel-attack/panel-attack
- Owner: panel-attack
- License: other
- Created: 2018-05-02T00:21:35.000Z (over 6 years ago)
- Default Branch: beta
- Last Pushed: 2024-11-14T21:34:17.000Z (2 months ago)
- Last Synced: 2024-12-04T11:23:01.719Z (about 1 month ago)
- Topics: game, love2d, lua, multiplayer, panel-de-pon, puzzle, tetris-attack
- Language: Lua
- Homepage: http://panelattack.com/
- Size: 71 MB
- Stars: 89
- Watchers: 4
- Forks: 34
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: COPYING
Awesome Lists containing this project
README
# Panel Attack Development
## Development Setup
### Installing love
The current stable version uses love 11.5. Simply install from http://love2d.org/.
The beta version is the main development version and uses love 12.0.
Love 12 is still in development. You can find love 12.0 CI builds in the [love repository](https://github.com/love2d/love/actions/workflows/main.yml).
Simply pick the newest workflow run, scroll down and select the artifact suitable for your machine.### Setting up the Panel Attack repository
Clone a copy of the repository
```
git clone https://github.com/panel-attack/panel-attack.git
```
We recommend using [GitHub Desktop](https://desktop.github.com) as it manages login for you and makes working with git easier.
We recommend developing and running the game using [Visual Studio Code](https://code.visualstudio.com/).
You can setup VSCode with a debugger and more [following this tutorial](https://sheepolution.com/learn/book/bonus/vscode).Alternatively, you can edit with your own favorite text editor and run love from the command line
```
cd Panel-Attack
love ./
```or via drag and drop with the repository folder (not recommended).
## Repository
The beta branch is where we do all main development.
All pull requests require a review by a maintainer (or 1 review and written by a maintainer).
Feature and bug commits are done by maintainers using squash merges.
Merges are done by the maintainers as merge commits.Please check the [contribution guidelines](CONTRIBUTING.md) for further information.
## Release schedule
### Main releases
Panel Attack currently has 3 release streams that see updates at varying rates.#### canary release
Cutting edge build, automatically generated with every push to beta.
Available via https://github.com/panel-attack/panel-attack/releases.#### beta release
beta release, a bit more tested than canary.
Features are released on beta if there is some confidence that they're mostly working correctly.Release notes are posted in #panel-attack-updates on the discord when updates go out.
#### stable release
stable release, tested features that just work.
Stable releases take tournament dates into consideration so that any bugs that may still get caught don't interfere with them.Release notes are posted in #panel-attack-updates on the discord when updates go out.
## Useful Lua Programming Tips
**Big comment**
```Lua
--[[
--]]
```**Comment parameter names inline**
```Lua
return self:pop_all_ready_garbage(frame, true--[[just_peeking]])
```Lua Manual
https://www.lua.org/pil/contents.htmlLove2d Tutorial
https://sheepolution.com/learn/book/contents# For Maintainers
## Releasing
To make a release we create a love file and put it on the server. Change the name of the love file to the output of a command like this:
Stable:
`echo "panel-$(date -u "+%Y-%m-%d_%H-%M-%S").love"`
Beta:
`echo "panel-beta-$(date -u "+%Y-%m-%d_%H-%M-%S").love"`Secure copy the file to the server in correct folder on the server.
Stable:
`scp -i privatekey.pem panel-2022-06-25_03-50-14.love [email protected]:updates`
Beta:
`scp -i privatekey.pem panel-2022-06-25_03-50-14.love [email protected]:beta-updates`Test that the game updates properly.
Post release notes in #panel-attack-updates on the discord.