Skip to content

feckom/3dt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Built a 3D Tetris (Blockout-style) in Python — looking for feedback on controls & design

Hey,

This is a small experiment built with pygame + PyOpenGL — a 3D Tetris / Blockout-style prototype. It was generated with assistance from Qwen3.6 35B A3B, mainly focusing on gameplay logic and iteration speed.

Core Idea

Pieces fall into a 7×7×18 well, and full horizontal layers are cleared.
The camera can orbit around the grid with the mouse, and movement adapts to the camera so “left” stays consistent on screen.

What This Tries to Solve

  • intuitive 3D movement
  • depth perception issues
  • control scheme clarity

Current Features

  • full 3-axis rotation
  • orbit camera + zoom
  • ghost piece (landing preview)
  • layer-based scoring
  • progressive difficulty
  • semi-transparent blocks with wireframe edges
  • high score saved to 3dt.json
  • ~60 FPS

Controls

Key Action
Arrow keys Move piece (X/Y)
Q / E Rotate around Z axis
W / S Rotate around X axis
A / D Rotate around Y axis
Space Hard drop
Mouse drag Orbit camera
Mouse wheel Zoom
Home Reset camera
R Restart
Esc Quit

Scoring

  • 1 layer = 100
  • 2 layers = 300
  • 3 layers = 700
  • 4+ layers = 1500+

Large clears are significantly more valuable than single layers.

Notes

3D Tetris introduces a common issue: depth misjudgment.
The orbit camera and ghost piece are meant to reduce that, but it's unclear if this approach is optimal.

Running

Project consists of two files:

  • 3dt.py
  • 3dt.bat

The batch file:

  • creates a virtual environment
  • upgrades pip
  • installs dependencies (pygame, PyOpenGL, PyOpenGL_accelerate)
  • launches the game

Requirements

  • Python 3.10+
  • Windows (for .bat, Python itself is cross-platform)

About

3D tetris made with Qwen 3.6

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors