Jump to content

Photo

Demolish - new XB (compiled BASIC) game released


22 replies to this topic

#1 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • 661 posts
  • Location:Toledo, OH

Posted Sat Sep 9, 2017 8:16 PM

I gave myself a 24-hour challenge to come up with a new game that took advantage of Harry Wilhelm's BASIC compiler.  I took the basic layout of Crystal Garden and made it into more of a fast-paced puzzle/block-clearing type of game.

 

In Demolish, you have a limited amount of time to clear as much of the board as possible, by highlighting 3 or more adjacent tiles of the same color, and then demolishing them (causing the tiles above them to shift downward).  The more tiles you demolish in one move, the more points each one is worth.

 

When the timer runs out, you lose one point for each tile still on the board.  It's quite possible to end the game with zero points.  But if you clear some big groups of tiles out and keep moving, your score will rise quickly.

 

Use ESDX to move in any of the four cardinal directions (no diagonals are used in Demolish).  Hit SPACE to "set your charges" (this turns the tile black).  Once you do this, you can only "set charges" on adjacent, same color tiles.  If you made a mistake, you can press P and your "charges" will be cleared away without penalty.

 

Once you've set all your charges, hit C and they'll blow up, and you'll be rewarded points.

 

Qaf168W.png

Title screen

 

 

EHqBsjt.png

Full 22x32 board of tiles

 

 

hPDuiFB.png

The black tiles on the upper left are where charges have been set.  When I hit C, those will blow up and be cleared away.

 

 

ielTHih.png

Time's almost up, and we've cleared a nice bit of the board

 

 

HJ5xpyj.png

A new high score

 

 

Attached Files



#2 Ksarul OFFLINE  

Ksarul

    River Patroller

  • 4,131 posts

Posted Sat Sep 9, 2017 8:36 PM

This is one of those types of games that I actually have a lot of fun with. . .



#3 Iwantgames:) ONLINE  

Iwantgames:)

    Stargunner

  • 1,879 posts

Posted Sat Sep 9, 2017 10:40 PM

Looks good, hopefully after the hurricane I can find time to try it out

#4 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 661 posts
  • Location:Toledo, OH

Posted Sat Sep 9, 2017 11:28 PM

Looks good, hopefully after the hurricane I can find time to try it out

Yikes!  Stay safe, man.



#5 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 661 posts
  • Location:Toledo, OH

Posted Sat Sep 9, 2017 11:49 PM

After some plays this evening, my high score is 582.  If anyone beats it, let me know.

 

EDIT: new score 767.  I've been playing for a couple hours, which I suppose is a good sign for the game.


Edited by InfernalKeith, Sun Sep 10, 2017 1:58 AM.


#6 oddemann OFFLINE  

oddemann

    Space Invader

  • 15 posts

Posted Sun Sep 10, 2017 1:35 AM

Playable in C99?



#7 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 661 posts
  • Location:Toledo, OH

Posted Sun Sep 10, 2017 1:46 AM

Yes, just load it in with Extended BASIC and you're ready to go.



#8 senior_falcon ONLINE  

senior_falcon

    Dragonstomper

  • 913 posts
  • Location:Lansing, NY, USA

Posted Sun Sep 10, 2017 11:32 AM

"It's quite possible to end the game with zero points."

 

I had no trouble achieving that milestone!  Cool game - I will play some more tonight.

 

BTW, I see you are using the old CLOADER.  You should try out CLOADER2 which is the new, much faster one.



#9 Airshack ONLINE  

Airshack

    Dragonstomper

  • 515 posts
  • Location:Phoenix, AZ

Posted Sun Sep 10, 2017 12:25 PM

1de8fc424419791b0c05503eb3c4171f.jpg

Great Mini-Game Keith! I'm horrible at this...

The clock tone adds a nice stressful touch! As does the Qbert jumping noise whenever you move.

Thanks! Great to see more Compiled BASIC games!


Edited by Airshack, Sun Sep 10, 2017 12:29 PM.


#10 Airshack ONLINE  

Airshack

    Dragonstomper

  • 515 posts
  • Location:Phoenix, AZ

Posted Sun Sep 10, 2017 12:36 PM

78656ca438246df3c59e84b53ec2dcbd.jpg

Feeling better about scoring more than Zero!


Sent from my iPhone using Tapatalk Pro

#11 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 661 posts
  • Location:Toledo, OH

Posted Sun Sep 10, 2017 12:47 PM

The key is to look for bigger chunks to take out.  If you can clear 9 in one swoop, that's 81 points right there.  I tend to get focused on one area, trying to clear the whole thing, and then I look up and realize the timer's down to 6.

 

I'm still good on memory so maybe I'll add a "no timer" option to exercise our OCD nature and just clear as much of the board as possible.



#12 ti99iuc OFFLINE  

ti99iuc

    Stargunner

  • 1,192 posts
  • Location:Italy

Posted Sun Sep 10, 2017 1:02 PM

Attached File  2017-09-10_205932.JPG   59.12KB   1 downloads

 

well, it is still far to beat the actual highscore but it is my fist try :P

 

funny game anyway, thanks ;)


Edited by ti99iuc, Sun Sep 10, 2017 1:02 PM.


#13 senior_falcon ONLINE  

senior_falcon

    Dragonstomper

  • 913 posts
  • Location:Lansing, NY, USA

Posted Mon Sep 11, 2017 6:41 AM

I was able to score above zero after a couple of tries.  In general I like the game, but have a couple suggestions for improvement.
 
1 - The keyboard response is not great.  Sometimes it misses keystrokes; sometimes I overshoot the square where I intend to stop.  I suspect the reason for this is the use of a delay loop or CALL LINK("DELAY") to slow the response down to a playable level.  One side effect of this is missed keystrokes because the program is pausing instead of constantly scanning the keyboard. Something like the bit of code below should fix this:
 
10 FOR I=1 TO 50
20 CALL KEY(0,K,S)
30 IF S=0 THEN 20 :: IF S=1 THEN 50
40 NEXT I
50 PRINT "KEY" :: GOTO 10
 
2 - I have a hard time seeing the cursor in the playing field.  Maybe it would be more visible if you made it hollow or with an X in the middle.
 
Other than that, great game!
 
The 50 in line 10 is a guesstimate of a good value for the compiler.  Try 5 for testing in XB.

Edited by senior_falcon, Mon Sep 11, 2017 6:55 AM.


#14 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 661 posts
  • Location:Toledo, OH

Posted Mon Sep 11, 2017 4:51 PM

Good suggestions, thank you.  I think I'm still so blown away by the speed of compiled BASIC that I got excited and wanted to just put the game out as-is.  It could use a little fine-tuning.

 

I'm not gonna spend a ton of time on it, as I'm eager to get into my next project, but I will do another round of testing and tweaking on the key response speed.

 

The hollow cursor is a great idea.  I'm gonna try that.  I might also change the yellow out for another color, because (for me at least) that's the color where the cursor is hardest to differentiate.

 

Thanks for the feedback!  I'm glad y'all like the game, I've found it sort of addictive over the last couple days.  Usually by the time I'm done debugging something, I don't want to ever play it again.  :)



#15 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 661 posts
  • Location:Toledo, OH

Posted Mon Sep 11, 2017 11:02 PM

I don't think I'll ever be able to do this again.  I lucked into a few big formations and then I just had some speed going and I got a lot of 4- and 5-tile combos.

 

oNtPfU2.jpg



#16 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 661 posts
  • Location:Toledo, OH

Posted Tue Sep 12, 2017 12:19 AM

Holy crap, just got 1030.  I think I've played enough that I've hit that weird zen place with the game.  This is probably unhealthy.



#17 Airshack ONLINE  

Airshack

    Dragonstomper

  • 515 posts
  • Location:Phoenix, AZ

Posted Tue Sep 12, 2017 12:26 AM

Good suggestions, thank you.  I think I'm still so blown away by the speed of compiled BASIC that I got excited and wanted to just put the game out as-is.


Another lesser-advertised feature of the compiler is how it will compile BASIC code in excess of the 24K limit for XB.

This allows the user to code, compile, assemble and run BASIC programs which won't normally load and run under XB or XB256, due to size constraints.

So... it does more than speed up BASIC code.


Sent from my iPhone using Tapatalk Pro

#18 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 3,910 posts
  • Location:Denmark

Posted Tue Sep 12, 2017 1:08 AM

Very nice.  :thumbsup: 

I don't particular like the ESDX configuration (anymore). "Retro-true" perhaps, but awkward anyway. I like joystick support. And that translate nicely to the arrow keys when running in an emulator.

I would have loved for the columns to "collapse" automatically "when one tile is selected". They do so in my game demo Turn it down from 2005. And they do so in Marc Hull's game Clickity from 2007 (spelled Clickety on TI-99/4A Game Shelf).

It looks like "compiling" has opened a door for you. Keep at it.

:)


Edited by sometimes99er, Tue Sep 12, 2017 2:12 AM.


#19 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 661 posts
  • Location:Toledo, OH

Posted Tue Sep 12, 2017 1:34 AM

I will try the arrow keys instead, but I like having the C right by the ESDX cluster.  It may be that I've just gotten used to it, of course.

 

The only issue with automatic collapsing is that it removes an element of autonomy and strategy in this game.  You might see a group of six tiles, but leaving one in place will keep a cluster of tiles above intact.  Or, more likely, you may miss one of them, see it as the others are collapsing, and be angry.  :)  

 

Compiling has definitely changed how I look at things.  It's given me incentive to finally move on and tackle assembly, though I want to finish off some of these other projects first.  Hopefully by year's end I'll have some more new games out and I can devote some time to "growing up" into more powerful languages.



#20 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 3,910 posts
  • Location:Denmark

Posted Tue Sep 12, 2017 2:07 AM

I will try the arrow keys instead, but I like having the C right by the ESDX cluster. It may be that I've just gotten used to it, of course.

 

You could support both. Compiled BASIC wouldn't mind. If not compiled, it would of course slow things down to check more "keys".
  

The only issue with automatic collapsing is that it removes an element of autonomy and strategy in this game.  You might see a group of six tiles, but leaving one in place will keep a cluster of tiles above intact.  Or, more likely, you may miss one of them, see it as the others are collapsing, and be angry.   :)

 

Yes. And it was probably more the "selection phase" I was "complaining" about (select one tile only to collapse). ;)
  

Compiling has definitely changed how I look at things.  It's given me incentive to finally move on and tackle assembly, though I want to finish off some of these other projects first.  Hopefully by year's end I'll have some more new games out and I can devote some time to "growing up" into more powerful languages.

 

I would recommend writing about 10 compiled BASIC/XB programs, before jumping in. Then learn assembly, and convert a few of your earlier games, 1:1. To simply "get it done". Key is structure and learning how to debug.

  
:)


Edited by sometimes99er, Tue Sep 12, 2017 2:13 AM.


#21 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 661 posts
  • Location:Toledo, OH

Posted Tue Sep 12, 2017 2:27 AM

I want to learn to convert some of these BASIC games to the Vic-20, C64, and a couple other platforms as well, while learning assembly.  Too much to discover, not enough time...  :) 



#22 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 661 posts
  • Location:Toledo, OH

Posted Wed Sep 13, 2017 2:00 AM

One more game before bed, I said. 

 

MUlaG4S.png


  • RXB likes this

#23 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 661 posts
  • Location:Toledo, OH

Posted Yesterday, 1:23 AM

Update: I changed the inputs from ESDX to arrow keys per Sometimes's suggestion and I like it a lot more!  I'm also adding a multi-level feature and one more tool for the player.  The object of each level is now to "demolish" a clear path from top to bottom of the screen - one tile wide for level 1, two tiles wide for level 2, etc.  Since this is almost impossible with the game as-is, I'm adding a "flip" function.  Every 100 points you earn one chance to juxtapose two tiles, to make clearing a section a little easier.  Your flips don't roll over - if you reach 200 points without having used your flip, you still only have one to use -- so it adds a new element of strategy and pacing. 

 

Testing the changes now, and hope to have v1.1 uploaded by Monday.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users