Brek Martin Posted June 15 Share Posted June 15 (edited) Powernoid 2024 - Pinball Gimmick Preview 24th June. Five lives with no on screen indication of lives remaining. Printed Score. Two Pinball gimmicks with perfect collision. New C implementation of sample playback based on Bastian's asm code used for "Game Over" speech sample. This version has speed dialled up in level 2, when the ball is reflected off the Spinwheel. Level One - Teleporter Level 2x - Spinwheel Level Three - Teleporter and Spinwheel Level Four - Plain 63 Bricks Currently working on a new gimmick called "Wormhole", to split the ball into two balls that appear from each side of the teleporter, like the iOS version in the video. This project has 1 day left! Powernoid.lnx Edited 6 hours ago by Brek Martin Updated Binary 1 Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted June 15 Author Share Posted June 15 I already like the way I introduced a new ball back then. Better than now. The ball followed the bat until player pressed fire. Anyway, it can't be quite like this on a Lynx of course, but I don't see any reason why the fun elements can't be reproduced. The boring prototype I'd prefer to be solid before moving on. Quote Link to comment Share on other sites More sharing options...
Jess Ragan Posted June 16 Share Posted June 16 Just played it. It is very basic... I would suggest a "hook" to differentiate it from other Breakout style games, and it sounds like you've already got one planned. If you're planning to incorporate elements of pinball, I'd suggest playing other Breakout clones which do this, like Capcom's Block Block and Namco's Geebee series. Also, Breakout games don't typically work all that well with a landscape (yoko, or horizontal) orientation. There's just not enough room to catch the ball when it falls, a problem I noticed with the recent Steam game Strikey Sisters. You could flip the playfield, the way the Lynx version of KLAX does, but that means having to redesign the game from scratch, and you're probably not eager to do this. One other thing... you may want to let the player release a new ball with the tap of a button, like Arkanoid does. Can I ask how you're making this? Are you using C or C++ for the programming language? There's no BASIC for the Lynx to the best of my knowledge; otherwise I would be dipping my toe into Lynx development as well. Bravo if you are using C; I never got a taste for that programming language, myself. 1 Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted June 16 Author Share Posted June 16 (edited) Thanks for trying it in the state it's in It's C in CC65. I don't see how that's particularly commendable. I suspect people actually use C properly with lynx, and slow things down as a result with their function calls with arguments, and private variables, all formally and technically correct, when spaghetti code will actually perform! Boring and basic, yes. I think it's the right time to hit problems. The game can easily run at twice the speed through frame skip, and you wouldn't know, but that will probably be a powerup brick for a particular level. Tap button to release ball... already said it in the post right above yours It's news to me that other clones do pinball elements. I will have to check that out. Vertical? Hmmm... I know about Fission, it has good ideas, but I have mixed feelings about it. My Tetris (Tate-Tris) will be vertical, but that's more out of necessity than I think this would be. It could be that I'm simply adverse to vertical games on this platform. It has occurred to me that the bottom row of bricks could go, because it could be a little difficult there. I'm hopeless at determining game difficulty. The main tester of my last game was heaps better than me at it. I'm influenced by Megaball for Commodore Amiga. Edited June 16 by Brek Martin Quote Link to comment Share on other sites More sharing options...
42bs Posted June 16 Share Posted June 16 (edited) The paddle seems to be "flat", if the ball hits with 90° it is reflected with 90°. I think the "original" paddle is a curve, to that there incoming angle is never the outgoing. Edited June 16 by 42bs Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted June 16 Author Share Posted June 16 On the flat part yes, but not quite. If you hit an edge it will make a different sound and always reflect to the side of the bat that was hit. The rest is angle of incidence reflection. Again... Amiga Megaball... what I played as a teenager. The Megaball bat is pictured, But I'm not really stuck on that idea. In fact it's easier because I currently have five bat collision areas. I wonder what the "original" game is? I will have to play more, or at least watch more on YouTube. I did play Megaball yesterday and realised mouse control is absolute position, just like touch screen on smartphone, much more conducive to control of this than a Lynx D-pad, but have to make do. Quote Link to comment Share on other sites More sharing options...
42bs Posted June 17 Share Posted June 17 9 hours ago, Brek Martin said: On the flat part yes, but not quite. If you hit an edge it will make a different sound and always reflect to the side of the bat that was hit. The rest is angle of incidence reflection. Again... Amiga Megaball... what I played as a teenager. The Megaball bat is pictured, But I'm not really stuck on that idea. In fact it's easier because I currently have five bat collision areas. I wonder what the "original" game is? I will have to play more, or at least watch more on YouTube. I did play Megaball yesterday and realised mouse control is absolute position, just like touch screen on smartphone, much more conducive to control of this than a Lynx D-pad, but have to make do. Ok "original" might be wrong wording, but all breakout variants I played use a "flat" paddle on the screen, but reflection is done as if it is curved. 1 Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted June 17 Author Share Posted June 17 If that's what's most common then that's probably how it should be. I assume that means you could hit it toward 90 degrees if you hit the ball close to the centre of the bat, but I'll watch more of the games on YouTube. I blame the Lynx for buying an oscilloscope today Quote Link to comment Share on other sites More sharing options...
Jess Ragan Posted June 17 Share Posted June 17 I mean, you could turn the paddle slightly to adjust the trajectory. Flipper Slipper for the ColecoVision did this, but it didn't do it WELL. If you can make it work, that could be the angle you're looking for to make this game unique, no pun intended. 2 Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted June 17 Author Share Posted June 17 On 6/16/2024 at 12:29 PM, Jess Ragan said: There's no BASIC for the Lynx to the best of my knowledge; otherwise I would be dipping my toe into Lynx development as well. Bravo if you are using C; I never got a taste for that programming language, myself. Noted, and I'll add it to the list of games to YouTube! I like to do programming continuously, but I've been forced to interrupt this project for a couple of reasons. Your hesitation with C is irrational by the way. You can learn C syntax, and then copy any BASIC program line by line as C, and do it very quickly, so long as you're proficient with the syntax of both languages. This means that your thinking need not change. That does not mean the opposite however, and does not mean you'll be taking full advantage of C. For example, if you're given a C program that makes extensive use of pointers, good luck directly porting that in the same manner, without changing your thinking, to BASIC.... but the other way round is a good start. Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted June 17 Author Share Posted June 17 You've unwittingly typed the correct strings into the thread to cause me to let it go early. It changes nothing from my end other than exposing myself early. It was destined to be open. I wonder if anyone has had the guts to do this the source file ends with log. I'll do collision differently if I run out of processing time for a frame. Lynx has a collision buffer, but I'd do that separate with actual brick ID as values in a custom collision buffer. A comment on Discord alluded to another idea as well. Both offer something, but complicate things for beginners I think. main.c Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted June 17 Author Share Posted June 17 It's my first "lots of angles" ball movement on a platform that doesn't have floats & trig. I figure the offset tables are quick. There's no penalty for 32 angles, but it just seems like overkill at this resolution! Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted Wednesday at 02:12 AM Author Share Posted Wednesday at 02:12 AM (edited) Proof for the WIP thing, and I'm committed to it, but it does come last. I've got more uniqueness to add to Breakout than Tetris, so that simply gives it more merit. Even when It's dual orientation it will be called Tate-Tris. Edited Wednesday at 02:13 AM by Brek Martin 1 Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted Saturday at 01:52 AM Author Share Posted Saturday at 01:52 AM (edited) Ok, there's a version to play with two funky gadgets that interact with the ball, while I work on the third. Collision detection between two circular objects was never going to happen with bounding boxes, so I have created collision buffer maps. There are actually four, so in the case of the spinwheel, the reflected angle can appear semi-random, and prevent the ball being stuck bouncing back and forth forever. If the collision map isn't perfect, it can be made perfect by filling in some missing values. Refer to the angle graphic on graph paper posted above to see the meaning of reflected angles in the map. The spinwheel never causes the ball to pass through it, unlike the iOS version in the video, which can. Edited Saturday at 01:54 AM by Brek Martin Quote Link to comment Share on other sites More sharing options...
sage Posted Saturday at 05:09 AM Share Posted Saturday at 05:09 AM 3 hours ago, Brek Martin said: Ok, there's a version to play with two funky gadgets that interact with the ball, while I work on the third. Collision detection between two circular objects was never going to happen with bounding boxes, so I have created collision buffer maps. There are actually four, so in the case of the spinwheel, the reflected angle can appear semi-random, and prevent the ball being stuck bouncing back and forth forever. If the collision map isn't perfect, it can be made perfect by filling in some missing values. Refer to the angle graphic on graph paper posted above to see the meaning of reflected angles in the map. The spinwheel never causes the ball to pass through it, unlike the iOS version in the video, which can. The edge cases in the collisions where one of the reasons my breakout was suspended ;/ demo.zip Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted Saturday at 06:10 AM Author Share Posted Saturday at 06:10 AM (edited) 1 hour ago, sage said: The edge cases in the collisions where one of the reasons my breakout was suspended ;/ I've updated the binary in the first post to align it with this source. There's a few ways I could tackle it, but in this case, when the two objects are always the same size (6x6 ball and 16x16 circle), the constant collision bitmap may be the sum of both dimensions (22x22). I still check a 22x22 pixel bounding box for a frame, and only look at the collision buffer when the ball is within it. Not so bad. I assume that image is meant to be "hi colour"? It's a shame it doesn't go over well on new displays. In Fury, I'm creating the same fragmentation because it's difficult to see on original displays I still say it's ballsy to post your source mid game! Powernoid.c Edited Saturday at 06:11 AM by Brek Martin 1 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.