![]() |
Forum Index : Microcontroller and PC projects : PicoPongo, Pong for Picomites (a HDMI Mode 3 game)
Author | Message | ||||
twofingers![]() Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1556 |
This is PicoPongo, my version of Pong for Picomites. The HDMI (Mode 3) game is designed for solo players against the Pico and keyboard control. Help key is 'F1'. Cursor up = Paddle up Cursor down = Paddle down 't' = Sound on/off 's' = Screenshot 'p' = Pause Esc = Exit ![]() Have fun. Regards Michael causality ≠ correlation ≠ coincidence |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7806 |
Something wrong here. The ball isn't square. :) Ah, happy memories... Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5016 |
Hi Twofingers, Any source code you could share? I think this is a nice one for the Game*Mite. If you don't mind me porting it ? Pong was the ultimate 2 player game. And I think it could be nice to use the Game*Mite with a small communication module (ESP8266 or alike) and play with 2 Game*Mites. That would also work well with my own game Circle, that originally was a 2 player game for 2 NES controllers. I don't know if I have the stamina to pull this all off, but I will try to bring some new life to Game*Mite. Volhout PicomiteVGA PETSCII ROBOTS |
||||
twofingers![]() Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1556 |
Hi Harm, All you have to do is click on what you want. (Let me know if you need more help. ![]() Remember what the dormouse said Feed your head I would be happy about any further use. I don't think I'm very good at game development, but I thought it would be interesting to do something like this with a Pico. Isn't it amazing that you can now write programs in Basic with a Pico that used to require assembly language? What's missing? I think the sound could be improved. A two-player mode could be added. Different difficulty levels, gradually increasing ball speed, appearing obstacles, bonus points, joystick controls ... @Mick A square ball is an absolute necessity! Maybe it should be bigger... but that's easy to adjust ... ![]() Michael causality ≠ correlation ≠ coincidence |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4295 |
Click on the screenshot Harm, I think Michael's run out of dried frog pills again. Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7806 |
He he.... White Rabbit. :) Great song. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
twofingers![]() Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1556 |
@all I'd like to know if HMDM mode 3 is identical to VGA mode. The reason is that I want to add the Pong game to Harm's thread, in case it's compatible. The manual isn't clear on this. I've modified the Picopongo slightly. The design has been changed, and the ball speed automatically increases after 20 points (total). The game ends after a total of 60 points. Follow the white rabbit ... ![]() Michael causality ≠ correlation ≠ coincidence |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5016 |
Hi Michael, In case you use resolution 640x480 on HDMI mode 3, the resolution is the same as VGA mode 1. But the way color is made is totally different (VGA uses tiles, HDMI mode 3 can use individual colors). I will look at your code and see if it can be modified. Volhout P.S. in VGA mode 1 it is black and white. In VGA mode 2 the game in essence works but it is not really playable. The bats move far too slow (you cannot change the keyboard repeat in a MMBasic program for a PS2 keyboard, you need to set it on the commandline.). And the bats and rabit are huge... But that is kind of fun. I think this game could be adapted to work on VGA mode 2 relatively simple. Edited 2025-06-16 17:31 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
twofingers![]() Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1556 |
Thanks for the feedback, Harm! It's very useful! ![]() In principle, I could also rewrite it for Mode 2 (320x240). But the keyboard query is probably the party killer. Without adjusting the repeat rate, the keyboard control makes no sense (to slow!). And I wanted something simple, without any tinkering. By the way, a second "ball" is inserted in the code. The sprite generation was done with a standard image editing program. However, strange, unexpected things sometimes happen during the RGB121 conversion. I tried to improve the sound effects with a custom sound ("play LOAD sound ..." and "play sound ..."). But "play sound 1," M, U, 1" doesn't seem to work". "Play sound 1, "M",S,440" and "Play tone ..." works well too, but it's boring. I couldn't even figure out why "Play sound" needs a "soundno". ![]() Anyway, thanks again for the feedback! Michael causality ≠ correlation ≠ coincidence |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5016 |
Hi Michael, I have no experience with loading sounds. Maybe Martin.H has ? Or Peter has a demo how to do this. But it is exciting to play with it. You are using sprites for the ball. You are aware that it is possible to horizontally mirror a sprite ? So the Rabit could be facing left or right depending it's move... Volhout PicomiteVGA PETSCII ROBOTS |
||||
twofingers![]() Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1556 |
I think I've already found a solution. It's probably the "MEMORY PACK". If I use a replacement function, it works. Perhaps an addition will follow. I'm still testing. Very good idea! ![]() Regards Michael So the Rabit could be facing left or right depending it's move... Done! ![]() Edited 2025-06-17 06:26 by twofingers causality ≠ correlation ≠ coincidence |
||||
twofingers![]() Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1556 |
This update has the following changes: 1. The game now also runs in Mode 2 (at least for HDMI) in addition to HDMI-Mode 3. 2. Paddle control is done via Keydown(), and is very fast and smooth. This means that it is unfortunately no longer controllable via console. But I hope it will also work for PS2 keyboards. 3. You can choose between five internal ball sprites. 4. Custom sprites can be easily added. I assume that users will set the game parameters in the code, as I would like a standalone program (single file). For example, you can set ball speed, paddle speed and -size, different 'balls' and game end conditions. The world is not enough! ![]() Regards Michael causality ≠ correlation ≠ coincidence |
||||
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |