Page 1 of 3

New Game: Block Boy

Posted: Fri Feb 17, 2017 4:34 am
by D3thAdd3r
blockboy.png
blockboy.png (41.02 KiB) Viewed 11812 times
A new little game for your consideration! Block Boy is an easy to pick up puzzle game that provides quite a lot of challenge towards the end. This is a tribute to "Block Dude", which was a popular game on the "Puzzle Pack" for the TI-83 graphing calculator. The gameplay is based on this version(not a source port), as are 14 levels which are also based on a later calculator version. The programming, sound effects, and music, are all done from scratch and totally original. There is about 4K left in case someone wants to make more levels later, I have no interest in adding more features even though some space savings would be possible. I had developed 2 more songs, but in the end neither really fit the game well enough though they might find use somewhere else. I started this as a scrolling demo, then decided to develop a game on it sticking to keeping it absolutely as simple as possible. There are no advanced techniques in this one at all;the biggest feature this game has is how quick it was to complete...instead of ending up in the bit bucket like so many of my other "quick projects" being enhanced beyond my interest to finish :)
Image
The entire game controls with just the D-Pad, Start to make selections, and Select to move the camera around the level. You can play any level at any time by selecting it at the main menu. If you beat the last level, there is an "ending" of sorts. Don't expect too much there ;) The main object of the game, is to grab rocks, walk or jump with them to the desired location, and drop them. By doing this in intelligent ways, you can reach the door and complete the level. There are several small nuances to this which you will discover as you play. You can do a YouTube search for "Block Dude" and there are videos of every level beaten.


Anyway, that is it for now. I will put up source code on my github and link to it on the wiki. If you find a bug let me know, otherwise I am calling this done and I am back to some other projects. Hope you guys enjoy it!

Re: New Game: Block Boy

Posted: Fri Feb 17, 2017 8:35 am
by uze6666
No way!! :o Awesome game Lee! Pulling and moving stuff around is a premiere if I'm not mistaken on the Uzebox and that is worth two thumbs up! SMB2 get away! I'm in vacation right now, but that video is awesome and oh boy will I be playing it as soon as I get back on sunday. :D

Re: New Game: Block Boy

Posted: Fri Feb 17, 2017 9:19 am
by Artcfox
Amazing!

I love the graphics, and the music. The music is very polished and it's right up there in my book with the music from Alter Ego—extremely catchy!

I beat the first 6 levels, so I'm going to call that a success for tonight! (I want to save more puzzle fun for myself tomorrow.)

I really like the pop-up menu you when you press start, and pressing select to look around the level without moving your guy is clever. I'm amazed at how ripped the dude can look with such few pixels. The scrolling is well done, and the large fonts remind me of the fonts from Snake Rattle 'n' Roll for the NES.

There is definitely something great to be said about keeping the code for a game simple, because then in the future it's much easier to learn from it, or iterate on that design using it as a base for another game, than having to first undo every game-specific customization you made before it's back to a flexible state. Plus as you said, it gets finished quicker!

Great job, and I very much look forward to beating the rest of the levels. :-)

Re: New Game: Block Boy

Posted: Fri Feb 17, 2017 5:15 pm
by nicksen782
Lee,
http://www.nicksen782.net/a_demos/Emscr ... gameid=216

I fixed the Uzebox wiki link for Block Boy to point to the correct game id.

This is great! I had to read through the source code to confirm that only the arrows are used for playing the game. After that, awesome! I'll be studying!

This is mode3 with scrolling? I really like the bouncy letters and the new music.

How does DrawMetaTile work?

Re: New Game: Block Boy

Posted: Fri Feb 17, 2017 8:47 pm
by Artcfox
You said "no advanced techniques were used" but then I looked at the source code and found all kinds of goodies! :lol:

In particular, this one caught my eye, because it's one of my biggest pet peeves with including a MIDI track:

Code: Select all

void BB_triggerFx(uint8_t patch){//use the 5th channel exclusively to allow music(uses 1-4) to be uninterrupted

	Track* track=&tracks[4];
	tracks[4].flags|=TRACK_FLAGS_PRIORITY;
	track->patchCommandStreamPos = NULL;
	TriggerCommon(track,patch,255,80);
	track->flags|=TRACK_FLAGS_PLAYING;

}
One of the reasons why I exclusively used PCM sound effects for my Laser Puzzle games was to avoid the voice stealing algorithm from "ruining" the MIDI track. This is something that I would definitely want to see made part of the standard kernel, because it's super useful, and I would probably end up using it in every game that includes music!

Re: New Game: Block Boy

Posted: Fri Feb 17, 2017 10:19 pm
by D3thAdd3r
Thanks for the compliments gentlemen!
Artcfox wrote:The music is very polished and it's right up there in my book with the music from Alter Ego—extremely catchy!
The music and graphics are definitely my biggest feeling of accomplishment on this one. I tend to be self critical especially when it is something I am not too experienced with, so to hear it compared to AE music made my day :ugeek:
uze6666 wrote:Pulling and moving stuff around is a premiere if I'm not mistaken on the Uzebox and that is worth two thumbs up!
There really does seem to be a theme going eh? :P
nicksen782 wrote:I fixed the Uzebox wiki link for Block Boy to point to the correct game id.
Thank you sir!
Artcfox wrote:You said "no advanced techniques were used" but then I looked at the source code and found all kinds of goodies!
Ah well I suppose in actuality there are few Uzebox games that have used channel 5 for sfx, even though it is really a nice trick. I guess I probably took it for granted for a while(I do a lot of code reuse from previous games), when really it was only brought up once a long time ago in the Tornado 2000 thread and documented probably no where. I don't know what the best approach is to adopt it into the kernel, but having it there or at least well documented so it is common knowledge would be better for everyone.
nicksen782 wrote: This is mode3 with scrolling? I really like the bouncy letters and the new music.

How does DrawMetaTile work?
Yes mode 3 scrolling using the inline mixer. I don't think I ever really played with sine wave stuff much, so hopefully it is a simple example for someone to learn from.

DrawMetaTile() is an abstraction over what essentially is a 2x2(16x16 pixel) tile drawing routine. It doesn't work directly on the concept of screen coordinates and instead, everything is map coordinates->vram because of the way scrolling logic works in the game. In the game something like the sky, a rock, etc. always look the same. For the dirt/grass, it needs to be a different 2x2 Meta Tile/frame depending on the surrounding dirt otherwise it looks bad and doesn't blend;very jarring visually. I attempted it via logic, via table, can't work for speed and complexity. I stepped through every single map using "frames.inc" as a reference, making new frames/metatiles as required, until everything looked good and blended...almost 70 different meta tiles required for the different possible blendings. The secret was sheer manual tedious editing :lol:

Re: New Game: Block Boy

Posted: Sat Feb 18, 2017 11:18 am
by Jubatian
Nice game! I especially like the smooth movements, the transitions (between tiles and sprites as you move around blocks) are nicely done. Controls were a bit odd at first, but I figured them out quickly (I think I had seen this scheme in some other game before). The sprite effects look great, I see you use Mode 3's RAM tiles to the max with it (it is fun to watch memory usage in CUzeBox especially when things align well to 16 byte or 256 byte boundaries). I didn't play a lot yet (just the first five levels), guess the game idea is already well proven if it's a port, though!

Re: New Game: Block Boy

Posted: Sat Feb 18, 2017 1:00 pm
by D3thAdd3r
Thanks! I played through all the levels right before I released it, so they should all be solvable. Some of them are pretty challenging, and require a long solution with even some moves that are not obvious until far in the future. Some of the later levels are easier than previous ones too, so I recommend anyone to just skip forward instead of becoming frustrated and stuck on any 1 level.

Re: New Game: Block Boy

Posted: Mon Feb 20, 2017 1:00 am
by uze6666
Great little game Lee! I particularly like the graphics and smooth scrolling. At first I was like eh, that's easy, but then difficulty raise fast around level 7! I'm currently stuck on that one, but will be back and hopefully complete all levels and see the ending!

Re: New Game: Block Boy

Posted: Sat Feb 25, 2017 2:07 am
by D3thAdd3r
uze6666 wrote:At first I was like eh, that's easy, but then difficulty raise fast around level 7!
Indeed! If I were to change 1 thing, and it would be rather easy to do, I might consider changing the level order. As 12,13, and 14 were not from the original version and I think are all together easier then 7-11.