Jump to content
IGNORED

Frazzled - WIP Homebrew


DaveM

Recommended Posts

Spent a good portion of the day at the Pinball Hall of Fame today, where I found this beauty amongst the games:

20230610_140933.thumb.jpg.39abfdeb757f9d159af6218a3617258c.jpg

Gave it a few plays, and it played pretty well! Paddle was slightly jittery, but otherwise good. Set the score you see above, then followed it up with 4560.  Unfortunately, most of the games there were unplayable and in a state of disrepair. 

 

One funny story though - I'm playing the arcade game Wacko, and next to me is Donkey Kong. The DK machine is running, but the colors are all off - everything's red, except the ladders, which are INVISIBLE. Despite this, people keep coming up and playing it. So this 20-something woman is playing, and keeps saying, "How do I jump up? I can't get to the next level! How do I jump up?" She's trying to jump from the bottom beam to the next beam because she can't see the ladders and isn't familiar with the game. I see she just happens to be standing right where the ladder is, so I explain that the game's messed up and there's ladders, and she's right where one is, and she should just push up,  etc , etc. Then of course, a barrel comes and lands on her head. Well, Mario's head in the game, not her actual head as she's standing there playing DK. That would be tragic, and quite weird, but probably very funny nonetheless. 

 

Anyway, I don't think anyone's interested in the poker stuff, so I'll just say I  lasted 7 hours last night, had 3 top pros at my table, combined with a lack of cards made it really tough going. So no cash again, one more try tomorrow. 

  • Like 2
  • Haha 1
Link to comment
Share on other sites

Last day in Vegas. I've had enough of The Strip, the casinos, and the people, so I decided to drive around town and check out the local retro video game stores. At my last stop, I find this...

20230612_152501.thumb.jpg.877dba28039b22079ff4fdb03105ae9d.jpg

I've been looking for H.E.R.O. since it came out! NEVER been able to get my hands on one! FINALLY!  I don't even remember what the guy charged me for it, I didn't care. This makes up for not cashing in any tournament at the WSOP.

 

So briefly, in my last tournament, I played almost 8 hours. A good portion of that was right next to the TV table. By coincidence, at my table was one of my favorite poker tv commentators. Had a good time talking to him and playing against him. I did good yesterday, but not good enough. Nevertheless, it was quite exhausting. 

 

So to get this thread back on track... FRAZZLED... Right before I left, I changed the bankswitching scheme to open up a couple extra banks, bringing the game to 16k. It's looking like that scoreboard area might need a bank all to itself with everything I want to display there. I'll get back to working on the game when I get home in a couple days.

 

I also had some ideas of what I could do with Kick Ice. I think I may turn that into a Mario Bros type of game. The bird could drop the enemies into play instead of them coming out of pipes, the platforms could change with each level, and there could be a couple large ice blocks to kick which could act like the turtle shells in SMB. I need to play with this idea more, but I think this is a way I can salvage that game.

  • Like 1
Link to comment
Share on other sites

13 hours ago, DaveM said:

I think I may turn that into a Mario Bros type of game

Really like this idea - the 2600 deserves a neat version. I remember a WIP version with a very (very) proposing approach but…

 

And: something new or „kind of“ Mario Brothers would be even better 😌
 

… H.E.R.O. is in my top 5 list of Atari 2600 original games 🤗

Edited by Bomberman94
  • Like 2
Link to comment
Share on other sites

  • 1 month later...

UPDATE!

 

What's New...

  • Game now starts up showing the title logo and version date.  Press the button to go to the main menu.
  • The main menu is currently limited to just two choices: Practice Mode and Time Rush Mode.  As I complete the regular version of the game, other choices will be added.  But for now, you can choose either of the existing modes and play those.
  • The left difficulty switch controls whether you use wild cards in either mode.  Set to "A" to use wild cards, set to "B" for no wild cards.  You can change back and forth during a game, however, the setting only takes effect when a new puzzle is generated.
  • If you select Practice Mode, you can exit out of Practice Mode and back to the main title screen by holding the button down for roughly 3 seconds.
  • It you select Time Rush Mode, when your game ends, your final time will flash as it did before.  Push the button, and it will ask "AGAIN?"  Selecting "N" will take you back to the title screen.  If you select "Y", it will launch you into another Time Rush game with the same number of rounds you previously selected.  Note that while the number of rounds will remain the same, it will give you a new set of puzzles.  I'll try to work in an option to run the same puzzles again later on.
  • The ROM is now 16k in size.  I needed to do that to accommodate all the graphics I'm using in the scoreboard/menu area.  That little area takes up the entire 3rd bank.  Currently, the 4th bank sits empty.  I'm planning on using that bank for the audio.

What's Next...

  • Speaking of the scoreboard/menu area, I'm going to have to redesign it a bit.  It's currently loaded in there as one large 20 scanline chunk.  That means the graphics are loaded in 20 byte chunks.  That makes it very difficult to store that data efficiently.  I'm going to break the scoreboard up into two 10 scanline segments, allowing me to store the data in smaller chunks.  Hopefully, when all is said and done, you won't notice any difference visually.  It should all look the same, I'll just be able to pack more graphics in there.
  • After that, I'll finally be able to start working on the main game.  

As always, if you find a bug, PLEASE let me know!  I tested this the best I could, and it seems to work fine, but there's almost always something that I miss.

 

And finally, to answer a question some of you may have been wondering... Why a blue unicorn named "Snuggy?"

 

Snuggy is based on a plush unicorn that was given to my fiancée as a gift a short while back (she loves unicorns).  While I was developing Mr. Yo-Yo, she suggested that Snuggy would make a good character to use in one of my future games.  When I started working on Frazzled, I was trying to come up with a main character, and decided that Snuggy fits this game pretty well.  So that's why the game features a bouncing blue unicorn.

 

Frazzled_20230720.bin

  • Like 6
Link to comment
Share on other sites

  • 2 weeks later...
On 7/20/2023 at 3:43 PM, DaveM said:

I'm going to break the scoreboard up into two 10 scanline segments, allowing me to store the data in smaller chunks.

Well, this didn't work.  I mean, it could've worked... but, although doing this freed up a whole bunch of ROM, displaying two sections like that takes up far too much of my precious little remaining RAM.  Instead, I went through how I was storing the data, moved some stuff around, and freed up ROM space that way.  Not quite as much as I had hoped, but it should be enough for me to get most of what I want in there.  None of this changed anything observable from the player's perspective, so no need to post a new .bin file.

 

As I've been watching others play what I have of the game so far, it seems people fall into one of four categories:

1. People who don't understand how the puzzles work, get frustrated, and never want to play the game ever again.

2. People who don't understand how the puzzles work, but make an effort to figure it out, and generally improve a bit over time.

3. People who enjoy working the puzzles, but don't know the patterns and take a while to complete them.

4. People who know the patterns and complete lots of puzzles very quickly.

 

I decided I can't do anything about people who fit into category #1.  But for the rest, it presents a HUGE gap between the ability of the people in each category.  So I've been trying to think of ways to make the game fun for everyone, no matter what the skill level.  Keep it easy enough for beginners, yet still challenge those that can solve the puzzles very quickly.

 

One way, of course, is to have a selectable difficulty level at the start of the game.  But still, you might get someone who gets bored out of their mind for level after level until the game finally gets challenging; or even worse, ramp up the difficulty too quickly for the beginning player.  So, I had an idea. Rather than increasing the difficulty with each level played, ramp up the difficulty based on how the player is playing.  In other words, when the player does good things, increase the difficulty.  When they have trouble, make things easier on them.  Rather than set a fixed number of puzzles and a fixed number of seconds on the clock for each level, it could vary depending on how the player is doing.  For example, the plan is for the first level of the game to give the player 100 seconds to solve 1 puzzle.  If a player fails to solve the puzzle, their next level could be the same - 1 puzzle in 100 seconds.  But if they successfully solve the puzzle in say, 10 seconds, the difficulty would ramp up quickly and perhaps their next level would give them 50 seconds to solve 3 puzzles.  I'm trying to work out the details on how this would work, and it would probably need to be tweaked a whole bunch through play testing, but I think it would work better for this game rather than set each level with a fixed clock and number of puzzles for every playthrough.

 

Some exciting news... a Frazzled demo will be on display at this year's PRGE!  

  • Like 3
Link to comment
Share on other sites

  • 3 weeks later...

Big update time!

 

image.thumb.jpeg.144244f3d749f12a8244a8fd102eb0da.jpeg

The game's main game mode, Arcade Mode, is now playable!  There's still much work to be done though, as I've yet to add the enemies, power ups, and bonus objects.  But, you can play the arcade mode and get a sense of what the main game is going to be like.

 

For now, the left difficulty switch functions in Arcade Mode just as in the other modes.  Switch it to "A" to play with Wild Cards, switch to "B" to play without Wild Cards.  This will be changed shortly, as Wild Cards are one of the power ups, so you'll need to earn them.

 

Arcade Mode has five starting difficulty levels selectable from the main menu.  For now, the level difficulty number corresponds to the number of puzzles (or "Rounds" as they're called in-game... mainly because I couldn't fit "Puzzles" 😄) that must be solved to successfully complete your first level.

 

Each level consists of anywhere from 1 to 9 rounds, and anywhere from 30 to 100 seconds to solve them.  As you progress, the better you do, the more difficult it will become.  If time runs out on a level before you complete all the puzzles, the game will get a bit easier.  As you get better at the game, you may notice that no two playthroughs are exactly alike.

 

Since the power ups and enemies are not in the game yet, I'm going to hold off on tweaking the # of rounds and the clock for now.  Once everything is in the game and it's ready for play-testing, if the game proves too difficult, I'll add time to the clock or whatever is necessary to make the game a better experience.

 

In Arcade Mode, the object is to complete as many levels as possible, as quickly as possible.  The more rounds you successfully complete, the more points you'll score.  If you fail to complete a round, you'll be assessed penalties.  Accumulate 50 penalties, and the game's over.

 

At the start of each level, the game will show you how many rounds you must complete in that level.

 

Scoring:

Successfully complete a round: 1000 points for the first round, an additional 200 points for each round after that, up to 5000 points per round.  Upon completing a round, the game will flash the number of points you receive, then show your total score. 

 

Successfully complete all rounds in a level: You get your normal round bonus, plus 5 points for each tenth of a second left on the clock.  Upon successful completion of a level, the game will flash the combined total of the points you get for completing the round, plus the time bonus, then it will show your total score.

 

If the clock runs out before you complete a round, you'll receive 100 points for each matching square.

There will be other opportunities to score points as the game is completed.

 

Penalties:

If the clock runs out before you complete all the rounds in a level, you'll be assessed penalties.

You'll receive 1 penalty for each non-matching square in the round you're currently on.

You'll receive 10 penalties for each unattempted round in the level (for example, if the level has 3 rounds, and you've completed one of them, you'll get 1 penalty for each wrong box currently on screen, and another 10 for the round you didn't get to).

 

If time expires, the game will flash the number of points you receive for the matching squares, then show you your total score, then display the number of total penalties you have (this is shown between a pair of "X's", so if you see "X23X", it means you have 23 penalties against you.

 

As long as you have less than 50 penalties, the next level will begin with the game showing you how many rounds you need to complete.  If you beat the previous level, you may have a higher number of rounds.  If you failed, you may have less.

 

Penalties max out at 50.  When you reach 50, the game ends and your final score is displayed.  Pressing the button will bring up "AGAIN?"  Select "Y" to restart the game at whatever difficulty you initially selected, select "N" to return to the title screen.

 

For what it's worth, you may notice the score and clock have no leading zero's.  :) 

 

Other changes:

  • The clock was previously running a bit slow.  I fixed it.
  • In Arcade Mode, the clock will flash red with less than 10 seconds left in a level.  It will flash faster under 5 seconds.
  • The playfield colors will change as your difficulty level changes.  There's currently four color patterns.

 

The game's finally taking shape.  I'd love to hear some feedback!  I think I'll be adding the power ups next.  There's three power ups that I'm planning on, so if you have trouble solving the puzzles, hopefully the power ups will help you out.  Of course, the wild cards are sorta already in there.  If you haven't played the game with wild cards on yet, flip the left difficulty switch to "A" and try it out.  Makes things A LOT easier!

 

Enjoy!

Frazzled_20230823.bin Frazzled_20230823.a

Edited by DaveM
  • Like 5
Link to comment
Share on other sites

Thought I'd take a break from working on the game this weekend to write up a back story for the game that's been floating around in my head.  There's a quick reference to a bonus round that I'll be adding to the game later to give the players a break from solving puzzles.  Anyway, here's the back story for the manual:

 

       It was quite possibly the most beautiful sunset Yavlin had ever seen.  How ironic, he thought to himself, that something so beautiful could be the result of so much devastation and horror.  The bright and beautiful colors made ever so much more resplendent thanks to the soot and the dust and the smoke that infested the air following the battles from earlier in the day.  And yet as his homeland lay in ruins around him, the sight of this sunset gave him hope that better days may lie ahead; but he didn’t have time to think about that now.
       The enemy army was approaching quickly.  Yavlin could hear them in the distance.  He had met up with a few members of the Resistance a short time ago, and they had paused for a quick rest.  If they remained there much longer, they would surely be captured by the invading forces, and all would be lost.  Their only hope was to get moving now, continuing their retreat towards the city center.  With any luck, there they could meet up with the other remaining members of the Resistance, and perhaps, with just the right element of surprise, they could put up enough of a stand against the invaders to last another day.  Yavlin began to gather his possessions, ready to move out.
       But none of this mattered to Snuggy the Unicorn.  Snuggy was busy having the time of his life bouncing around a hyperspace trampoline park on the other side of the universe, completely unaware of the great war raging millions of light years away.  Snuggy loved to spend his day bouncing around trampolines, matching patterns, picking up goodies that floated past, and holding the occasional unicorn dance parties with his sisters, Snowy and Rosey.  There was so much fun to be had for Snuggy the Unicorn, and no reasonable explanation for any of it.  
       Meanwhile, on the other side of the universe, Yavlin was going through his provisions, and noticed he was out of onion dip.
 

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...

Uploaded a short video to YouTube demonstrating Time Rush gameplay:

I'm currently working on adding the enemies and power ups to Arcade Mode.  This is slow going, and I haven't had much time this week to work on it, but I am making progress.  As always, I'll post a ROM when I have an update!

 

  • Like 3
Link to comment
Share on other sites

  • 1 month later...

My wife, BJ Myers, passed away last week after a long battle with cancer.  I don't bring that up here to dwell on it, or to solicit sympathy, but instead to talk a bit about her contributions to my homebrews, and to make a bit of an announcement about my games going forward.

 

BJ helped tremendously in the development of my first game, Mr. Yo-Yo.  She wrote the music that you hear in the cutscene following a successful completion of the bonus round, and more importantly, she provided me with so much support as I struggled to learn how to program for the Atari 2600.  I can't tell you how many times I said, "This is just too tough," only for her to tell me that I could figure it out and give me the encouragement to go on.  I wouldn't have completed the game without her.  As a bit of a tribute to her, I hid her initials in the game as an easter egg in the cartridge version as sold in the AA Store.  After I complete this post, I'll post in the Mr. Yo-Yo thread about how to get that easter egg.

 

As for Frazzled, we had planned on her again writing the music for this game.  I feel so fortunate that a couple weeks before her passing, that she surprised me by humming a little tune into the voice recorder on her phone.  When I get around to adding audio to the game, I will be adding that tune she hummed as the game's main tune. She was honored that Mr. Yo-Yo was nominated for best music and sounds for last year's ZPH awards, and whenever we talked about the music for Frazzled, she would always say, "I want that award this year, dammit!" 😂

 

So onto my announcement... Starting with Frazzled, and going forward for all my homebrews, I will be publishing them under the name "Beezy Games."  "Beezy" was a nickname of hers that she really liked, and I felt that it always sounded like a "fun" word, and could lend itself to a logo rather easily.  I came up with this idea a few weeks back, and did a quick sketch of the logo I had in mind to show her, and she absolutely loved it.  Now, I'm not sure if I have to do anything legal-wise with this, or if I just ask Albert if I can slap this logo on the box somewhere, but I can figure all that out later.  

 

For now, here's the logo and wordmark I came up with.  Just a simple, green, interlocking B and Z, with a unicorn horn.  Green was her favorite color, and she absolutely loved unicorns (which is sorta how Snuggy the Unicorn came to be the main character in Frazzled to begin with).  I wanted to keep these simple, so that I could render them onscreen in my games going forward.  Not quite sure how I'll fit them into Frazzled, but I figure I could put the wordmark at the bottom of the screen in future games, much like Activision had its wordmark at the bottom of the screen for all their games.

 

As for continued development of Frazzled, I stalled out a few weeks back when her health started to deteriorate.  I've spent most of the last month sitting with her for 12+ hours a day in the hospital.  I'm not quite ready to resume work on the game, but I will soon.  I started making some real good progress in adding the enemies and whatnot to the game, so hopefully I can post something in the next month or so with a nice, big update.  While in the hospital, she slept a lot, and while I wasn't able to actually work on the game, I played it a lot on my Flashback portable.  I've come to the conclusion that the Arcade Mode, as it sits now, is actually a pretty good game as-is.  It needs tweaking as far as difficulty and all that goes, but as a game mode, it's pretty good without enemies and power-ups and whatnot.  So not only will I be looking to add the other objects to Arcade Mode, I'll also create an additional mode without all those extras.  But that's just something to add on to the to-do list for now.

 

Anyway, I hope you're enjoying the game.  I've got many more planned after this, so if solving puzzles isn't your thing, I've got other stuff on the way.  And if you have a Mr. Yo-Yo cartridge, head over to the Mr. Yo-Yo development thread, and I'll have instructions on how to trigger that easter egg shortly.

 

Thanks!

 

image.jpeg.95e1294a4f2336bb6c23b959b459feb2.jpegimage.jpeg.b772095791e0acd38a59f809b1a913a1.jpeg

  • Sad 10
Link to comment
Share on other sites

  • 1 month later...

Got an update, and need some assistance.  I now have all objects in the game, and have them all spawning (although no collision detection).  But now I'm having occasional scanline issues.  Not sure what's causing it.  I had it running perfectly fine with only a few objects in there, but with everything in there, it's occasionally jumping over 262, and I'm not sure what's causing it.  If anyone could take a look, I'd appreciate it.  Thanks in advance!

Frazzled_20231208.a Frazzled_20231208.bin

  • Like 2
Link to comment
Share on other sites

Still need some help.  I've re-written the object spawn and move section starting on line 4735 to make it more efficient in hopes that it was a cycle issue, but I'm having the same problem.  Occasional scanline jumps to 264.  I've confirmed this wasn't an issue in a previous version, so I'm guessing something in this section of code is causing the issue.  I would think if I was using too many cycles in my overscan, the issue would be more consistent, but the game seems to run fine for a while, then the extra scanlines appear for a bit.  This only happens in Arcade Mode.

 

I've also changed the animation of the red enemy, who I'm calling "Mr. Grumpy".  Once I get the scanline issue resolved, I'll explain the various roles that all the characters and objects will play in the game.

Frazzled_20231211.a Frazzled_20231211.bin Frazzled_20231211.zip

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

OK, I think the scanline issue is resolved!  Big thanks to Dennis Debro who gave me some suggestions to resolve the issue.  I moved around a bunch of code from the overscan to the VBLANK, and that took care of it!  All appears to be stable now!

 

Other changes in this (and the previous) update:

  • The left difficulty switch functions have been moved to the right difficulty switch.  The left switch, for now, does nothing.  I have a plan for that switch.
  • Added a fractional speed effect to all objects, so an object will take the same amount of time to cross the play area, regardless of which row it spawns in.
  • Updated animations for some objects, notably Mr. Grumpy's walking animations.  I redid his legs, borrowing the legs from the guys in my failed game, Kick Ice, which in turn, borrowed their leg animations from the chefs in the arcade game Food Fight.  So, if you go frame-by-frame, Mr. Grumpy's legs will match the legs of the chefs in Food Fight.  :)
  • Added a color change effect to the power-ups.
  • Numerous other minor changes.

One of the tough things to figure out in this game is how to deal with the pseudo-3D effect I decided to go with for some ungodly reason.  Graphics-wise, each object has different animations for each row.  Objects on the bottom row are 16 scanlines tall, and the pixels are 2x wide.  Objects in the middle row are 12 scanlines tall, 2x wide, but are only 6 pixels wide (except Snuggy, who I think goes 7 wide).  Objects in the top row are 9 scanlines tall, 1x wide, and use all 8 pixels in width.  Using those restrictions, I couldn't come up with a decent-looking forward-facing Snuggy for the top row, so while he's up there, he'll only face to the side.

 

Then there's the movement.  I wanted to make sure I compensated for the different widths of each row.  Snuggy takes 20 frames to hop between any two squares, so his speed is nice and constant.  For all other objects, I had to come up with a fractional movement routine, and it seems to work pretty well.  While some objects move faster than others, if one particular object uses X number of frames to cross the bottom row, that object will use the same number of frames to cross the top row.

 

So now a little introduction to the various characters and objects you'll find in the game.  Keep in mind, I haven't implemented collision detection yet, so these objects don't yet do what I describe below, but they will in the finished product (fingers crossed).  Also, with this particular release, I have stuff spawning at a much faster rate than they will in the actual game.  The current spawn rate is just for demo purposes.

 

image.jpeg.37ddf118ea45b6342205a1c86611f215.jpeg

This is Mr. Grumpy.  He's the owner of this hyperspace trampoline park, and doesn't like Snuggy bouncing around in it.  He'll slowly walk across the play area, stop, let out a growl, and change whatever square he's standing on.  While he's growling, he's vulnerable to attack.  Snuggy can hop on top of him for some bonus points, plus Snuggy will gain the ability to change just one square at a time for a few seconds.

 

image.jpeg.5c2cb5a012b3551cfefb53241dedfce0.jpeg

This is Ed.  He just quickly hops across the grid.  I wanted this character to be a charging moose, but I couldn't draw a good moose using the constraints described above, so I came up with this guy instead.  He's still referred to as "Moose" in the code, but his name's Ed.  Ed may be a temporary employee, but he's in the game for now.  If you get hit by Ed or Mr. Grumpy, you'll spin around for a few seconds, costing you valuable time, plus you'll be assessed ten penalty points.

 

image.jpeg.9353b5c5bd3071ca9e0aba7f39c1a4ed.jpegimage.jpeg.bd02c188087721cce72c2c4a4a47b412.jpeg

These are Snuggy's little sisters, Snowy and Rosey.  They will only appear in the game's yet-to-be-implemented bonus round.  If I can't get that to work, they'll show up in the regular game in roles similar to that of the last family in Robotron.

 

image.jpeg.d104de5f1eb0a6892b07a945335b944a.jpeg

Bonus Apple.  Points.

 

image.jpeg.c0758192eed325e18615a89c7262274e.jpeg

Wild Card Power-Up.  Catching this will enable Wild Cards on the board.

 

image.jpeg.0b745c16660854939b047c6ffc6fd483.jpeg

Time Power-Up.  This will slow the clock to half its normal speed.

 

image.jpeg.538f6e6f817572c873838f4cdaba4653.jpeg

Panic Button Power-Up.  This will enable the Panic Button, a large red button that will appear at the bottom of the screen.  Hopping on that button will give control of the game over to the computer, which will then try to solve the puzzle with a series of random moves.  I've got a few ideas on how to implement this logic, with the intent to give the player about a 2/3 success rate of solving the puzzle this way.  It'll be a bit of a gamble, but if you're stuck, it could save you!

 

So those are all the objects in the game and what they will eventually do.  Hopefully, that will give you a better idea of what I have in mind with the Arcade Mode.  Next up is implementing collision detection, and then start working on the logic behind each of these objects.

 

Hope you're enjoying the game!  Thanks!

Frazzled_20231220.zip Frazzled_20231220.a Frazzled_20231220.bin

  • Like 3
Link to comment
Share on other sites

  • 1 month later...

image.thumb.jpeg.2332113144408ac7d4c1ebebb9d23989.jpeg

 

Very excited to announce that Frazzled has been nominated for Atari 2600 Best WIP Homebrew Original Game in this year's Atari Homebrew Awards!

 

You can vote for all the Homebrew Awards at this link: Atari Homebrew Awards! - AtariAge Forums

 

It's been a while since my last update, but I'm still hard at work on the game.  I'm working on collisions right now, and with such a variety of objects, and each having their own effect when you collide with them, it's just taking some time.  I'm almost done with it though, so I should have an update in a few weeks.  I'd like to release a stable, bug-free update, so I'm taking my time with it.  It should be coming soon, though.

 

The game is nearly complete.  After the next update, I'll start adding the audio, then I'll add the bonus rounds, and that's about it! 

 

Thanks for your continued support!

  • Like 2
Link to comment
Share on other sites

  • 1 month later...
Posted (edited)

Finally ready for another update!  The regular levels in Arcade Mode are now complete, albeit without audio.  I gave a rundown of the various objects a few posts ago, but I'll do that again here, as things may have changed a bit.  We'll start with how to play the game, then I'll go over the technical stuff after that.

 

The object of Arcade Mode is to solve the required number of puzzles before time expires.  Failing to solve all required puzzles before the clock hits zero, or getting hit by one of the enemies will add to your penalty total.  If you accumulate 50 penalty points or more, it's game over.

 

image.jpeg.26c9ffd6a2b7e9650fa24e3ecb09e9c8.jpeg

This is Mr. Grumpy.  He'll walk slowly across the board, and if he runs into you, you'll spin around for a few seconds and be assessed 10 penalty points.  Every now and then, he'll stop, face forward, and growl (albeit without audio for now).  While growling, he's vulnerable to attack.  If you can jump on him while he's growling, you'll pick up 500 points and start flashing for a few seconds.  During that time, you'll be able to switch one box at a time.  In other words, the adjoining boxes will not switch.  So, you'll have a few seconds where you can quickly solve the puzzle!  However, if you don't stop Mr. Grumpy, when he's done growling, the box he's standing on will switch, and he'll walk off the screen.  Note that if he stops on a Wild Card box, there will be no change to the box when he's done growling.

image.jpeg.d71dc4479c479216c9331e07803f87d6.jpeg

This is Ed.  If you touch him, you'll spin around for a few seconds and pick up 10 penalty points.  While spinning as the result of a collision with an enemy, the joystick will be disabled.  You have to wait until Snuggy stops spinning to move or swtich boxes again.

 

image.jpeg.1deab9c92629244b3050384fa56a0d54.jpeg

This is the Bonus Apple, it just adds points to your score equal to whatever the bonus for solving the current puzzle is.  That bonus starts at 1000 points, and increases 200 points with each successful solve, up to a possible 5000 points.  Apples may appear up to twice per puzzle.

 

Here are the Power-Ups, worth 300 points a piece:

image.jpeg.a537e1c9b5cd11406ac4a7571a048866.jpeg

This is the Wild Card Power-Up.  This will add Wild Cards to the board (Duh).

 

image.jpeg.ee68d74c160659c030d072aaa93b9874.jpeg

Time Power-Up.   Picking this up will slow the clock to half its normal speed.

 

Both these Power-Ups are affected by the Left Difficulty Switch.  With the switch in the 'B' position, the effects of these Power-Ups will only reset at the end of a level.  In the 'A' position, they will reset at the end of each puzzle.   

 

image.jpeg.84f3b9020bd875483905a18b27ecbc0a.jpeg

This is the Panic Button Power-Up.  It will only appear with less than :40 seconds on the clock, and if you have 5 or fewer puzzles left to solve in that level.  Picking it up will enable the Panic Button, a large, red, circular button that appears at the bottom center of the screen.  If you jump on top of that button, the game will attempt to solve the puzzle for you for a few seconds.  If successful, you'll not only receive credit for successfully solving that puzzle, but, if there's still more puzzles to solve, you'll be given credit for completing the entire level as well!  Be careful though, it's not a sure thing.  It tested at a 56% success rate, so it's just a bit better than flipping a coin.  After a few seconds, the button will disappear, and Snuggy will be bounced back onto the grid, left to deal with whatever the computer has left for him.  So you may only want to use this as a last resort!

 

So that's about enough on how to play the Arcade Mode.  I think the game is bug free at this point, and I haven't noticed any scanline issues in a while, but if you find a bug, or a scanline issue, please do let me know!

 

Some other stuff...

  • The grid now has 8 color combos instead of 4.  I'm not completely sold on all these, so let me know which colors you like, and which you don't like.
  • At the start of a level, or at the start of the Time Rush Mode, the scoreboard used to say "ROUNDS", with a number next to it.  I've changed that to "PUZZLES TO SOLVE", as I felt it was less confusing.
  • Collision with any object will clear all objects from the screen. This not only made things a bit easier to deal with, but because of the perspective, Snuggy will always be drawn in front of any other object.  By clearing everything immediately, this avoids any situation where Snuggy is supposed to be further back in the distance, yet is drawn in front of an object in the foreground.
  • As for collision detection, the game does use the hardware collision detection registers; however, if Snuggy is a row below an object, his graphic may actually be drawn over an object in the background.  So the game also checks to make sure Snuggy and the object he collides with are on the same horizontal plane.  While you can't jump over an object horizontally, when you jump vertically, there are some scanlines where the game determines that Snuggy is between rows and he won't collide with anything.
  • Next up is adding audio, then adding the Bonus Round, then that's about it! :)

 

Hope you enjoy it!  And please let me know of any bugs you may find!

Frazzled_20240307.a Frazzled_20240307.bin

Edited by DaveM
  • Like 3
Link to comment
Share on other sites

Of course, after hours of playtesting and not finding any bugs, I did the previous upload, and immediately afterwards, got a scanline bug and encountered another issue.  This update should correct those issues.

 

Fixed:

1. If Snuggy was sitting on the Panic Button when a match was made, he wasn't jumping up and down.  I swear he did that during my initial testing, but he decided to stop doing that.  Found the bug and fixed it.

 

2. I think I resolved the scanline issue.  I cleaned up the large number of branches in my collision detection logic, eliminating some 25+ cycles or so.  Hopefully, that should take care of any scanline issues.

 

And here's some stuff I forgot to mention before:

1. Hopping on the Panic Button will immediately disable all Wild Cards.  With the Wild Cards turned on, the Panic Button tested at something like an 86% success rate.  This made the game far too easy.  And while the 56% success rate mentioned above is a good deal lower than what I was initially aiming for, I had originally envisioned the Panic Button only completing the current puzzle, not the entire level.  While testing it out, it made more sense to the flow of the game to have the Panic Button complete the whole level, regardless of the number of puzzles remaining to solve.  With this added benefit, I'm OK with the lower success rate.

 

2. Speaking of the Panic Button, hopping on it will also increase the difficulty level of the game.  A successful solve by the Panic Button will increase the difficulty more than if you had actually solved all the puzzles yourself.  There's 64 difficulty levels in the game, with each determining not only how many puzzles to solve per level and the amount of time on the clock, but it also determines the speed of the enemies, how much time Mr. Grumpy will growl for, and how much time Snuggy has with his one-square special ability he gains after stomping Mr. Grumpy.  Failure to complete a level will actually decrease the difficulty level a bit.  I probably should map these all out and see exactly what occurs at each difficulty level.

 

3. Ed is nowhere to be found in the object spawn matrix.  Some objects in that matrix have certain conditions that must be met for them to spawn.  For example, for the Wild Card Power Up to spawn, there must be no Wild Cards already on the board.  If an object tries to spawn and its conditions aren't met, Ed will spawn instead.  He's the default object.

 

OK, onto the audio.  Enjoy!

Frazzled_20240309.bin Frazzled_20240309.a

  • Like 3
Link to comment
Share on other sites

  • 3 weeks later...

Anyone here good at music and willing to help out?  My wife was going to work with me on the music, and she hummed a little tune into her voice recorder a couple weeks before she passed away.  I've been trying to write code for her tune, but it sounds horrible.  I can do sound effects ok, but I'm totally lost with music.  I'm hoping someone here can help out and do her tune justice.  Thanks!

  • Sad 1
Link to comment
Share on other sites

  • 2 weeks later...

It took a few weeks, but I think I managed to put together a decent version of my wife's song.  For now, it's the only audio in the game.  It plays upon startup, and any time you go back to the title screen.  I think it didn't turn out too bad considering I have absolutely no musical ability. :)  Now I can concentrate on adding the rest of the audio to the game.

 

This release also fixes a bug related to the right difficulty switch.  That switch controls whether or not wild cards appear in the Practice and Time Rush game modes.  It just wasn't working right when switched to the 'A' position.  This is now fixed.  When in those game modes, set the right switch to 'B' to play with wild cards, or 'A' to play without wild cards.  You can switch back and forth during the game, but the change will only take place when a new puzzle is loaded.

 

There's still some rare scanline issues present.  I've optimized the code a bit with this release, but the screen will still occasionally roll.  I'll worry about that later.  Gotta get working on sounds and adding the bonus round.

 

Previously unmentioned, I think:  As you may have noticed, when you score points or incur penalties, the points/penalties are briefly displayed on the scoreboard.  What you may not have noticed is that with less than ten seconds on the clock, this doesn't happen.  You'll still be credited with the points and penalties, but with less than :10 on the clock, the scoreboard stays focused on the clock.  

 

Frazzled_20240409.bin Frazzled_20240409.a

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

First few sound effects added.  Game now has sound effects for Snuggy bouncing around the grid, objects spawning and de-spawning, and boxes getting switched.

 

One thing I wanted to do with this is adjust the volume on the sound effects based on how close to the "camera" the event occurred.  I was able to do this with Snuggy's bounce.  When he's in the lower row, his bounce sound will be louder than when he's in the upper row.  However, I may have problems doing this with the rest of the audio, so for now, the bounce sound effect is the only one that adjusts its volume based on location.

 

It looks like I'm out of RAM.  This shouldn't affect the implementation of the bonus round, as I have a plan to re-use some variables to get around that, but it may affect some of the audio stuff I wanted to do.  The volume offset I mentioned above, for example.  There are a few other things I have planned that I'll have to find a work around for now.

 

On the plus side, I think I've finally solved my scanline issue.  I moved a large procedure from the overscan to the VBLANK, and in the process, opened up a good amount of ROM in one of my banks, which makes life a lot easier.

 

Enjoy the current release, and I'll be adding more sound effects very soon!

Frazzled_20240421.bin

  • Like 1
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...