Cubeat GD
Work in progress, early debug version under development.
VERSION 0.16:
-Added gameplay settings to enable or disable player block highlight lines and the hold player block feature
-Window zoom is no longer limited to 4x, now it's limited to the biggest zoom that the smallest width or height of the connected monitors allows for the widest width and tallest height of the simulated platforms allows (384x240px)
-Improved and optimized the horizontal and vertical blur, plus simplified its settings. Now there is a single slider for each and the "Blur settings" has been removed and this has been moved to the CRT settings
-Added a new "FPS Limit" video setting with 30, 60, 75, 90, 120, 144, 240 or 360 or unlimited as values
-Now game window gets properly centered in the active display when moving from fullscreen to windowed mode or when changing the zoom while in windowed mode for the case of using multiple monitors
-Cleaned and optimized code, and made it more reusable for future games
-Various fixes and tweaks particularly savedata and menu related
KNOWN ISSUES (for Alex):
-The animated background gifs for the center of the (Game Boy) screen doesn't seem to scale properly, its last line in bottom shows garbage. Depending on the simulated platform it also shows black bars in some places. As temporary patch has been scaled to 160x144.9 pixels tall instead of 160x144 because it fixes the issues for most cases.
-In some Android devices (Samsung Galaxy J4, uses Android 9) don't seem to have the buttons mapped correctly for Dual Sense controller, and some other Android devices (Oppo A78 5G, uses Color OS variation of Android 14) doesn't seem to recognize analog sticks of any dpad (Godot-wise bug)
-In all devices the Switch Pro Controller (if not using Steam Input in case of PC) acts chaotically. It's a Godot-wise bug, not only happens in this game and may be fixed in the future
-Gamepad vibration only works in Windows when using an Xbox compatible gamepad. DualSense or DualShock 4 -connected via USB- doesn't vibrate if not using Steam input
-"Precise piece based" rotation method must be fixed/changes for a few Tetris pieces like the "I" one
KNOWN ISSUES (for Elias):
-Stage 8: The board of the animated background gif is 1 row too tall
-Stages 18 (clouds) and 23 (black Game Boy): the platforms with 4096 or 32768 colors (QVGA, Amiga, SNES, Neo Geo) there is a texture in the sky of the border image but not in the in-game animated background
-Stage 21: The board of the animated background gif lacks 1 row in the top
-Stage 25: Which are the proper pieces for this stage? I did put there some unused ones
TO DO:
-Bring back the Integer scaling option to the settings
-Hide the "exit" button for certain platforms (HTML, Switch)
-Hide the "back" button for certain platforms (keep it only for web, PC and mobile)
-Create a fake switch platform with related button mapping, button prompts and no exit button
-To include the "Hold" and "Next" pieces feature
-To include combo / chain features
-To include single color / board cleared bonuses
-Use Game Over and button prompt texts using .fnt texts instead of images
-Add more customizable options in the settings
-Improve / animate the loading screen
-Fix the bug for the color replacement shader for temporally removed platforms like MSX, Master System or Game Gear, with had different color depth for their RGB channels
-Fix the scaling bug seen in the upper side of the screen for the temporally removed platform CPS
-Simulate color limit per tile for marquee border backgrounds
-Simulate color limit per sprite for the gameplay window
-To disable automatically scanlines for the windowed mode when the zoom is too small to see them properly (I'd say it may be seen properly with 3x zoom and above)
Download
Install instructions
MINIMUM REQUIREMENTS:
-PC CPU: Intel Core 2 Duo E8200 (or Core 2 Duo SU9400), AMD Athlon XE BE-2300, Apple M1
-PC GPU: Full OpenGL ES 3.3 support. Like Intel HD Graphics 2500 (Ivy Bridge), AMD Radeon R5 Graphics (Kaveri)
-PC RAM: 2 GB (native), 4 GB (web)
-PC OS: Windows 7, macOS 10.13, Linux distribution released after 2016
-Web version: WebGL 2.0. So Firefox 79, Chrome 88, Edge 79, Safari 15.2, Opera 64, Samsung Internet 15
-Raspberry Pi: Raspberry Pi 4
-Android: Android 6.0, OpenGL ES 3.0, 1GB RAM
-iOS: iPhone 5S, iPad 7, iPad Air 2, iPad Mini 4, iPad Pro
HOW TO ADD THE GAME TO STEAM TO USE RUMBLE IN THE PC VERSION FOR NON-XBOX GAMEPADS (PLAYSTATION, SWITCH....)
-Install Steam, connect your gamepad, open Steam and click Games > Add a Non-Steam Game to My Library
-Search the game .exe file and select it
-To verify that Steams recognizes your controller and has the rumble enabled, in the main page of Steam go to Steam>Settings>Controller you'll see an option to enable or disable the vibration, make it displays the name of your controller and that the first option "Game rumble" is enabled
-Search your game in your Steam Library (list of the left), click on the gamepad icon that is in the right side of the Steam's game page to open the controller settings and make sure your gamepad is detected and enabled there
-Click the "Enable Steam Input" if you only has this button in the popup.
-Go back to the Steam's game page and click the wheel icon that is next to the gamepad icon in the right side of the screen, click "properties" and then "controller" and make sure Steam Input and your controller are enabled
-Activate Steam Input there if still not already selected
-You shoud
GAMEPAD OR KEYBOARD CONTROLS:
- Menus: Use arrow keys or gamepad sticks or dpad to navigate
- Menus: Use RETURN or the front bottom button (X,A) to accept
- Menus: Use ESC or the front right button (O, B) to go back
- Gameplay: Move using WASD or arrow keys
- Gameplay: Use B, N keys (or front X, O or B, A pad buttons) to rotate the pieces
- Gameplay (debug only): Use O, P (or L1,R1 or LB, RB) to move to the previous or next stage
MOUSE OR TOUCHSCREEN CONTROLS:
- Move left: click in the left half of the board
- Move right: click in the right half of the board
- Drop faster: click outside the board, under it
- Instant drop: click outside the board, above it
- Rotate left: click outside the board, on its left side
- Rotate right: click outside the board, on its right side