Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 06:15 03 May 2024 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 : VegiPete's ChemiChaos for PicoMite

Author Message
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3552
Posted: 08:45pm 06 Apr 2024
Copy link to clipboard 
Print this post

ChemiChaos

In 2021 Vegipete released ChemiChaos for CMM2. It is a game where you move chemical droplets to the right container(vial) to make the lab safe.
At that time I played the game until the last level, spend a whole evening to get that far,

I have ported the game to PicoMiteVGA and Game*Mite. Of coarse adaptations had to be made since the graphics resolution for PicoMite (VGA and ILI9341 LCD used on Game*Mite) is only 320x240 for color. One of the most dramatic is the use of the build in text font. The font in the sprite file was barely readable on LCD screen when scaled to fit the text.





The list of changes:
- I scaled the spites file to 50% in MS-PAINT for LCD
- For VGA I re-painted vials and droplets in 16 colors palette.
- I removed MOUSE from the game, there is no mouse support in PicoMite.
- I added the support for Game*Mite buttons and Menu.bas.
- I centered the vials on screen
- Many, many coordinate changes to fit everything hardcoded to the 320x240 screen.

Quirks:
VegiPete added 2 lines to the mouse cursor sprite file to store keyboard clicks and mouse clicks. I left this in, since somewhere in the future is the addition for a nunchuck, that needs a mouse cursor. Currently the mouse cursor is not used at all.

The software is working on PicoMiteVGA V5.08.00 and Game*Mite V5.08.00. The device specific setting are using MM.DEVICE$ where "PicoMite" is used to select the Game*Mite and "PicoMiteVGA" for the VGA. For other platforms adaptations will be required.

To make use of the 16bit color of the LCD, the game does not make use of framebuffers and sprites. It copies part of the actual screen in memory buffers using BLIT READ and BLIT WRITE. As a side effect the start of the game shortly shows the sprite file.

VGA
You pick up droplets, and drop them again with <SPACE>
You move between vials with left and right arrow keys
You restart a level with R
You toggle the statistics ON/OFF with C
You quit the game with <ESC>

Game*Mite
You pick up droplets, and drop them again with B
You move between vials with LEFT and RIGHT buttons in the cluster
You restart a level with A
You toggle the statistics ON/OFF with START
You quit the game with SELECT
For the "cluster lovers": you can also pick up and drop with the UP and DOWN buttons.

Unzip below file to SD card (B:).
In Game*Mite, use the file browser to start "Chemichaospico6.bas"






Happy gaming....


ChemiChaos1_6.zip


Volhout
Edited 2024-04-07 17:01 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 903
Posted: 09:45am 07 Apr 2024
Copy link to clipboard 
Print this post

Tested on Game*Mite.
great realization, fun to play thanks for that  
Edited 2024-04-07 19:48 by Martin H.
'no comment
 
Amnesie
Guru

Joined: 30/06/2020
Location: Germany
Posts: 382
Posted: 10:04am 07 Apr 2024
Copy link to clipboard 
Print this post

Yes! Thank you for this port! Very fun to play with!

Greetings
Daniel
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3848
Posted: 08:44am 08 Apr 2024
Copy link to clipboard 
Print this post

Thanks @Volhout, I will check it out this evening.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3848
Posted: 09:34am 09 Apr 2024
Copy link to clipboard 
Print this post

I gave it a spin, very nice.

I've got @vegipete's permission to host these files so when I get a chance I will upload it onto github and provide a link from the Game*Mite home page.

@Volhout note that rather than using hard-coded paths to resources you should default to using Mm.Info$(Path) which resolves to the directory containing the running .bas file. The only limitation with this is that on the PicoMite it doesn't resolve when running a program from a flash slot (or from the editor), it has to be via LOAD and/or RUN.

  Volhout said  Unzip below file to SD card (B:).
In Game*Mite, use the file browser to start "Chemichaospico6.bas"


Programs on B: drive can be added to the Game*Mite menu by editing the A:/.gm-menu file, see the manual.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3552
Posted: 11:06am 09 Apr 2024
Copy link to clipboard 
Print this post

Hi Tom,

I am happy you like it.

1/ I can try to make above mm.info$(path) changes to the code.
2/ Yesterday I found some MOD files (MOD archive) that could be added as background music. Not sure if you would like that for the game. Each level could have it's own tune.   If you don't like it ... turn the volume down...  
3/ I think the easier levels have too many "random" generated configurations to keep them interesting. I would remove some of these. But again, this is Vegipete's game, and I may need to consult him. I myself find it boring to spend so much time in the easier levels.
4/ I think I will change the use of MM.Device$ to a single line. That makes is easier for other platforms to port. Do you know if the recent change Peter made (OPTION RESET xxxx) also includes the xxxx into OPTION PLATFORM ? Because I am looking for a way to distinguish Game*Mite from a generic PicoMite with LCD. And I hate ON ERROR SKIP.

Did you have an "mis-clicks" while playing the game. ??

Volhout

P.S. You have created the file browser on the Game*Mite. I think it is great. Do you think the file browser could be expanded to have a "INCLUDE IN GAME MITE MENU" function ? That would surely make life easier for many (I am sure capable of adding to the menu, but am simply to lazy to do it...i'll just use the browser, and told my grand children how to use the browser when they want to play PETSCII or FLAPPY or what's next).
Edited 2024-04-09 21:11 by Volhout
PicomiteVGA PETSCII ROBOTS
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3848
Posted: 12:48pm 09 Apr 2024
Copy link to clipboard 
Print this post

Hi,

  Volhout said  2/ Yesterday I found some MOD files (MOD archive) that could be added as background music. Not sure if you would like that for the game. Each level could have it's own tune.   If you don't like it ... turn the volume down...


If you like. Personally I'm ambivalent about having the game assets so much larger than the game itself. I had wondered about adding the music from The Elements Song using my primitive sound engine, but that's another thing for the TODO list.

  Volhout said  3/ I think the easier levels have too many "random" generated configurations to keep them interesting. I would remove some of these. But again, this is Vegipete's game, and I may need to consult him. I myself find it boring to spend so much time in the easier levels.


I haven't played it enough to notice. I assumed that the levels were always procedurally generated from a fixed seed, in which case implementing a mechanism to skip to a particular level (once you knew the code) would be possible with work.

  Volhout said  Do you know if the recent change Peter made (OPTION RESET xxxx) also includes the xxxx into OPTION PLATFORM ? Because I am looking for a way to distinguish Game*Mite from a generic PicoMite with LCD. And I hate ON ERROR SKIP.


In general OPTION RESET xxx does not automatically also set OPTION PLATFORM to xxx. However the options set implemented by Peter for each xxx can include OPTION PLATFORM and they do so for the "Game*Mite".

  Volhout said  Did you have an "mis-clicks" while playing the game. ??


No, but I didn't play it very long. I had intended to try it out whilst at "computer club" last night but forgot to take an SD card and ended up just smoke testing it for 5 minutes this morning.

  Volhout said  P.S. You have created the file browser on the Game*Mite. I think it is great. Do you think the file browser could be expanded to have a "INCLUDE IN GAME MITE MENU" function ? That would surely make life easier for many


It is already high on the TODO list, alongside "MOVE ITEM UP", "MOVE ITEM DOWN", "RENAME ITEM" and "DELETE ITEM".

Note that Geoff's "Pico Gamer" takes an alternative approach of automatically including programs (from A:/) in the menu, but I tend to have a lot of temporary rubbish on my drives so am probably going to keep requiring it to be configured explicitly.

Best wishes,

Tom
Edited 2024-04-09 22:52 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3552
Posted: 12:59pm 09 Apr 2024
Copy link to clipboard 
Print this post

Hi Tom,

The levels are in data statements at the end of the program, lik this:



The lines that have a "-1" are randomly generated. The other ones are specific for their complexity or cleverness. I guess I would remove some of the random ones. Especially the ones with few vials, since they are not challenging .. too much alike.

Volhout

P.S. The ones commented out, are so by VegiPete. Maybe he was not sure if they can be solved.
PicomiteVGA PETSCII ROBOTS
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 1790
Posted: 01:02pm 09 Apr 2024
Copy link to clipboard 
Print this post

  Quote  automatically including programs (from A:/) in the menu, but I tend to have a lot of temporary...

If all that could be put in a TEMP directory perhaps the Menu could be made to ignore TEMP.
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 903
Posted: 01:43pm 09 Apr 2024
Copy link to clipboard 
Print this post

Since the sprites are not that big, you can also include them as CSUB in the program, then you wouldn't need to reload anything
'no comment
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3552
Posted: 01:52pm 09 Apr 2024
Copy link to clipboard 
Print this post

Hi Martin,

Not really.....

The sprite format is limitted to 16 colors.

In the Game*Mite it loads a 24bit BMP into the LCD (Peter converts it to 16bit color), and I read these back into memory buffers. So on the Game*Mite the game runs in 16bit color.

On the VGA it does the same, but then it is converted to 4 bit color (and it has it's own SPRITE BMP that is manually adjusted to give a cleaner picture with only 16 colors). So for the VGA version that is feasible.

Volhout
Edited 2024-04-09 23:54 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3552
Posted: 06:26pm 11 Apr 2024
Copy link to clipboard 
Print this post

Hi Tom,

I have made the minor changes (not added music). It starts via the browser, and through editor, and with RUN from the command line.

There is one Caveat, you (now) have to add

OPTION PLATFORM "Game*Mite"


to get support for the buttons on the game mite. If you do not have this option set then there is only support for keyboard control. This happens automatically if you use 5.09.00 and OPTION RESET Game*Mite, in 5.08.00 this must be set manually.

Regards,

Volhout


ChemiChaos1_6t.zip
Edited 2024-04-12 04:30 by Volhout
PicomiteVGA PETSCII ROBOTS
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3848
Posted: 08:25am 16 Apr 2024
Copy link to clipboard 
Print this post

Thank you @Volhout, I haven't had an opportunity to give it a spin, but will try and do so by the end of the week.

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Print this page


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

© JAQ Software 2024