New Game: Bugz

Use this forum to share and discuss Uzebox games and demos.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

New Game: Bugz

Post by Artcfox »

I'm happy to announce the first publicly available build of the game that I've spent the past three months designing and programming!

I call it Bugz, and it's an all-original 2D platformer, written specifically for the Uzebox.

Image Image

Image Image

It has 21 levels, and the object is to collect all the cookies in each level without your player dying. If you can finish the level before the time bonus reaches zero, you'll get a higher score. Killing the bugs will also increase your score.

The versus mode additionally allows each player to stomp on the other player (killing them like a bug), while the two player non-versus mode isn't as cut-throat competitive, and does not allow the players to interact with each other (but you still compete for the same cookies).

In single player mode, you may restart the current level at any time by pressing START.

In either of the two player modes, both players must agree to restart the current level by pressing and holding START at the same time, but each gains the ability to respawn after death by pressing any button other than START. If you choose to respawn, you'll forgo the points you earned for that level, but you'll be back in the game sooner, and if you're lucky you may still be able to earn more points than the other player (or stomp on them if you're playing the versus mode).

Speed runs are certainly possible, and the versus mode is actually way more fun and competitive than I ever expected it to be. Seasoned players will find that it adds an entirely new dynamic to the game, but it also takes away your ability to restart the level any time you want, so you just have to roll with whatever happens (and seek revenge when the other player mercilessly stomps on your head).

Controls are:

Code: Select all

  LEFT/RIGHT - move left or right
     UP/DOWN - join a ladder
        DOWN - fall through one-way platforms
           A - variable jump (the longer you hold it, the higher you'll jump)
           B - move faster (necessary to jump further horizontally)
       START - restart the current level (for 2p modes, both players need to press and hold START at the same time)
       (any) - 2p modes only, respawn after death by pressing any button except START
SELECT+START - return to title screen
If you want to skip around the levels, hold down SELECT, and press SL or SR, but in the single player mode this is considered cheating, and it will zero your entire score!

I do have a small bit of flash space free, but lately I've started to feel that the game is complete. Please let me know what you think!

Edit: Added a wiki entry for the game.
Edit 2: Launch the web-based Uzebox emulator and play Bugz right now!
Attachments
bugz.uze
(56.73 KiB) Downloaded 1643 times
bugz.hex
(158.18 KiB) Downloaded 1152 times
Last edited by Artcfox on Thu Mar 01, 2018 4:35 pm, edited 4 times in total.
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: New Game: Bugz

Post by CunningFellow »

nice work for your first uzebox game. Very polished.

I played it again now and it took me almost 1/2 an hour to complete level 1. I am very bad at jumping platform games :(
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: New Game: Bugz

Post by Artcfox »

CunningFellow wrote:nice work for your first uzebox game. Very polished.
Thank you! I'm hoping to enter Bugz into this year's code contest (assuming there will be one).
CunningFellow wrote:I played it again now and it took me almost 1/2 an hour to complete level 1. I am very bad at jumping platform games :(
That is unfortunate, but thanks for giving it a try!
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: New Game: Bugz

Post by D3thAdd3r »

This is a very nice game you have made and being totally original is an impressive feat. Many levels yet until I have played it through, but the design of them plays well. I have to think you have been extremely time effective to have made/fine tuned the game code AND generated so much level content in such a short time; as good quality original levels takes a large deal of creativity by itself not just anyone can pull off.

I have not noticed any bugs ;) yet, so it appears to me a totally complete game as it stands today. Certainly fills a niche in the game library and there isn't anything else like it. Great work you have accomplished on this one man!
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: New Game: Bugz

Post by Artcfox »

D3thAdd3r wrote:This is a very nice game you have made and being totally original is an impressive feat. Many levels yet until I have played it through, but the design of them plays well. I have to think you have been extremely time effective to have made/fine tuned the game code AND generated so much level content in such a short time; as good quality original levels takes a large deal of creativity by itself not just anyone can pull off.

I have not noticed any bugs ;) yet, so it appears to me a totally complete game as it stands today. Certainly fills a niche in the game library and there isn't anything else like it. Great work you have accomplished on this one man!
Thanks Lee!

I had been planning on adding more levels, but I started to get burned out creating them, and I wanted people to be able to complete the game, rather than just making it harder and harder until everyone gets stuck and just gives up.

I tried to make Bugz self teaching, in that the player naturally learns certain skills early on in a "safe" environment, before those skills are put to the test in a later level. My hope is that the player discovers these skills on their own as they naturally progress, but when there's a skill I want to ensure the player knows, I'll make performing it a requirement of a level. From that level forward, I'm certain the player has acquired that skill, so I felt free to design obstacles where the skill may needed in a less obvious place, in an unforgiving environment, or in combination with another skill. Basically "Here's your avatar, learn what he's capable of. Good, now master those skills to solve some puzzles." When I finished the design for the 21st level, I said to myself "Well, if a person can play through this far, they are a ninja master, and they'll definitely feel like one." and so it just felt like a good level to end the game with.

My secret for "quick" level design was to use a 30x29 pixel image in GIMP that had three layers: Background, Ladders, and Entities. The bottom row was just a palette of colors that represented something on the different layers. Then I designed the level by drawing single pixels to represent tiles and sprites, and saved that as a .xcf file. For level configuration, I created a new .inc file named the same thing as the level's .xcf, and manually added human-readable configuration parameters. My build script runs xcf2png on every .xcf in a directory, creating a .png file for every layer in every file, and then the script invokes the level compiler I wrote that reads all of those .png files and crunches those numbers as tightly as it can, and writes them out to that level's .inc file. Then in my main program, I have one big PROGMEM array that just includes the .inc files the level compiler generates along with the hand-coded level configuration .inc files. Each level is on average 241.5 bytes, including its configuration. This setup made tweaking the levels a matter of just drawing or erasing some pixels, or modifying some constants in a configuration .inc file. The next time I ran my build script, any changes to anything (including the level compiler itself) get automatically picked up and compiled into the game. The final step in the build script is to launch Uzem for testing. All of that ran fast enough that I didn't mind recompiling the level compiler, regenerating all the auto-generated .inc files, and cleaning and rebuilding everything every time I launched Uzem; it added maybe 2 seconds to its launching time. But even with the process that streamlined, the play test --> tweak loop still took me on average one day per level.
User avatar
Jubatian
Posts: 1561
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: New Game: Bugz

Post by Jubatian »

Nice, and the process you describe for the levels sounds interesting! :) (OFF: And version 1.40 of Uzem with my hacks added can run it and all else tried so far, no weird behaviors and all)

I kept dying and dying, and yet again, dying once more. But I think it is fine, controls feel smooth, no pixel-precise jumping necessary, it feels like it would play nice with a real controller (I tried to play it from the laptop's keyboard, since I only have some faint wifi signal in the kitchen :lol: , that's an even bigger fail for a platformer than trying with a normal keyboard). So feels like a fine little game! For some fun I tried to fall on bugs which are still falling, wondering whether that would work (in some Mario clones such tricks were present to access secret areas, of course not expecting anything like, just whether the game "bugs"), but I couldn't manage that either with my clumsy platformer skills and controls. Just for an idea to check.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: New Game: Bugz

Post by Artcfox »

Jubatian wrote:Nice, and the process you describe for the levels sounds interesting! :) (OFF: And version 1.40 of Uzem with my hacks added can run it and all else tried so far, no weird behaviors and all)

I kept dying and dying, and yet again, dying once more. But I think it is fine, controls feel smooth, no pixel-precise jumping necessary, it feels like it would play nice with a real controller (I tried to play it from the laptop's keyboard, since I only have some faint wifi signal in the kitchen :lol: , that's an even bigger fail for a platformer than trying with a normal keyboard). So feels like a fine little game! For some fun I tried to fall on bugs which are still falling, wondering whether that would work (in some Mario clones such tricks were present to access secret areas, of course not expecting anything like, just whether the game "bugs"), but I couldn't manage that either with my clumsy platformer skills and controls. Just for an idea to check.
Thanks! That's one of the reasons why I didn't add a concept of "limited lives" to the game. Even after months of play testing, it can still take me many tries to beat certain levels, but in each case where I die I can point to exactly what I did wrong.

What do you mean by falling on bugs that are still falling? If you know a bug is about to drop off a ledge, and you are already falling towards where it will be in the air, it's possible that you can catch up to it and stomp on it in mid-air as long as you can catch it before you both reach terminal velocity. You do get an extra impulse when you stomp on a bug (which can be added to your normal jump impulse), but I don't want to give away too many secrets here, so you'll just have to play those levels and see for yourself. ;)
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: New Game: Bugz

Post by uze6666 »

Yay, a new game! I had the privileged to preview the game when working on the sound bug. With all the levels and type of bugs it's a pretty good game. Very challenging at times like level 5 with grasshoppers running everywhere! The controls are spot on and the jumping and physics feels natural. And it's an original game!

Since you asked for improvements I though some background music could be nice. Also, when jumping over several bugs in one shot, does that make more points (like SMB)? Can't see while playing! Speaking of SMB, I could not stop but thinking that adding those little score sprites when you stomp bugs could be cool, if you had enough CPU obviously.

Anyhow, for a first game, it's pretty impressive. :) I'll post a news on that.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: New Game: Bugz

Post by Artcfox »

uze6666 wrote:Yay, a new game! I had the privileged to preview the game when working on the sound bug. With all the levels and type of bugs it's a pretty good game. Very challenging at times like level 5 with grasshoppers running everywhere! The controls are spot on and the jumping and physics feels natural. And it's an original game!

Since you asked for improvements I though some background music could be nice. Also, when jumping over several bugs in one shot, does that make more points (like SMB)? Can't see while playing! Speaking of SMB, I could not stop but thinking that adding those little score sprites when you stomp bugs could be cool, if you had enough CPU obviously.

Anyhow, for a first game, it's pretty impressive. :) I'll post a news on that.
Thanks for the compliments! Completing the game was definitely an adventure.

I tried adding background music at one point, but the sound effects happen so often and close together that the music ended up sounding like crap. I think of the sound effects themselves as creating a melody (at least during speedruns), similar to the singing roads they have in Japan and a few other places. When I'm recording a video from an input capture, I'll often set my laptop down and do something else, and I can actually tell which level it's on, based only on the sound effects.

It does not multiply the score for consecutive jumps without touching the ground, but that idea did cross my mind. I wasn't sure that I could implement it in a clean, "bug-free" way so I left that out. I also did think of those little rising score sprites (great minds think alike!) but they would have ended up being as large (or larger than) the player, and I was already very strapped for cycles. Maybe my next game will have mega-sprites, and then I could try doing that.

I'm also not sure how to enter Bugz into this year's Uzebox Code Challenge (if that is happening), but I would certainly like to! Is it typical for contestants to wait until the contest is over before posting a link to the source code?
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: New Game: Bugz

Post by uze6666 »

I'm also not sure how to enter Bugz into this year's Uzebox Code Challenge (if that is happening), but I would certainly like to! Is it typical for contestants to wait until the contest is over before posting a link to the source code?
I don't think it's going to be this year, more beginning of next year. Usually yes, the sources are released after wards. But you can always send me the sources by PM as a safe backup. :)
Post Reply