I used to really like to play the clasic game Tetris. I'd open up a Tetris game and a Twitch stream I like to listen to on my browser, and I could play for hours.
The project I would like to make is a simple recreation of Tetris in Ruby. The game will not be text based and will have basic graphics.
The Problem
Background & Motivation
You may have noticed that the first paragraph in Overview was in past tense. This is because now, I feel that playing video games for a long time is unproductive and hurts my eyes. That's why I can't just go ahead and pull up Tetris on my browser. That's why I need an excuse -- I mean reason -- to go play Tetris for a while. If the Tetris game I'm playing is coded by myself, playing Tetris would be justified as a reward for making the game.
Solution
Goals
I would be very statisfied if I could make something pretty similar to this.
The following criteria should be met when the game is complete:
Shapes made out of multiple squares can
Fall down the screen
Be controlled by the player (can move left and right and can rotate)
Land without interfering with other shapes
When a row is completeley filled with squares, the row disappears and all squares move down one space.
It'd be great if some of this additional optional criteria is met too:
Shapes can
Be accelerated faster than the normal rate down the screen
Instantly land
There are points which
Are gained by row deletion
Make the shape falling rate faster
There is a user interface (UI) (like a menu with buttons like start, high scores, etc.; pause and resume buttons)
Customizable everything (maybe a customize mode), including customizable
Shapes
Fall speed
Points to fall speed ratio
Gameboard size (change from default 10x20 squares to something else)
Keyboard bindings (eg. switch arrow keys to WASD), keyboard and mouse modes
Non-goals
Not a web app; runs locally
Not text-based; there are graphics
Graphics don't need to be super fancy (eg. squares can be just one color, UI doesn't have to be great, no need for animations)
Dependencies
I'll need something similar to Ruby2D, a library similar to Pygame, that renders graphics on a window.
I love Tetris too! My wife and I play Tetris on the Switch (almost) every night after dinner. 😄
The fact that it's just Tetris makes the requirements really clear, we wouldn't have to discuss requirements...project-wise, that's great, educationally, less so 😂 ...you've already broken up the "must have" features and the "nice to have" features, which is great
I really like that there is already a github repo using the Ruby2D library to create a Tetris game--this would allow us to learn from them and probably speed up our development, allowing us to make something really awesome (at least relatively)
I'm assuming all the art we could download off the internet any art we would need for this
Overview
I used to really like to play the clasic game Tetris. I'd open up a Tetris game and a Twitch stream I like to listen to on my browser, and I could play for hours.
The project I would like to make is a simple recreation of Tetris in Ruby. The game will not be text based and will have basic graphics.
The Problem
Background & Motivation
You may have noticed that the first paragraph in Overview was in past tense. This is because now, I feel that playing video games for a long time is unproductive and hurts my eyes. That's why I can't just go ahead and pull up Tetris on my browser. That's why I need an excuse -- I mean reason -- to go play Tetris for a while. If the Tetris game I'm playing is coded by myself, playing Tetris would be justified as a reward for making the game.
Solution
Goals
I would be very statisfied if I could make something pretty similar to this.
The following criteria should be met when the game is complete:
It'd be great if some of this additional optional criteria is met too:
Non-goals
Dependencies
I'll need something similar to Ruby2D, a library similar to Pygame, that renders graphics on a window.
Alternatives/Prior Art
Design