mmatyas / openblok Goto Github PK
View Code? Open in Web Editor NEWA customizable, cross platform, open-source falling block game, packed with a bunch of features.
License: GNU General Public License v3.0
A customizable, cross platform, open-source falling block game, packed with a bunch of features.
License: GNU General Public License v3.0
Hello,
I have done a couple of tests, but the controller seems to have issues in multiple scenarios (keyboard emulation seems to be working fine):
I couldn't really find a working solution with the gamepad, so leaving the game as a non steam game (as I would prefer to use it this way), I have found the following solution - change the steam input (for controller settings) from gamepad to keyboard(WASD) and mouse and in game reassign some buttons.
Code does not compile with gcc 10 on linux.
Error message is the thread title. During gameplay, directional input seems to be sporadically ignored at random intervals.
I'm running a PS4 controller emulated as Xbox 360 input through Steam in Win10.
Any idea how to solve this? Thanks in advance.
Is it planned to include translations in the default release files?
Hi, on the retroflag gpi the game looks ugly and the fonts are unreadable, I think is due to the low resolution of the screen. Is there any way to change the game resolution?
Check this reddit https://www.reddit.com/r/RetroPie/comments/co56pj/why_does_openblok_have_rendering_issues_with_the/
I think it may be due to v12 of the compiler. Thanks so much if anyone can help get this working!
Start of retropie build log:
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.39.2")
-- Found Gettext: /usr/bin/msgmerge (found version "0.21")
-- Found SDL2: /usr/lib/aarch64-linux-gnu/libSDL2.so
-- Found SDL2_image: /usr/lib/aarch64-linux-gnu/libSDL2_image.so
-- Found SDL2_ttf: /usr/lib/aarch64-linux-gnu/libSDL2_ttf.so
-- Found SDL2_mixer: /usr/lib/aarch64-linux-gnu/libSDL2_mixer.so
-- Checking for -Wmissing-prototypes: no
-- Checking for -Wtautological-compare: yes
-- Checking for -Wshorten-64-to-32: no
-- Checking for experimental/optional header: no
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- libSDL2pp 0.16.0 bundled build
-- Found Intl: built in to C library
-- Performing Test Iconv_IS_BUILT_IN
-- Performing Test Iconv_IS_BUILT_IN - Success
-- Found Iconv: built in to C library
-- Performing Test CXX_[-Wall]SUPPORTED
-- Performing Test CXX[-Wall]_SUPPORTED - Success
[.... error is:]
[ 30%] Building CXX object src/system/CMakeFiles/module_system.dir/InputConfigFile.cpp.o
/home/pi/RetroPie-Setup/tmp/build/openblok/src/system/InputConfigFile.cpp: In member function ‘void InputConfigFile::save(const std::map<std::__cxx11::basic_string, DeviceData>&, const std::string&)’:
/home/pi/RetroPie-Setup/tmp/build/openblok/src/system/InputConfigFile.cpp:135:76: error: ‘ostream_iterator’ is not a member of ‘std’
135 | std::copy(sorted_values.begin(), sorted_values.end() - 1, std::ostream_iterator(ss, ", "));
| ^~~~~~~~~~~~~~~~
/home/pi/RetroPie-Setup/tmp/build/openblok/src/system/InputConfigFile.cpp:10:1: note: ‘std::ostream_iterator’ is defined in header ‘’; did you forget to ‘#include ’?
9 | #include <assert.h>
+++ |+#include
10 |
/home/pi/RetroPie-Setup/tmp/build/openblok/src/system/InputConfigFile.cpp:135:93: error: expected primary-expression before ‘int’
135 | std::copy(sorted_values.begin(), sorted_values.end() - 1, std::ostream_iterator(ss, ", "));
| ^~~
make[2]: *** [src/system/CMakeFiles/module_system.dir/build.make:118: src/system/CMakeFiles/module_system.dir/InputConfigFile.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:283: src/system/CMakeFiles/module_system.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
Could not successfully build openblok - OpenBlok: A Block Dropping Game (/home/pi/RetroPie-Setup/tmp/build/openblok/src/openblok not found).
When trying to play with Sonic Drop on, the game will randomly segfault when trying to line clear. It occurs frequently enough that I can't finish a game of sprint.
This happened to me on v0.7.0 on the Raspberry Pi 3 and 4, and also on an Arch Linux desktop built from the latest commit.
I just purchased two additional USB gamepad for 4 player games, which are these controllers:
https://www.amazon.com/Classic-Controller-Gamepad-kiwitat%C3%A1-Joysticks/dp/B01JYGYAUG/
They work fine on the retropie (recognized as "USB gamepad"). But in OpenBlok, it is recognized as a retrolink saturn classic controller. I have used the input menu to map the controls but there is still a weird issue. As soon as I move left, all blocks start moving left continually. It's impossible to play with these controllers. Is there a way to manually select which controller I am using? Or correct this continuous moving left behavior? Thanks!
Trying to run the AppImage on Ubuntu 14.04 trusty, getting usr/bin/openblok: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version
GLIBCXX_3.4.20' not found (required by /run/firejail/appimage/.appimage-7955/usr/bin/openblok)`.
Can the required libstdc++ version be lowered?
As is, this prevents from being included in the AppImageHub central directory of available AppImages.
Reference:
https://travis-ci.org/AppImage/AppImageHub/builds/266227555#L554
In single player modes, a background image of sufficient aspect ratio fills the whole screen, but in multiplayer, you always get a large border of game_fill.png no matter what.
I don't know if this is intentional, but it seems to me like backgrounds should fill the same way in both modes, or the border size should be an option in the theme cfg?
More a q question than an issue. Do you plan to support OSX 'out of the box'
I have managed to build on OSX with the following:
Installed SDL2 from brew
fixed sdl mixer to include mp3 (veandco/go-sdl2#299)
I also updated the includes, removing 'SDL2/' on the following :
src/system/Paths.cpp
src/system/sdl/SDLFont.cpp
src/system/sdl/SDLGraphicsContext.cpp
There remains a couple of 'flickers' on the screen after playing for a while, bit otherwise completely playable.
I have more than 1 and it's choosing one but does not alternate between the other songs.
First of all I would like to thank you all involved in this project. The graphics are simple and elegant, gameplay fluid and faithful and the "Kalinka" remix fells at place (like "I" tetrimino that is about to clear 4 lines).
There is only one thing - in my opinion - that is missing: High Score list.
Could you please consider implementing just a simple redirection of a score value to a txt file (separate line for each mode, game would compare new score with stored value and overwrite it if new score is higher) and option from main menu to display this list? It would keep player motivated to improve and beat his own record.
This could be enhanced further by redirecting all statistics that are displayed after game ends to newly created file (with name based on timestamp), for a player reference.
Unfortunately, I am not a programmer, so I am not able to propose commit.
Currently the only main single player modes are either limited to a set number of levels or are timed. Most often when I want to play Tetris I want to play until I lose. An "endless" mode where the player chooses their starting level and then plays until they lose would be a very fun addition to this game, if you agree that it would be worth your time to implement it.
Whenever I try to clear a line, the game crashes. Help?
https://github.com/fph/bastet/
Bastet is basically a Tetris variation designed to make the game deliberately more difficult for everybody by picking "the least optimal" blocks at every turn.
It's rarely seen, or mentioned, outside of a Linux Command Line Terminal.
So I'm curious about your opinion on this feature proposal.
The Rotation Buttons don't work in Battle Mode, is this intentional?
My controller is an Original PS3 Controller detected as a ShanWan PS3/PC Wired Gamepad (in case it's important).
P.S.
The directional buttons keep bugging out only in Battle Mode.
I loooove your game and would be soo thrilled to see it spread to the fabulous Batocera retro distribution
https://flatpak.org/
So, as of version v0.8.2+ea9a457, when I run the game, it runs normally, but a console with the following output shows up as well:
[i][main] OpenBlok, created by Mátyás Mustoha, v0.8.2+ea9a457
[i][init] Initializing video...
[i][video] Selected 'direct3d' renderer
[w][config] Could not write config file 'C:\Users\CoolUsèr\AppData\Roaming\.\openblok\input.cfg'
[i][init] Loading resources from 'C:\Users\CoolUsèr\Documents\openblok_v082_windows\openblok\./data/'
[i][init] Theme: 'default'
Where CoolUs├¿r should instead be CoolUsér (Notice the written accent on the é )
(This is not my actual username, but it has been replaced with one that's close enough for privacy reasons).
As you would expect from this error, after I change my configuration, close the game, and reopen it all of my configuration is reset :/
More a question/suggestion than a bug :)
I'm playing this game at lunch with co-workers and there are skill imbalances in the players. I was wondering how feasible it would be to implement a team mode.
The way we imagined it would be that when garbage is sent to other players, instead of being randomized across all other players, it is randomized across players from a random opposite team (maximum of 3 teams, or free-for-all, because there are 4 players).
This would probably require the addition of a team selection screen or menu, we're not familiar with the source code so we have no idea how hard it would be to implement! 😛
Cheers and thanks for this great game!
Running Openblok 0.8.0 on RetroPie, when player 4 enters the team selection screen, everything "freezes". In other words, no one can change teams anymore.
As a result, player 4 is always alone in their team, there is no way to make a 3 vs 1 match.
Is anyone else able to replicate this bug?
Have you considered adding multiminoes? the colour matching cascades can be fun in multiplayer mode
I went to compile this from the source tar.gz and everything compiled just fine but when I run it I get a message "[e][critical] Mix_Init failed: OGG support not available". This is on Arch Linux
I saw this https://bugs.archlinux.org/task/56303 but it isn't a bug they say it's an sdl issue? I tried to find a contact email for you but couldn't. https://pastebin.com/Fd5XKgEm has my sdl packages listed
Is there any info on how to compile this on Windows or on Linux for Windows target?
Hi, thank you for developing the game :)
This is not necessary an issue/bug, though I would like to ask you to help with a installation guide on a steam deck?
Installing this type of application/games, also works, as with after several tries nothing really worked, but it seems I'm not really familiar with Linux OS.
Thank you in advance
Is there any possibility to include localisation support?
I would love to give this to my German speaking uncle who uses windows.
Also, I would love to contribute that feature, but would like to know how you would prefer this to be implemented.
I mean, it seems almost logical at this point. With a unique control system/overlay used only for that build (if a touchscreen is detected).
Obviously, a few of the MP modes will need a mass re-tooling because not all screens are big enough for multiple players.
I can design the new icon if you want me to (both Mobile, and TV variations).
It doesn't even have to start off on the Play Store immediately. Just test-market it as a direct APK like Pegasus or something.
But that's purely a suggestion. It's your project, and you do what you want with it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.