Author Topic: Coolbox [New Game in Basic]  (Read 7562 times)

0 Members and 1 Guest are viewing this topic.

Offline Morri

  • CPC6128
  • ****
  • Posts: 284
  • Country: nz
  • Liked: 236
  • Likes Given: 215
Coolbox [New Game in Basic]
« on: 12:53, 19 June 16 »
Hi All,
I have been working on a basic game for the last few months. Let me introduce "Coolbox", a puzzle game in the vain of Block Dude the old calculator game.
This game is completely written in Basic, no machine code or loaded files. It has multicoloured sprites, scrolling and in game music (thanks to Mr Lou for the tunes).

I was going to enter it into the CPCRetroDev2016 comp but I have failed to get it to work in Basic 1.0. Initially the sprites caused me some problems. I fixed that only to have the scrolling give me issues so I've given up and decided to release it as Basic 1.1 only. However if someone wants to have a go at making it 464 compatible, please be my guest.  ;D

Hope you guys have fun and give feedback here.
Keeping it Kiwi since 1977

Offline AMSDOS

  • Supporter
  • 6128 Plus
  • *
  • Posts: 3.718
  • Country: au
    • index.php?action=treasury
    • Programs for Turbo Pascal 3
  • Liked: 952
  • Likes Given: 1676
Re: Coolbox [New Game in Basic]
« Reply #1 on: 13:39, 19 June 16 »
I was going to enter it into the CPCRetroDev2016 comp but I have failed to get it to work in Basic 1.0. Initially the sprites caused me some problems. I fixed that only to have the scrolling give me issues so I've given up and decided to release it as Basic 1.1 only. However if someone wants to have a go at making it 464 compatible, please be my guest.  ;D


Would of been happy to give it a crack, you should of PM me earlier with it.  ;D
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

Offline Morri

  • CPC6128
  • ****
  • Posts: 284
  • Country: nz
  • Liked: 236
  • Likes Given: 215
Re: Coolbox [New Game in Basic]
« Reply #2 on: 13:48, 19 June 16 »
Would of been happy to give it a crack, you should of PM me earlier with it.  ;D
You still can mate, it would be great if 464 owners get to have a chance to play it.  8)
Keeping it Kiwi since 1977

Offline AMSDOS

  • Supporter
  • 6128 Plus
  • *
  • Posts: 3.718
  • Country: au
    • index.php?action=treasury
    • Programs for Turbo Pascal 3
  • Liked: 952
  • Likes Given: 1676
Re: Coolbox [New Game in Basic]
« Reply #3 on: 13:56, 19 June 16 »
You still can mate, it would be great if 464 owners get to have a chance to play it.  8)


Yes I can, I just meant it might be a bit difficult to submit it for the compo now.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

Offline ronaldo

  • Dev
  • 6128 Plus
  • *****
  • Posts: 610
  • Country: es
    • Fremos Blog
  • Liked: 846
  • Likes Given: 797
Re: Coolbox [New Game in Basic]
« Reply #4 on: 14:16, 19 June 16 »
It's a great game, @Morri , congratulations :). It is not easy to make a great playable game in BASIC.

I've tested it and mostly works on BASIC 1.0. The only problem seems to be with your s$ strings. You are using control chars directly there and seems to cause some kind of problem with BASIC 1.0. I think that changing that sequences into CHR$(xx)+CHR$(xx)... instead of directly placing characters may solve the issues.

It's a pitty you haven't asked earlier. It could have been a very competitive game for the compo. You may still reuse some ideas to make a similar but different game and submit it to the compo. Just make sure that games are different enough :).

Offline VincentGR

  • 6128 Plus
  • ******
  • Posts: 1.119
  • Country: gr
    • Parts from the past.
  • Liked: 608
  • Likes Given: 1582
Re: Coolbox [New Game in Basic]
« Reply #5 on: 15:01, 19 June 16 »
This is fantastic!!!!

Thank you.

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.332
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2247
  • Likes Given: 3477
Re: Coolbox [New Game in Basic]
« Reply #6 on: 15:05, 19 June 16 »
Amazing  :)
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline Phantomz

  • 6128 Plus
  • ******
  • Posts: 1.141
  • Country: gb
  • Liked: 1659
  • Likes Given: 534
Re: Coolbox [New Game in Basic]
« Reply #7 on: 19:57, 19 June 16 »
@Morri

Thanks a lot for this great little game.  :)

Just had a quick go and got to level five, out of interest, how many levels does it have?

I'll play it some more later on my GX4000  ;D

Offline Morri

  • CPC6128
  • ****
  • Posts: 284
  • Country: nz
  • Liked: 236
  • Likes Given: 215
Re: Coolbox [New Game in Basic]
« Reply #8 on: 21:39, 19 June 16 »
Yes I can, I just meant it might be a bit difficult to submit it for the compo now.
Submitting is not an option now but that is OK. I was never doing this for anything other than fun anyway. ::)

It's a great game, @Morri , congratulations :) . It is not easy to make a great playable game in BASIC.
Making a fun game in BASIC was the idea so I'm glad people are enjoying it.
Quote
I've tested it and mostly works on BASIC 1.0. The only problem seems to be with your s$ strings. You are using control chars directly there and seems to cause some kind of problem with BASIC 1.0. I think that changing that sequences into CHR$(xx)+CHR$(xx)... instead of directly placing characters may solve the issues.

Yes BASIC 1.0 and use of control codes is very limited. I have a version where the sprites are fixed in BASIC 1.0 and it wasn't too bad to fix, however the next bug I encountered was a scrolling bug using the OUT commands. The screen moved OK but the sprites would not stay on the screen. This one proved too much for me and I just couldn't bear working on it anymore.

@Morri

Thanks a lot for this great little game.  :)

Just had a quick go and got to level five, out of interest, how many levels does it have?

I'll play it some more later on my GX4000  ;D

Good going. It has 9 levels and I even put in an ending. 7 and 8 are real ball busters though.
Keeping it Kiwi since 1977

Offline Kris

  • 6128 Plus
  • ******
  • Posts: 554
  • Country: fr
  • Team Impact
  • Liked: 220
  • Likes Given: 819
Re: Coolbox [New Game in Basic]
« Reply #9 on: 21:52, 19 June 16 »
Great realisation, especially in Basic.
I really like gfx and gameplay: a nice & addictive game  ;)

Offline Phantomz

  • 6128 Plus
  • ******
  • Posts: 1.141
  • Country: gb
  • Liked: 1659
  • Likes Given: 534
Re: Coolbox [New Game in Basic]
« Reply #10 on: 22:07, 19 June 16 »
Good going. It has 9 levels and I even put in an ending. 7 and 8 are real ball busters though.

@Morri

Cool.  8)

Is it ok to upload the cpr for plus users to use and a version for the GX4000 where I've changed the controls ?

In the GX4000 version I've made it push down to pick up and drop cube, Button 1 to turn music on / off, and Button 2 to restart the level, the console pause button goes back to the main menu.  ;D

I've only tested it in emulation at the moment but appears to work ok.  ;)

Offline Morri

  • CPC6128
  • ****
  • Posts: 284
  • Country: nz
  • Liked: 236
  • Likes Given: 215
Re: Coolbox [New Game in Basic]
« Reply #11 on: 22:21, 19 June 16 »
@Morri

Cool.  8)

Is it ok to upload the cpr for plus users to use and a version for the GX4000 where I've changed the controls ?

In the GX4000 version I've made it push down to pick up and drop cube, Button 1 to turn music on / off, and Button 2 to restart the level, the console pause button goes back to the main menu.  ;D

I've only tested it in emulation at the moment but appears to work ok.  ;)
Yeah of course, my first GX4000 game.  8)
Keeping it Kiwi since 1977

Offline Phantomz

  • 6128 Plus
  • ******
  • Posts: 1.141
  • Country: gb
  • Liked: 1659
  • Likes Given: 534
Re: Coolbox [New Game in Basic]
« Reply #12 on: 22:34, 19 June 16 »
Yeah of course, my first GX4000 game.  8)

Cool.  8)

I don't know if there is any highscore table to get stuck on.  :laugh:

Here is the cart with controls unchanged and one for the GX4000.  :)

Offline HAL 6128

  • 464 Plus
  • *****
  • Posts: 491
  • Country: de
    • index.php?action=treasury
  • Liked: 243
  • Likes Given: 1213
Re: Coolbox [New Game in Basic]
« Reply #13 on: 23:02, 19 June 16 »
Very good and impressive BASIC game!
...proudly supported Schnaps Demo and Pentomino, NQ-Music-Disc with GFX

Offline SRS

  • Supporter
  • 6128 Plus
  • *
  • Posts: 562
  • Country: de
  • Schneider CPC464 - what else ?
  • Liked: 547
  • Likes Given: 289
Re: Coolbox [New Game in Basic]
« Reply #14 on: 00:35, 20 June 16 »
nice game !

Tried to BASCOMPILE it to get it on 464 but if gives me syntax error in line 80.

"ENT -3,=1000,60,=3000,40"

wondering why this works on emulator but bc does not like it
« Last Edit: 00:39, 20 June 16 by SRS »

Offline ||C|-|E||

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 1.817
  • Country: gb
    • index.php?action=treasury
    • Mundo CPC
  • Liked: 1017
  • Likes Given: 1072
Re: Coolbox [New Game in Basic]
« Reply #15 on: 01:24, 20 June 16 »
It is very cool! I was playing it for a while and the only thing I miss is being able to face left or right without moving the main character :)

Offline Morri

  • CPC6128
  • ****
  • Posts: 284
  • Country: nz
  • Liked: 236
  • Likes Given: 215
Re: Coolbox [New Game in Basic]
« Reply #16 on: 01:46, 20 June 16 »
nice game !

Tried to BASCOMPILE it to get it on 464 but if gives me syntax error in line 80.

"ENT -3,=1000,60,=3000,40"

wondering why this works on emulator but bc does not like it

I'm not a sound person but I believe the equals sign is a hardware direct call from basic used for more advanced sounds. Removing this line would affect one of the sound effects but should be OK.

It is very cool! I was playing it for a while and the only thing I miss is being able to face left or right without moving the main character :)

I thought about this feature and whether or not to do it (Block dude allows this). I decided not to as it makes the stages slightly more challenging but was careful to make sure all the levels can be passed.
People are free to edit the code as they wish and adding this feature should be fairly easy.
Keeping it Kiwi since 1977

Offline AMSDOS

  • Supporter
  • 6128 Plus
  • *
  • Posts: 3.718
  • Country: au
    • index.php?action=treasury
    • Programs for Turbo Pascal 3
  • Liked: 952
  • Likes Given: 1676
Re: Coolbox [New Game in Basic]
« Reply #17 on: 03:05, 20 June 16 »
Submitting is not an option now but that is OK. I was never doing this for anything other than fun anyway. ::)
Making a fun game in BASIC was the idea so I'm glad people are enjoying it.
Yes BASIC 1.0 and use of control codes is very limited. I have a version where the sprites are fixed in BASIC 1.0 and it wasn't too bad to fix, however the next bug I encountered was a scrolling bug using the OUT commands. The screen moved OK but the sprites would not stay on the screen. This one proved too much for me and I just couldn't bear working on it anymore.
 
Good going. It has 9 levels and I even put in an ending. 7 and 8 are real ball busters though.


I noticed one of your Coolbox dude wasn't displaying itself where they should on the title screen, so loaded the program, I put an end statement at 1051 (sorry I renumbered it), run the program, when I press any key to begin the program ends and did this test:


Code: [Select]
for x=1 to 30:locate x,10:print s$(1);chr$(22);chr$(0);:next x


sure enough the XPOS of the character gets to 19 and then it bellies up. So it's a similar problem to the one you had earlier with the FourXs. I was checking the length of your s$(1) and found it was 25 characters in length, but when I counted the BackSpaces in it, this brought that back to the 19 figure.


So it looks like the difference in string management on the 464 which is causing those problems.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

Offline Morri

  • CPC6128
  • ****
  • Posts: 284
  • Country: nz
  • Liked: 236
  • Likes Given: 215
Re: Coolbox [New Game in Basic]
« Reply #18 on: 03:23, 20 June 16 »

I noticed one of your Coolbox dude wasn't displaying itself where they should on the title screen, so loaded the program, I put an end statement at 1051 (sorry I renumbered it), run the program, when I press any key to begin the program ends and did this test:


Code: [Select]
for x=1 to 30:locate x,10:print s$(1);chr$(22);chr$(0);:next x


sure enough the XPOS of the character gets to 19 and then it bellies up. So it's a similar problem to the one you had earlier with the FourXs. I was checking the length of your s$(1) and found it was 25 characters in length, but when I counted the BackSpaces in it, this brought that back to the 19 figure.


So it looks like the difference in string management on the 464 which is causing those problems.

That was the conclusion I came to as well. BASIC 1.0 doesn't like the backspaces. I solved it using techniques we discussed in the previous threads and had everything working until the screen scrolled using the OUT &BC00,XX command. Then I started getting a whole new host of display bugs and I lost heart after that.

When I get home from work, I'll post the dsk image of the BASIC 1.0 code I had so far so you can see the issue. Maybe someone better than me can see the issue and fix it.
Keeping it Kiwi since 1977

Offline AMSDOS

  • Supporter
  • 6128 Plus
  • *
  • Posts: 3.718
  • Country: au
    • index.php?action=treasury
    • Programs for Turbo Pascal 3
  • Liked: 952
  • Likes Given: 1676
Re: Coolbox [New Game in Basic]
« Reply #19 on: 03:32, 20 June 16 »
Sorry I was following your comments, unfortunately I thought I was playing with the 464 attempt.

I noticed your scroll routine I'll have to go back to the one made earlier, I think it works with basic 1.0.


EDIT:Not to worry about the scroll routine I made earlier, seems to work differently from the one you've made.
« Last Edit: 08:53, 20 June 16 by AMSDOS »
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

Offline Morri

  • CPC6128
  • ****
  • Posts: 284
  • Country: nz
  • Liked: 236
  • Likes Given: 215
Re: Coolbox [New Game in Basic]
« Reply #20 on: 09:50, 20 June 16 »
Here is an updated dsk file with my best 464 code so far. Quite a few additions to the original file in my 1st post.
I think it still works OK in BASIC 1.1.
Keeping it Kiwi since 1977

Offline AMSDOS

  • Supporter
  • 6128 Plus
  • *
  • Posts: 3.718
  • Country: au
    • index.php?action=treasury
    • Programs for Turbo Pascal 3
  • Liked: 952
  • Likes Given: 1676
Re: Coolbox [New Game in Basic]
« Reply #21 on: 12:26, 20 June 16 »
Here is an updated dsk file with my best 464 code so far. Quite a few additions to the original file in my 1st post.
I think it still works OK in BASIC 1.1.


Yes it's still working fine with BASIC 1.1, unfortunately I haven't been able to pinpoint the source of the trouble. I think the Scroll is working fine, but in BASIC 1.0 when the scroll has been carried out and new scenery is redrawn in Window 3, your character is ending up there as well. I just presumed all the PRINT & LOCATE statements without any Stream numbers refer to the main window, and altered them accordingly, but I'm still getting that result.  ::)
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

Offline ronaldo

  • Dev
  • 6128 Plus
  • *****
  • Posts: 610
  • Country: es
    • Fremos Blog
  • Liked: 846
  • Likes Given: 797
Re: Coolbox [New Game in Basic]
« Reply #22 on: 20:59, 20 June 16 »
It's curious that it only happens at the start of the scroll. Once you go 5 or 6 steps into the scroll, everything works again.

I still think it could be due to some kind of bug in the implementation of control codes in BASIC 1.0. Have you tried using no control codes? What about a drawing subroutine instead of a control-coded string? It may work.

Offline Dagger

  • CPC664
  • ***
  • Posts: 122
  • Country: gb
  • Liked: 41
  • Likes Given: 29
Re: Coolbox [New Game in Basic]
« Reply #23 on: 22:38, 20 June 16 »
I finished all the levels, good game, very addictive. Please do some more levels
Life's a bitch. You marry one or two then you die !

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1976
  • Likes Given: 4650
Re: Coolbox [New Game in Basic]
« Reply #24 on: 23:21, 20 June 16 »
Nice little cool game!  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus