After slightly less than two years, I am happy to announce that I have released Version 1.2 of Shades.

In this update, I have added:
-A pause feature ([mode]) and a restart feature.
-A "ghost" line of color beneath each tile that is dropping.
-Instantaenous tile dropping (when you press the down key).
-The [2nd] key now acts as another enter/selection button.



Hope you all enjoy.
Michael2_3B wrote:
In this update, I have added a pause feature ([mode]) and a restart feature.
Yay! This is a great long-awaited feature! Very Happy
Now if I could edit my review, I could tell people about this.
/me nudges admins


Michael2_3B wrote:
In addition, I have added a "ghost" line of color beneath each tile that is dropping.
Wow, I didn't even think about adding this. It'll definitely be useful when trying to see the different shades!

Michael2_3B wrote:
Hope you all enjoy.

Will do! Laughing
Shades has just reached 1500 downloads! Thank you so much guys!

If you haven't downloaded v1.2 yet, be sure you do. Also, be sure to leave a rating/review!
I really like the new update, especially the ghost line. It makes it a little bit easier though, but I like it, since it was rather hard to determine the right greyscale.
It has recently come to my attention that there are 2 minor bugs in the program. These don't occur very often, but they are still there.

1. I haven't been able to pinpoint exactly when and why this happens, but some time when the tiles are all stacked to the top, the game will crash and prevent you from keeping your high score, if you made one. Since becoming aware of this, I have not been able to replicate it, so I can't say what type of error it is.

2. Let's say you have a black tile on top of a medium gray tile, and on top of the black tile is another medium gray tile (see picture below). If you create an entire row of black tiles, and that row gets cleared, then you end up with 2 of the same color tile stacked on top of each other. What needs to happen is that once the black row gets cleared, the medium gray tile falls down and merges with its twin.


Anyways, I hope to get these bugs resolved as soon as possible. I believe PT_ was also willing to look into it if he has the time.
I have been working a little bit on a Shades CE bot, which would allow you to watch the calculator play Shades on it's own for a while. Currently, on average, it gets up to 30,000-35,000 points before losing, which is due to unfortunate circumstances that force it to place multiple darker blocks on top of lighter blocks.

The algorithm may need a bit of revising, but here it is:

Code:

Use a desired row to go to, and simulate a keypress to go there

...(program code)...

Generate a desired row:
    DARKGRAY tile on first row takes priority
    Least difference in color takes second
    If neither of those work out, put tile on first row

    If there isn't a spot on the first row open, tile is forced to be put on a lighter color

It may not be much, but let me know if you're interested in this! And also your thoughts on what a perfect algorithm might be. I might have to incorporate placing blocks as low as possible, but saving the spot for a darker tile would still have to take priority.

You may get the current program here: http://www.mediafire.com/file/q0iwa4rcxbca24m/LRNSHADE.8xp
(Note: you still need the ZSHADES subprogram from the main project)
So I've been in a bit of a programming mood again lately. Recently I decided I wanted to remake this program from scratch, this time with smaller tiles, that could fill up the entire graph screen if wanted. More importantly, I needed to figure out an algorithm for something that I didn't even write code for in the original game- this being that whenever a row is cleared, and all the tiles above it fall down 1 row, any new matching tiles should combine, potentially causing a chain reaction of other tiles combining in that same column as well.

Obviously, this is an edge case, but arguably a very important one that should not have taken me this long to fix. With that said, the following image shows an example of this in my new Mini Tile game (which I will likely release soon):


What's important to note here is that the tiles always prioritize merging downwards first- then when they can no longer merge downwards, a tile from above drops down from where it was, attempts to merge, and so on and so forth until everything in that column has dropped. For the curious, here are those same tiles (after the row clear, and then after the merging/condensing) as they appear in the list.

Also, here is a game using a full screen of tiles (makes the game kind of boring though):


In creating this new mini version of the game, I've come up with some ideas on how to make the original Shades CE even better; this includes fixing the bug / adding the code that I mentioned to the main game, as well as some minor graphical things to fix and update, and potentially a new difficulty setting.

You'll also probably see that I used hollow Red, Orange, and Green tiles in the screenshot to aid in knowing where you want to drop a tile; red means DON'T DROP, because the current falling tile is darker than the tile sitting below. Orange means OK, because the current falling tile is lighter than the one below. And of course, green means your tile is a perfect MATCH with the one below. I will likely be implementing something similar as a new option in the main game, to make telling the shades apart even easier.

Keep your eyes peeled for more posts here, as I will be releasing another official update very soon!
I've now updated my code to handle repeated row clears, and as far as I can tell, I've now taken care of all the edge cases that can happen.

The following gif shows a longest-case scenario. In such a situation, the idea is that you will see the tiles merging downwards instead of it skipping right to the final result. This obviously takes a little while until the player can actually do anything again, but it's important to note that any chain reaction like this is unlikely, or will rarely happen in a real game.

Alright, so moving on to the official game, I've got some new developments for version 1.3!

As I stated earlier, I will be implementing difficulty settings, specifically by adjusting the height of the bar that the tiles stack up to (this is the red line you see in the gif in the previous post). Go above that bar, and it's game over.

I am also introducing a great new feature, which is tile themes! In addition to the grayscale tiles, you now have the option to use blue-themed or red-themed tiles. The available colors in the COLORS menu make these 2 additional themes very easy to do, and also the only additional ones that really work for this.

I still have a good bit of work to do in updating the game itself, but for now, enjoy this brand new OPTIONS menu! Note that it prevents you from selecting any background color that is too similar to the selected tile theme.



This part of December can get a little hectic as we approach the end of the year, but I hope to release v1.3 before the year is out. Definitely not finishing it this year, but I should be able to find some time for it again in January.
That options menu looks great, and I'm impressed you managed to get that level of responsiveness. One thing I would recommend is removing an arrow to the left/right when you reach the beginning/end of the options list, assuming it doesn't wrap around (as in, "Easy >" and "< Medium >").

Looking forward to more updates!
A little trick I've used historically to make smoother animations on moving Pt's in TI-BASIC games is to draw the new position of the Pt immediately before erasing the old position. This might make the mini version of the game seem smoother.
I still don’t know assembly, but I need a new screen shifting subprogram cause the old one is jank, and only works on even coordinates.

Need it to to be able to take in a list in Ans, including 4 arguments for each bounding wall (x_Left, x_Right, y_Bottom, y_Top) and an argument for how much to shift that area downwards. Everything outside of that box needs to be left alone.

Would it be possible for someone to make this please?

Edit: I’ll use Celtic to accomplish this actually
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 3 of 3
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement