DaveM Posted May 9, 2023 Share Posted May 9, 2023 (edited) Here's my newest WIP homebrew, Frazzled! As you may or may not know, a while back, I suspended my work on Kick Ice. I began almost immediately developing Frazzled, a game based on something I did a long time ago in VBA. Before I posted anything here, I wanted to make sure I had something playable, something I never had with Kick Ice. Well, I finally have something playable, so it's time I start a development thread and share the results! Frazzled is a bit like Q*bert meets the old Lights Out puzzle game. You control Snugford the Unicorn (aka "Snuggy"), hopping around the grid in the lower part of the screen. The grid up top shows a pattern that you must match on your grid below. Each time you push the button, the square you're on changes, but so do all the squares attached to the square you're sitting on. The object is to come up with a match - or come as close as possible - before time expires. There will be enemies to mess you up, power ups to help you, and bonus objects to add to your score. There will be three game modes - The regular game, with selectable difficulty levels, a practice mode, and a time rush mode. The attached ROM has what is basically the practice mode. No enemies, no power ups, no bonuses, no timer. Just you and the puzzle. Solve the puzzle, and a new randomly generated puzzle will appear a few seconds later. That's it for now. I'll be adding the Time Rush mode next, which will basically be the same thing, but there will be a timer, so you try to solve the puzzles as quickly as possible. So what happened with Kick Ice? Well, I made the mistake of trying to do too much without first coming up with a working kernel. It got to the point where I lost all enthusiasm for the game, and when I got to a problem I couldn't solve, I just gave up. I had planned on doing Frazzled for a while, and I found I was more excited about Frazzled than Kick Ice. So I set Kick Ice aside, and started on Frazzled. I'm happy to say that the Frazzled kernel is complete and tested. Special thanks to Dennis Debro who helped me out with a problem I had along the way. With the kernel all done, now I all I have to do is take care of the game mechanics. So a few things to start you out... Keep in mind the pseudo-3D perspective. The top row on the upper grid is the row closest to you, and that must match the row closest to you on the bottom grid, i.e., the bottom row. The rows farthest away from you - the bottom row on the upper grid, and the top row on the lower grid must match; and of course, the middle rows must match. When you fire up the ROM, you'll get a simple puzzle. To solve this first puzzle, you must switch the center box, and the four corner boxes, in any order. Once you switch those five boxes, you'll have a match, and a new, randomly generated puzzle will appear. If you can't solve a puzzle, for now, just hit reset. You'll start with that first puzzle again, but get a new one after that. At the start of a new puzzle, the grids are guaranteed not to match. You'll always have to switch at least one box. Once the full game is complete, there will be multiple power ups at your disposal to make matching the grids easier. Rather than give the player a set number of lives, the plan is to work on a demerit system - similar to that in Pressure Cooker. So, if you don't solve the puzzle before time expires, you'll pick up a few demerits, but the game will continue. A lot more to come! Hope you enjoy the game! MOST CURRENT ROM: Frazzled_20240519.bin ORIGINAL DOWNLOAD: Frazzled_20230508a.bin Edited May 19 by DaveM Updated ROM 20 Quote Link to comment Share on other sites More sharing options...
Phobos867 Posted May 9, 2023 Share Posted May 9, 2023 (edited) Very cool concept for a game! I tried the demo but unfortunately I'm not very good with hard puzzles, but that's just an issue I have. I'm very curious to see it complete nonetheless, with enemies and stuff! Edited May 9, 2023 by Phobos867 1 Quote Link to comment Share on other sites More sharing options...
DeafAtariFromKansas Posted May 9, 2023 Share Posted May 9, 2023 Just give some TIPS for both (Startup and Reset), it seems same pattern over and over without randomized at startup, when you reset the game, it comes back to same pattern.. it needs some fixes for patterns... During play, it does randomizes the pattern after you completed the puzzle... I love these puzzle games, Keep it up! Quote Link to comment Share on other sites More sharing options...
DaveM Posted May 10, 2023 Author Share Posted May 10, 2023 7 hours ago, Phobos867 said: Very cool concept for a game! I tried the demo but unfortunately I'm not very good with hard puzzles, but that's just an issue I have. I'm very curious to see it complete nonetheless, with enemies and stuff! Thanks! I realize the puzzle aspect of it might not be everyone's cup of tea, so hopefully the extras I'll be throwing in there will make up for it. When I created the original game in VBA, it spread around my office, and some people had trouble with it because they didn't understand how the puzzles worked. I'm hoping now to give the player enough tools to help complete the puzzles, even if they're not a puzzle game player. In the meantime, I'll give you a few hints - It's really a pattern game. If you can learn a few patterns that will switch certain boxes, it makes things much easier. So here's a few to get you started... If we number the boxes like this... ...and we only want to switch box #5, that can be done by switching boxes 2, 4, 6, 8, and 5, in any order. At the end of that sequence, you'll be back where you started, but box #5 will be flipped. If you want to switch any of the middle boxes along the sides, just switch the three boxes against the opposite wall and box #5. For example, say you want to change only box #8. To do that, switch boxes 1, 2, 3, and 5, in any order. The end result is that only box #8 will end up switched. So with these patterns, all you have to do is set the four corner boxes, then run these two patterns as needed to take care of the rest of the boxes. And lastly, as in the example in my original post, if all the boxes are wrong, switch the four corner boxes - 1, 3, 7, 9, and the middle box, 5. That pattern gives you the exact opposite of what you started with. 6 hours ago, DeafAtariFromKansas said: Just give some TIPS for both (Startup and Reset), it seems same pattern over and over without randomized at startup, when you reset the game, it comes back to same pattern.. it needs some fixes for patterns... During play, it does randomizes the pattern after you completed the puzzle... Yes, I guess I didn't make that clear in my original post. For now, it will start up with the same pattern each time. That's because the random number generator would have the same seed value (zero) on startup every time. Even if I tried to have a random pattern at startup, it would just be the same one. So I gave it a set pattern to start, and gave the solution above as well, so that everyone can see what the game does when you make a match. Going through that process changes the seed for the random number generator, so each puzzle after the first is random. This will change as the game is developed. As soon as I put a menu or title screen in, I can then start the game with a random puzzle. 1 Quote Link to comment Share on other sites More sharing options...
DeafAtariFromKansas Posted May 10, 2023 Share Posted May 10, 2023 3 hours ago, DaveM said: Yes, I guess I didn't make that clear in my original post. For now, it will start up with the same pattern each time. That's because the random number generator would have the same seed value (zero) on startup every time. Even if I tried to have a random pattern at startup, it would just be the same one. So I gave it a set pattern to start, and gave the solution above as well, so that everyone can see what the game does when you make a match. Going through that process changes the seed for the random number generator, so each puzzle after the first is random. This will change as the game is developed. As soon as I put a menu or title screen in, I can then start the game with a random puzzle. Thank for clarification about Startup.. Anyway, My option on this randomize is not set up at power up aka Startup, it will lead them to lose their interest playing this game.... That's what I did notice @Karl G game called 2600 Words. he figured out and fixed randomize at Startup and Reset, it works perfectly without repeat same one.. Again keep it up and I still enjoy playing this game... 👍 Quote Link to comment Share on other sites More sharing options...
+MarcoJ Posted May 11, 2023 Share Posted May 11, 2023 Nice. I muggled for about 10 minutes and solved the first puzzle. Challenging indeed. I think it's a good idea. Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted May 16, 2023 Share Posted May 16, 2023 ZeroPage Homebrew is playing Frazzled on tomorrow's ZPH stream LIVE on Twitch, hope you can join us! Tue May 16, 2023 | LIVE @ 6PM PT | 9PM ET | 1AM GMT+1Day WATCH LIVE: https://www.twitch.tv/zeropagehomebrew/WATCH LATER: https://youtube.com/zeropagehomebrew/ Games: Frazzled (2023 WIP | 2600) by David Marli @DaveM Paul's HappyBird (2023 | 2600) by Bruno Steux @bsteux C.H.E.A.T. (2023 WIP | 2600) by Vince Weaver @deater78 Kovi Kovi (2023 WIP | 2600) by Mashdy Games / Marco Johannes @MarcoJ (WATCH AT 1080P60 FOR BEST QUALITY) 1 Quote Link to comment Share on other sites More sharing options...
DaveM Posted May 16, 2023 Author Share Posted May 16, 2023 34 minutes ago, ZeroPage Homebrew said: ZeroPage Homebrew is playing Frazzled on tomorrow's ZPH stream LIVE on Twitch, hope you can join us! Thanks James! I'll be visiting my fiancée at the rehab center about that time, so hopefully we can catch the show from there! 1 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted May 16, 2023 Share Posted May 16, 2023 9 minutes ago, DaveM said: Thanks James! I'll be visiting my fiancée at the rehab center about that time, so hopefully we can catch the show from there! Looking forward to playing it with Tanya tomorrow on the show, she loves puzzle games. Thank you for the tips above, they're extremely helpful. See you and your fiancee in the chat! - James Quote Link to comment Share on other sites More sharing options...
DaveM Posted May 17, 2023 Author Share Posted May 17, 2023 21 hours ago, ZeroPage Homebrew said: Looking forward to playing it with Tanya tomorrow on the show, she loves puzzle games. Thank you for the tips above, they're extremely helpful. See you and your fiancee in the chat! - James Fiancée taken to hospital. Will have to catch show later on YT. 1 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted May 17, 2023 Share Posted May 17, 2023 2 hours ago, DaveM said: Fiancée taken to hospital. Will have to catch show later on YT. Oh no, so sorry to hear that! I hope she will be okay! Please send my well wishes to her. - James Quote Link to comment Share on other sites More sharing options...
DaveM Posted May 18, 2023 Author Share Posted May 18, 2023 22 hours ago, ZeroPage Homebrew said: Oh no, so sorry to hear that! I hope she will be okay! Please send my well wishes to her. Done. She's doing a bit better today. I watched the show after I got home last night. Hope your foot heals up! So, question.... Watching the game on the show last night, there was a graphics bug that popped up that I thought I had fixed: I don't see that bug at all on anything I've tested the game on. I code on 8bitworkshop, and it works fine there. Tested it on Stella, no issues. Tested it on Flashback Portable, no issues. So I was very surprised to see this bug pop up last night on the show. It's caused by not writing to the PF2 register in time. Is this something that you see often with your setup? Could this be a HarmonyCart thing? Can anyone else test the game on an actual system and confirm that this graphics bug does/doesn't appear? It's gonna be tough to fix a bug that I can't duplicate on my end, but I suppose I could work on writing to the PF2 register a couple cycles earlier on those lines and see if that fixes things. Onto responding to other comments... Merlin - Yes, you nailed it! Had one as a kid, loved it. My original VBA game was an attempt to add a clock and power ups to the Merlin game. Just figured more people were familiar with Lights Out. Patterns for corner boxes - I haven't yet figured out any patterns to flip a single corner box. Honestly, if you know the patterns from my earlier post (and they're pretty simple to remember, a plus sign and a short "T"), you don't need patterns for the corners. I just start by setting the four corners, look at where that gets me, and then work the other boxes. Setting up your own patterns - Yes, 512 combinations per grid. The first 8 boxes of each grid are stored as one byte, with an additional byte used to store the one bit needed for the 9th box. I am considering adding an option where you can set up your own grid patterns and then try to work them out. I was thinking of using the difficulty switches in the practice mode. Flip the left switch to A to set up the top grid, right switch to A to set up the bottom grid, then flip them back to B to play it out. But then it wouldn't be couch compliant, so perhaps I should just make it a separate option. Anyway, if I add that, it will be something I tack on at the end if I have the room. So thanks for featuring it on the show! I'm hoping for another update in the next couple weeks. 1 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted May 18, 2023 Share Posted May 18, 2023 15 hours ago, DaveM said: Done. She's doing a bit better today. I watched the show after I got home last night. Hope your foot heals up! That's so good to hear! My foot is healing quickly but it was quite a injury so it'll be a bit before I can even put on a proper shoe again. It's sandal weather here anyway so it's all good. 🙂 15 hours ago, DaveM said: So, question.... Watching the game on the show last night, there was a graphics bug that popped up that I thought I had fixed: I don't see that bug at all on anything I've tested the game on. I code on 8bitworkshop, and it works fine there. Tested it on Stella, no issues. Tested it on Flashback Portable, no issues. So I was very surprised to see this bug pop up last night on the show. It's caused by not writing to the PF2 register in time. Is this something that you see often with your setup? My system has a timing bug that sometimes results in effects like this, so my system is definitely an edge case. I thought there was an option in Stella to test for that but I can't seem to find it any more. You could adjust your timing to compensate for specifically my system, but in general I wouldn't work too hard on it unless it pops up on someone else's console at well. I will probably try to replace my TIA (or whatever is causing it) at some point so I don't have to deal with it any more. - James 1 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted May 18, 2023 Share Posted May 18, 2023 16 hours ago, DaveM said: So, question.... Watching the game on the show last night, there was a graphics bug that popped up that I thought I had fixed: Tested it on Stella, no issues. You should try the TIA variations in Developer options. Here the "glitched Pesco" setting reproduces the problem. 1 1 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted May 18, 2023 Share Posted May 18, 2023 1 minute ago, Thomas Jentzsch said: You should try the TIA variations in Developer options. Here the "glitched Pesco" setting reproduces the problem. There it is!! Thank you Thomas, I couldn't find it even though I knew it was somewhere in there. 🙂 - James 1 Quote Link to comment Share on other sites More sharing options...
kikipdph Posted May 18, 2023 Share Posted May 18, 2023 (edited) 16 hours ago, DaveM said: Done. She's doing a bit better today. I watched the show after I got home last night. Hope your foot heals up! So, question.... Watching the game on the show last night, there was a graphics bug that popped up that I thought I had fixed: I don't see that bug at all on anything I've tested the game on. I code on 8bitworkshop, and it works fine there. Tested it on Stella, no issues. Tested it on Flashback Portable, no issues. So I was very surprised to see this bug pop up last night on the show. It's caused by not writing to the PF2 register in time. Is this something that you see often with your setup? Could this be a HarmonyCart thing? Can anyone else test the game on an actual system and confirm that this graphics bug does/doesn't appear? It's gonna be tough to fix a bug that I can't duplicate on my end, but I suppose I could work on writing to the PF2 register a couple cycles earlier on those lines and see if that fixes things. Onto responding to other comments... Merlin - Yes, you nailed it! Had one as a kid, loved it. My original VBA game was an attempt to add a clock and power ups to the Merlin game. Just figured more people were familiar with Lights Out. Patterns for corner boxes - I haven't yet figured out any patterns to flip a single corner box. Honestly, if you know the patterns from my earlier post (and they're pretty simple to remember, a plus sign and a short "T"), you don't need patterns for the corners. I just start by setting the four corners, look at where that gets me, and then work the other boxes. Setting up your own patterns - Yes, 512 combinations per grid. The first 8 boxes of each grid are stored as one byte, with an additional byte used to store the one bit needed for the 9th box. I am considering adding an option where you can set up your own grid patterns and then try to work them out. I was thinking of using the difficulty switches in the practice mode. Flip the left switch to A to set up the top grid, right switch to A to set up the bottom grid, then flip them back to B to play it out. But then it wouldn't be couch compliant, so perhaps I should just make it a separate option. Anyway, if I add that, it will be something I tack on at the end if I have the room. So thanks for featuring it on the show! I'm hoping for another update in the next couple weeks. I tried the game the other day on Stella and there was this bug. If I remember well Edited May 18, 2023 by kikipdph 1 Quote Link to comment Share on other sites More sharing options...
DaveM Posted May 19, 2023 Author Share Posted May 19, 2023 Thanks everyone! That's all good info. I'll see what I can do with it before the next release. Quote Link to comment Share on other sites More sharing options...
DaveM Posted May 23, 2023 Author Share Posted May 23, 2023 Got a bug I can't figure out. Thought this was pretty darn straightforward, but it's not working like I'm expecting. I'm implementing a round select menu. Pretty simple: Push up or right, and you increment RoundNum. Push down or left, and you decrement RoundNum. RoundNum can range from 1 to 9. So I'm checking here to see if RoundNum = 9, and if so, I want to branch so it doesn't increment. For some reason, it's always taking the branch, and I can't figure out why. This starts at line 2415. It's the first beq that it seems to always take. I tried changing it to a bcs and a bpl, and it doesn't work for those either. I even tried a completely different type of logic, but any check for RoundNum = 9 doesn't seem to work. What the heck am I doing wrong here? Quote lda RoundNum ; Check Round # cmp #9 ; Max Round # beq .RoundSelectButtonCheck ; Can't increment, branch inc RoundNum ; Increment bcs .EndRoundSelect ; Branch always taken .RoundSelectDecrement ; Joystick has been pushed left or down lda RoundNum ; Check Round # cmp #1 ; Min Round # beq .RoundSelectButtonCheck ; Can't decrement, branch dec RoundNum ; Decrement bcs .EndRoundSelect ; Branch always taken .RoundSelectButtonCheck ; No code here yet . EndRoundSelect Frazzled_RoundSelectError.a Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted May 23, 2023 Share Posted May 23, 2023 Try this? inc RoundNum ; Increment lda RoundNum ; add this to that? bcs .EndRoundSelect ; Branch always taken Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted May 23, 2023 Share Posted May 23, 2023 The 1st BCS should be a BCC. 1 Quote Link to comment Share on other sites More sharing options...
DaveM Posted May 23, 2023 Author Share Posted May 23, 2023 39 minutes ago, Thomas Jentzsch said: The 1st BCS should be a BCC. Thanks! I knew it would be something unbelievably simple that I was missing. I was focused on the wrong branch and trying to rush things a bit. Quote Link to comment Share on other sites More sharing options...
DaveM Posted May 25, 2023 Author Share Posted May 25, 2023 Update! Time Rush Mode complete! Well, except audio. The attached ROM is Time Rush Mode ONLY. Continue to use the previous ROM to play the Practice Mode. Both modes will be available in the final product. I haven't yet addressed the kernel issue discussed earlier. I'll be doing that next. The "first puzzle is the same all the time" problem is fixed here. You should get a different first puzzle each time you play. To start, select the number of rounds you'd like to play, from 1-9. Complete those rounds as quickly as possible to get your final time. When you're done, push the button to start a new game and return to the round select screen. The clock can count up to 999.9. If you max out the clock, it's automatically game over, regardless of the number of rounds you have left to complete. FOR NOW... The round select screen will always start at 1 round, regardless of the number of rounds you just played. I'll probably change that later, as I'll also have to implement an option to return to the main menu. You'll get a different set of puzzles each time you play. If I have the room/time at the end, I may add an option to replay the same puzzles. But, since this really a secondary mode to what will be the final game, I may just decide to leave it as-is. UP NEXT... Addressing that kernel bug that popped up on ZPH. Implementing the main menu. A much-needed vacation. I may get the kernel bug done before I leave, but the main menu will have to wait until I get back from vacation. I'll be leaving June 7. I'll fill everyone in on the details of that probably next week, as I'm quite excited about what I'll be doing. My latest 9 round time: Frazzled_20230524.bin 4 Quote Link to comment Share on other sites More sharing options...
DeafAtariFromKansas Posted May 27, 2023 Share Posted May 27, 2023 On 5/24/2023 at 10:38 PM, DaveM said: Update! Time Rush Mode complete! Well, except audio. The attached ROM is Time Rush Mode ONLY. Continue to use the previous ROM to play the Practice Mode. Both modes will be available in the final product. I haven't yet addressed the kernel issue discussed earlier. I'll be doing that next. The "first puzzle is the same all the time" problem is fixed here. You should get a different first puzzle each time you play. To start, select the number of rounds you'd like to play, from 1-9. Complete those rounds as quickly as possible to get your final time. When you're done, push the button to start a new game and return to the round select screen. The clock can count up to 999.9. If you max out the clock, it's automatically game over, regardless of the number of rounds you have left to complete. FOR NOW... The round select screen will always start at 1 round, regardless of the number of rounds you just played. I'll probably change that later, as I'll also have to implement an option to return to the main menu. You'll get a different set of puzzles each time you play. If I have the room/time at the end, I may add an option to replay the same puzzles. But, since this really a secondary mode to what will be the final game, I may just decide to leave it as-is. UP NEXT... Addressing that kernel bug that popped up on ZPH. Implementing the main menu. A much-needed vacation. I may get the kernel bug done before I leave, but the main menu will have to wait until I get back from vacation. I'll be leaving June 7. I'll fill everyone in on the details of that probably next week, as I'm quite excited about what I'll be doing. My latest 9 round time: Frazzled_20230524.bin 8 kB · 7 downloads That's much better, I like challenge to play with this, also it's good idea to keep both practice and timed modes in same ROM.. 👍 Quote Link to comment Share on other sites More sharing options...
DaveM Posted May 29, 2023 Author Share Posted May 29, 2023 This update hopefully fixes the kernel bug that popped up on ZPH. I'm writing to the PF2 register 2-3 cycles earlier here, so hopefully that does the trick. If you were seeing the playfield error (as shown a few posts above), I'd appreciate it if you could test this out and see if you still see the same bug or not. There's another bug that I noticed that I can't quite figure out. After the screen flashes "READY!", there's maybe 1 frame as it switches over to start the clock where the bottom grid briefly moves down 1 scanline. If anyone can figure that one out, I'd appreciate the help! I've also added a new feature to the game - Wild Cards! These will be power ups in the main game when that's complete, but I'm bringing them forward into the Time Rush mode to help players who have trouble solving the puzzles. After watching a few friends really struggle with the game, I thought it might be a good idea to implement this early. For now, if you want to use Wild Cards, set the Left Difficulty Switch to the "A" position. Set it to the "B" position to play without Wild Cards. Wild Card boxes will flash as you hop about the grid. You'll have up to 3 randomly selected Wild Cards on each board. The same boxes will flash on both grids. These boxes will ALWAYS match, meaning you may only have to worry about as few as 6 other boxes. You can still hop on a Wild Card box and click it like you would any other, and that will change the status of the surrounding boxes as normal. You can switch them on and off during a game, but the Wild Cards will only change upon completion of a puzzle. Hopefully the Wild Cards will make it a bit easier to complete the puzzles! Let me know what you think of them! This will probably be the last update on the game for a few weeks. As I mentioned in a previous post, I'm going on vacation starting June 7. I'll be driving up to Vegas to go play in the World Series of Poker. I last played in the WSOP back in 2011, so I'm very excited to get back there again. I plan on playing in 2-4 events, depending on how things go. The plan is to play in Event #18, the $300 Gladiators of Hold'em event starting on Thurs, June 8. Then on Friday, I'm going to play in Event #24, the $1500 Razz event. Saturday will be day #2 of the Razz event, if I make it that far. If not, I'll most likely spend Saturday at the Pinball Hall of Fame. Sunday will either be day #2 of the Gladiators event, or the Final Table of the Razz event, or if I don't make it that far in either of those events, I'll buy into Event #26, the $800 No-Limit Hold'em Deepstack event. If I do well enough in those events to clear a decent profit (a long shot, for sure), then I'll jump in Event #28, the $1500 Freezeout No-Limit Hold'em event on Monday. I'll be returning home Weds, June 14. I'll post updates here, or you can follow along on wsop.com. I've played in the WSOP 3 times previously, but have never cashed (though I came VERY close once). This will be the first time though that I'm able to buy into multiple events, so I'm hoping for better results this year! Frazzled_20230529.zip Frazzled_20230529.bin Frazzled_20230529.a 3 Quote Link to comment Share on other sites More sharing options...
DaveM Posted June 8, 2023 Author Share Posted June 8, 2023 Well, it's been a frustrating trip so far. Busted out today holding KK vs QQ vs KQ. Literally couldn't ask for a better spot to get my money in. QQ rivers a dang flush. I could rebuy, but I've had enough today. Tomorrow's a different game - Razz. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.