Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jonhoo/tetris-tutorial

From rags to riches; building Tetris with no programming experience.
https://github.com/jonhoo/tetris-tutorial

game-development html javascript learn-to-code tetris tutorial

Last synced: about 2 months ago
JSON representation

From rags to riches; building Tetris with no programming experience.

Awesome Lists containing this project

README

        

Hello.

## The story

My step-brother was playing Tetris today, but was getting annoyed about all the
ads and the "recharge time" in the game, and vented his frustration to me.
After pointing out that there are probably thousands of completely
frustration-free (well, apart from the gameplay) Tetris clones out there, I
jokingly told him to go write his own Tetris game instead. His immediate
reaction was "I could never do that". After some interrogration, he revealed
that he actually thought that doing so could be quite fun, if only there was a
good way for him to learn how to do so without studying Computer Science for
years. This is my attempt to make that possible.

## The game

If all you want to do is play Tetris, there is a working implementation in the
root of this repository which you can launch by clicking this link. It even implements the [Super Rotation
System](http://tetris.wikia.com/wiki/SRS) correctly, if you care about that.
It's quite rudimentary (no levels, no sound, no "next piece", etc.), but fully
playable, and quite small.

## The tutorial

The meat of this repository is in [doc/](doc/), which holds all the tutorial
text. You start with the [intro](doc/intro.md), and follow the links from
there. I attempt to cover everything from the very basics (what is a variable?)
to how to build a complete, working Tetris game, so it is (/will be) quite
long, but hopefully it will be a good primer for those trying to get into
programming, but who find "introduction to JavaScript" style tutorials
completely uninteresting.

## Progress

The tutorial is far from finished, but at least the code is there. I'll be
writing on this when I have time, and I have many things to do, so I make no
guarantees about when new content will be added, nor when (if ever) the entire
tutorial will be completed. It's fun to write though, and if people seem to be
getting something out of it, I'm more inclined to continue.

## Feedback

Yes please! Open an issue using the GitHub [issue
tracker](https://github.com/jonhoo/tetris-tutorial/issues), send a [pull
request](https://github.com/jonhoo/tetris-tutorial/pulls) with improvement
suggestions, or just send me an [email](mailto:[email protected]).
I'm not hard to get a hold of.