Always an option:
AI for Blobby Volley should be easy to do, throwing a few math and maybe some RNG. The real fun of BV was always multiplayer tho, sooooā¦
Ahah thatād take out some fun if you did, as youāre much more skilled than I am!
For the external button, yeah itās very simple, yet itās still a requirement that might not be fulfilled in every situation -like riding a train. So as much as possible, Iād like to make games that only use what the Pokitto provide by default, and then extend them with PEX.
But I got to do it to know best anyway!
As a side note, is there any attempt to establish reliable communication between two pokitto, like the old link cable for the gameboy and so? Unless I buy another one that wonāt work much for me, but making it kind of standard (as an optional module from the Pokitto API) could open the following things:
- Emulating multiples Pokitto and let them talk for testing by showing both, using differents threads and mapping more keys/controller buttons.
- Could be great for education package, as theyāre going to have multiple Pokitto already!
- Of course, multiplayer games / musics apps!
As of C++11 youāve got a whole array of engines to chose from :P
https://en.cppreference.com/w/cpp/numeric/random
This is why we really need to invest in some hats.
If there was a standardised āextra buttonā hat then you could just tell people ārequires the extra button hatā instead of giving them a wiring diagram.
I started trying to connect my Pokitto to an Arduino board but didnāt get around to ordering the 3.3v to 5v bridge.
I have got a spare board so I might just go for it and risk the potential damage, but Iād rather not waste my spare board if I can avoid it.
(Aparently some of the pins are 5v tolerant, but some arenāt, and some are but only under certain circumstances. Iāll check the document again sometime, but it was very confusing.)
I could try to develop something on my spare board, but it doesnāt have a screen so Iād be flying blind (and Iām not sure how well it would run without the screen - it might end up waiting for a response from the screen that never comes).
I hope to acquire a second Pokitto soonish, so maybe Iāll investigate something then.
Really it should be as simple as hooking up N input pins to N output pins.
The trick is picking the right pins (I believe thereās a way to treat multiple pins as a single parallel unit),
and then selecting/devising a decent communication system.
(If I can find some decent docs I might even be able to base it on the GB/GBA link cable.)
Ahhh donāt worry, Iām started using to those engines and distributions for a bit less than a year haha thanks anyway!
Yeah hats definitely deserve time to invest into!
Ah right, that could become handy to try with an arduino first! You could maybe use the debugger for running on the other board? but I donāt know if thatād would even start this way
Welcome. I am looking forward to your concepts!
Itā¦ does? I never noticed this. Itās a PokittoLib feature? o_O
Maybe change it so the back button (below the reset button) adjusts volume, then youāre free to use the C button.
I hope I wonāt disappoint!
Well according to the poster itās the case!
Maybe it changed and the poster wasnāt updated. I assumed it was somehow hard-wired because its presence on a poster makes it kind of permanent?
Iāve looked into them a lot but havenāt actually used them yet.
Oddly I find that I donāt often need random numbers.
Iām tempted to start a thread for hat ideas.
If I had more 3D printing knowledge then Iād try to develop a simple hat.
Iād need to get a debugger cable first,
and Iād probably end up connecting the debugger to the PEX rather than the ports at the back, so it might not be ideal.
Iāll find a way to test someday.
It would be interesting to know if Pokitto boards can run āheadlessā without modifying the library.
This surprised me to, I discovered it when I was looking into ways to improve the Button
library for a v2 of the PokittoLib.
Nope, itās done in software.
great idea
To clarify, the āFlashā button (as it is labelled on the poster, what FManga calls the ābackā button),
does it currently only do something if you hold it down while turning the Pokitto on?
I.e. it wonāt do anything if you randomly press or tap it while the Pokitto is on?
Because I know tapping āResetā will put the Pokitto into USB mode.
The only downside I can see to this is if someone tries to adjust the sound but hits āResetā by mistake.
But it might be worth it.
Funny story: originally I thought āCā was going to be like a āhomeā button and thought we couldnāt use it in our programs.
Which brings me to one last question: why is it called āCā and not āStartā or āSelectā?
Ah, I didnāt know it had a name.
Iāve been using it as a select button in the gameboy emulator, hasnāt caused any problemsā¦ though hitting reset accidentally is a risk.
I intended to use the C button solely as a SELECT/PAUSE one.
If it depends on the library, Iād suggest making it the default behavior, and hijack it with a #define
. That way we can have the freedom to handle the volume in our own menu systems, and use that button for other things.
Sooo I guess the control scheme for the Blobby Volley game could be the following:
2 Players:
- LEFT/RIGHT - Move Player 1ās Blob.
- UP - Make Player 1ās Blob jump.
- B/A - Move Player 2ās Blob.
- C - Make Player 2ās Blob jump.
- DOWN - Game Pause/Menu (thatād might have to be strongly) with a nice scroll-down transition.
Game Pause:
- UP at the top - Resume Game with a nice scroll-up transition.
- UP/DOWN - Select Item
- A - Select Option
- LEFT-RIGHT - Change current Optionās value.
Hmm yeah, I think I can see this better now. Also could be used for more local-multip games actually. Will still try the A-then-B or B-then-A to jump just for fun
(Also having a weird idea of doing a kind of finger twister but that might end up breaking the pokitto haha)
If we ever get round to having a v2 of the library (which I hope we do) then Iād like all settings to be defined by a class
/struct
type thatās passed as a template argument to the library.
That way to alter the settings you create a new struct
/class
that inherits the original set with a few modifications.
E.g.
// Library code
namespace Pokitto
{
struct DefaultSettings
{
static constexpr VolumeBehaviour volumeBehaviour = VolumeBehaviour::CAndLeftOrRight;
static constexpr GraphicsMode graphicsMode = GraphicsMode::Hires;
// etc
};
}
// User Code
struct MySettings : public Pokitt::DefaultSettings
{
static constexpr VolumeBehaviour volumeBehaviour = VolumeBehaviour::None;
};
using Core = Pokitto::Core<MySettings>;
using Core::Display;
using Core::Buttons;
Much more flexible, and itās done at the language level instead of the preprocessor level.
You can even static_assert
for invalid settings.
Ah yes, of course templates would be a great things to do for that!