All Projects → alec-gibson → nvim-tetris

alec-gibson / nvim-tetris

Licence: GPL-3.0 license
Bringing emacs' greatest feature to neovim - Tetris!

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to nvim-tetris

doctor.nvim
Emacs greatest feature, now also in neovim!
Stars: ✭ 27 (-76.32%)
Mutual labels:  neovim-plugin, fennel
nvim-fennel-lsp-conjure-as-clojure-ide
Basic config to transform your NVIM in a powerful Clojure IDE using fennel, clojure-lsp and conjure.
Stars: ✭ 144 (+26.32%)
Mutual labels:  fennel, aniseed
paperplanes.nvim
Neovim ✈️ Pastebins
Stars: ✭ 50 (-56.14%)
Mutual labels:  neovim-plugin, fennel
hotpot.nvim
🍲 Carl Weathers #1 Neovim Plugin.
Stars: ✭ 183 (+60.53%)
Mutual labels:  neovim-plugin, fennel
PYTRIS
tetris made with pygame
Stars: ✭ 26 (-77.19%)
Mutual labels:  tetris
cmp-rg
ripgrep source for nvim-cmp
Stars: ✭ 165 (+44.74%)
Mutual labels:  neovim-plugin
vim-dap
Vim/Neovim debugger plugin providing a terminal interface to the Debug Adapter Protocol
Stars: ✭ 43 (-62.28%)
Mutual labels:  neovim-plugin
github-notifications.nvim
Statusline + Telescope integration for viewing and interacting with GitHub notifications
Stars: ✭ 70 (-38.6%)
Mutual labels:  neovim-plugin
CppTetris
Tetris made within an hour
Stars: ✭ 104 (-8.77%)
Mutual labels:  tetris
gh.vim
Vim/Neovim plugin for GitHub
Stars: ✭ 149 (+30.7%)
Mutual labels:  neovim-plugin
solution-finder
Tetris: Find perfect clears, combos, T-spins
Stars: ✭ 76 (-33.33%)
Mutual labels:  tetris
nvim-hardline
A simple Neovim statusline
Stars: ✭ 122 (+7.02%)
Mutual labels:  neovim-plugin
Retrogamer-Compose
Retro games implemented using Jetpack Compose
Stars: ✭ 113 (-0.88%)
Mutual labels:  tetris
fm-nvim
🗂 Neovim plugin that lets you use your favorite terminal file managers (and fuzzy finders) from within Neovim.
Stars: ✭ 114 (+0%)
Mutual labels:  neovim-plugin
mimstris
A falling block puzzle game created using React and Redux.
Stars: ✭ 129 (+13.16%)
Mutual labels:  tetris
snippets.nvim
No description or website provided.
Stars: ✭ 30 (-73.68%)
Mutual labels:  neovim-plugin
nvim-terminal
A Lua-Neovim plugin that toggles a terminal
Stars: ✭ 54 (-52.63%)
Mutual labels:  neovim-plugin
WpfTetris
MVVM based Tetris application sample on WPF
Stars: ✭ 24 (-78.95%)
Mutual labels:  tetris
vim-iawriter
iAwriter's Focus mode for vim
Stars: ✭ 23 (-79.82%)
Mutual labels:  neovim-plugin
tetris-game
⭐ A simple tetris game developed with freecodecamp. http://tetris-game.surge.sh/
Stars: ✭ 15 (-86.84%)
Mutual labels:  tetris

nvim-tetris

Bringing emacs' greatest feature to neovim - Tetris!

Gameplay Screenshot

This plugin is written in Fennel using Olical's project Aniseed for creating the project structure, and as a library of helper functions and macros. The game compiles to Lua and uses Neovim API functions, so Vim support is not currently a goal.

nvim-tetris is a work-in-progress, and is not feature complete.

How To Install

  • Prerequisites: neovim
  • You can install the plugin just like any other Neovim plugin. I personally use vim-plug.
  • Another way to install would be to just clone this repo into ~/.local/share/nvim/site/pack/*/start/, where * is whatever you choose (I use "alec").
  • After installing, you can launch a game of Tetris using the :Tetris command inside Neovim.
  • If your colours look weird, ensure you are using a terminal which supports true colour, you have configured tmux for true colour support if you are using tmux, and you have the termguicolors option enabled in Neovim.

Controls

  • Left Arrow: move left
  • Right Arrow: move right
  • Up Arrow: rotate piece
  • Down Arrow: soft drop
  • Space Bar: hard drop

What Works

  • Core game functions including controlling the current piece, clearing lines, and gameover when you run out of space
  • Piece shadow showing where the current piece will land
  • Level progression - you progress a level every 10 lines cleared, and the game gets faster with each level
  • Short delays when the piece appears and when it locks. The locking delay resets when rotating or moving your piece, to make gameplay more fun at high speeds
  • Correct rotation behaviour including wall-kicks according to "How Guideline SRS Really Works" from https://harddrop.com/wiki/SRS (this means T-spins work)

Next Steps

  • Add border showing current level, current score, next piece, saved piece (and add logic for saving pieces)
  • Add pause screen (with options to resume game, start new game or quit)
  • Add game over screen (with options to play again or quit)
  • Add intro screen which shows controls
  • Add logic for score
  • Configuration
  • Documentation
  • Tests
  • Stretch goals: music, leaderboards?, ...
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].