This app uses SDL, which in turn uses HIDAPI. Both on Github. The key here might be the comprehensive mapping database, which is also used by the Steam Client.
POW Games
Creator of
Recent community posts
Hi, thanks for reaching out.
An Android app should set up a list of permissions to access gamepads. One of the pop-ups when the app starts for the first time is a "BLUETOOTH_CONNECT" permission, which in theory is only needed for Steam controllers. I believe there's another one that pops up when you insert a gamepad in to USB, which is the important one. I've seen a discussion about this on Github regarding emulators not connecting to controllers because they're lacking this permission, which needs to be included in the Manifest when the app is built.
My app uses the same comprehensive gamepad mapping database used by the Steam client. This might be where my app has the advantage over others. Different Android versions will produce different scancodes for Nintendo Pro gamepads as well, which adds to this problem.
So in conclusion, the other apps need to have better gamepad support coded into them. It's a big task to get it working, which is where SDL & HIDAPI do the heavy lifting for me.
Does disabling HIDAPI in my app make much difference? If you use my app to give the gamepad a kick-start before entering the other app, does that help (it's been known to with some gamepads) ? Keylaout file? Is that the .kl file? I have considered adding support for kl files, but have zero experience with them. What puts me off is that the few mapping apps out there have terrible reviews because it opens a whole can of worms that end up disappointing users who don't know about rooting. Your input is welcome.
Hello! Oops, I see the problem. It's a simple fix - I'll upload a new version ASAP. Thanks for bringing this to my attention.
Interesting note: I fixed the app to "LandscapeLeft" - the idea was so people could play with the sensors without the app flipping as they rotate their device. Since you can stop auto-rotation from the Android's pull-down menu, it's not necessary, so I'll let it choose left or right landscape.
Hola Por el momento, no hay forma de obtener información adicional sobre la batería. La zona muerta solo se puede ajustar por juego usando la configuración de zona muerta de cada juego. Las zonas muertas son un problema físico y no hay forma de corregirlas con esta aplicación, que solo puede proporcionarle datos para ayudarlo a saber qué valor usar.
Hi. Unfortunately it all depends on the 3rd party app's gamepad support. Most apps have basic support at best, which is why your cheap controller isn't picked up. My app uses the same library that the Steam Client uses, which comes with a huge database of controller mappings, which is why it works well. The only thing you can do is reach out to the developers of the other apps and encourage them to improve their apps :-)
Hi, thanks for your detailed message; I will try to help.
Firstly, I apologise for that huge advert! it's not supposed to be that large - Google are only supposed to make it 10% of the height of your screen - something's going strange there, I'll try to look into that.
An unmapped joystick means that the Android system cannot identify what type of game controller it is, so it doesn't know what the buttons or axis should be. Basically, Android doesn't have the driver for this controller. I do remember this controller - I used to have 2 of them - and they were horrible. I have some suggestions:
Do you have access to a PC or laptop? Can you compare what the Windows version of my app does with these controllers? Windows should be able to load the correct drivers and map the buttons and axis correctly, and also show both controllers. It'll show you that they're not compatible with Android. If you also get the unmapped warning on the Windows version of the app, you can submit information about the controller using an app called "SDL Gamepad Tool". This will help include the mapping for them controllers in SDL applications / games, and also Steam games in the future.
In conclusion, this yellow message means that the gamepad is not compatible with Android, so it doesn't know which button is which, so it makes a guess. Games may not work with it. This is also the reason why both controllers aren't showing. Without a driver, it can only see one USB device.
Keep in mind that my app is showing you exactly what the Android system can see. It's a diagnostic tool. If a controller doesn't appear to work, then the app has performed its task.
Hi, thanks for playing my game. No need to unzip the question pack. It's a raw data file, just manually drop it into the directory where Quiz Quartet is installed and it will be picked up the next time you run the game. I will create an installation package for it in the future - but for now it's raw because I'm still in prototype mode for this game. Will start work on it again soon
Hi, yes, I can add that.
Can you help me understand what would be expected by the end user? You can already see where the dead zone is by looking at the numbers coming out when idle (from -32768 to 32767). Should they be as a percentage, or floating point instead? Let me know how this can be improved.
With the axis step, I could plot points on an x-y graph where the coordinate land, would that work? Would you expect to measure the step of triggers as well?
1996. Makes one feel old, doesn't it? lol.
If you can design levels suitable for the Elite set, I would be very interested in seeing them. I was hoping players would submit their levels to me actually. I could make a whole set that includes the best pick of player designed levels. You never know, the Elite set might get added one day.
So nice to receive such kind feedback, especially from someone who played the original - thank you!
I did scrap the Elite levels idea unfortunately. Renaissance wasn't as well received as I had hoped; and I got some quite vindictive negative feedback (see Steam reviews). So far on itch, this game has only 1 review of 1 star - again, seems very vindictive? 100+ levels take a long time to design, so I decided to close this project up to focus on new ideas - which I have lots of . The retro level set was easy and fun to make because of no background, a simple set of bricks and most levels were inspired by other breakout games, so I'm really glad I put the effort in to make them.
I hope you will follow me closely and see what I can come up with next.
I've used SDL1.2 (DirectX 7) to port the DOS version to Windows. The black borders on full screen mode are due to video hardware not being able to scale up from 320x200 - some monitors / video hardware can do it full screen no problem, some others not - it's not something you can change with software. There's no hotkey or quick fix because the game's graphics are hard coded to a special (unchained) 320x200 DOS video mode.
I can re-engineer the graphics to scale using SDL2.0. I was thinking of crowdfunding to pay for the time it will take to do, is that something you are interested in donating to?
Thanks for showing interest. I'm planning to start working on this again soon, so I hope you can follow the progress with me. I already did a lot of work on it since this project and it's come a long way. It's very fast now, even on weaker CPUs:
https://www.youtube.com/watch?v=Mb7kMhyUe9k
Yes, Alchemite will pass through you once you reach 9000 maximum.
Some levels of the Classic set have wormholes at player-level (like the original PowBall DeluXe). I've changed how this works recently and something might have broken. I'll test it now and it should be fixed in 2.04 if there's a problem. Some levels will trap you at the top once you go through one-way wormholes - this seems a bit crazy was intentional. You should drift back to to the bottom for the sub-game once the level is cleared.
Thanks for letting me know and don't hesitate to suggest anything else.
Thanks for that Stephen. I tried to add you on Steam many months ago to discuss some of your ideas, but it must have been lost in the void?
Agreed that the initial ball speed is slow (maybe I slowed it down a bit because I'm slower now I'm older? lol), but it speeds up fairly soon into the game to gradually pick up the pace. The bat speed is limited for all control methods (including the mouse). Imagine if the mouse player was faster than the game controller players - it wouldn't be fair. Imagine if the game controller could move as fast as the mouse, it would be impossible to control / stop. If it was any faster, you could just swipe left and right and never miss a ball due to the game physics (in other Breakout games the bat just passes through the ball - in PowBall it physically knocks it back into play - I don't want to be like other Breakouts). It's also to force you to plan ahead, aim, and be ready for when the ball bounces back. It probably feels a lot different to other Breakouts games that you've played, but be assured that a lot of thought and testing was put into the way it currently plays and has already undergone 1000s of tweaks.
As for your other ideas, they sound like something to include in PowBall 2, since Renaissance is a reboot of the original and needs to stay similar to the original concept. So, watch this space :-)
Q: Why can’t I save the game?
A: The game is saved automatically as you progress through the levels. You can stop playing at any time and resume the game later. If you quit playing while you’re currently in a game, that life will be lost unless you’re able to fly home safely first at the end of the level. Once you lose all your lives, that saved game will be over. This isn’t a bug, it’s permadeath - which makes survival more realistic and adds a sense of challenge to the game. Otherwise the game can be finished easily if you could try again an unlimited amount of times each time you lose a life, giving no real sense of skill or achievement.
Q: The game won’t load.
A: At the time of typing this, there are no crashes or load-failures logged with Steam. This game was made using a robust graphics library called SDL2 which is endorsed by Steam, who also host the .DLL files - so if there is ever a problem with future hardware, it will be fixed and patched on Steam’s side. If you do encounter any crashes or problems installing / running then please post in the discussion group.
Q: The game is too hard, I can only get to level 11.
A: It is challenging, but the key to surviving through to level 100 is resource management. Collecting Alchemite and spending it wisely is more important than blasting away at each level. Try to have a large stock of spare balls and lives and use ammo sparingly. Some levels will require a lot of spare balls or be launched, or missiles to be fired, so keep your stock high. Also, the experienced trader will use the shop prices to turn a profit by knowing when to buy and sell. Once you have the hang of using the shop, you will find the game much easier. After permadeath, don’t feel deflated about starting from level 1 again - see it as a chance to play a different strategy and collect and spend Alchemite more wisely to increase your survival and reach a higher level. If you really can’t get any further then try playing multiplayer with 1 or 2 AI bots to help you - but leaderboard and achievements will be disabled.
Q: Can you add a feature / content?
A: If it’s not going to take too much work, then yes - I love hearing about suggestions to improve this game. I’ve made many improvements (and friends!) already as a result of feedback from gamers just like you, so don’t be shy, but please be polite. Also please keep in mind that this is a low-budget game and I have limited time and resources to invest.
Q: The controls don’t feel responsive.
A: Responsive and accurate controls are very important in a game such as this, so a large amount of development time was put into getting them to work right. You should be able to move with pixel-perfect accuracy to aim balls into tight spaces - but at the same time move quickly to avoid enemies and catch stray balls and Alchemite. This perfect balance might require some tweaking of the mouse sensitivity in the options menu (or by using the PgUp / PgDn keys in-game). If you’re using a game controller then this all depends on the quality of the controller’s analogue stick. Xbox controllers are recommended. Some cheaper controllers are not sensitive enough, so you should try to use the D-pad or shoulder buttons for movement instead. It’s also worth mentioning that the player’s ship has a maximum velocity, so unlike some other brick-breaker games, you can’t teleport from one side of the screen to the other by flicking the mouse - this is an intentional design to stop “cheating” by swiping the mouse constantly from side to side, so the game might feel different to what you’re used to for this reason. It’s also to allow the game physics to be more realistic - did you notice you can side-swipe a ball you’re about to miss? And you can sideswipe enemies that are getting too close - none of which would be possible without a maximum velocity.