Hello! I've started working on Block Dude for the 84+CE, a calculator classic that I didn't see had been ported yet. Here's a screenshot of it in action:


I've got most of the gameplay written, and then will need to do things like menus and saving.

Graphics are from https://iknowkingrabbit.itch.io/mas-funpack
Cool I've never actually played this game but it looks amazing so far.
merthsoft wrote:
Hello! I've started working on Block Dude for the 84+CE, a calculator classic that I didn't see had been ported yet.


I have played games similar to this one, but it was more of a guy trying to shift around blocks to get to a door and beat the level. I don't remember what exactly the game was called though, but it used to come automatically installed on Toshiba laptops that ran like windows 7 or previous versions. I definitely like these kinds of challenging mind games, so I'm really excited to see what you'll accomplish!
Thanks! This graphics set was actually intended for a sokoban type game (aka chip's challenge). Maybe I'll pursue that next!
Nice work! Something cool to add that could be unlocked at the end or as extra levels would be Trapped levels. Smile
What are Trapped levels? Happy to add more levels!
(I posted this in wrong thread >.<) https://www.ticalc.org/archives/files/fileinfo/362/36212.html It has some extra types of blocks like bombs. Some considered it as some sort of spiritual successor to Block Dude back then and there were even ports that combined both games together IIRC.
Ooh, I'll have to look into that! Might be worth adding those levels, too.

I've made some progress. I've got all the maps from the original game loaded in. I've also implemented a nice little fade effect for the level transition:


Currently working on the scrolling camera.
This is looking really sleek! I was just using a hybrid BASIC version of Blockdude for the monochrome calculators to test Doors CS the other day, and it reminded me how polished Blockdude (and all the PuzzPack games were) for such an early point in TI game programming. I can't wait to see how this progresses.
Yeah, PuzzPack was such a solid pack of puzzes. I may tackle the others--or at least Dino Puzzle, since I've done that one before. Good to get the classics Smile

As for today's progress, I have a scrolling camera that tracks the player, seen here:

You can also press 'mode' to put it into camera mode to move around the camera. I have a few box-carrying cases I need to fix (can carry a box through walls right now). Will then need to still work out menus and saving and such. I'll be doing away with passwords in favor of saving progress (and number of moves to completion) for each level.
I believe I mentioned this in SAX a day or two ago, but this is looking really great! Block Dude was always a ton of fun on the monochromes, and I'll definitely be giving this a try when it's finished!
merthsoft wrote:

As for today's progress, I have a scrolling camera that tracks the player, seen here:


Surprised The speed with which you are completing this is out-of-this-world! I wish I'll be able to be as good one day.
Heck yes! Such a great classic game from back in the day, and it's looking great so far!

Sounds like you're rewriting from scratch? Or are you porting the original source and then adding new features?
Thanks all! It's a C rewrite from scratch. The only thing I've used the original source for was the levels.
*bump*

Just a little shot of the home screen Smile

That looks great! But I'm always a sucker for maroon and gold together.
Heh, yeah, it is a very Cemetech-y color scheme Smile I've got a lot of the corner cases worked out for when you should and shouldn't be able to walk and pick things up and put things down. Don't want to show anything off for spoilers of level solutions, but I will show off my little logo rainbow shimmer Smile
Looks awesome, congrats! Can't wait to try it Very Happy
merthsoft wrote:



How did you get the rainbow shimmer to work? I'm genuinely interested in that!
I generate a rainbow palette at startup doing this:

Code:

for (int i = 0; i < copywrite_length; i++)
    palette[i + sizeof_base_palette] = HsvToRgb(i * (255 / copywrite_length), 255, 255);


Then, in the main menu loop I have this code:

Code:

for (int i = 0; i < copywrite_length; i++)
{
    int palette_index = (i + copywrite_shimmer) % copywrite_length;
    gfx_SetTextFGColor(palette_index + sizeof_base_palette);
    gfx_SetTextXY(GFX_LCD_WIDTH / 2 - w / 2 + 8 * i, 2);
    gfx_PrintChar(copywrite[i]);
}

if (copywrite_shimmer < copywrite_length)
    copywrite_shimmer++;


I also could've done something with palette cycling instead of changing which color I draw each letter as. This could have the advantage of not requiring a redraw each time. I'm not concerned with that right now though.

Also, for anyone interesting, the fade effect is really easy to do with the toolchain's gfx_Darken function:

Code:

void fade_out(uint16_t* base_palette, uint8_t start, uint8_t length)
{
    for (int step = 255; step >= 0; step--)
    {
        for (int i = start; i < start + length; i++)
            gfx_palette[i] = gfx_Darken(base_palette[i], step);
        ticksleep(25);
    }
}

void fade_in(uint16_t* base_palette, uint8_t start, uint8_t length)
{
    for (int step = 0; step < 256; step++)
    {
        for (int i = start; i < start + length; i++)
            gfx_palette[i] = gfx_Darken(base_palette[i], step);
        ticksleep(25);
    }
}
  
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 1 of 2
» 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