Jump to content
IGNORED

Demolish - v1.1 release w/bug (can you help find it?)


InfernalKeith

Recommended Posts

EDIT: Version 1.1 and bug fix help request in last message!

 

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

 

 

DEMOLXB.zip

Edited by InfernalKeith
  • Like 13
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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
  • Like 1
Link to comment
Share on other sites

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. :)

  • Like 1
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

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.

  • Like 2
Link to comment
Share on other sites

 

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.

 

:)

Harry's BASIC compiler (not to be confused with the also wonderful XB256) is an excellent springboard, or at very least an instructional bridge, to Assembly.

 

With this compiler I was able to remove many aged cobwebs from the past. It really helped me get reacquainted with the following concepts:

 

A. What is Source code vs Object code?

 

B. The difference between a Compiler and an Assembler.

 

C. Familiarization with the TI-99 E/A cart which led to reading the EA manual.

 

D. Familiarization with third-party editors.

 

E. Using MERGE file formats.

 

F. Loading and Running object files.

 

Working with the compiler also led to learning about converting files to .bin format for SD card devices. All great stuff!

 

Thanks again to Harry Wilhelm for this opportunity to learn while coding faster BASIC programs.

 

This compiler has provided me with countless days of retro-computing bliss!

 

 

Sent from my iPhone using Tapatalk Pro

  • Like 2
Link to comment
Share on other sites

  • 4 weeks later...

Finally had time to do this. One pesky bug to chase down and I can launch it. I'll probably give v1.1 its own thread, because with the addition of the 'flip' powerup and the level-ending goal (and chance to play on), it's pretty much a different game now.

 

Will probably upload this version, then add some fancy stuff as memory permits (maybe a real title screen) and tweak the key response a little, and then finally be able to move on to the next. Hoping to get one more game out before the end of the year, as I clear my docket of years-old "vaporware" projects.

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...