glurk Posted January 10, 2023 Share Posted January 10, 2023 26 minutes ago, ZackAttack said: You don't have to line up the color change if you draw the bed posts with COLUBK and change COLUPF inside the bedpost. That means carpet and bed are PF and bedposts are background. Then you have a few cycles where the color change can happen without visual artifacts. In coding my mockup screen, and trying to make it perfect, I've already tried this. That's why I commented on it. And because of the 4 vs. 3 timing issue, on one side or the other the color change will not match up. It will occur mid-PF-pixel. It's not a deal-breaker, and it doesn't make the game impossible to create, it just looks a bit glitchy. Using the missiles as masks is one possible way to cover the mis-colored area. I just strive for perfection, LOL. And sometimes hardware limitations get in the way... 1 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted January 10, 2023 Share Posted January 10, 2023 You could name the glitched colors "reflections" of the waves. 1 1 Quote Link to comment Share on other sites More sharing options...
glurk Posted January 10, 2023 Share Posted January 10, 2023 (edited) Here's specifically what I was trying to do. Change the COLUBK from DkBrown to LtGreen and back to DkBrown mid-scanline. Shown at the white arrows. And it's not possible to get the change to line up perfectly with the PF pixels, sigh... I'm only trying to help here, you know. To be clear, this is a mockup of my mockup in Stella, LOL. What is shown in the screen is not actually possible, I altered it in "Paint." Edited January 10, 2023 by glurk 2 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted January 10, 2023 Share Posted January 10, 2023 A striped playfield would work (like Turbo or Zevious). That way you can mix 4 colors. 2 Quote Link to comment Share on other sites More sharing options...
+splendidnut Posted January 10, 2023 Share Posted January 10, 2023 1 hour ago, glurk said: Here's specifically what I was trying to do. Change the COLUBK from DkBrown to LtGreen and back to DkBrown mid-scanline. Shown at the white arrows. And it's not possible to get the change to line up perfectly with the PF pixels, sigh... I'm only trying to help here, you know. Thinking outside the box a bit: At the left, if you can always guarantee that the first green pixel shown after the bedpost is the opposite (one is BK and other is PF), then you don't have to worry about being perfect with your color change, as long as it happens before the second green pixel is drawn AND that your switching the color that was used as the bed post. It takes careful planning of the graphics data and kernel code, but I think it's doable. 1 Quote Link to comment Share on other sites More sharing options...
ZackAttack Posted January 11, 2023 Share Posted January 11, 2023 6 hours ago, glurk said: Here's specifically what I was trying to do. Change the COLUBK from DkBrown to LtGreen and back to DkBrown mid-scanline. Shown at the white arrows. And it's not possible to get the change to line up perfectly with the PF pixels, sigh... I'm only trying to help here, you know. Ah, you're right. I totally forgot that there are two colors per line in the mattress region. Sorry about that. To keep things simple, let's draw carpet, bedpost, and sheet with COLUBK and mattress with PF. We can make the bedposts 12 pixels wide and align them with the PF. I tested this out in Gopher2600 with the hmove triggered every line to mask the left 8 pixels. Level 1 is a little asymmetric, but I think it's an acceptable compromise in order to keep things moving along. It should also be much less noticeable in the final render. Here's a screenshot. Difficulty levels are represented by each respective third of the screen. Bedposts are in brown, carpet in pink, sheets change color twice per third and triangles are the mattress. Diagonal line made of PF is just for reference. 2 Quote Link to comment Share on other sites More sharing options...
ZackAttack Posted January 12, 2023 Share Posted January 12, 2023 This is what the score could look like if we put it all on one line. The lives remaining can either be as it is or replace it with 1-3 sprites when the total lives are 3 or less. 4 Quote Link to comment Share on other sites More sharing options...
8bitPoet Posted January 12, 2023 Author Share Posted January 12, 2023 11 hours ago, ZackAttack said: This is what the score could look like if we put it all on one line. The lives remaining can either be as it is or replace it with 1-3 sprites when the total lives are 3 or less. @ZackAttack This is incredible! I think having the Lives represented as icons helps the player not confuse the additional number as part of the score. So we would probably only have a max of 3 lives for each player. Quote Link to comment Share on other sites More sharing options...
8bitPoet Posted January 17, 2023 Author Share Posted January 17, 2023 (edited) Thought I'd drop a quick update for anyone interested. @ZackAttack and I have been juggling between this project and Octopusher, making incremental progress on each. In an effort to manage and communicate the details of this game, I've started a Game Design Document in Notion. I couldn't find a template for this specific genre, so I'm making it up as I go. You can view the document here: https://www.notion.so/8bitpoet/Waterbed-Bouncers-52947ad9f90146d195ffe7ffb8854a86 and let me know what you think. I'd love to get some feedback from a developer's perspective. What else could I include and/or elaborate on, to make this more useful? P.S. We're still hoping that another C programmer will join the team! We have cookies! Edited January 18, 2023 by 8bitPoet 2 Quote Link to comment Share on other sites More sharing options...
Mr SQL Posted February 4, 2023 Share Posted February 4, 2023 On 1/9/2023 at 10:08 PM, 8bitPoet said: The most critical part of this game will be the wavy waterbed mattress. 6 frames is all that's needed to animate the wave motion of the mattress. This is how I was thinking we could avoid all the complexity of trying to use math to generate the wave. Instead, we could loop the 6 frames back and forth. I'm guessing that the source code would contain the data for each frame, but I'm out of my depth here. The other hurdle is that the mattress playfield shifts horizontally to align the trough of the wave with the landing player sprite. See figures below. Cool concept design! The SuperCharger BASIC kit could be used to model it or create a version directly with blockier resolution: You could fit all six slides into the virtual world and pan the playfield camera between the six frames or even between them to animate the waves at variable speeds up to 60x a second. In this Silly Venture example FluidCity the playfield camera is panned pixel by pixel at 30 FPS and 60 FPS. You only get one color per row of playfield pixels and sprites pixels and you can draw the sprites and the frames on the virtual world using ASCII art. 1 Quote Link to comment Share on other sites More sharing options...
8bitPoet Posted February 6, 2023 Author Share Posted February 6, 2023 On 2/4/2023 at 9:00 AM, Mr SQL said: In this Silly Venture example FluidCity the playfield camera is panned pixel by pixel at 30 FPS and 60 FPS. That's pretty cool! Thanks for sharing that. I haven't worked out how the mattress motion would be implemented, yet. The ceiling fan blades and mattress are both part of the playfield. The extra tricky part is that the fan uses 7 frames of animation and the mattress uses 6. So the playfield has to be updated halfway down the screen. And the extra extra tricky part is that the horizontal position of the waves is determined by the position of the player landing on it. Quote Link to comment Share on other sites More sharing options...
Mr SQL Posted February 7, 2023 Share Posted February 7, 2023 18 hours ago, 8bitPoet said: That's pretty cool! Thanks for sharing that. I haven't worked out how the mattress motion would be implemented, yet. The ceiling fan blades and mattress are both part of the playfield. The extra tricky part is that the fan uses 7 frames of animation and the mattress uses 6. So the playfield has to be updated halfway down the screen. And the extra extra tricky part is that the horizontal position of the waves is determined by the position of the player landing on it. Thank you! You have different physics for different zones on the screen. There is a Display List Demo here illustrating splitting the screen into multiple zones that may be helpful with your design. Quote Link to comment Share on other sites More sharing options...
8bitPoet Posted February 7, 2023 Author Share Posted February 7, 2023 25 minutes ago, Mr SQL said: There is a Display List Demo here illustrating splitting the screen into multiple zones that may be helpful with your design. Very cool! Three zones, each animating in different directions! Is there a minimum increment limit to the horizontal animation or can it be finely controlled to shift a pixel at a time? Also, is it required to skip scanlines? Quote Link to comment Share on other sites More sharing options...
Mr SQL Posted February 7, 2023 Share Posted February 7, 2023 2 hours ago, 8bitPoet said: Very cool! Three zones, each animating in different directions! Is there a minimum increment limit to the horizontal animation or can it be finely controlled to shift a pixel at a time? Also, is it required to skip scanlines? Thanks! Great questions. There is no minimum increment limit to the horizontal animation, it can be finely controlled. The Display list calls to create those zones can be placed in either vertical blank and each DL call creates a camera zone two or three pixels high sourced from anywhere in the large virtual world bitmap. The zones may also be combined into larger zones. In that demo the top zone is 5 pixels high so it needed two display list calls to construct it, one in the top and one in the bottom vertical blank so that the display is contiguous and the two zones will stay aligned as one large zone. The middle zone is three pixels high and the bottom zone two pixels high so they use one display list call each. The scanlines are skipped to obtain extra processing time during the blank scanlines. 2 Quote Link to comment Share on other sites More sharing options...
8bitPoet Posted November 30, 2023 Author Share Posted November 30, 2023 Hi Everyone! It's been exactly one year since I posted my ridiculously naïve game concept. Since then, @ZackAttack and I have been working on it somewhat consistently. We even pulled in the TIA musical chops of @MarcoJ. We'll have some exciting news to share, early next year! Until then, here's a little teaser image 😉 P.S. There were so many considerations when naming this game, but in the end Mattress Monkeys was the obvious choice. Thanks @glurk! 11 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted November 30, 2023 Share Posted November 30, 2023 Lookin good. Can’t wait to hear the music! 1 Quote Link to comment Share on other sites More sharing options...
+grafixbmp Posted December 1, 2023 Share Posted December 1, 2023 How about Monkey Bounce? Quote Link to comment Share on other sites More sharing options...
8bitPoet Posted December 2, 2023 Author Share Posted December 2, 2023 (edited) On 11/30/2023 at 6:16 PM, KevKelley said: Lookin good. Can’t wait to hear the music! Thanks @KevKelley! You may or may not find the music to be familiar. (Yet another tease. LOL) Edited December 2, 2023 by 8bitPoet 1 Quote Link to comment Share on other sites More sharing options...
8bitPoet Posted December 2, 2023 Author Share Posted December 2, 2023 On 12/1/2023 at 12:34 PM, grafixbmp said: How about Monkey Bounce? That's not far off from our working title, Waterbed Bouncers. There are so many fitting names we could choose, but in the end, and staying true to Atari's legacy of plain names, we went with the most obvious and descriptive. 2 Quote Link to comment Share on other sites More sharing options...
m.o.terra kaesi Posted December 5, 2023 Share Posted December 5, 2023 I'm looking forward seeing this on ZPH the first time! When can we hope for? 1 Quote Link to comment Share on other sites More sharing options...
8bitPoet Posted December 6, 2023 Author Share Posted December 6, 2023 On 12/5/2023 at 10:15 AM, m.o.terra kaesi said: I'm looking forward seeing this on ZPH the first time! When can we hope for? Thank you for your interest! Nothing set in stone yet, but we can hope for the early part of 2024. We've sent James of @ZeroPage Homebrew a very early and incomplete build. With that, he's expressed an interest in premiering it on the show. We're pretty stoked! 3 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted December 6, 2023 Share Posted December 6, 2023 28 minutes ago, 8bitPoet said: Thank you for your interest! Nothing set in stone yet, but we can hope for the early part of 2024. We've sent James of @ZeroPage Homebrew a very early and incomplete build. With that, he's expressed an interest in premiering it on the show. We're pretty stoked! Very looking forward to premiering Mattress Monkeys on ZPH in the new year! 🙂 Can't wait to make those monkeys jump all over the place! - James 1 1 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted June 20 Share Posted June 20 ZeroPage Homebrew has the Exclusive World Premiere of Mattress Monkeys on tomorrow's ZPH stream LIVE on Twitch! Hope you can join us! Fri Jun 21, 2024 | LIVE @ 12PM PT | 3PM ET | 7PM GMT WATCH LIVE: https://twitch.tv/zeropagehomebrew/ WATCH LATER: https://youtube.com/zeropagehomebrew/ Games: Debut of DPC+ Support for Uno/PlusCart plus LIVE Video Interviews with devs Wolfgang Stubig @Al_Nafuur & Marco Johannes @MarcoJ Mattress Monkeys (2024 Exclusive World Premiere | 2600) by Phantom Logic Studios / Mathew Halpern @8bitPoet / Zachary Scolaro @ZackAttack 5 Quote Link to comment Share on other sites More sharing options...
8bitPoet Posted June 21 Author Share Posted June 21 (edited) After a year and a half, the question of whether this game concept is feasible or not has been answered! And the answer is YES! After a lot of collaboration and effort, @ZackAttack and I were able to fully realize Mattress Monkeys beyond its original scope. Kudos to @MarcoJ for the amazing music, and a big thanks to out playtesters! We also send our gratitude to @ZeroPage Homebrew for hosting the exclusive world premiere! BINARY (currently compatible with the Gopher2600 emulator*, UnoCart with the UCA firmware upgrade, and PlusCart) MattressMonkeys20240530rc4.bin *When playing on the Gopher2600 emulator, press F10 to open preferences, click ARM tab, make sure Immediate ARM Execution checkbox is ticked. OBJECTIVE The object of the game is to collect as many flies and bonus bananas while avoiding the deadly ceiling fan. After the first stage, the player must also avoid falling off the bed. (You'll lose points for falling off) CONTROLS - While your monkey is on the mattress, use the joystick to move left and right. - While your monkey is airborne, you can slightly influence your monkey’s direction with the joystick (Up, Down, Left, and Right). - Press the button to pause your game. - During the Challenge Stage, use the joystick to move the fly up, down, left, right, and diagonally SCORING Fly and Bananas values change based on the current stage. Stage I - Flies are worth 1 point. Bananas are worth 5 points. Stage II - Flies are worth 2 points. Bananas are worth 10 points. Stage III - Flies are worth 5 points. Bananas are worth 25 points. CHALLENGE STAGE Roles are reversed and now you play as the fly, popping bubbles while avoiding the monkeys from below. You have 20 seconds to pop every bubble. Missed bubbles will rise again, if time remains. Each bubble popped is worth 5 points. Pop all 16 bubbles for a perfect score! STRATEGY Positioning your monkey various distances from the monkey landing on the mattress will influence the height and trajectory of your monkey. Finding that sweet spot will help you reach the flies and bonus banana without being thrown into the ceiling fan. STAGES Once you've reached all three stages, you've unlocked the option to choose your starting stage from the menu using Up and Down on the joystick. FAQs Did you hide any Easter eggs in the game? Yes. Have fun on your hunt! Will there be a physical release? We're actively seeking a publisher. (Any interested publishers, get in touch!) Edited June 23 by 8bitPoet Added links for Gopher2600 and UCA firmware post 11 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted June 22 Share Posted June 22 7 hours ago, 8bitPoet said: BINARY (currently compatible with the Gopher2600 emulator, UnoCart, and PlusCart) MattressMonkeys20240530rc4.bin What kind of bankswitching is that? I would like to get it added to Stella. 3 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.