Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 01:35 28 Jun 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : PicoPongo, Pong for Picomites (a HDMI Mode 3 game)

Author Message
twofingers

Guru

Joined: 02/06/2014
Location: Germany
Posts: 1556
Posted: 02:43pm 09 Jun 2025
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 7806
Posted: 03:01pm 09 Jun 2025
Copy link to clipboard 
Print this post

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: Netherlands
Posts: 5016
Posted: 03:10pm 09 Jun 2025
Copy link to clipboard 
Print this post

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: Germany
Posts: 1556
Posted: 04:08pm 09 Jun 2025
Copy link to clipboard 
Print this post

  Volhout said  Hi Twofingers,

Any source code you could share?
...

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


  Volhout said  ... If you don't mind me porting it ? ...

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 Kingdom
Posts: 4295
Posted: 04:24pm 09 Jun 2025
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 7806
Posted: 04:31pm 09 Jun 2025
Copy link to clipboard 
Print this post

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: Germany
Posts: 1556
Posted: 06:45pm 15 Jun 2025
Copy link to clipboard 
Print this post

@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: Netherlands
Posts: 5016
Posted: 07:19am 16 Jun 2025
Copy link to clipboard 
Print this post

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: Germany
Posts: 1556
Posted: 10:47am 16 Jun 2025
Copy link to clipboard 
Print this post

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: Netherlands
Posts: 5016
Posted: 01:59pm 16 Jun 2025
Copy link to clipboard 
Print this post

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: Germany
Posts: 1556
Posted: 02:39pm 16 Jun 2025
Copy link to clipboard 
Print this post

  Volhout said  Hi Michael,

I have no experience with loading sounds. Maybe Martin.H has ? Or Peter has a demo how to do this. ...

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.

  Volhout said  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

Very good idea!    I'll try that. I've also considered replacing the sprite (oops!) when it goes out of bounds.
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: Germany
Posts: 1556
Posted: 04:36pm 24 Jun 2025
Copy link to clipboard 
Print this post

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
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025