MMBasic: Knightmare Game


Author Message
LeoNicolas

Guru

Joined: 07/10/2020
Location: Canada
Posts: 470
Posted: 04:17pm 21 Apr 2024      

I released the stage 6 gameplay video.

https://youtu.be/TD_DWqn7wSA


LeoNicolas

Guru

Joined: 07/10/2020
Location: Canada
Posts: 470
Posted: 02:55am 22 Apr 2024      

We will have an intro and a menu screen soon!



LeoNicolas

Guru

Joined: 07/10/2020
Location: Canada
Posts: 470
Posted: 10:58pm 27 Apr 2024      

Hello everyone

I completed the game intro and main menu implementation. The next steps are to implement stages 07 and 8.

https://www.youtube.com/watch?v=xB08OaIKxmU

Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3811
Posted: 07:49am 28 Apr 2024      

Nice, even without level 7 and 8 it is a complete game now.
Excellent work Leonas.

Volhout

LeoNicolas

Guru

Joined: 07/10/2020
Location: Canada
Posts: 470
Posted: 02:25am 07 May 2024      

Stage 7 is coming


thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3927
Posted: 05:50pm 16 Jul 2024      

@LeoNicolas,

Is the code here https://github.com/leonicolas/knightmare-cmm2 out of date ?

I ask because if I look at init_menu() it makes a series of calls to print_centralized() which will ultimately blit the text glyphs to PAGE 1 ...

... but I can't find any code that then copies PAGE 1 to PAGE 0 so (at least in MMB4L) that text will never be displayed.

Doesn't seem to work as it currently is on either MMB4W or MMB4L ???

Best wishes,

Tom
Edited 2024-07-17 03:57 by thwill

vegipete

Guru

Joined: 29/01/2013
Location: Canada
Posts: 1091
Posted: 10:28pm 16 Jul 2024      

At the start of "init.inc", Leo uses "mode 3,12". Page 1 sits on top of page 0, no?

LeoNicolas

Guru

Joined: 07/10/2020
Location: Canada
Posts: 470
Posted: 04:49am 17 Jul 2024      

Yes, I use mode 3,12 and both pages (0 and 1) for background and text. It works on MMB4W. I haven't tried on the real CMM2 or the Pico yet.

Yes, the source code is up to date in the repo.

I needed to stop the development for a couple of months. I'm near to complete the level 7 development. I'm planing to come back to the game at the end of August. Unfortunately some life problems are holding me now

Thank you for reviving this thread

thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3927
Posted: 11:23am 17 Jul 2024      

  LeoNicolas said  Yes, I use mode 3,12 and both pages (0 and 1) for background and text.


Thank you, I was unaware of this "wrinkle" and had just commented out the ", 12" whilst I was getting other things working.

  LeoNicolas said  I haven't tried on the real ... Pico yet.


If a version on the PicoMiteVGA is possible (maybe even the Game*Mite) then your display model will require considerable rework as they don't have the same PAGE model as the CMM2/MMB4W being restricted to the display (N) a frame buffer (F) and a layer (L).

Best wishes,

Tom

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8682
Posted: 11:44am 17 Jul 2024      

Tom

See the chapter on "12-bit mode graphics" in the document "Graphics Programming on the CMM2-v3d.pdf" included in the CMM2 firmware download zip for info on 12-bit mode. The layer buffer on the PicoMiteVGA is an attempt in software to mimic what the CMM2 does using the capabilities of the STM32H7 H/W
Edited 2024-07-17 21:44 by matherp

LeoNicolas

Guru

Joined: 07/10/2020
Location: Canada
Posts: 470
Posted: 12:18pm 17 Jul 2024      

If necessary I can combine both layers in one framebuffer and blit it to the screen
Edited 2024-07-17 22:55 by LeoNicolas

thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3927
Posted: 08:50am 18 Jul 2024      

  matherp said  See the chapter on "12-bit mode graphics" in the document "Graphics Programming on the CMM2-v3d.pdf" included in the CMM2 firmware download zip for info on 12-bit mode. The layer buffer on the PicoMiteVGA is an attempt in software to mimic what the CMM2 does using the capabilities of the STM32H7 H/W


Thank you Peter, I've managed to implement a semblance of that, though (if I can be bothered - which may depend on whether semi-transparent is a feature actually in use) I may have to mess with the transparency as currently for simplicity I have 256 alpha levels rather than the 16 used by the CMM2 in this mode.

Best wishes,

Tom

thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3927
Posted: 10:51am 19 Jul 2024      

Hi @LeoNicolas,

The file "music.inc" includes a number of calls to PLAY MODFILE with an interrupt set at line 16000 ... except there is no line/label 16000 ?

Best wishes,

Tom

matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8682
Posted: 11:21am 19 Jul 2024      

It isn't an interrupt, it is the modfile playback sample rate

thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3927
Posted: 11:25am 19 Jul 2024      

  matherp said  It isn't an interrupt, it is the modfile playback sample rate


... thank you. Thus identifying another missing feature in MMB4L and also explaining a later error about mismatched sample rates that occurred with MMB4W after I commented it out.

D'Oh!

Best wishes,

Tom

Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 991
Posted: 11:54am 19 Jul 2024      

  thwill said  
If a version on the PicoMiteVGA is possible (maybe even the Game*Mite) then your display model will require considerable rework as they don't have the same PAGE model as the CMM2/MMB4W being restricted to the display (N) a frame buffer (F) and a layer (L).

Best wishes,

Tom

You must also bear in mind that the Picomite has less memory than the CMM2, the use of FrameBuffer(F) AND Layer(L) is very memory-intensive.
Cheers
Martin